:root{--color-bg: #161826;--color-surface: #232532;--color-text: #e9e9ed;--color-accent: #9184d9;--color-accent-2: #a7a1db;--color-divider: color-mix(in srgb, #e9e9ed 16%, transparent);--color-neutral-100: #f3f5fe;--color-neutral-300: #cfd3e5;--color-neutral-400: #b2b6ca;--color-neutral-700: #595d6c;--color-neutral-800: #3f424d;--color-accent-100: #f5f4ff;--color-accent-800: #423a6a;--font-heading: "Inter", system-ui, sans-serif;--font-heading-weight: 500;--font-body: "Inter", system-ui, sans-serif;--space-1: 2.8px;--space-2: 5.6px;--space-3: 8.4px;--space-4: 11.2px;--space-6: 16.8px;--space-8: 22.4px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 14px;--shadow-sm: 0 0 0 1px #3f424d;--touch: 44px}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body)}body{font-size:15px;line-height:1.55;font-weight:400}h1,h2,h3{font-family:var(--font-heading);font-weight:var(--font-heading-weight);letter-spacing:-.015em;margin:0}:focus{outline:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{background:color-mix(in srgb,var(--color-accent) 30%,transparent)}button,input{font:inherit;color:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;text-decoration:none;font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:14px;line-height:1.2;color:var(--color-text);background:transparent;border:1px solid transparent;padding:10px 14px;min-height:var(--touch);border-radius:var(--radius-md)}.btn-primary{color:var(--color-accent);border-color:var(--color-accent)}.btn-primary:hover{background:color-mix(in srgb,var(--color-accent) 12%,transparent)}.btn-secondary{border-color:var(--color-divider)}.btn-secondary:hover{background:color-mix(in srgb,var(--color-text) 7%,transparent)}.btn[aria-pressed=true]{color:var(--color-accent);border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 10%,transparent)}.tag{display:inline-flex;align-items:center;font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:3px 10px;border-radius:calc(var(--radius-md) * .75)}.tag-outline{border:1px solid var(--color-accent);color:var(--color-accent)}.nav{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-8);flex-wrap:wrap}.nav-brand{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:18px;margin-right:auto;letter-spacing:.04em}.nav a{color:var(--color-neutral-300);text-decoration:none;font-size:14px;min-height:var(--touch);display:inline-flex;align-items:center}.nav a:hover,.nav a[aria-current=page]{color:var(--color-accent)}.hero-copy{max-width:640px;padding:var(--space-8) var(--space-8) 0}.hero-copy h1{font-size:clamp(1.9rem,3.6vw,2.8rem);line-height:1.08;margin:var(--space-4) 0 var(--space-3)}.hero-copy p{font-size:15px;color:var(--color-neutral-300);max-width:56ch;margin:0 0 var(--space-6)}.hero-actions{display:flex;flex-wrap:wrap;gap:10px}.stage{position:relative;width:100%;height:min(62vh,620px);min-height:420px;margin-top:var(--space-6)}.stage canvas{display:block;width:100%;height:100%}.stage-fallback,.stage-loading{position:absolute;inset:0;display:grid;place-items:center;color:var(--color-neutral-400);font-size:13px;text-align:center;padding:24px}.silhouette{width:min(220px,50vw);height:240px;border:1px solid color-mix(in srgb,var(--color-text) 18%,transparent);border-radius:4px 4px 2px 2px;position:relative;opacity:.55}.silhouette:before{content:"";position:absolute;left:8%;right:8%;top:10px;height:22px;border:1px solid color-mix(in srgb,var(--color-text) 28%,transparent);border-radius:40px 40px 4px 4px}.progress{width:96px;height:2px;margin-top:18px;background:var(--color-neutral-800);overflow:hidden}.progress>span{display:block;height:100%;width:40%;background:var(--color-accent);animation:load 1.2s ease infinite}@keyframes load{0%{transform:translate(-120%)}to{transform:translate(280%)}}.cards{display:flex;gap:var(--space-4);flex-wrap:wrap;justify-content:center;max-width:1100px;margin:var(--space-6) auto var(--space-6);padding:0 var(--space-6)}.card{display:flex;flex-direction:column;gap:var(--space-2);padding:14px 16px;border-radius:var(--radius-md);background:var(--color-surface);width:min(260px,100%);text-align:left;cursor:pointer;border:1px solid var(--color-neutral-700);min-height:118px}.card[aria-pressed=true]{border-color:var(--color-accent)}.card-kicker{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent)}.card-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:17px;line-height:1.2}.card-body{margin:0;font-size:13px;opacity:.8}.hint{max-width:640px;margin:0 auto var(--space-8);padding:0 var(--space-8);text-align:center;font-size:12px;color:var(--color-neutral-400)}.panel{position:fixed;right:16px;bottom:16px;width:min(360px,calc(100vw - 24px));background:color-mix(in srgb,var(--color-surface) 92%,transparent);border:1px solid var(--color-divider);border-radius:var(--radius-lg);padding:16px;z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.panel h2{font-size:16px;margin-bottom:12px}.swatches,.seg{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.swatch{width:36px;height:36px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0}.swatch[aria-pressed=true]{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-bg)}.dims{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.dims label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--color-neutral-400);letter-spacing:.06em;text-transform:uppercase}.dims input{background:var(--color-bg);border:1px solid var(--color-divider);border-radius:var(--radius-md);padding:8px 10px;min-height:var(--touch)}.quote{font-size:13px;color:var(--color-neutral-300);margin:8px 0 12px;white-space:pre-wrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@media(max-width:640px){.nav a:not([aria-current]){display:none}.hero-copy{padding:12px 16px 0}.stage{min-height:360px;height:52vh}.panel{position:static;width:auto;margin:0 16px 24px}.cards{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:8px}.card{flex:0 0 240px;scroll-snap-align:start}}@media(prefers-reduced-motion:reduce){.progress>span{animation:none;width:100%}}
