:root{--bg: #faf7f2;--ink: #1d1d1f;--muted: #6b6b6f;--line: #e6e1d8;--accent: #1d1d1f;--accent-ink: #faf7f2;--selected: #1d1d1f}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,sans-serif;line-height:1.5}.shell{max-width:720px;margin:0 auto;padding:48px 24px 96px}header.app{text-align:center;margin-bottom:40px}header.app h1{font-size:32px;font-weight:500;letter-spacing:-.02em;margin:0 0 8px}header.app p{color:var(--muted);margin:0}.progress{height:4px;background:var(--line);border-radius:999px;overflow:hidden;margin-bottom:32px}.progress>span{display:block;height:100%;background:var(--accent);width:0;transition:width .3s ease}.step h2{font-size:24px;font-weight:500;letter-spacing:-.01em;margin:0 0 4px}.step .meta{color:var(--muted);font-size:14px;margin:0 0 24px}.options{display:grid;gap:12px}.option{border:1px solid var(--line);background:#fff;border-radius:12px;padding:16px 18px;cursor:pointer;text-align:left;font:inherit;color:inherit;transition:all .15s ease}.option:hover{border-color:var(--ink)}.option.selected{background:var(--selected);color:var(--accent-ink);border-color:var(--selected)}.option .key{display:inline-block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-right:8px}.option.selected .key{color:#fff9}.actions{margin-top:32px;display:flex;justify-content:space-between;gap:12px}button.btn{padding:12px 22px;border-radius:999px;border:1px solid var(--ink);background:#fff;color:var(--ink);font:inherit;cursor:pointer;transition:all .15s ease}button.btn:disabled{opacity:.4;cursor:not-allowed}button.btn.primary{background:var(--accent);color:var(--accent-ink)}.field{display:grid;gap:6px;margin-bottom:16px}.field label{font-size:13px;color:var(--muted)}.field input{padding:12px 14px;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff;font-size:16px;width:100%}.err{color:#c0392b;background:#fdf0ed;border:1px solid #f3c5ba;padding:12px 14px;border-radius:10px;margin-bottom:16px;font-size:14px}.skeleton{text-align:center;color:var(--muted);padding:80px 0}.persona{text-align:center;margin-bottom:32px}.persona .eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);margin-bottom:8px}.persona h2{font-size:36px;font-weight:500;letter-spacing:-.02em;margin:0 0 8px}.persona .tagline{font-style:italic;color:var(--muted);margin:0 0 16px}.persona .desc{max-width:560px;margin:0 auto}.moment{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;margin-bottom:16px}.moment h3{margin:0 0 4px;font-size:20px;font-weight:500}.moment .moment-desc{color:var(--muted);margin:0 0 12px;font-size:14px}.moment .tip{font-size:13px;background:var(--bg);padding:10px 12px;border-radius:8px;margin-bottom:16px}.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.product{border:1px solid var(--line);border-radius:10px;padding:12px;font-size:13px;background:#fff}.product .pname{font-weight:500;margin-bottom:4px}.product .pmeta{color:var(--muted);font-size:12px}.product a.shop{display:inline-block;margin-top:8px;font-size:12px;color:var(--ink);text-decoration:underline}.product .unmapped{color:#c08000;font-size:12px;margin-top:8px}.totals{text-align:center;margin-top:16px;color:var(--muted);font-size:14px}.field>span{font-size:13px;color:var(--muted)}.shell.admin{max-width:880px}header.admin-header{display:flex;justify-content:space-between;align-items:flex-start;text-align:left;gap:16px}header.admin-header h1{margin-bottom:4px}.admin-tabs{display:flex;gap:8px;margin-bottom:24px}.admin-list{display:grid;gap:16px}.admin-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 22px}.admin-card-meta{font-size:12px;color:var(--muted);margin-bottom:12px;letter-spacing:.04em}.admin-options{margin-top:12px}.field-group-label{font-size:13px;color:var(--muted);margin-bottom:8px}.option-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.option-row .opt-key{flex:0 0 48px}.option-row input{flex:1 1 0;min-width:0}.opt-key{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);text-align:start;min-width:130px}@media (max-width: 768px){.option-row{display:block}.option-row .opt-key{display:block;min-width:0;text-align:left;margin-bottom:4px}.option-row input{width:100%}}.admin-card .actions{justify-content:flex-end;margin-top:16px}.admin-login.step{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px}.ok{color:#1f7a4a;background:#ebf7f0;border:1px solid #b8e2c8;padding:10px 14px;border-radius:10px;margin-bottom:16px;font-size:14px}.admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.admin-toolbar-meta{color:var(--muted);font-size:13px}.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}.product-grid .field{margin-bottom:0}.product-grid .field-wide{grid-column:1 / -1}.field .hint{color:var(--muted);font-size:11px;margin-top:4px}button.btn.danger{border-color:#c0392b;color:#c0392b;background:#fff}button.btn.danger:hover{background:#fdf0ed}.admin-card-draft{border-style:dashed;background:#fffaf2}.admin-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.admin-nav-pos{color:var(--muted);font-size:13px;white-space:nowrap}@media (max-width: 768px){.shell{padding:24px 16px 64px}.shell.admin{padding:20px 16px 56px}header.app{margin-bottom:28px}header.app h1{font-size:26px}header.app p{font-size:14px}.step h2{font-size:20px}.step .meta{margin-bottom:20px}.options{gap:10px}.option{padding:14px 16px;font-size:15px}.actions{margin-top:24px;gap:10px}button.btn{padding:12px 18px}.actions .btn{flex:1 1 auto;min-width:0}.persona h2{font-size:28px}.moment{padding:18px 16px;border-radius:14px}.moment h3{font-size:18px}header.admin-header{gap:12px}header.admin-header .btn{padding:8px 14px;font-size:13px;flex-shrink:0}.admin-tabs{flex-wrap:wrap}.admin-toolbar .btn{padding:10px 14px;font-size:14px}.admin-nav .nav-label{display:none}.admin-nav .btn{padding:8px 14px}.admin-toolbar{flex-wrap:wrap;align-items:stretch}.admin-card{padding:16px;border-radius:12px}.product-grid{grid-template-columns:1fr}.admin-card .actions,.admin-login .actions{flex-wrap:wrap}}@media (max-width: 420px){.shell{padding:20px 14px 56px}header.app h1{font-size:22px}.persona h2{font-size:24px}.products{grid-template-columns:1fr}}
