:root{--bg: #0c0916;--bg-deep: #080610;--panel: #15101f;--panel-2: #1d1629;--line: rgba(255, 233, 209, .09);--line-strong: rgba(255, 233, 209, .18);--ink: #f4ecdd;--ink-dim: #c8bcd2;--muted: #93849f;--faint: #6a5c79;--beam: #ffb43e;--beam-soft: #ffce7a;--rose: #ff5c8a;--mint: #4ee7a8;--no: #ff6b6b;--cool: #7aa2ff;--glow-beam: 0 0 .6em rgba(255, 180, 62, .55);--glow-rose: 0 0 .7em rgba(255, 92, 138, .45);--r: 14px;--r-sm: 9px;--font-display: "Fraunces", Georgia, serif;--font-ui: "Archivo", system-ui, sans-serif;--font-mono: "JetBrains Mono", monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-ui);color:var(--ink);font-size:14px;background:var(--bg);background-image:radial-gradient(1100px 700px at 78% -8%,rgba(255,142,86,.16),transparent 60%),radial-gradient(900px 600px at 6% 108%,rgba(255,92,138,.13),transparent 55%),radial-gradient(1200px 900px at 50% 50%,#140e2000,#06040cd9);background-attachment:fixed;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}h1,h2,h3{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em;margin:0}.mono{font-family:var(--font-mono);font-feature-settings:"tnum" 1}::selection{background:#ffb43e4d}.shell{display:grid;grid-template-columns:232px 1fr;min-height:100vh}.sidebar{border-right:1px solid var(--line);background:linear-gradient(180deg,rgba(255,180,62,.04),transparent 30%),var(--bg-deep);padding:26px 18px;display:flex;flex-direction:column;gap:28px;position:sticky;top:0;height:100vh}.sidebar-top{display:flex;align-items:center;justify-content:space-between}.sidebar-toggle{display:none;background:none;border:1px solid var(--line-strong);color:var(--ink);border-radius:var(--r-sm);width:40px;height:40px;font-size:18px;cursor:pointer;place-items:center}.brand{display:flex;flex-direction:column;gap:2px}.brand .mark{font-family:var(--font-display);font-weight:900;font-size:30px;line-height:.95;letter-spacing:-.03em;background:linear-gradient(100deg,var(--beam),var(--rose));-webkit-background-clip:text;background-clip:text;color:transparent}.brand .sub{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}.nav{display:flex;flex-direction:column;gap:4px}.nav-label{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);margin:12px 8px 6px}.nav-saved{position:relative;display:flex;align-items:center}.nav-saved a{flex:1}.nav-saved .saved-del{position:absolute;right:8px;border:none;background:transparent;color:var(--faint);font-size:12px;padding:4px 6px;cursor:pointer;opacity:0;transition:opacity .12s,color .12s}.nav-saved:hover .saved-del{opacity:1}.nav-saved .saved-del:hover{color:var(--no)}@media (hover: none){.nav-saved .saved-del{opacity:1}}.nav-sublabel{font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--muted);margin:8px 8px 2px 16px}.nav a,.nav .nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--r-sm);color:var(--ink-dim);text-decoration:none;font-weight:500;border:1px solid transparent;transition:all .16s ease}.nav a:hover{background:#ffe9d10a;color:var(--ink)}.nav a.active{background:linear-gradient(100deg,#ffb43e29,#ff5c8a1a);border-color:var(--line-strong);color:var(--ink)}.nav .dot{width:7px;height:7px;border-radius:50%;background:var(--faint)}.nav a.active .dot{background:var(--beam);box-shadow:var(--glow-beam)}.nav .disabled{color:var(--faint);cursor:default;font-size:13px}.sidebar-foot{margin-top:auto;font-size:11px;color:var(--faint);line-height:1.5}.main{min-width:0;padding:0}.stage{min-height:100vh;display:flex;flex-direction:column}.stage-head{display:flex;align-items:center;justify-content:space-between;padding:22px 40px;border-bottom:1px solid var(--line);position:sticky;top:0;background:linear-gradient(180deg,var(--bg) 60%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:5}.season-name{font-size:20px}.season-name .eyebrow{display:block;font-family:var(--font-ui);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--beam);margin-bottom:3px}.page{flex:1;padding:46px 40px 120px;max-width:1080px;margin:0 auto;width:100%;animation:rise .5s cubic-bezier(.2,.8,.2,1) both}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}.stagger>*{animation:rise .5s cubic-bezier(.2,.8,.2,1) both}.stagger>*:nth-child(1){animation-delay:.02s}.stagger>*:nth-child(2){animation-delay:.09s}.stagger>*:nth-child(3){animation-delay:.16s}.stagger>*:nth-child(4){animation-delay:.23s}.stagger>*:nth-child(5){animation-delay:.3s}.kicker{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:10px;margin-bottom:14px}.kicker .week{color:var(--beam)}.page-title{font-size:clamp(30px,5vw,52px);line-height:1.02;font-weight:600;margin-bottom:8px}.page-title em{font-style:italic;color:var(--rose)}.lede{color:var(--ink-dim);font-size:15px;max-width:56ch;line-height:1.55}.readout{display:flex;gap:36px;margin:30px 0;flex-wrap:wrap}.readout .metric{display:flex;flex-direction:column;gap:3px}.readout .num{font-family:var(--font-mono);font-size:30px;font-weight:500;color:var(--ink)}.readout .cap{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.faceoff{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:stretch;margin:8px 0 26px}.versus{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--faint);font-family:var(--font-display);font-style:italic;font-size:18px}.versus .rule{width:1px;flex:1;background:linear-gradient(var(--line-strong),transparent)}.choice{background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:var(--r);padding:18px;display:flex;flex-direction:column;gap:14px}.choice.optimal{border-color:#ffb43e52;box-shadow:0 0 0 1px #ffb43e0f,0 20px 50px -30px #ffb43e80}.choice .tag{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:8px}.choice.optimal .tag{color:var(--beam)}.person{display:flex;flex-direction:column;align-items:center;gap:6px;width:76px}.person .photo{width:60px;height:60px;border-radius:50%;object-fit:cover;border:2px solid var(--line-strong);background:var(--panel-2);display:grid;place-items:center;font-family:var(--font-display);font-size:22px;font-weight:600;color:var(--bg);overflow:hidden}.person .name{font-size:11.5px;color:var(--ink-dim);text-align:center;max-width:76px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person.sm .photo{width:40px;height:40px;font-size:15px}.person.sm{width:54px}.person.sm .name{font-size:10px;max-width:54px}.pair{display:flex;align-items:center;gap:6px}.pair .link{width:16px;height:1px;background:var(--line-strong)}.pair.match .photo{border-color:var(--mint);box-shadow:0 0 .5em #4ee7a866}.pair.nomatch .photo{border-color:var(--no)}.pair.locked{background:#ffb43e1a;border:1px solid var(--beam);border-radius:var(--r-sm)}.pair.locked .photo{border-color:var(--beam);box-shadow:0 0 .5em #ffb43e59}.pair.locked:after{content:"🔒";font-size:10px;margin-left:2px}.couple-result{font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.05em;padding:3px 9px;border-radius:999px}.couple-result.match{color:var(--mint);background:#4ee7a81f}.couple-result.nomatch{color:var(--no);background:#ff6b6b1f}.arrangement{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px 6px}.arrangement .pair{background:#ffe9d108;border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 6px;justify-content:center}.sandbox-stage{position:relative;max-width:940px;margin:0 auto;padding:0 clamp(16px,4vw,40px) 48px}.sandbox-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.game-name{font-size:12px;color:var(--muted);max-width:18ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:20px;background:#080610b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:rise .2s ease both}.modal-card{width:min(92vw,420px);display:flex;flex-direction:column;gap:14px;padding:22px 22px 18px;background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line-strong);border-radius:var(--r);box-shadow:0 30px 70px -30px #000000d9}.modal-title{font-family:var(--font-display);font-size:19px}.modal-input{width:100%;font-size:15px;padding:11px 13px}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.save-flash{position:fixed;bottom:26px;left:50%;transform:translate(-50%);z-index:40;padding:9px 18px;border-radius:999px;font-size:13px;font-weight:600;color:var(--mint);background:#0d0916eb;border:1px solid var(--mint);box-shadow:0 14px 34px -14px #000c;animation:rise .3s ease both}.satout-card{display:inline-flex;align-items:center;justify-content:center;min-width:52px;height:30px;padding:0 8px;border:1px dashed var(--line-strong);border-radius:999px;font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0c0916bd;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;flex-direction:column;align-items:center;justify-content:center}.booth-card{background:#ffe9d108;border:1px solid var(--line);border-radius:var(--r-sm);padding:16px;display:inline-flex;flex-direction:column;align-items:center;gap:6px}.imatrix td.sel{outline:2px solid var(--rose);outline-offset:-2px}.builder-hint{margin:12px 0 4px}.seat-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}.seat-row{display:flex;align-items:center;justify-content:center;gap:6px;padding:6px;border:1px solid var(--line);border-radius:var(--r-sm);background:#ffe9d105;cursor:grab;transition:border-color .12s,background .12s,transform .12s,opacity .12s,box-shadow .12s}.seat-row:hover:not(.locked){border-color:var(--line-strong)}.seat-row.over{border-color:var(--beam);background:#ffb43e24;transform:translateY(-1px);box-shadow:0 8px 22px -14px #ffb43eb3}.seat-row.dragging{opacity:.4;cursor:grabbing}.seat-row.locked{border-color:var(--beam);background:#ffb43e1a;cursor:default}.seat-row .lock-badge{font-size:11px;margin-left:2px}.seat-row .seat-link{width:14px;height:1px;background:var(--line-strong)}.seat-fixed{opacity:1}.pick-card{border-radius:var(--r-sm);padding:2px;border:1px dashed transparent;pointer-events:none}.builder-foot{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:14px;flex-wrap:wrap}.best-night{margin-top:16px;text-align:center}.best-night-label{margin:0 0 10px}.best-night-btns{display:flex;justify-content:center;gap:26px;flex-wrap:wrap}.btn.strat.info{border-color:var(--beam);color:var(--beam)}.btn.strat.info:hover:not(:disabled){background:#ffb43e26;color:var(--beam)}.btn.strat.cut{border-color:var(--mint);color:var(--mint)}.btn.strat.cut:hover:not(:disabled){background:#4ee7a824;color:var(--mint)}.btn.strat.worst{border-color:var(--rose);color:var(--rose)}.btn.strat.worst:hover:not(:disabled){background:#ff5c8a24;color:var(--rose)}@media (max-width: 640px){.builder-foot{gap:12px}}.lights-field{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.lights-field input{width:64px}.beam-input{cursor:pointer}.beam-pip{width:18px;height:18px;padding:0;cursor:pointer;transition:transform .1s}.beam-pip:hover{transform:scale(1.18)}.beam-input .beam-dot.lit{animation:none}button.btn.rec{background:#ffb43e1f;border-color:var(--beam);color:var(--beam)}button.btn.rec:hover:not(:disabled){background:#ffb43e33;color:var(--beam)}.btn.yes{border-color:var(--mint);color:var(--mint)}.btn.no{border-color:var(--no);color:var(--no)}.page.blackout{filter:saturate(.82);background:radial-gradient(130% 55% at 50% 0%,rgba(0,0,0,.34),transparent 60%)}.blackout-flag{font-size:.62em;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);background:#00000073;padding:3px 9px;border-radius:999px;vertical-align:middle}.page.sold{filter:saturate(.9)}.sold-flag{font-size:.62em;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--beam);background:#ffb43e21;padding:3px 9px;border-radius:999px;vertical-align:middle}.couple-result.sold{color:var(--beam);background:#ffb43e1f}.verdict-banner{margin:4px 0 18px;padding:14px 16px;border-radius:var(--r-sm);font-size:15px;line-height:1.5}.verdict-banner.won{background:#4ee7a81f;border:1px solid var(--mint);color:var(--ink)}.verdict-banner.lost,.verdict-banner.contradiction{background:#ff6b6b1a;border:1px solid var(--no);color:var(--ink)}.learned{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.learned-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;font-size:12.5px;border:1px solid var(--line)}.learned-chip.match{color:var(--mint);background:#4ee7a81a;border-color:#4ee7a866}.learned-chip.nomatch{color:var(--no);background:#ff6b6b14;border-color:#ff6b6b59}.learned-chip .src{font-size:10px;letter-spacing:.03em;color:var(--muted);opacity:.9}.learned-more{align-self:center;font-size:12px;color:var(--muted)}.why-note{margin-top:12px;padding:10px 12px;background:#ffb43e12;border-left:2px solid var(--beam);border-radius:var(--r-sm);font-size:13px;line-height:1.5;color:var(--ink-dim)}.why-note .why-icon{color:var(--beam);margin-right:7px;font-weight:700}.arrangement .benched{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:#ffe9d104;border:1px dashed var(--line);border-radius:var(--r-sm);padding:8px 6px;opacity:.65}.arrangement .benched .benched-label{font-family:var(--font-mono);font-size:9px;line-height:1.2;text-align:center;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.beams{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.beam-dot{width:14px;height:14px;border-radius:50%;background:#ffe9d114;border:1px solid var(--line-strong)}.beam-dot.lit{background:radial-gradient(circle at 38% 35%,var(--beam-soft),var(--beam));border-color:var(--beam);box-shadow:var(--glow-beam);animation:flare .5s ease both}@keyframes flare{0%{transform:scale(.4);opacity:0}}.beam-label{font-family:var(--font-mono);font-size:13px;color:var(--beam);margin-left:4px}.grade{display:inline-flex;align-items:baseline;gap:9px;padding:12px 18px;border-radius:var(--r);background:linear-gradient(110deg,#ffb43e1f,#ff5c8a1a);border:1px solid var(--line-strong)}.grade .pct{font-family:var(--font-mono);font-size:30px;font-weight:700}.grade .pct.good{color:var(--mint)}.grade .pct.mid{color:var(--beam)}.grade .pct.poor{color:var(--no)}.grade .desc{font-size:12.5px;color:var(--ink-dim);max-width:26ch;line-height:1.4}.scores{display:flex;gap:7px;flex-wrap:wrap}.chip{font-family:var(--font-mono);font-size:11px;padding:4px 9px;border-radius:999px;background:#ffe9d10d;border:1px solid var(--line);color:var(--ink-dim)}.chip b{color:var(--ink);font-weight:700}.chip.hot{border-color:#ffb43e66;color:var(--beam)}.metric-toggle{display:inline-flex;background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:3px;gap:2px}.metric-toggle button{border:none;background:none;color:var(--muted);padding:6px 13px;border-radius:999px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.metric-toggle button.on{background:linear-gradient(100deg,var(--beam),var(--beam-soft));color:var(--bg-deep)}.matrix-wrap{overflow-x:auto;padding:6px 2px;display:flex;justify-content:center}table.imatrix{margin:0 auto}table.imatrix{border-collapse:separate;border-spacing:3px}.imatrix th{font-weight:500}.imatrix .col-h{vertical-align:bottom;padding-bottom:6px}.imatrix .corner{width:56px}.imatrix td{width:38px;height:34px;text-align:center;border-radius:6px;font-family:var(--font-mono);font-size:11px;font-weight:500;cursor:default}.imatrix td.best{outline:2px solid var(--beam);outline-offset:-2px}.hdr-btn{background:none;border:none;padding:0;cursor:pointer;display:inline-flex}.matrix-reveal{display:none}.pager{position:fixed;bottom:22px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:6px;background:#0d0916d1;border:1px solid var(--line-strong);border-radius:999px;padding:7px 8px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 16px 40px -16px #000c;z-index:20}.pager button{background:none;border:none;color:var(--ink);width:38px;height:38px;border-radius:50%;cursor:pointer;font-size:16px;display:grid;place-items:center}.pager button:hover:not(:disabled){background:#ffe9d114}.pager button:disabled{opacity:.3;cursor:default}.pager .ticks{display:flex;gap:5px;padding:0 10px}.pager .tick{width:7px;height:7px;border-radius:50%;background:#ffe9d129;cursor:pointer;transition:all .2s}.pager .tick.on{background:var(--beam);box-shadow:var(--glow-beam)}.pager .tick.booth{border-radius:1px}.pager .tick.sold{background:transparent;box-shadow:inset 0 0 0 1.5px #ffb43e8c}button.btn{font-family:var(--font-ui);background:var(--panel-2);border:1px solid var(--line-strong);color:var(--ink);border-radius:var(--r-sm);padding:10px 16px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}button.btn:hover:not(:disabled){border-color:var(--beam);color:var(--beam)}button.btn.primary{background:linear-gradient(100deg,var(--beam),var(--rose));border:none;color:var(--bg-deep)}button.btn.primary:hover{filter:brightness(1.08);color:var(--bg-deep)}button:disabled{opacity:.45;cursor:not-allowed}.continue-cta{display:flex;align-items:center;gap:16px;margin-top:30px;padding:20px;border-radius:var(--r);border:1px dashed var(--line-strong);background:#ff5c8a0d}.errbox{padding:80px 40px;text-align:center;color:var(--no);font-family:var(--font-display);font-style:italic;font-size:18px}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;height:75vh}.loader-beams{display:flex;gap:11px}.loader-beams .lb{width:15px;height:15px;border-radius:50%;background:radial-gradient(circle at 38% 35%,var(--beam-soft),var(--beam));box-shadow:var(--glow-beam);animation:lbpulse 1.1s ease-in-out infinite}@keyframes lbpulse{0%,to{transform:scale(.45);opacity:.25}50%{transform:scale(1);opacity:1}}.loader-text{font-family:var(--font-display);font-style:italic;font-size:23px;color:var(--ink)}.loader-sub{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.section-h{font-family:var(--font-ui);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:28px 0 12px;display:flex;align-items:center;gap:10px}.section-h:after{content:"";flex:1;height:1px;background:var(--line)}.home{height:100vh;max-width:1120px;margin:0 auto;padding:40px 56px;display:flex;flex-direction:column;justify-content:center;gap:clamp(20px,3.2vh,36px);overflow:hidden}.home-hero .page-title{margin:6px 0 10px}.home-hero .lede{max-width:70ch}.home-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.explain-card{background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:var(--r);padding:20px}.explain-card h3{font-size:18px;margin:12px 0 8px}.explain-card p{color:var(--ink-dim);font-size:13.5px;line-height:1.55;margin:0}.card-n{font-family:var(--font-display);font-size:15px;font-weight:900;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:var(--bg-deep);background:linear-gradient(135deg,var(--beam),var(--rose))}.bit-ladder{display:flex;align-items:center;justify-content:space-between;gap:28px;background:#ffe9d108;border:1px solid var(--line);border-radius:var(--r);padding:22px 30px}.ladder-end{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0}.ladder-end .big{font-size:34px;font-weight:500}.ladder-end .cap,.ladder-mid .cap{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.ladder-mid{flex:1;display:flex;flex-direction:column;align-items:center;gap:10px}.ladder-mid .beams{justify-content:center}.home-foot{text-align:center;margin:0}.beamtext{color:var(--beam)}.minttext{color:var(--mint)}.versus-panel{background:#ffe9d108;border:1px solid var(--line);border-radius:var(--r);padding:18px 22px}.versus-head{font-family:var(--font-display);font-size:17px;margin-bottom:14px}.versus-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.move-card{background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:var(--r-sm);padding:14px}.move-label{font-size:12.5px;color:var(--ink-dim);margin-bottom:10px}.obar{display:flex;height:30px;border-radius:6px;overflow:hidden;border:1px solid var(--line-strong)}.oseg{display:grid;place-items:center;font-family:var(--font-mono);font-size:11px;color:var(--bg-deep);font-weight:700;min-width:0;overflow:hidden;background:linear-gradient(180deg,var(--beam-soft),var(--beam));border-right:1px solid rgba(12,9,22,.35)}.oseg:last-child{border-right:none}.move-scores{display:flex;gap:8px;margin-top:10px}.chip.mintchip{border-color:var(--mint);color:var(--mint)}.matrix-panel{display:flex;gap:clamp(18px,4vw,34px);align-items:center;justify-content:center;flex-wrap:wrap;background:#ffe9d108;border:1px solid var(--line);border-radius:var(--r);padding:18px 24px}.matrix-legend{display:flex;flex-direction:column;gap:11px;min-width:230px}.legend-row{display:flex;align-items:center;gap:13px}.legend-cell{width:36px;height:32px;flex-shrink:0;display:grid;place-items:center;border-radius:6px;font-family:var(--font-mono);font-size:12px;font-weight:600}.legend-row .txt{font-size:13px;color:var(--ink-dim);line-height:1.4}.legend-row .txt b{color:var(--ink)}@media (max-width: 900px){.home{height:auto;overflow:visible}.home-cards{grid-template-columns:1fr}.bit-ladder{flex-direction:column}}.sandbox{padding:32px 40px 60px;max-width:1120px;margin:0 auto}.sandbox-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px}.sandbox-head h2{font-size:26px}.panel{background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:var(--r);padding:16px}.panel h3{font-family:var(--font-display);font-size:17px;margin:0 0 12px}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.panel-head h3{margin:0}.layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(330px,1fr);gap:18px;align-items:start}.right-col{display:flex;flex-direction:column;gap:16px}.stats{display:flex;gap:30px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.stat{display:flex;flex-direction:column}.stat .value{font-family:var(--font-mono);font-size:28px;font-weight:500}.stat .label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.solved{background:#4ee7a81a;border:1px solid var(--mint);color:var(--mint);border-radius:var(--r-sm);padding:10px 14px;font-weight:600}.solution{margin-top:6px;display:flex;flex-wrap:wrap;gap:6px}.grid-wrap{overflow-x:auto;background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:var(--r);padding:12px}table.grid{border-collapse:collapse;width:100%}.grid th{font-weight:500;font-size:12px;color:var(--muted);padding:4px}.grid .col-head{max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grid .row-head{text-align:right;padding-right:8px;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grid .cell{width:40px;height:36px;text-align:center;font-family:var(--font-mono);font-size:12px;font-weight:500;border-radius:5px;cursor:pointer;-webkit-user-select:none;user-select:none}.grid .cell:hover{outline:2px solid var(--beam)}.grid .cell.sel{outline:2px solid var(--ink)}.row{display:flex;gap:10px;align-items:center;margin-bottom:10px;flex-wrap:wrap}.couple .plus{color:var(--muted)}select,input,textarea{background:var(--bg-deep);border:1px solid var(--line-strong);color:var(--ink);border-radius:6px;padding:7px 9px;font-size:13px;font-family:inherit}select{cursor:pointer}button{font-family:var(--font-ui)}.right-col button:not(.link),.sandbox button:not(.link):not(.btn){background:var(--panel-2);border:1px solid var(--line-strong);color:var(--ink);border-radius:6px;padding:8px 12px;cursor:pointer;font-size:13px}.right-col button:hover:not(:disabled):not(.link){border-color:var(--beam)}button.primary{background:linear-gradient(100deg,var(--beam),var(--rose))!important;border:none!important;color:var(--bg-deep)!important;font-weight:700}button.yes{background:#4ee7a821!important;border-color:var(--mint)!important;color:var(--mint)!important;flex:1;font-weight:600}button.no{background:#ff6b6b21!important;border-color:var(--no)!important;color:var(--no)!important;flex:1;font-weight:600}button.link{background:none;border:none;color:var(--beam);padding:4px 0;text-decoration:underline;cursor:pointer;font-size:13px}.seats{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;margin-bottom:10px}.seat{display:flex;align-items:center;gap:6px;justify-content:space-between}.seat-left{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.seat select{flex:1;min-width:0}.lights label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.lights input{width:80px}.rec-block{padding:10px 0;border-top:1px solid var(--line)}.rec-block:first-of-type{border-top:none}.rec-result{margin-top:8px}.history{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px}.history li{font-size:13px}.ok{color:var(--mint)}.bad{color:var(--no)}.setup{max-width:640px;margin:36px auto;background:#ffe9d108;border:1px solid var(--line);border-radius:16px;padding:34px 36px}.setup h2{font-family:var(--font-display, inherit);font-size:26px;margin:0 0 4px}.setup .setup-lede{color:var(--muted);font-size:14px;margin:0 0 22px}.tabs{display:inline-flex;gap:3px;margin-bottom:22px;padding:3px;background:var(--panel);border:1px solid var(--line);border-radius:999px}.tabs button{border:none;background:none;color:var(--muted);padding:9px 20px;border-radius:999px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}.tabs button:hover:not(.active){color:var(--ink)}.tabs button.active{background:linear-gradient(100deg,var(--beam),var(--beam-soft));color:var(--bg-deep)}.setup .field{font-size:14px}.setup input[type=number]{font-size:22px;font-family:var(--font-mono);padding:12px 14px;width:140px}.setup textarea{font-size:14px;padding:10px 12px;min-height:180px}.setup button[type=submit]{margin-top:8px;padding:12px 22px;font-size:15px}.field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted);margin-bottom:14px;flex:1}.muted{color:var(--muted)}.small{font-size:12px}.error{color:var(--no);font-size:13px;margin:6px 0}.error.banner{background:#ff6b6b1a;border:1px solid var(--no);border-radius:var(--r-sm);padding:8px 12px;margin-bottom:12px}.warn{color:var(--beam);font-size:12px;margin-bottom:8px}@media (max-width: 900px){.shell{grid-template-columns:1fr}.sidebar{position:sticky;top:0;z-index:30;height:auto;flex-direction:column;gap:0;padding:12px 16px;border-right:none;border-bottom:1px solid var(--line);background:var(--bg-deep)}.sidebar .brand .mark{font-size:22px}.sidebar-toggle{display:grid}.sidebar .nav{display:none;margin-top:14px}.sidebar.open .nav{display:flex}.sidebar-foot{display:none}.layout,.faceoff{grid-template-columns:1fr}.versus{flex-direction:row}.versus .rule{height:1px;width:40px;flex:none}}@media (max-width: 640px){.page{padding:30px 16px 100px}.stage-head{padding:16px}.sandbox-stage .stage-head{flex-direction:column;align-items:flex-start;gap:12px}.matrix-wrap{justify-content:flex-start}table.imatrix{border-spacing:2px}.imatrix .corner{width:26px}.imatrix td{width:23px;height:23px;font-size:9.5px}.imatrix .person.sm{width:28px}.imatrix .person.sm .photo{width:26px;height:26px;font-size:11px}.imatrix .person.sm .name{display:none}.matrix-reveal{display:flex;align-items:center;justify-content:center;gap:14px;width:fit-content;max-width:100%;margin:12px auto 0;padding:10px 16px;background:#ffe9d10a;border:1px solid var(--line);border-radius:var(--r-sm)}.matrix-reveal .person.sm .name{display:block}.matrix-reveal .reveal-p{font-size:17px;font-weight:600;color:var(--beam)}}
