@font-face{font-family:Press Start;src:url(/assets/prstartk-A-UJNYfn.ttf)}@font-face{font-family:Press Start K;src:url(/assets/prstartk_nes_tetris_8-h5__hXWO.ttf)}.ntc-box{--ntc-border-size: 15;color:#fff;font-family:Press Start K,monospace;text-align:center;border:solid calc(var(--ntc-border-size) * 1px) transparent;border-image-source:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkAgMAAACcbnALAAAADFBMVEUAAAAAAAB0dHSc+/DzqYJ7AAAAAXRSTlMAQObYZgAAAERJREFUeF690KEVACAIBFAM7uUIFg0s4xSOQHFHH4oZLnrphwtwRLlZKrlKvCxSXHV5PZ6BhqruWLf2Xfgq/BFeAy95AKxql+E0LO+6AAAAAElFTkSuQmCC);border-image-slice:var(--ntc-border-size) var(--ntc-border-size) var(--ntc-border-size) var(--ntc-border-size) fill;border-image-width:calc(var(--ntc-border-size) * 1px) calc(var(--ntc-border-size) * 1px)}.ntc-box-grey{border-image-source:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkAgMAAACcbnALAAAACVBMVEUAAAB0dHQAAAD739fTAAAAAXRSTlMAQObYZgAAADdJREFUeF7lkKERACAMxP6Q7If5ETpFR8G8gCl7Rfe6AFERUQHmTTZKG1oJvbTD18n+sP5GfzIAGcGsRVoy9VAAAAAASUVORK5CYII=)}.ntc-box-red{border-image-source:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkAgMAAACcbnALAAAADFBMVEUAAAB0dHT/UlIAAABviD5TAAAAAXRSTlMAQObYZgAAAEVJREFUeF690KEVACAIBFDecwCnMzOK++ASzmOyEH0qZrjopR8uwBHlbZnkKmmxcHe1+PW0Bhoi0mLd2nfhq/BHeA285AEng+gJccTcuwAAAABJRU5ErkJggg==)}:root{--nes-field: #000000;--nes-white: #fcfcfc;--nes-red: #d82800;--nes-blue: #0058f8;--nes-black: #1a1815;--nes-grey: #a8a8a8;--nes-grey-dark: #555555;--nes-gold: #d98b6a;--accent: #d98b6a;--accent-hover: #e49b7c;--good: #6cc28d;--bad: #ec8468;--warn: #e0b25f;--bad-bright: #ffb3a0;--info-bright: #a8c4ff;--raised: #2a2620;--raised-hover: #322d27;--edge-hover: #4a443c;--field: #13110e;--topbar: #1c1a16;--tag-maneuver: #6f9bf0;--tag-stack: #b69be6;--tag-waste: #5bc0be;--badge-paid: #b57edc;--badge-neutral: #8a94a6;--nes-teal: #3cbcfc;--nes-green: #00a800;--nes-orange: #fca044;--panel: #221f1b;--panel-edge: #34302a;--ink: #efe9e0;--ink-dim: #a8a096;--ink-faint: #6d665c;--font-pixel: "Press Start 2P", monospace;--font-body: "Schibsted Grotesk", system-ui, -apple-system, sans-serif;--space: 16px;--shadow-hard: 0 14px 40px rgba(0, 0, 0, .4)}*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;min-height:100vh;font-family:var(--font-body);color:var(--ink);background-color:var(--nes-black);-webkit-font-smoothing:antialiased}img,svg{image-rendering:pixelated}.trend-svg{image-rendering:auto}#root{max-width:1040px;margin:0 auto;padding:clamp(16px,4vw,40px)}main{display:block}.top-bar{display:flex;align-items:center;gap:var(--space);flex-wrap:wrap;border:3px solid var(--panel-edge);background:var(--panel);padding:10px 16px;margin-bottom:var(--space);position:relative}.top-bar:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:repeating-linear-gradient(90deg,var(--nes-red) 0,var(--nes-red) 16px,var(--nes-white) 16px,var(--nes-white) 32px,var(--nes-blue) 32px,var(--nes-blue) 48px)}.logo{display:inline-flex;align-items:center;gap:11px;margin-right:auto;background:none;border:none;box-shadow:none;padding:2px;cursor:default}.logo-home{cursor:pointer}.skyline{display:inline-flex;align-items:flex-end;gap:3px;height:26px}.skyline i{width:6px}.skyline i:nth-child(1){height:9px;background:var(--nes-white)}.skyline i:nth-child(2){height:14px;background:var(--nes-orange)}.skyline i:nth-child(3){height:19px;background:var(--nes-orange)}.skyline i:nth-child(4){height:26px;background:var(--nes-red)}.top-bar-end{display:flex;align-items:center;gap:var(--space);flex-wrap:wrap}.identity{position:relative}.account-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:10;display:flex;flex-direction:column;align-items:stretch;gap:8px;min-width:200px;padding:10px;border:1px solid var(--panel-edge);border-radius:10px;background:var(--panel);box-shadow:var(--shadow-hard)}.account-menu button{text-align:left;width:100%}.account-menu-email{font-size:11px;color:var(--ink-faint);padding:2px 4px 6px;border-bottom:1px solid var(--panel-edge);overflow:hidden;text-overflow:ellipsis}.puzzles-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 var(--space)}h2{font-family:var(--font-body);font-size:clamp(11px,2vw,15px);line-height:1.6;letter-spacing:1px;color:var(--nes-gold);margin:0 0 var(--space)}.account{display:flex;flex-direction:column}.app-nav{display:flex;gap:8px;flex-wrap:wrap}.app-nav button{background:var(--nes-field)}.app-nav button.nav-active{background:var(--nes-blue)}.play-screen{--board-width: min(86vw, 36vh, calc((100vh - 16rem)/2) );display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr) minmax(0,260px);gap:calc(var(--space) * 1.5);align-items:center;align-content:center;min-height:calc(100vh - 9rem)}.flank-left{grid-column:1}.play-center{grid-column:2;display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0}.flank-right{grid-column:3}.feedback{display:contents}.play-instruction{margin:0;text-align:center;color:var(--ink)}.puzzle-title{display:flex;align-items:center;justify-content:center;gap:.6rem;margin:0 0 .3rem;font-size:9px}.puzzle-title-label{color:var(--ink-dim);letter-spacing:.04em}.puzzle-share{font:inherit;font-size:8px;color:var(--ink);background:transparent;border:2px solid var(--ink-dim);padding:3px 6px;cursor:pointer}.puzzle-share:hover{border-color:var(--ink)}.tag-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:.3rem;list-style:none;margin:0 0 .4rem;padding:0}.drill-picker{max-width:36rem;margin:1rem auto;padding:0 1rem;text-align:center}.drill-chips{margin:1rem 0}.drill-chips .tag-chip{font:inherit;font-size:7px;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;background:transparent;opacity:.55}.drill-chips .tag-chip.is-selected{opacity:1;background:currentColor}.drill-chips .tag-chip.is-selected{color:var(--nes-black)}.drill-bar{display:flex;align-items:center;justify-content:center;gap:.8rem;font-size:8px;color:var(--nes-gold);margin:.4rem 0}.drill-note,.drill-tag-note{color:var(--nes-gold);font-size:8px;text-transform:uppercase;letter-spacing:.06em}.acc-chart{margin:0 0 1rem}.profile-accuracy .acc-chart{margin:0}.acc-chart-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}.acc-chart-title{margin:0;font-size:14px;font-weight:700;color:var(--ink)}.acc-chart-hint{font-size:11px;color:var(--ink-faint)}.acc-chart-empty{font-size:13px;color:var(--ink-faint)}.acc-chart-list{display:flex;flex-direction:column;gap:8px}.acc-chart-row{display:grid;grid-template-columns:112px 1fr 38px;align-items:center;gap:12px}.acc-chart-label{font-size:12px;color:var(--ink-dim)}.acc-chart-track{display:block;height:7px;border-radius:4px;background:var(--raised);overflow:hidden}.acc-chart-fill{display:block;height:100%;border-radius:4px;transform-origin:left}.acc-chart-good{background:var(--good)}.acc-chart-accent{background:var(--accent)}.acc-chart-bad{background:var(--bad)}.acc-chart-pct{font-size:12px;font-weight:700;text-align:right;color:var(--ink);font-variant-numeric:tabular-nums}.board-well{display:inline-block;padding:5px;background:var(--nes-field);border:2px solid var(--nes-grey);box-shadow:0 0 0 1px var(--nes-field),0 0 0 3px var(--nes-grey-dark);line-height:0}.board{display:grid;grid-template-columns:repeat(10,1fr);gap:0;width:var(--board-width, min(86vw, 320px));position:relative}.nes-cell{aspect-ratio:1 / 1;background-color:var(--nes-field);background-size:100% 100%}.cell.is-highlight{box-shadow:inset 0 0 0 1px var(--accent)}@media(max-width:900px){#root{padding:8px}.account{min-height:100dvh}.top-bar{margin-bottom:4px;gap:8px}.top-bar-rating{margin-left:0}.top-bar-rating-count{display:none}.profile-chip{gap:8px;padding:5px 8px}.profile-chip .chip-stats,.app-nav button[data-section=console],.feed-panel,.duel-feed-slot,[data-testid=duel-play-on]{display:none}.app-nav{gap:6px}.app-nav button{font-size:12px;padding:4px 1px}.play-screen{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:3.4rem auto auto;column-gap:8px;row-gap:6px;align-content:start;justify-items:center;min-height:calc(100dvh - 4.5rem);overflow:visible;--board-width: min(58vw, calc((100dvh - 24rem)/2) )}.flank-left{display:none}.flank-right[aria-label="next piece"]{grid-row:1;grid-column:2;overflow:hidden}.play-center{grid-row:2;grid-column:1 / -1;justify-self:center}.play-center{display:flex;flex-direction:column;align-items:center}.play-center .puzzle-title{order:0}.play-center .placement-input{order:1}.play-center .play-instruction{order:2;margin:4px 0 0;font-size:.85rem}.flank-right.result-panel{grid-row:3;grid-column:1 / -1;justify-self:stretch;min-height:0;overflow:visible;margin-top:4px;padding-bottom:16px}.result-panel .combo-list{margin-top:8px;gap:4px}.result-panel .combo-row{padding:6px 8px}.flank-left section[aria-label=rating]{padding:6px 10px;display:flex;align-items:center;white-space:nowrap}.flank-left section[aria-label=rating] p{margin:0}.flank-left [data-testid=attempt-count],.flank-left [data-testid=rating-trend],.flank-left section[aria-label=rating] p:last-child:not(:first-child){display:none}[data-testid=current-rating]{font-size:14px}.next-box{padding:4px 6px}.next-box-label{margin:0 0 4px;font-size:7px}.next-piece-grid{--next-cell: calc(var(--board-width, 220px) / 16)}}[data-testid=account-email]{font-family:var(--font-body);font-size:10px;color:var(--nes-blue);word-break:break-all}section[aria-label=rating],section[aria-label="sign in"],section[aria-label=history],.result-panel,.next-box{border:3px solid var(--panel-edge);background:var(--panel);padding:var(--space);box-shadow:var(--shadow-hard)}.flank,.result-panel,.next-box,.play-center,section[aria-label=history]{overflow:hidden}.flank>*,.result-panel>*,.next-box>*,.play-center>*{max-width:100%}.flank-left section[aria-label=rating]{margin:0}.next-box{text-align:center}.next-box-label{font-family:var(--font-body);font-size:9px;letter-spacing:.5px;text-transform:uppercase;color:var(--nes-gold);margin:0 0 10px}.next-well{display:inline-block;margin:0 auto;padding:6px;background:#000;border:4px solid #bcbcbc;box-shadow:0 0 0 2px #000,0 0 0 6px #6b6b6b;line-height:0}.next-piece-grid{--next-cell: calc(var(--board-width, 220px) / 10);display:grid;grid-template-columns:repeat(4,var(--next-cell));grid-template-rows:repeat(2,var(--next-cell));gap:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[data-testid=current-rating]{font-family:var(--font-body);font-size:22px;color:var(--nes-white)}[data-testid=attempt-count]{color:var(--ink-dim);font-size:.85rem}[data-testid=rating-trend]{display:block;margin-top:8px;border:2px solid var(--panel-edge);background:var(--nes-field);padding:6px;width:100%;height:auto}.placement-controls{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:var(--space)}.placement-input{display:flex;flex-direction:column;align-items:center;gap:6px}.placement-input:focus-visible{outline:3px solid var(--nes-gold);outline-offset:4px}form{display:flex;flex-direction:column;gap:12px;margin-bottom:var(--space)}label{display:flex;flex-direction:column;gap:6px;font-family:var(--font-body);font-size:9px;letter-spacing:.5px;color:var(--ink-dim);text-transform:uppercase}input{font-family:var(--font-body);font-size:1rem;color:var(--ink);background:var(--nes-field);border:3px solid var(--panel-edge);padding:10px}input:focus-visible{outline:none;border-color:var(--nes-blue)}.oauth{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.oauth button{flex:1 1 auto;background:var(--nes-field)}.oauth button:hover{background:var(--nes-blue)}.guest-btn{margin-top:12px;width:100%;background:transparent;border-style:dashed;opacity:.7}.guest-btn:hover{opacity:1}.grade-banner{position:absolute;top:0;left:0;right:0;z-index:2;display:flex;align-items:center;justify-content:center;padding:8px 6px;font-family:var(--font-body);font-size:clamp(14px,4.2vmin,30px);letter-spacing:1px;line-height:1;text-align:center;color:var(--nes-white);text-shadow:2px 2px 0 #000;border-bottom:3px solid #000;pointer-events:none}.grade-banner.is-win{background:#00a800e0}.grade-banner.is-below{background:#d82800e0}.next-puzzle-btn{font-family:var(--font-body);font-size:11px;letter-spacing:1px;text-transform:uppercase;padding:10px 20px;color:#000;background:var(--nes-gold);border:3px solid var(--panel-edge);box-shadow:var(--shadow-hard);cursor:pointer}.combo-list{display:flex;flex-direction:column;gap:6px;margin-top:var(--space)}.combo-list-label{font-family:var(--font-body);font-size:8px;letter-spacing:.5px;text-transform:uppercase;color:var(--nes-gold);margin:0 0 4px}.combo-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:var(--nes-field);border:2px solid var(--panel-edge);box-shadow:none;padding:8px 10px;text-transform:none}.combo-row:hover{background:var(--panel);border-color:var(--nes-grey-dark)}.combo-row.is-selected{border-color:var(--nes-gold);background:#fcd0001f}.combo-row.is-player{border-left-width:4px;border-left-color:var(--nes-red)}.combo-rank{font-family:var(--font-body);font-size:9px;color:var(--ink);min-width:4.5ch}.combo-score{font-family:var(--font-body);font-size:9px;color:var(--nes-white);margin-left:auto}.combo-you{font-family:var(--font-body);font-size:8px;color:var(--nes-red)}.combo-row.combo-yours{margin-top:6px;border-style:dashed}.combo-more{font-size:8px;padding:6px 10px;background:var(--nes-field);border:2px dashed var(--panel-edge);color:var(--ink-dim);box-shadow:none}.curation{border:3px dashed var(--panel-edge);background:var(--panel);padding:10px;margin-top:var(--space)}.curation-label{font-family:var(--font-body);font-size:8px;letter-spacing:.5px;text-transform:uppercase;color:var(--nes-gold);margin:0 0 8px}.curation-actions{display:flex;gap:8px;flex-wrap:wrap}.curation-flag input{width:100%;margin-top:4px}.curation-toast{display:flex;align-items:center;justify-content:space-between;gap:8px}.curation-status{margin:8px 0 0;font-size:.8rem;color:var(--ink-dim)}.screen-heading{margin-bottom:20px}.screen-kicker{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:7px}.screen-title{margin:0;font-size:28px;font-weight:700;letter-spacing:.01em;color:var(--ink)}.info-banner{border:2px solid var(--panel-edge);background:var(--raised);padding:14px 16px;margin-bottom:26px;font-size:13px;color:var(--ink-dim);line-height:1.55}.info-banner-strong{color:var(--ink)}.panel-hard{border:3px solid var(--panel-edge);background:var(--panel);box-shadow:var(--shadow-hard)}.panel-section-head{padding:15px 20px;border-bottom:2px solid var(--panel-edge);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--nes-gold)}.settings-page{max-width:860px;margin:0 auto}.settings-panel{margin-bottom:22px}.controls-conflict{color:var(--nes-red);font-weight:700;margin:0 0 10px}.settings-grid{display:grid;grid-template-columns:minmax(0,1fr) 118px 148px;align-items:center;column-gap:18px;padding:6px 20px 14px}.settings-head{padding:14px 0 12px;border-bottom:2px solid var(--panel-edge);font-size:10px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-dim)}.settings-center{text-align:center}.settings-row{display:contents}.settings-action{padding:14px 0;border-bottom:1px solid var(--panel-edge);font-size:14px;color:var(--ink)}.settings-cell{padding:14px 0;border-bottom:1px solid var(--panel-edge);display:flex;justify-content:center}.settings-row:last-child .settings-action,.settings-row:last-child .settings-cell{border-bottom:none}.keycap{min-width:52px;height:38px;padding:0 14px;font-family:var(--font-body);font-size:15px;font-weight:600;color:var(--ink);background:var(--nes-field);border:2px solid var(--panel-edge);border-radius:0;box-shadow:var(--shadow-hard);cursor:pointer}.keycap:hover{background:var(--nes-field);border-color:var(--nes-grey-dark)}.padcap{min-width:72px;height:38px;padding:0 14px;font-family:var(--font-body);font-size:12px;font-weight:600;letter-spacing:.03em;color:var(--ink-dim);background:var(--raised);border:2px solid var(--panel-edge);border-radius:0;box-shadow:none;cursor:pointer}.padcap:hover{background:var(--raised);border-color:var(--nes-grey-dark)}.keycap-listening{color:var(--accent);border-color:var(--accent);box-shadow:none;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.settings-nopad{font-size:15px;color:var(--ink-faint)}.settings-section-head{padding:15px 20px;border-bottom:2px solid var(--panel-edge);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--nes-gold)}.settings-sound{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;cursor:pointer}.settings-sound-copy{display:block}.settings-sound-name{display:block;font-size:15px;color:var(--ink)}.settings-sound-desc{display:block;font-size:12px;color:var(--ink-dim);margin-top:3px}.settings-sound-state{flex:none;display:flex;align-items:center;gap:11px}.toggle-word{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.toggle-word-on{color:var(--good)}.toggle-word-off{color:var(--ink-faint)}.toggle-input{position:absolute;opacity:0;width:1px;height:1px}.toggle{position:relative;width:52px;height:28px;border:2px solid var(--panel-edge);background:var(--nes-field)}.toggle-knob{position:absolute;top:2px;left:2px;width:20px;height:20px;background:var(--ink-faint)}.toggle-on{background:var(--good)}.toggle-on .toggle-knob{left:26px;background:#1a1815}.toggle-input:focus-visible+.toggle{outline:3px solid var(--nes-gold)}.about-page{max-width:760px;margin:32px auto;padding:0 16px;display:flex;flex-direction:column;gap:var(--space)}.about-glossary{margin:12px 0 0;display:flex;flex-direction:column}.about-glossary-row{display:grid;grid-template-columns:minmax(0,160px) minmax(0,1fr);gap:6px 16px;padding:10px 0;border-bottom:1px solid var(--panel-edge)}.about-glossary-row:last-child{border-bottom:none}.about-glossary-row dt{margin:0;font-weight:700;font-size:13px;color:var(--ink)}.about-glossary-row dd{margin:0;font-size:13px;line-height:1.5;color:var(--ink-dim)}.mode-seg{display:inline-flex;max-width:100%;gap:4px;padding:4px;border:2px solid var(--panel-edge);border-radius:10px;background:var(--raised);margin:0 0 18px}.mode-seg-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;font-family:var(--font-body);font-size:14px;font-weight:600;color:var(--ink-dim);background:transparent;border:none;border-radius:7px;cursor:pointer;transition:background .12s,color .12s}.mode-seg-btn:hover,.mode-seg-btn.is-active{color:var(--ink)}.mode-seg-btn:hover:not(.is-active){background:var(--panel-edge)}.mode-seg-btn.mode-puzzle.is-active{background:#d98b6a24}.mode-seg-btn.mode-solo.is-active{background:#0058f829}.mode-seg-btn.mode-ranked.is-active{background:#6cc28d24}.mode-dot{width:8px;height:8px;flex:none;border-radius:2px}.mode-puzzle .mode-dot{background:var(--accent)}.mode-solo .mode-dot{background:var(--nes-blue)}.mode-ranked .mode-dot{background:var(--good)}.mode-seg-count{font-size:11px;font-variant-numeric:tabular-nums;color:var(--ink-faint)}.history-strip{margin:0 0 18px}.statbox-sub{margin-top:4px;font-family:var(--font-body);font-size:11px;color:var(--ink-faint)}.history-controls{margin:0 0 12px}.history-filter{font-family:var(--font-body);font-size:12px;color:var(--ink-dim)}.history-table{width:100%;border-collapse:collapse}.history-table th{padding:13px 16px;font-size:10px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-dim);border-bottom:2px solid var(--panel-edge);text-align:left}.history-table td{padding:14px 16px;border-bottom:1px solid var(--panel-edge);vertical-align:middle;font-size:14px}.history-table tbody tr{transition:background .12s}.history-table tbody tr:hover{background:var(--raised)}.history-table tbody tr:last-child td{border-bottom:none}.pz-cell{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pz-num{font-size:14px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.pz-grade{margin-left:8px;font-family:var(--font-pixel);font-size:11px;color:var(--nes-gold)}.delta-up,.delta-down{font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}.delta-up{color:var(--good)}.delta-down{color:var(--bad)}.pb-badge{margin-left:10px}.chip-test{margin-left:6px;color:var(--nes-gold)}.history-pager{display:flex;align-items:center;gap:12px;margin-top:12px}.history-review-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.history-review-result{font-family:var(--font-body);color:var(--nes-gold)}[data-testid=outcome]{color:var(--nes-gold)}[data-testid=rating-change],[data-testid=puzzle-stats]{font-family:var(--font-body);font-size:11px;color:var(--nes-white)}.star-rating{margin:8px 0}.star-rating-prompt{font-family:var(--font-body);font-size:11px;color:var(--nes-white);margin:0 0 4px}.star-rating .star{background:none;border:none;padding:0 2px;font-size:22px;line-height:1;cursor:pointer;color:var(--nes-gold)}.star-rating .star.is-filled{color:var(--nes-gold)}.star-rating-community{font-family:var(--font-body);font-size:11px;color:var(--nes-gold);margin:4px 0 0}[role=alert]{border-left:4px solid var(--nes-red);padding:8px 12px;background:#d828001f;color:var(--bad-bright)}[role=status]{border-left:4px solid var(--nes-blue);padding:8px 12px;background:#0058f81f;color:var(--info-bright)}.play-center .board-well{display:block;margin:0 auto;max-width:100%}.falling-piece{position:absolute;inset:0;display:grid;grid-template-columns:repeat(10,1fr);grid-template-rows:repeat(20,1fr);pointer-events:none;will-change:transform}.falling-piece .falling-cell{background-size:100% 100%}.line-flash{position:absolute;inset:0;display:grid;grid-template-columns:repeat(10,1fr);grid-template-rows:repeat(20,1fr);pointer-events:none}.line-flash-cell{background:var(--nes-white, #fcfcfc);animation:line-flash .26s steps(2,jump-none) 2}@keyframes line-flash{0%,to{opacity:.15}50%{opacity:1}}@media(prefers-reduced-motion:reduce){button{transition:none}.falling-piece{transition:none!important}.line-flash-cell{animation:none}}body{font-variant-numeric:tabular-nums}#root{max-width:1140px}.next-box-label,.grade-banner{font-family:var(--font-pixel)}.top-bar:before{display:none}.top-bar{border:1px solid var(--panel-edge);border-radius:10px;background:var(--topbar)}.logo-home:hover{background:none}.wordmark{font-family:var(--font-body);font-weight:700;font-size:16px;letter-spacing:-.2px;color:var(--ink);text-shadow:none;white-space:nowrap}.top-bar-rating{display:inline-flex;align-items:baseline;gap:7px;margin-left:18px;white-space:nowrap}.top-bar-rating-label{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-dim)}.top-bar-rating [data-testid=current-rating]{font-size:18px;font-weight:700;color:var(--ink)}.top-bar-rating-count{font-size:12px;color:var(--ink-faint)}.profile-chip{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;background:var(--raised);border:2px solid var(--panel-edge);box-shadow:none;padding:6px 10px;cursor:pointer;text-transform:none;letter-spacing:0;font-weight:500}.profile-chip:hover{border-color:var(--ink-faint)}.chip-avatar{display:grid;grid-template-columns:repeat(2,7px);grid-template-rows:repeat(2,7px);gap:2px;padding:4px;background:var(--nes-field);border:2px solid var(--panel-edge);flex:none}.chip-avatar span{background:var(--nes-blue)}.chip-body{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.chip-id{display:inline-flex;align-items:center;gap:7px}.chip-caret{font-size:10px;color:var(--ink-dim)}.chip-stats{display:inline-flex;align-items:baseline;gap:12px}.chip-handle{font-weight:700;color:var(--ink)}.chip-stat{font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:var(--ink-faint)}.chip-stat b,.chip-stat strong{margin-left:3px;font-size:13px;letter-spacing:0;text-transform:none;color:var(--ink)}.app-nav button{font-family:var(--font-body);font-size:14px;font-weight:500;text-transform:none;letter-spacing:0;color:var(--ink-dim);background:none;border:none;box-shadow:none;padding:4px 1px;border-radius:0;border-bottom:2px solid transparent}.app-nav button:hover{background:none;color:var(--ink)}.app-nav button.nav-active{color:var(--ink);font-weight:600;background:none;border-bottom-color:var(--accent)}section[aria-label=rating],section[aria-label="sign in"],section[aria-label=history],.result-panel,.next-box{border:1px solid var(--panel-edge);border-radius:10px;box-shadow:0 14px 40px #00000059}button{font-family:var(--font-body);font-size:14px;font-weight:600;line-height:1.4;letter-spacing:0;text-transform:none;color:var(--ink);background:var(--raised);border:1px solid var(--panel-edge);border-radius:8px;box-shadow:none;padding:11px 18px;cursor:pointer;transition:background .15s,border-color .15s,transform .05s}button:hover{background:var(--raised-hover);border-color:var(--edge-hover)}button:active{transform:translateY(1px);box-shadow:none}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{background:var(--panel);border-color:var(--panel-edge);color:var(--ink-faint);box-shadow:none;cursor:not-allowed}.next-puzzle-btn,.placement-controls button:last-child,form button[type=submit]{background:var(--accent);color:#1a1815;border:none;border-radius:8px;box-shadow:none;text-transform:none;letter-spacing:0;font-weight:600}.next-puzzle-btn:hover,.placement-controls button:last-child:hover,form button[type=submit]:hover{background:var(--accent-hover)}input{font-family:var(--font-body);border:1px solid var(--panel-edge);border-radius:8px;background:var(--field)}input:focus-visible{border-color:var(--accent);outline:none}h2{color:var(--ink);font-weight:700;letter-spacing:-.3px}.next-well{padding:5px;border:2px solid var(--nes-grey);box-shadow:0 0 0 1px var(--nes-field),0 0 0 3px var(--nes-grey-dark)}.tag-chip{font-family:var(--font-body);font-size:12px;letter-spacing:0;text-transform:none;color:var(--ink-dim);border:1px solid color-mix(in srgb,currentColor 34%,transparent);border-radius:8px;background:color-mix(in srgb,currentColor 12%,transparent);padding:5px 11px 5px 9px;display:inline-flex;align-items:center;gap:7px}.tag-chip:before{content:"";width:8px;height:8px;border-radius:2px;background:currentColor;flex:0 0 auto}.tag-chip.tag-clear{color:var(--good)}.tag-chip.tag-maneuver{color:var(--tag-maneuver)}.tag-chip.tag-stack{color:var(--tag-stack)}.tag-chip.tag-avoid{color:var(--bad)}.tag-chip.tag-waste{color:var(--tag-waste)}.drill-chips .tag-chip{opacity:1;cursor:pointer}.drill-chips .tag-chip.is-selected{background:currentColor}.drill-chips .tag-chip.is-selected,.drill-chips .tag-chip.is-selected:before{color:#1a1815}.drill-chips .tag-chip.is-selected:before{background:#1a18158c}.player-badges{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.player-badge{font-family:var(--font-body);font-size:11px;letter-spacing:0;text-transform:none;border:1px solid color-mix(in srgb,currentColor 34%,transparent);background:color-mix(in srgb,currentColor 12%,transparent);border-radius:8px;padding:2px 8px 2px 7px;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;vertical-align:middle}.player-badge:before{content:"";width:6px;height:6px;border-radius:2px;background:currentColor;flex:0 0 auto}.nes-nameplate{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.nes-nameplate-text{min-width:0}.profile-admin{margin-top:10px;display:flex;flex-direction:column;gap:6px}.profile-admin-toggle{display:inline-flex;align-items:center;gap:10px;cursor:pointer}.admin-tag-controls{margin-top:8px;display:flex;flex-direction:column;gap:6px}.admin-tag-label{font-family:var(--font-body);font-size:11px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.04em}.admin-tag-buttons{display:inline-flex;gap:6px;flex-wrap:wrap}.admin-tag-buttons .is-on{border-color:var(--good);color:var(--good)}.player-badge.player-badge-ctwc{color:var(--warn)}.player-badge.player-badge-ctm{color:var(--good)}.player-badge.player-badge-dev{color:var(--bad)}.player-badge.player-badge-paid{color:var(--badge-paid)}.player-badge.player-badge-player{color:var(--badge-neutral)}.combo-row{font-family:var(--font-body);border:1px solid var(--panel-edge);border-radius:8px;box-shadow:none}.combo-row.is-selected{border-color:var(--accent);background:#d98b6a1a}.combo-row.is-player{border-left-width:3px;border-left-color:var(--accent)}.combo-rank,.combo-score,.combo-you,[data-testid=current-rating],[data-testid=rating-change],[data-testid=puzzle-stats],[data-testid=attempt-count]{font-family:var(--font-body)}.grade-banner{letter-spacing:.5px}.grade-banner.is-win{background:#218246eb}.grade-banner.is-below{background:#c43c28eb}.panel{border:1px solid var(--panel-edge);border-radius:10px;background:var(--panel);padding:var(--space);box-shadow:0 14px 40px #00000059}.panel-title{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-dim);margin:0 0 10px}.muted{color:var(--ink-dim)}.faint{color:var(--ink-faint)}.note-warn{color:var(--warn)}.note-good{color:var(--good)}.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:8px}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table th,.data-table td{padding:6px 10px;text-align:left;border-bottom:1px solid var(--panel-edge)}.data-table th{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-dim)}button.btn-primary{background:var(--accent);color:#1a1815;border:none;font-weight:600}button.btn-primary:hover{background:var(--accent-hover)}button.btn-danger{background:#ec846824;border-color:#ec846866;color:var(--bad)}button.btn-danger:hover{background:#ec84683d;border-color:var(--bad)}select{font-family:var(--font-body);font-size:14px;color:var(--ink);background:var(--field);border:1px solid var(--panel-edge);border-radius:8px;padding:10px}select:focus-visible{border-color:var(--accent);outline:none}.capture-layout{display:flex;gap:24px;margin-top:var(--space);flex-wrap:wrap;align-items:flex-start}.capture-stage{position:relative;max-width:450px;border:1px solid var(--panel-edge);border-radius:10px;overflow:hidden;background:#000;line-height:0}.capture-stage video{display:block;width:100%}.capture-hint{position:absolute;top:8px;left:8px;right:8px;padding:6px 10px;border-radius:8px;background:#000000c7;color:var(--nes-white);font-size:13px;line-height:1.5;pointer-events:none}.capture-hint .capture-hint-failure{color:var(--bad-bright);margin-top:4px}.cal-region{position:absolute;pointer-events:none;border:2px solid}.cal-region.cal-board{border-color:#6fcf7c}.cal-region.cal-next{border-color:#6ea8fe}.cal-region.cal-score{border-color:#e0b25f}.cal-region.cal-lines{border-color:#c98ae0}.cal-region.cal-drag{border-style:dashed;border-color:#ddd}.capture-readout{flex:0 1 280px;min-width:240px}.capture-checklist{list-style:none;margin:0;padding:0}.capture-checklist li{margin:4px 0}.capture-checklist-hint{font-size:12px;margin:2px 0 0 18px}.capture-ready{border:1px solid var(--good);border-radius:8px;padding:10px 12px;margin-top:10px}.capture-connect-intro{margin-top:0}.capture-row-gap{margin-top:8px}.capture-section-gap{margin-top:12px}.capture-note-gap{margin-top:4px}.capture-seed-status-gap{margin-top:6px}.capture-main{flex:1 1 0;min-width:0}.capture-compare{display:flex;gap:16px;align-items:flex-start;flex-wrap:nowrap}.capture-compare .capture-stage{flex:1 1 auto;min-width:240px}.capture-mini-solo{flex:none;width:262px;height:314px;overflow:hidden}.capture-mini-solo .nes-screen{width:436px;transform:scale(.6);transform-origin:top left}.capture-advanced{margin-top:8px}.capture-advanced summary{color:var(--ink-dim);cursor:pointer;font-size:13px}.capture-advanced summary:hover{color:var(--ink)}.nes-screen{display:flex;gap:22px;align-items:flex-start;font-family:var(--font-pixel);padding:6px}.nes-screen-main{display:flex;flex-direction:column;gap:16px}.nes-stat-panel{background:#000;color:#fcfcfc;border:3px solid #fcfcfc;outline:2px solid #3cbcfc;box-shadow:0 0 0 5px #000;padding:10px 12px}.nes-lines-panel{text-align:center;font-size:12px;letter-spacing:1px;padding:12px 10px}.nes-board-panel{padding:5px;line-height:0;position:relative;align-self:flex-start}.nes-board-panel canvas{display:block}.nes-rail{display:flex;flex-direction:column;gap:18px;width:168px;flex:none}.nes-stat-label{font-size:10px;margin:0 0 8px}.nes-stat-value{font-size:12px;line-height:1.6;word-break:break-word}.nes-rail .next-box{background:#000;border:3px solid #fcfcfc;outline:2px solid #3cbcfc;box-shadow:0 0 0 5px #000;padding:10px 6px}.nes-rail .next-box-label{font-family:var(--font-pixel);color:#fcfcfc;font-size:10px;margin:0 0 8px}.nes-rail .next-well{border:none;box-shadow:none;padding:0}.nes-score-diff{display:block;font-size:10px;margin-top:6px}.nes-score-diff.is-leading{color:var(--good)}.nes-score-diff.is-behind,.nes-stat-label.is-drought{color:var(--bad)}.nes-hearts{color:var(--nes-red);font-size:22px;line-height:1.1;text-align:center}.bcast-screen{display:flex;gap:8px;align-items:flex-start;font-family:var(--font-body);color:var(--ink)}.bcast-main{display:flex;flex-direction:column;gap:8px;width:300px}.bcast-box{background:var(--panel);border:1px solid var(--panel-edge);border-radius:10px;box-shadow:var(--shadow-hard)}.bcast-header{padding:6px 12px}.bcast-divider{border-top:1px solid var(--panel-edge);margin:6px -12px}.bcast-score{text-align:center;font-family:var(--font-pixel);display:flex;flex-direction:column;align-items:center;gap:4px}.bcast-score-value{font-size:22px;line-height:1.1}.bcast-score-diff{font-size:12px;animation:bcast-diff-fade .5s ease-out}.bcast-score-diff.is-leading{color:var(--good)}.bcast-score-diff.is-behind{color:var(--bad)}@keyframes bcast-diff-fade{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.bcast-score-diff{animation:none}}.bcast-lines-next{display:flex;align-items:center;justify-content:space-between;--board-width: 150px}.bcast-lines{font-family:var(--font-pixel);font-size:13px}.bcast-board{padding:8px}.bcast-board-well{position:relative}.bcast-board canvas{display:block;width:100%;image-rendering:pixelated}.bcast-screen-shell{display:grid;grid-template-columns:1fr auto 1fr;grid-template-areas:"aside main rail";align-items:start;width:100%;column-gap:8px}.bcast-screen-shell .bcast-aside{grid-area:aside;justify-self:end}.bcast-screen-shell .bcast-main{grid-area:main}.bcast-screen-shell .bcast-rail{grid-area:rail;justify-self:start}.bcast-board .bcast-divider{margin:8px -8px 6px}.bcast-nameplate{text-align:center;font-size:15px;line-height:1.3}.bcast-rating{color:var(--ink-dim);font-size:14px}.bcast-rail{display:flex;flex-direction:column;gap:8px;width:92px;flex:none;margin-top:88px}.bcast-railbox{padding:6px 10px}.bcast-railbox .bcast-divider{margin:6px -10px}.bcast-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:2px}.bcast-label.is-drought{color:var(--bad)}.bcast-value{font-family:var(--font-pixel);font-size:13px}.bcast-hearts{color:var(--nes-red);font-size:24px;line-height:26px}.set-standing{display:flex;align-items:center;gap:18px;margin:6px 0 14px}.set-hearts{color:var(--nes-red);font-size:34px;line-height:36px}.set-hearts.is-opp{opacity:.75}.set-score{font-size:28px;font-weight:700}.set-expander{min-width:28px}.set-hearts-inline{color:var(--nes-red);margin-left:8px}.set-game-row td{background:var(--raised)}.set-game-row td:first-child{padding-left:26px}.bcast-hearts-pulse{animation:heart-pulse .6s ease-out 3}@keyframes heart-pulse{0%,to{transform:scale(1)}40%{transform:scale(1.45)}}.next-plain .next-box-label{display:none}.next-plain .next-box{border:0;padding:0;background:none;box-shadow:none;overflow:visible}.next-plain .next-well{border:0;padding:0;background:none;box-shadow:none}.next-plain .next-cell-empty{background-color:transparent!important}.game-screen{display:flex;flex-direction:column;align-items:center;gap:16px}.nes-screen-shell{display:grid;grid-template-columns:1fr auto 1fr;grid-template-areas:"aside board rail";align-items:start;width:100%}.nes-screen-shell .nes-screen-aside{grid-area:aside;justify-self:end}.nes-screen-shell .nes-screen-main{grid-area:board}.nes-screen-shell .nes-rail{grid-area:rail;justify-self:start}.duel-page{max-width:1080px;margin:0 auto}.duel-tabs{display:flex;gap:18px;flex-wrap:wrap;margin:0 0 22px;border-bottom:2px solid var(--panel-edge)}.duel-tabs button{font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--ink-dim);background:none;border:none;border-radius:0;box-shadow:none;padding:8px 2px 10px;border-bottom:2px solid transparent;margin-bottom:-2px}.duel-tabs button:hover{background:none;color:var(--ink)}.duel-tabs button.nav-active{color:var(--ink);background:none;border-bottom-color:var(--accent)}.field-label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--nes-gold);margin-bottom:10px}.duel-select{width:100%;font-family:var(--font-body);font-size:15px;color:var(--ink);background:var(--nes-field);border:3px solid var(--panel-edge);border-radius:0;padding:11px 12px;cursor:pointer}.option-card{display:flex;align-items:flex-start;gap:14px;padding:15px 16px;border:2px solid var(--panel-edge);background:var(--raised);cursor:pointer;position:relative;text-align:left}.option-card:hover{border-color:var(--nes-grey-dark)}.option-card.is-selected:before{content:"";position:absolute;left:0;top:-2px;bottom:-2px;width:4px;background:var(--accent)}.option-radio{flex:none;margin-top:1px;width:18px;height:18px;border:2px solid var(--ink-faint);display:flex;align-items:center;justify-content:center}.option-radio-dot{width:8px;height:8px;background:var(--accent)}.option-title{color:var(--ink);font-size:14px;font-weight:600}.option-desc{display:block;color:var(--ink-dim);font-size:12px;margin-top:3px;line-height:1.4}.option-connected{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--good)}button.cta-primary{font-family:var(--font-body);font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#000;background:var(--accent);border:3px solid var(--panel-edge);border-radius:0;box-shadow:var(--shadow-hard);padding:13px 24px;cursor:pointer}button.cta-primary:hover{background:var(--accent-hover)}button.cta-ghost{font-family:var(--font-body);font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:none;color:var(--ink);background:transparent;border:2px solid var(--panel-edge);border-radius:0;box-shadow:none;padding:13px 20px;cursor:pointer}button.cta-ghost:hover{background:var(--raised);border-color:var(--nes-grey-dark)}button.cta-ghost-sm{padding:7px 13px;font-size:11px}.duel-setup-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:26px;align-items:start}@media(max-width:900px){.duel-setup-grid{grid-template-columns:1fr}}.duel-setup-col{display:flex;flex-direction:column;gap:26px}.duel-setup-col-notice{margin:0}.option-stack{display:flex;flex-direction:column;gap:10px}.duel-actions{display:flex;gap:12px;flex-wrap:wrap;padding-top:6px}.handle-claim{margin-bottom:16px}.feed-panel{padding:16px}.feed-kicker{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--nes-gold);margin-bottom:12px}.feed-screen{aspect-ratio:4 / 3;background:#000;border:2px solid var(--panel-edge);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.feed-screen video{display:block;width:100%;height:100%;object-fit:contain}.feed-screen-clone{background:var(--nes-field);border-style:dashed;text-align:center;padding:18px;font-size:12px;color:var(--ink-dim);line-height:1.5}.feed-nosignal{font-family:var(--font-pixel);font-size:9px;color:var(--ink-faint);letter-spacing:2px}.feed-status{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:11px;color:var(--ink-dim)}.feed-status .status-dot{background:var(--ink-faint)}.feed-status.is-good{color:var(--good)}.feed-status.is-good .status-dot{background:var(--good)}.feed-status.is-bad{color:var(--bad)}.feed-status.is-bad .status-dot{background:var(--bad)}.feed-status.is-warn{color:var(--warn)}.feed-status.is-warn .status-dot{background:var(--warn)}.status-dot{flex:none;width:8px;height:8px}.feed-controls{display:flex;flex-direction:column;gap:8px;margin-top:12px}.notice{border:2px solid var(--panel-edge);background:var(--raised);padding:12px 16px;margin:0 0 14px;font-size:13px;color:var(--ink-dim);line-height:1.55}.notice b{color:var(--ink)}.notice .duel-actions{padding-top:10px}.duel-history-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:22px}.statbox-row{display:flex;gap:10px;flex-wrap:wrap}.statbox{border:2px solid var(--panel-edge);background:var(--raised);padding:9px 16px;min-width:70px}.statbox-label{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:4px}.statbox-value{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1;color:var(--ink)}.statbox-value.is-good{color:var(--good)}.statbox-value.is-bad{color:var(--bad)}.duel-table{width:100%;border-collapse:collapse}.duel-table th{padding:13px 16px;font-size:10px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-dim);border-bottom:2px solid var(--panel-edge);text-align:left}.duel-table td{padding:14px 16px;border-bottom:1px solid var(--panel-edge);vertical-align:middle;font-size:14px}.duel-table tbody tr{transition:background .12s}.duel-table tbody tr:hover{background:var(--raised)}.duel-table tbody tr:last-child td{border-bottom:none}.cell-center{text-align:center}.cell-right{text-align:right}.cell-num{font-variant-numeric:tabular-nums;color:var(--ink-dim);font-size:13px}.when-time{color:var(--ink);font-size:13px;font-variant-numeric:tabular-nums;line-height:1.3}.when-date{color:var(--ink-faint);font-size:11px;margin-top:2px}.opp-cell{display:flex;align-items:center;gap:9px;min-width:0}.opp-name{color:var(--ink);font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-tag{flex:none;font-size:9px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint);border:1px solid var(--panel-edge);padding:2px 6px;white-space:nowrap}.chip-tag-gap{margin-left:6px}.bot-tag{flex:none;display:inline-block;font-size:9px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--nes-teal);border:1px solid var(--nes-teal);padding:2px 5px;margin-left:6px;vertical-align:middle;white-space:nowrap}.watch-pairing{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.watch-player{display:inline-flex;align-items:center;gap:0;font-family:var(--font-body);font-size:14px;font-weight:600;color:var(--ink);background:none;border:none;border-radius:0;box-shadow:none;padding:4px 2px;cursor:pointer}.watch-player:hover .watch-player-name{color:var(--accent);text-decoration:underline}.watch-player-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.watch-rating{margin-left:7px;font-size:12px;font-weight:600;color:var(--ink-dim);font-variant-numeric:tabular-nums}.watch-vs{font-size:12px;color:var(--ink-faint)}.watch-feature-tag{flex:none;font-size:9px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--nes-green);border:1px solid var(--nes-green);padding:2px 5px;margin-right:4px}.watch-feature .watch-player-name{color:var(--ink)}.score-cell{display:flex;flex-direction:column;gap:6px}.score-line{display:flex;align-items:baseline;justify-content:space-between;font-size:14px}.score-you{font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink)}.score-you.is-win{color:var(--good)}.score-you.is-missing{color:var(--ink-faint)}.score-vs{color:var(--ink-faint);font-size:10px;padding:0 8px}.score-them{color:var(--ink-dim);font-variant-numeric:tabular-nums}.margin-bar{display:flex;height:6px;border:1px solid var(--panel-edge);overflow:hidden}.margin-fill{background:var(--accent)}.margin-fill.is-win{background:var(--good)}.margin-rest{flex:1 1 auto;background:var(--nes-grey-dark)}.margin-pending{flex:1 1 auto;background:repeating-linear-gradient(45deg,var(--panel-edge),var(--panel-edge) 4px,transparent 4px,transparent 8px)}.badge{display:inline-block;padding:4px 11px;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.badge-win{color:var(--good);border:1px solid var(--good);background:#6cc28d1f}.badge-loss{color:var(--bad);border:1px solid rgba(236,132,104,.55);background:#ec84681a}.badge-draw{color:var(--ink);border:1px solid var(--panel-edge);background:var(--raised)}.badge-pending{color:var(--ink-dim);border:1px dashed var(--panel-edge);background:transparent}.badge-void{color:var(--ink-faint);border:1px dashed var(--panel-edge);background:transparent}.badge-abandoned{color:var(--ink-faint);border:1px solid var(--panel-edge);background:transparent}.rating-move{font-size:13px;font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap}.rating-move.is-empty{color:var(--ink-faint)}.duel-statusline{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:12px;font-size:13px;color:var(--ink-dim)}.duel-statusline b{color:var(--ink)}.duel-boards{display:flex;gap:28px;flex-wrap:wrap;justify-content:center;position:relative}.duel-input-note{margin-top:10px}.duel-reveal{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:#000000bd;cursor:pointer}.duel-reveal-word{font-family:var(--font-pixel);font-size:clamp(26px,6.5vw,60px);letter-spacing:4px;line-height:1.2;color:var(--ink);text-shadow:5px 5px 0 #000;animation:reveal-slam .45s steps(5,jump-none) both,reveal-flash .4s steps(2,jump-none) .45s 2}.duel-reveal.is-win .duel-reveal-word{color:var(--good)}.duel-reveal.is-loss .duel-reveal-word{color:var(--bad)}.duel-reveal-scores{font-family:var(--font-pixel);font-size:clamp(10px,1.8vw,15px);letter-spacing:2px;color:var(--nes-white);text-shadow:2px 2px 0 #000;animation:reveal-fade .3s .65s both}@keyframes reveal-slam{0%{transform:scale(2.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes reveal-flash{0%,to{opacity:1}50%{opacity:.35}}@keyframes reveal-fade{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.duel-reveal-word,.duel-reveal-scores{animation:none}}.duel-countdown{font-family:var(--font-pixel);font-size:40px;color:var(--accent);margin:18px 0;display:flex;align-items:baseline;gap:14px}.duel-countdown-hint{font-family:var(--font-body);font-size:13px;color:var(--ink-dim)}.seed-chip{font-family:var(--font-pixel);font-size:16px;letter-spacing:3px;color:var(--ink);background:var(--nes-field);border:2px solid var(--panel-edge);padding:8px 12px;display:inline-block}.verdict-banner{border:3px solid var(--panel-edge);background:var(--panel);box-shadow:var(--shadow-hard);padding:14px 18px;margin:12px 0;display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}.verdict-word{font-size:18px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.verdict-word.is-win{color:var(--good)}.verdict-word.is-loss{color:var(--bad)}.verdict-word.is-neutral{color:var(--ink-dim)}.placement-pill{border:1px solid var(--panel-edge);padding:1px 8px;margin-left:8px;color:var(--ink-dim);font-size:12px;cursor:help;white-space:nowrap}.profile-hero{display:flex;gap:26px;flex-wrap:wrap;align-items:flex-start;margin-bottom:22px}.game-sidenotes{display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--ink-dim)}.game-sidenotes b{color:var(--ink)}.nes-board-overlay{position:absolute;inset:5px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000000d1;gap:10px;text-align:center;line-height:1.7}.bcast-board-well .nes-board-overlay{inset:0}.nes-board-overlay.nes-board-countdown{background:transparent;pointer-events:none;font-family:var(--font-pixel);font-size:56px;color:var(--accent);text-shadow:0 0 8px #000,0 0 16px #000}.analysis-titlebar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.analysis-seed{font-size:14px;font-weight:400;color:var(--ink-dim)}.analysis-toolbar,.analysis-transport{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px;font-size:14px;color:var(--ink-dim)}.analysis-transport button{min-width:42px;padding:8px 0}.analysis-range{width:240px;max-width:60vw;accent-color:var(--accent)}.analysis-position{white-space:nowrap}.analysis-state{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 4px}.analysis-state button[aria-pressed=true]{border-color:var(--accent);color:var(--ink);background:#d98b6a1f}.analysis-verdict{font-size:14px;max-width:260px}.analysis-verdict p{margin:0 0 10px}.analysis-seed-row{display:flex;gap:10px;align-items:center;margin:0 0 8px}.loss-strip{width:100%;height:30px;display:block;margin:2px 0 8px;cursor:pointer;background:var(--raised);border:1px solid var(--panel-edge)}.loss-strip-cursor{fill:var(--accent);opacity:.5}.verdict-headline{display:flex;align-items:baseline;gap:10px;margin:0 0 8px}.severity-chip{font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border:1px solid currentColor}.verdict-loss{font-size:18px;font-weight:700}.verdict-meter{margin:0 0 10px}.verdict-primary{width:100%;margin:0 0 10px}.verdict-secondary{gap:6px}.verdict-secondary button{font-size:12px}.verdict-raw{color:var(--ink-dim);font-variant-numeric:tabular-nums}.verdict-grading{display:flex;flex-direction:column;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--panel-edge);font-size:13px}.app-alert{display:flex;gap:12px;align-items:baseline;justify-content:space-between;margin:0 0 var(--space)}.beta-strip{display:flex;gap:16px;align-items:baseline;justify-content:space-between;flex-wrap:wrap;padding:4px 14px;margin:0 0 8px;font-size:.8rem;color:var(--ink-dim);border:1px solid rgba(255,255,255,.08);border-radius:6px;background:#ffffff05}.beta-strip b{letter-spacing:.08em}.beta-strip a{color:inherit;text-decoration:underline}.beta-end{display:inline-flex;align-items:baseline;gap:12px}.beta-version{opacity:.65;font-variant-numeric:tabular-nums}.pad-focus{outline:3px solid var(--nes-teal)!important;outline-offset:2px}button:focus-visible,.puzzle-share:focus-visible,.placement-input:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--nes-teal);outline-offset:2px;border-color:var(--panel-edge)}.toggle-input:focus-visible+.toggle{outline:2px solid var(--nes-teal)}.option-card,.keycap,.padcap,.combo-row,.tag-chip,.app-nav button,.duel-tabs button,.star-rating .star,select,input{transition:background .15s,border-color .15s,color .12s,transform .08s}.option-card:active,.keycap:active,.padcap:active{transform:translateY(1px)}.star-rating .star:hover{transform:scale(1.2)}@media(prefers-reduced-motion:reduce){.option-card,.keycap,.padcap,.combo-row,.tag-chip,.app-nav button,.duel-tabs button,.star-rating .star,select,input{transition:none}.star-rating .star:hover{transform:none}}.cell-strong{color:var(--ink);font-weight:700}.row-inline{display:inline-flex;align-items:center;gap:8px}.notice p{margin:0 0 10px}.notice p:last-child{margin-bottom:0}.notice code{word-break:break-all}form.form-row{flex-direction:row;align-items:center;gap:8px}.option-connected .status-dot{width:7px;height:7px;background:var(--good)}.feed-note{font-size:12px;line-height:1.5}.duel-feed-slot{max-width:320px;flex:1 1 240px}.home{position:relative;max-width:1040px;margin:24px auto 0;padding:0 16px}.home-amb{--amb: .15;position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.home-content{position:relative;z-index:1}.amb-piece{position:absolute;top:0;display:grid;grid-auto-rows:16px;gap:1px;opacity:0}.amb-tile-white{background:var(--nes-white);box-shadow:inset 0 0 0 1px #0000008c,inset 0 0 0 3px var(--nes-blue)}.amb-tile-blue{background:linear-gradient(var(--nes-white),var(--nes-white)) 2px 2px / 4px 4px no-repeat,var(--nes-blue);box-shadow:inset 0 0 0 1px #0000008c}.amb-tile-red{background:linear-gradient(var(--nes-white),var(--nes-white)) 2px 2px / 4px 4px no-repeat,var(--nes-red);box-shadow:inset 0 0 0 1px #0000008c}@keyframes home-settle{0%{opacity:0;transform:translateY(-26px)}16%{opacity:var(--amb, .15)}84%{opacity:var(--amb, .15)}to{opacity:0;transform:translateY(130px)}}@media(prefers-reduced-motion:reduce){.amb-piece{animation:none!important;opacity:.1!important;transform:none!important}}.home-hero{margin:42px 0 26px}.home-hero h1{margin:0;font-family:var(--font-body);font-size:clamp(30px,5vw,42px);font-weight:800;letter-spacing:-1.1px;line-height:1.02;color:var(--ink)}.home-hero p{margin:12px 0 0;font-size:16px;color:var(--ink-dim);max-width:46ch}.home-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px}.home-card{background:var(--panel);border:1px solid var(--panel-edge);border-radius:10px;padding:24px 24px 20px;min-height:196px;display:flex;flex-direction:column;gap:12px;text-align:left;overflow:hidden;box-shadow:none;transition:border-color .16s,box-shadow .16s}.home-card:hover{background:var(--panel);border-color:var(--accent);box-shadow:0 12px 0 -4px #d98b6a2e,0 20px 34px #00000073}.home-card h3{margin:0;font-size:25px;font-weight:800;letter-spacing:-.4px;color:var(--ink)}.home-card p{margin:0;font-size:15px;line-height:1.55;color:var(--ink-dim);max-width:24ch;text-transform:none}.home-card-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%}.home-card-stat{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint)}.home-card-stat b{color:var(--ink);font-size:13px}.home-card-cta{font-size:14px;font-weight:600;color:var(--accent);text-transform:none}.home .notice{margin-top:26px}@media(prefers-reduced-motion:reduce){.home-card,.home-card:hover{transition:none;transform:none}}.profile{max-width:1180px;margin:24px auto;padding:0 16px}.profile-grid{display:grid;grid-template-columns:1fr 316px;gap:20px;align-items:start}.profile-main,.profile-rail{display:flex;flex-direction:column;gap:20px;min-width:0}.skeleton-block{background:var(--panel);border:1px solid var(--panel-edge);border-radius:10px;opacity:.55;animation:skeleton-pulse 1.4s ease-in-out infinite}.skeleton-identity{height:142px}.skeleton-cards{height:105px}.skeleton-accuracy{height:200px}.skeleton-panel{height:130px}@keyframes skeleton-pulse{0%,to{opacity:.4}50%{opacity:.65}}@media(prefers-reduced-motion:reduce){.skeleton-block{animation:none}}.profile-identity{display:flex;align-items:center;gap:20px;background:var(--panel);border:1px solid var(--panel-edge);border-radius:10px;padding:20px 22px}.profile-avatar{width:62px;height:62px;flex:none;border-radius:10px;border:1px solid rgba(255,255,255,.14);box-shadow:0 6px 18px #0006}.profile-identity-text{min-width:0}.profile-name{margin:0;font-size:32px;font-weight:800;letter-spacing:-.6px;line-height:1.05;color:var(--ink)}.profile-sub{margin-top:6px;font-size:14px;color:var(--ink-dim)}.profile-sub-faint{margin-top:3px;font-size:13px;color:var(--ink-faint)}.profile-rank{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex:none}.profile-rank-badge{display:inline-flex;align-items:baseline;gap:6px;background:var(--raised);border:1px solid var(--panel-edge);border-radius:8px;padding:6px 12px;color:var(--ink)}.profile-rank-label{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}.profile-rank-pct{font-size:12px;font-weight:600;color:var(--accent)}.profile-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.profile-card{display:flex;flex-direction:column;gap:2px;overflow:hidden}.profile-card-head{display:flex;align-items:center;justify-content:space-between}.profile-card-tag{font-size:12px;font-weight:700;color:var(--accent)}.profile-card-hint{font-size:12px;color:var(--ink-faint)}.profile-trend{width:100%;height:30px;margin-top:8px;overflow:visible}.profile-trend-good polyline{stroke:var(--good)}.profile-trend-good circle{fill:var(--good)}.profile-trend-accent polyline{stroke:var(--accent)}.profile-trend-accent circle{fill:var(--accent)}.profile-trend-blue polyline{stroke:var(--nes-blue)}.profile-trend-blue circle{fill:var(--nes-blue)}.profile-delta{font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.profile-delta-up{color:var(--good)}.profile-delta-down{color:var(--bad)}.profile-delta-pb{color:var(--accent)}.profile-accuracy{background:var(--panel);border:1px solid var(--panel-edge);border-radius:10px;padding:18px 20px}.profile-focus{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid var(--panel-edge)}.profile-focus-label{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint)}.profile-focus-btn{margin-left:auto;font-size:13px;font-weight:600;background:var(--raised);color:var(--ink);border:1px solid var(--panel-edge);border-radius:8px;padding:6px 12px;cursor:pointer}.profile-focus-btn:hover{border-color:var(--accent);color:var(--accent)}.profile-panel-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px}.profile-panel-title{margin:0;font-size:15px;font-weight:700;color:var(--ink)}.profile-link{font-size:12px;color:var(--ink-dim);background:none;border:none;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.profile-link:hover{color:var(--ink)}.profile-signature{display:flex;justify-content:space-between;gap:10px;margin-top:12px}.profile-signature>div{display:flex;flex-direction:column;gap:2px}.profile-signature b{font-size:20px;color:var(--ink)}.profile-signature span{font-size:12px;color:var(--ink-faint)}.profile-activity{list-style:none;margin:0;padding:0}.profile-activity-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--panel-edge)}.profile-activity-row:first-child{border-top:none}.profile-dot{width:9px;height:9px;flex:none;border-radius:3px}.profile-dot-puzzle{background:var(--accent)}.profile-dot-solo{background:var(--nes-blue)}.profile-dot-duel{background:var(--good)}.profile-activity-text{min-width:0;flex:1}.profile-activity-title{font-size:13.5px;color:var(--ink);line-height:1.3}.profile-activity-meta{font-size:12px;color:var(--ink-faint)}.profile-empty{font-size:13px;color:var(--ink-faint)}@media(max-width:900px){.profile-grid,.profile-cards{grid-template-columns:1fr}.profile-identity{flex-wrap:wrap}.profile-rank{margin-left:0;align-items:flex-start}.profile-trend,.profile-accuracy{display:none}}.game-stage-bar{display:flex;justify-content:flex-end;width:100%;max-width:480px}.touch-toggle{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-body);font-size:12px;font-weight:600;letter-spacing:.02em;padding:7px 12px;color:var(--ink-dim);background:var(--panel);border:1px solid var(--panel-edge);border-radius:8px;cursor:pointer}.touch-toggle.is-on{color:var(--ink);border-color:var(--accent)}.touch-toggle-glyph{font-size:15px;line-height:1}.touch-controls{display:flex;justify-content:space-between;gap:28px;width:100%;max-width:520px;margin:2px auto 0;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.touch-cluster{display:flex;flex:1 1 0;gap:18px}.touch-btn{flex:1 1 0;min-width:68px;height:96px;display:flex;align-items:center;justify-content:center;font-family:var(--font-pixel);font-size:30px;color:#fcfcfc;background:#000;border:3px solid #fcfcfc;outline:2px solid #3cbcfc;box-shadow:0 0 0 4px #000;border-radius:4px;cursor:pointer;touch-action:none;-webkit-tap-highlight-color:transparent}.touch-rotate .touch-btn{font-size:34px}.touch-btn.is-held{background:#3cbcfc;color:#000}@media(max-width:720px){.game-sidenotes{font-size:12px;text-align:center;max-width:460px}.nes-screen{flex-direction:column;align-items:center;gap:8px;padding:2px}.nes-rail{order:-1;flex-direction:row;flex-wrap:wrap;justify-content:center;width:100%;gap:6px}.nes-screen-shell{display:flex;flex-direction:column;align-items:center}.nes-screen-shell .nes-screen-aside{order:3;width:100%;max-width:460px}.nes-rail .nes-stat-panel,.nes-rail .next-box{padding:5px 8px;box-shadow:0 0 0 3px #000}.nes-rail .nes-stat-label,.nes-rail .next-box-label{font-size:8px;margin-bottom:3px}.nes-rail .nes-stat-value{font-size:11px;line-height:1.3}.nes-lines-panel{font-size:10px;padding:6px 10px}.nes-screen-main{width:100%;align-items:center;gap:6px}.nes-board-panel{align-self:center}.nes-board-panel canvas{width:auto;height:min(62vh,94vw);max-width:100%;image-rendering:pixelated}.duel-boards{flex-direction:column;align-items:center;gap:12px}.nes-screen-mini{order:-1;flex-direction:row;align-items:center;justify-content:center;gap:10px;width:100%;max-width:460px;padding:6px}.nes-screen-mini .nes-screen-main{width:auto}.nes-screen-mini .nes-lines-panel{display:none}.nes-screen-mini .nes-board-panel canvas{width:auto;height:20vh}.nes-screen-mini .nes-rail{order:0;flex-direction:column;align-items:flex-start;width:auto;gap:6px}.nes-screen-mini .nes-rail .next-box,.nes-screen-mini .nes-rail .nes-stat-panel:last-child{display:none}.bcast-screen{flex-direction:column;align-items:center}.bcast-rail{flex-direction:row;width:auto;margin-top:0;order:-1}.bcast-screen.nes-screen-mini{order:-1;flex-direction:row;align-items:center;justify-content:center;gap:10px;width:100%;max-width:460px}.bcast-screen.nes-screen-mini .bcast-main{flex-direction:row;align-items:center;gap:10px;width:auto}.bcast-screen.nes-screen-mini .bcast-header .bcast-divider,.bcast-screen.nes-screen-mini .bcast-lines-next{display:none}.bcast-screen.nes-screen-mini .bcast-board canvas{width:auto;height:20vh;margin:0 auto}.bcast-screen.nes-screen-mini .bcast-rail{display:none}}.guard-page{max-width:480px;margin:48px auto;display:flex;flex-direction:column;gap:16px;align-items:flex-start}
