:root{--nx-void: #070914;--nx-ink: #e8eaf6;--nx-bone: #f3f4ff;--nx-dim: #8a90b4;--nx-faint: #4a5078;--nx-panel: rgba(10, 12, 27, .78);--nx-panel-2: rgba(22, 26, 54, .9);--nx-solid: #0a0c1b;--nx-line: #1f2444;--nx-line-2: #2e3563;--nx-indigo: #8f88ff;--nx-mono: "Nexus Flags", "Nexus Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--nx-display: "Nexus Flags", "Nexus Petch", "Segoe UI", system-ui, sans-serif}.nx-prompt{position:relative;display:block;font:14px/1.5 var(--nx-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;min-width:0;color:var(--nx-ink)}.nx-ps1{color:var(--nx-indigo)}.nx-cmd{color:var(--nx-ink)}.nx-caret{display:inline-block;width:8px;height:15px;margin-left:3px;vertical-align:-2px;background:var(--nx-indigo);animation:nx-blink 1.1s steps(1) infinite}.nx-typing .nx-caret{animation:none}@keyframes nx-blink{50%{opacity:0}}.nx-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.nx-topline{border-bottom:1px solid var(--nx-line);padding-bottom:8px;margin-bottom:14px}.nx-facts{margin:0;display:grid;grid-template-columns:repeat(3,auto);gap:4px 22px;font:13px/1.45 var(--nx-mono)}.nx-fact{display:flex;flex-direction:column;min-width:0}.nx-fact dt{color:var(--nx-dim);font-size:11px}.nx-fact dd{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--c, var(--nx-ink));font-variant-numeric:tabular-nums}.nx-numbers{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;font-family:var(--nx-mono)}.nx-stat{position:relative;display:flex;flex-direction:column;min-width:0;padding:8px 10px 8px 13px;border:1px solid var(--nx-line);background:var(--nx-panel)}.nx-stat:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--c, var(--nx-indigo))}.nx-stat-label{color:var(--nx-dim);font-size:11px}.nx-stat-value{font:400 24px/1.15 var(--nx-display);color:var(--nx-bone);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nx-stat-note{color:var(--nx-faint);font-size:11px;min-height:1.4em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nx-statusline{display:flex;flex-wrap:wrap;gap:4px 18px;font:11px/1.5 var(--nx-mono);color:var(--nx-dim);border-top:1px solid var(--nx-line);padding:6px 0 10px;margin-top:16px}.nx-statusline b{color:var(--nx-ink);font-weight:500;font-variant-numeric:tabular-nums}.nx-statusline kbd{border:1px solid var(--nx-line-2);padding:0 4px;border-radius:2px;color:var(--nx-ink);font:inherit}.nx-panel{margin:0;border:1px solid var(--nx-line);background:var(--nx-panel);padding:8px 10px 10px;min-width:0}.nx-panel>figcaption,.nx-panel>h2{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 6px;font:400 13px/1.4 var(--nx-mono);color:var(--nx-dim)}.nx-panel>h2{display:block}.nx-panel>figcaption>span:first-child:before,.nx-panel>h2:before{content:"> ";color:var(--nx-indigo)}.nx-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}.nx-chart{min-height:40px;background:var(--nx-solid)}.nx-chart svg{display:block;max-width:100%}.nx-section-title{margin:22px 0 8px;font:400 22px/1 var(--nx-display);color:var(--nx-dim)}.nx-how{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:10px 18px;font:13px/1.6 var(--nx-mono);color:var(--nx-ink)}.nx-how p{margin:0 0 10px;max-width:70ch}.nx-how h3{margin:0 0 6px;font:500 16px/1.2 var(--nx-display);color:var(--nx-bone)}.nx-eq{margin:0 0 10px;padding:12px 14px;border:1px solid var(--nx-line-2);border-left:3px solid var(--nx-indigo);background:var(--nx-solid);font:400 17px/1.5 var(--nx-display);color:var(--nx-bone);overflow-x:auto;text-shadow:0 0 12px rgba(143,136,255,.35)}.nx-eq small{display:block;font:11px/1.5 var(--nx-mono);color:var(--nx-dim);text-shadow:none}.nx-why{color:var(--nx-dim);font-style:normal;border-top:1px dashed var(--nx-line-2);padding-top:8px}.nx-why:before{content:"why it is beautiful: ";color:var(--nx-indigo)}.nx-rail{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;font:13px/1.45 var(--nx-mono)}.nx-field{display:flex;align-items:center;gap:6px;color:var(--nx-dim);min-width:0}.nx-field output{color:var(--nx-ink);min-width:3ch}.nx-rail select,.nx-rail input[type=text],.nx-rail input[type=number]{background:var(--nx-panel);border:1px solid var(--nx-line-2);border-radius:2px;padding:4px 6px;color:var(--nx-ink);font:inherit;min-width:0}.nx-rail input[type=text]{width:110px}.nx-rail input[type=range]{width:110px;accent-color:var(--accent, var(--nx-indigo))}.nx-rail input[type=checkbox]{accent-color:var(--accent, var(--nx-indigo))}.nx-btn{background:var(--nx-panel);border:1px solid var(--nx-line-2);border-radius:2px;padding:4px 10px;color:var(--nx-ink);font:inherit;cursor:pointer}.nx-btn:hover{border-color:var(--nx-dim)}.nx-btn.primary{background:var(--accent, var(--nx-indigo));color:#0a0b1a;border-color:var(--accent, var(--nx-indigo));font-weight:600}.nx-btn.icon{padding:4px 8px;min-width:30px;display:inline-flex;align-items:center;justify-content:center}.nx-btn[aria-pressed=true]{border-color:var(--accent, var(--nx-indigo));color:var(--nx-bone)}.nx-btn:disabled{opacity:.5;cursor:default}.nx-hero{position:relative;border:1px solid var(--nx-line);background:#05060f;overflow:hidden;touch-action:none}.nx-hero>canvas{display:block;width:100%;height:100%}.nx-hero:before,.nx-hero:after{content:"";position:absolute;width:14px;height:14px;border:1px solid var(--nx-indigo);z-index:3;pointer-events:none}.nx-hero:before{top:6px;left:6px;border-right:0;border-bottom:0}.nx-hero:after{bottom:6px;right:6px;border-left:0;border-top:0}.nx-hud{position:absolute;z-index:4;font:12px/1.4 var(--nx-mono);pointer-events:none;font-variant-numeric:tabular-nums}.nx-hud.tl{top:14px;left:16px}.nx-hud.tr{top:14px;right:16px;text-align:right;color:var(--nx-dim)}.nx-hud.bl{bottom:12px;left:16px}.nx-hud.br{bottom:12px;right:14px;pointer-events:auto;display:flex;gap:4px}.nx-now{font:400 26px/1 var(--nx-display);color:var(--c, var(--nx-bone));text-shadow:0 0 14px rgba(143,136,255,.35)}.nx-now-sub{color:var(--nx-dim);margin-top:3px}.nx-transport{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;font:13px/1.45 var(--nx-mono)}.nx-transport select{background:var(--nx-panel);border:1px solid var(--nx-line-2);border-radius:2px;padding:4px 6px;color:var(--nx-ink);font:inherit}.nx-seek{position:relative;flex:1 1 220px;min-width:0;height:30px;border:1px solid var(--nx-line);background:var(--nx-panel);cursor:pointer;user-select:none;touch-action:none;overflow:hidden}.nx-seek-segs{position:absolute;inset:0;display:flex}.nx-seek-segs>div{min-width:0;border-right:1px solid #05060f;background:color-mix(in srgb,var(--c) 18%,transparent);overflow:hidden}.nx-seek-segs span{display:block;padding:6px 5px 0;font-size:10px;white-space:nowrap;color:var(--nx-bone);overflow:hidden;text-overflow:ellipsis;position:relative;z-index:1}.nx-seek-fill{position:absolute;inset:0 auto 0 0;background:#8f88ff38;border-top:2px solid var(--nx-indigo);pointer-events:none}.nx-playhead{position:absolute;top:0;bottom:0;width:2px;background:var(--nx-bone);box-shadow:0 0 8px #f3f4ff99;pointer-events:none}.nx-clock{font:400 16px/1 var(--nx-display);color:var(--nx-bone);min-width:7.5em;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.nx-live .nx-seek,.nx-live [data-a=back],.nx-live [data-a=fwd]{display:none}.nx-seek-segs>div.on{background:color-mix(in srgb,var(--c) 40%,transparent)}.nx-badges{font:12px/1.4 var(--nx-mono)}.nx-badges-head{display:flex;justify-content:space-between;color:var(--nx-dim);margin-bottom:6px}.nx-badges-head span:first-child:before{content:"> ";color:var(--nx-indigo)}.nx-badges ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:6px}.nx-badges li{display:flex;gap:8px;align-items:flex-start;padding:6px 8px;border:1px dashed var(--nx-line-2);color:var(--nx-faint);min-width:0}.nx-badges li i{flex:none;width:12px;height:12px;margin-top:2px;transform:rotate(45deg);border:1px solid var(--nx-faint)}.nx-badges li b{display:block;font-weight:500}.nx-badges li small{display:block;font-size:11px}.nx-badges li.got{border-style:solid;border-color:var(--nx-line-2);color:var(--nx-ink);background:var(--nx-panel)}.nx-badges li.got i{border-color:transparent;background:linear-gradient(135deg,#ff5d5d,#ffe066,#4fb6ff,#e383ff);box-shadow:0 0 10px #e383ff99}.nx-badges li.got small{color:var(--nx-dim)}.nx-toast{position:fixed;left:50%;bottom:24px;z-index:70;transform:translate(-50%,20px);opacity:0;pointer-events:none;padding:8px 14px;border:1px solid var(--nx-line-2);background:#0a0c1b;color:var(--nx-ink);font:12px/1.4 var(--nx-mono);box-shadow:0 0 18px #8f88ff59;transition:opacity .25s,transform .25s;max-width:calc(100vw - 32px)}.nx-toast.on{opacity:1;transform:translate(-50%)}.nx-toast b{color:var(--nx-indigo);font-weight:600}@media(max-width:1050px){.nx-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.nx-how{grid-template-columns:minmax(0,1fr)}}@media(max-width:600px){.nx-prompt{font-size:12px}.nx-facts{gap:6px 14px}.nx-numbers{grid-template-columns:repeat(2,minmax(0,1fr))}.nx-stat-value{font-size:19px}.nx-seek{flex:1 1 100%;order:5}.nx-rail .nx-field{flex:1 1 140px}.nx-rail select,.nx-rail input[type=text]{flex:1;width:auto}.nx-clock{min-width:0}}@media(prefers-reduced-motion:reduce){.nx-caret{animation:none}.nx-toast{transition:none}}:root{--void: #070914;--ink: #e8eaf6;--dim: #8a90b4;--faint: #4a5078;--panel: rgba(10, 12, 27, .78);--line: #2e3563;--accent: #ff5d5d;--mono: "Nexus Flags", "Nexus Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--display: "Nexus Flags", "Nexus Petch", "Segoe UI", system-ui, sans-serif;color-scheme:dark}*{box-sizing:border-box}html{background:var(--void)}body{margin:0;background:transparent;color:var(--ink);font:13px/1.5 var(--mono);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.app{padding:16px max(14px,var(--nexus-gutter, 0px)) 0;max-width:calc(1400px + 2 * var(--nexus-gutter, 0px));margin:0 auto}.app>*{min-width:0}.nx-prompt{position:relative}.nx-rail input[type=range]{min-width:0}.head{display:flex;flex-wrap:wrap;gap:8px 28px;align-items:flex-end;justify-content:space-between;margin-bottom:14px}.head>*{min-width:0}.head h1{margin:0;font:300 clamp(36px,5vw,64px) / 1 var(--display);letter-spacing:.05em;color:#f3f4ff;text-shadow:-1px 0 rgba(255,93,93,.45),1px 0 rgba(79,182,255,.45),0 0 18px rgba(143,136,255,.45)}.sub{margin:10px 0 0;color:var(--dim);max-width:64ch}.stage{height:clamp(360px,64vh,720px);margin-top:10px;cursor:default}.nx-charts,.how,#badges{margin-top:14px}.cap-note{color:var(--faint);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nx-rail input[type=number]{width:64px}.guess{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap}#sound[aria-pressed=false] .waves{opacity:.15}#sound[aria-pressed=false]{color:var(--dim)}#order-out{min-width:6ch}.nx-hud.tr{max-width:46%;line-height:1.5}.nx-hud.tr b{font-weight:600}.legend{display:flex;flex-wrap:wrap;gap:2px 12px;color:var(--dim);font-size:11px;max-width:60%}.legend span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.legend i{width:8px;height:8px;border-radius:50%;background:var(--c);box-shadow:0 0 8px var(--c)}.legend i.dust{background:radial-gradient(circle,#c8b4ff 0 1px,transparent 1.5px) 0 0 / 4px 4px;box-shadow:none;border-radius:0}@media(max-width:600px){.legend{font-size:10px}.stage{height:min(calc(100vw + 70px),76vh);min-height:340px}.nx-now{font-size:19px}.nx-hud.tl{left:12px;top:12px;right:12px}.nx-hud.tr{display:none}.legend{max-width:calc(100% - 24px);left:12px}.guess{flex:1 1 100%}.guess .nx-field{flex:1 1 auto}.nx-rail input[type=range]{flex:1;width:auto}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}[hidden]{display:none!important}.play-rail{margin-bottom:10px}.play-grid{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:10px;align-items:stretch}.play-grid>*{min-width:0}.play-side{display:flex;flex-direction:column;gap:8px}.play-stage{height:clamp(380px,56vh,560px)}#pl-numbers,.play .nx-charts{margin-top:10px}.play-msg{margin:0;color:var(--dim);min-height:3em}.play-msg b{color:var(--ink);font-weight:600}.play-msg kbd{border:1px solid var(--line);padding:0 4px;border-radius:2px;color:var(--ink);font:inherit}.chart-empty{margin:0;padding:30px 12px;color:var(--faint);font-size:12px;text-align:center}.board{--you: #4fb6ff;--cpu: #ff5d5d;display:grid;gap:6px;margin:0 auto;width:100%}.board.busy{cursor:progress}.board button{font:inherit;color:inherit;background:#05060f;border:1px solid var(--line);border-radius:2px;padding:0;cursor:pointer;min-width:0}.board button:disabled{cursor:default}.board button:not(:disabled):hover{border-color:var(--dim)}.board.ttt{grid-template-columns:repeat(3,minmax(0,1fr));max-width:300px}.board.ttt .cell{aspect-ratio:1;font:300 clamp(34px,9vw,54px) / 1 var(--display);display:grid;place-items:center}.board .cell.you{color:var(--you);text-shadow:0 0 14px var(--you)}.board .cell.cpu{color:var(--cpu);text-shadow:0 0 14px var(--cpu)}.board .cell.last{border-color:#ff5d5d99}.board .cell.win{background:#ffe0661f;border-color:#ffe066}.board.c4{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;max-width:340px;padding:6px;background:#4fb6ff0d;border:1px solid var(--line)}.board.c4 .col{display:grid;grid-template-rows:repeat(6,auto);gap:4px;padding:3px;border-color:transparent;background:transparent}.board.c4 .col:not(:disabled):hover{background:#8f88ff1f;border-color:transparent}.board.c4 i{display:block;aspect-ratio:1;border-radius:50%;border:1px solid #1f2444;background:#05060f}.board.c4 i.you{background:var(--you);border-color:var(--you);box-shadow:0 0 10px var(--you)}.board.c4 i.cpu{background:var(--cpu);border-color:var(--cpu);box-shadow:0 0 10px var(--cpu)}.board.c4 i.last{outline:2px solid #f3f4ff;outline-offset:1px}.board.c4 i.win{box-shadow:0 0 0 2px #ffe066,0 0 14px #ffe066}.play-moves{overflow-x:auto}.play-moves table{width:100%;border-collapse:collapse;font-size:11px}.play-moves th{text-align:left;color:var(--faint);font-weight:400;padding:2px 6px;border-bottom:1px solid var(--line)}.play-moves td{padding:2px 6px;color:var(--dim);white-space:nowrap}.play-moves tr.pick td{color:#ffe066}.play-moves tr.next td{color:#5fe38a}.play-moves tr.cut td{color:#e383ff}@media(max-width:900px){.play-grid{grid-template-columns:minmax(0,1fr)}.board.ttt{max-width:260px}}@media(max-width:600px){.play-stage{height:380px}.play-rail .nx-field:has(select){flex:1 1 100%}}
