: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: var(--red);--red: #ff5d5d;--orange: #ff9f43;--yellow: #ffe066;--green: #5fe38a;--blue: #4fb6ff;--indigo: #8f88ff;--violet: #e383ff;--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}.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}.toy{margin:8px 0 0;padding:4px 8px;border:1px solid rgba(255,93,93,.55);border-left-width:3px;background:#ff5d5d14;color:var(--ink);font-size:12px;display:inline-block;max-width:100%}.toy b,.toy-inline{color:var(--red);font-weight:600}sup{font-size:.7em}.group{display:contents}.nx-rail[data-view=times] .rsa-only,.nx-rail:not([data-view=times]) .times-only{display:none}.nx-rail .msg-field input{width:130px}#k{width:160px}.stage{margin-top:10px;height:clamp(380px,70vh,720px);touch-action:pan-y}#hud-legend{display:flex;flex-direction:column;gap:2px;font-size:11px}#hud-legend span{display:flex;align-items:center;justify-content:flex-end;gap:6px}#hud-sub{color:var(--dim);font-size:11px}.nx-hud.br .nx-btn{background:#0a0c1bd9}.sw{display:inline-block;width:16px;height:3px;border-radius:2px}.sw.rainbow{background:linear-gradient(90deg,#ff5d5d,#ff9f43,#ffe066,#5fe38a,#4fb6ff,#8f88ff,#e383ff)}.sw.warm{background:linear-gradient(90deg,#ff5d5d,#ff9f43,#ffe066)}.sw.cool{background:linear-gradient(90deg,#5fe38a,#4fb6ff,#8f88ff,#e383ff)}.sw.fix,.sw.dot{width:6px;height:6px;border-radius:50%;background:#f3f4ff;box-shadow:0 0 6px #f3f4ff}.sw.dot{background:#ffe066;box-shadow:0 0 6px #ffe066}.sw.dash{background:repeating-linear-gradient(90deg,#f3f4ff 0 3px,transparent 3px 6px);height:1px}.walk{margin-top:12px}.walk-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 16px;align-items:start}.walk-chart{margin:0;min-width:0}.walk-text p{margin:0 0 6px}.walk-text b{color:#f3f4ff}.mathline{font-size:12px;overflow-wrap:anywhere;padding-left:10px;border-left:2px solid var(--line)}.done-line{color:var(--green)}.bits{display:flex;flex-wrap:wrap;align-items:center;gap:3px;margin-bottom:8px}.bits-label{color:var(--dim);margin-right:6px;font-size:12px}.bits i{font-style:normal;display:inline-grid;place-items:center;width:18px;height:22px;border:1px solid var(--line);color:var(--faint);font-size:12px}.bits i.b1{color:var(--ink)}.bits i.done{background:#8f88ff24}.bits i.cur{border-color:var(--yellow);color:var(--yellow);box-shadow:0 0 8px #ffe06673}#keys .nx-stat-value{font-size:26px}.keycheck{margin:6px 0 0;color:var(--dim);font-size:12px;overflow-wrap:anywhere}.keycheck b{color:var(--green)}.nx-charts,.how,#badges,.spy,.challenge,.gallery,.dh{margin-top:14px}.hint{font-size:11px;color:var(--faint)}.spy p{margin:0 0 8px;color:var(--dim);max-width:80ch}.spy p b{color:var(--ink)}.spy-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px;font:13px/1.45 var(--mono)}.spy-controls select{background:var(--panel);border:1px solid var(--line);border-radius:2px;padding:4px 6px}.spy-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:12px;align-items:start}.spy-board{min-width:0}.spy-n{font:400 20px/1.2 var(--display);color:#f3f4ff;overflow-wrap:anywhere}.spy-n small{font:12px var(--mono);color:var(--dim)}.spy-bar{height:6px;margin:8px 0;background:#1f2444;position:relative;overflow:hidden}.spy-bar i{position:absolute;inset:0 auto 0 0;width:0;background:linear-gradient(90deg,#ff5d5d,#ffe066);box-shadow:0 0 10px #ff5d5d99}.spy-stats{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:12px;color:var(--dim)}.spy-stats b{color:var(--ink);font-weight:500}.spy-result{margin-top:8px;min-height:1.5em;overflow-wrap:anywhere}.spy-result b{color:var(--green)}.spy-chart{margin:0;min-width:0}.spy-chart figcaption{display:flex;justify-content:space-between;gap:10px;color:var(--dim);margin-bottom:6px}.spy-chart figcaption>span:first-child:before{content:"> ";color:var(--indigo)}.spy-note{margin-top:10px!important}.challenge p{margin:0 0 8px;color:var(--dim);max-width:80ch}.ch-key{margin-bottom:6px}.ch-key span{color:var(--dim);margin-right:6px}.ch-key b{color:var(--yellow);font-weight:500}.ch-cipher{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}.ch-cipher i{font-style:normal;padding:1px 6px;border:1px solid var(--line);background:#0a0c1b;font-size:12px;color:#ffb37a}.ch-try{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}.ch-try input{background:var(--panel);border:1px solid var(--line);border-radius:2px;padding:4px 6px;width:160px}.ch-out{font:400 18px/1.3 var(--display);color:var(--dim);overflow-wrap:anywhere;min-width:0}.ch-out small{font:11px var(--mono);color:var(--faint);margin-left:6px}.ch-out.ok{color:var(--green);text-shadow:0 0 12px rgba(95,227,138,.45)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.thumb{position:relative;margin:0;border:1px solid #1f2444;background:#05060f;min-width:0}.thumb-open{display:block;width:100%;padding:0;border:0;background:none;cursor:pointer;aspect-ratio:1}.thumb-open canvas{display:block;width:100%;height:100%}.thumb figcaption{padding:3px 6px 5px;font-size:11px;color:var(--ink);line-height:1.3}.thumb figcaption small{display:block;color:var(--dim)}.thumb-x{position:absolute;top:3px;right:3px;border:1px solid var(--line);background:#05060fd9;color:var(--dim);padding:0 6px;cursor:pointer;line-height:1.4}.thumb-x:hover{color:var(--ink)}.empty{color:var(--dim);margin:0;grid-column:1 / -1}.dh-intro{margin:0 0 8px;color:var(--dim);max-width:86ch}.dh-intro a{color:var(--blue)}.dh-tabs{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid #1f2444;margin-bottom:10px}.dh-tabs button{background:none;border:1px solid transparent;border-bottom:0;padding:5px 12px;margin-bottom:-1px;color:var(--dim);font:500 14px/1.2 var(--display);cursor:pointer}.dh-tabs button:hover{color:var(--ink)}.dh-tabs button[aria-selected=true]{color:#f3f4ff;border-color:#1f2444;background:#0a0c1b;box-shadow:inset 0 2px 0 var(--red)}.dh-pane[hidden]{display:none}.dh-controls{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin-bottom:10px}.dh-controls select{background:var(--panel);border:1px solid var(--line);border-radius:2px;padding:4px 6px;min-width:0;max-width:100%}.dh-step{display:inline-flex;align-items:center;gap:6px}.dh-step-label{color:var(--dim);font-size:12px}.dh-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:12px;align-items:start}.dh-lines p{margin:0 0 6px;padding:4px 8px;border-left:2px solid #1f2444;overflow-wrap:anywhere}.dh-lines p.now{border-left-color:var(--yellow);background:#ffe0660f}.dh-lines p.later{color:var(--faint)}.dh-lines small,.dh-mitm .dim{color:var(--dim)}.dh b,.dh-mitm b{font-weight:500}.dh .a{color:var(--blue)}.dh .b{color:var(--green)}.dh .s{color:var(--yellow)}.dh .e{color:var(--red)}.dh .m{color:var(--violet)}.dh-art{margin:0;min-width:0}.dh-art canvas{display:block;width:100%;aspect-ratio:1;max-width:300px;margin:0 auto;border:1px solid #1f2444}.dh-art figcaption{font-size:11px;color:var(--faint);text-align:center;margin-top:4px}.dh-eve-target{font:400 18px/1.3 var(--display);color:#f3f4ff;overflow-wrap:anywhere}.dh-eve-out{margin:8px 0 0;overflow-wrap:anywhere}.dh-eve-out b{color:var(--green)}.dh-mitm p{margin:0 0 6px;overflow-wrap:anywhere}.dh-mitm .ok{color:var(--green)}.dh-mitm .bad{color:var(--red)}@media(max-width:900px){.walk-body,.spy-grid,.dh-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:600px){.stage{height:auto;aspect-ratio:1}.nx-rail input[type=range],#k{flex:1;min-width:0;width:auto}.nx-rail .msg-field input{flex:1;width:auto}#hud-legend,#hud-sub{display:none}.nx-now,#keys .nx-stat-value{font-size:20px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
