.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#555;--xy-background-pattern-lines-color-default:#333;--xy-background-pattern-cross-color-default:#333;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}@font-face{font-family:Orbitron;src:url(/fonts/Orbitron.ttf)format("truetype");font-weight:500 800;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-Medium.ttf)format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-SemiBold.ttf)format("truetype");font-weight:600;font-style:normal;font-display:swap}:root{--bg:#060910;--bg-elev:#0d1524;--panel:#0a1220c7;--panel-solid:#0c1422;--cyan:#2ef0d0;--cyan-dim:#4ec9b8;--magenta:#ff4da6;--lime:#c6ff4d;--amber:#ffc14a;--red:#ff5a78;--text:#eef6ff;--muted:#a9bad0;--line:#2ef0d029;--wire:#334860;--wire-hot:#2ef0d0;--radius:14px;--radius-lg:22px;--font-display:"Orbitron", "Trebuchet MS", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "Cascadia Code", monospace;--glow-cyan:0 0 24px #2ef0d038;--pad-card:clamp(1.1rem, 2.5vw, 1.6rem);--glow-magenta:0 0 22px #ff4da659;--focus-ring:0 0 0 3px var(--bg), 0 0 0 5px var(--cyan);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px);--space-1:.35rem;--space-2:.65rem;--space-3:1rem;--space-4:1.5rem;--space-5:2.25rem;--max-read:36rem}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{font-family:var(--font-mono);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-image:radial-gradient(90% 55% at 50% -15%,#2ef0d01f,#0000 58%),radial-gradient(50% 40% at 100% 100%,#ff4da612,#0000 55%),radial-gradient(40% 35% at 0 80%,#2ef0d00a,#0000 50%),linear-gradient(#2ef0d005 1px,#0000 1px),linear-gradient(90deg,#2ef0d005 1px,#0000 1px);background-size:auto,auto,auto,36px 36px,36px 36px;min-height:100dvh}body:not([data-screen=play]){line-height:1.5}body[data-screen=splash]:after{content:"";pointer-events:none;z-index:9999;opacity:.15;background:repeating-linear-gradient(0deg,#0000,#0000 3px,#0000000d 3px 4px);position:fixed;inset:0}body.reduce-effects:after,body.projector:after{display:none}body.projector{font-size:1.12rem}body.projector .brand{font-size:clamp(3rem,11vw,5.5rem)}body.projector .bit-toggle{width:68px;height:80px}body.projector .schematic-gate-unit{min-width:7rem}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--cyan);color:#041018;font-family:var(--font-display);letter-spacing:.06em;border-radius:8px;padding:.55rem .9rem;font-size:.75rem;text-decoration:none;position:absolute;top:.75rem;left:.75rem;transform:translateY(-220%)}.skip-link:focus{box-shadow:var(--focus-ring);outline:none;transform:translateY(0)}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,.link-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}button,input,select{font-family:inherit}.app-shell{z-index:1;min-height:100dvh;padding-bottom:var(--safe-bottom);padding-top:var(--safe-top);flex-direction:column;display:flex;position:relative}body[data-screen=play]{height:100dvh;overflow:hidden}body[data-screen=play] .app-shell{height:100dvh;min-height:0;max-height:100dvh;overflow:hidden}.splash{text-align:center;justify-content:center;align-items:center;gap:var(--space-3);flex-direction:column;flex:1;padding:clamp(1.25rem,5vh,3rem) 1.25rem 1.75rem;display:flex;position:relative;overflow:hidden auto}.splash-schematic{pointer-events:none;z-index:0;opacity:.14;width:100%;height:100%;color:var(--cyan);position:absolute;inset:0}.splash-main{z-index:1;align-items:center;gap:var(--space-3);flex-direction:column;width:min(1120px,100%);margin-block:auto;display:flex;position:relative}.splash-links{z-index:1;flex-wrap:wrap;justify-content:center;align-items:center;gap:.15rem .35rem;margin-top:.25rem;animation:.8s cubic-bezier(.22,1,.36,1) .16s both riseIn;display:flex;position:relative}.splash-hero{align-items:center;gap:var(--space-2);max-width:var(--max-read);flex-direction:column;animation:.7s cubic-bezier(.22,1,.36,1) both riseIn;display:flex}@media (width>=900px){.splash{padding-top:clamp(2rem,8vh,4.5rem)}.splash-main{text-align:left;flex-direction:row;justify-content:space-between;align-items:center;gap:clamp(1.5rem,4vw,3rem)}.splash-hero{flex:48%;align-items:flex-start;max-width:none}.splash-hero .tagline{text-align:left}.splash-panel{flex:0 520px}}.eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--cyan-dim);margin:0;font-size:.72rem}.brand{font-family:var(--font-display);letter-spacing:.04em;color:var(--text);text-shadow:0 0 40px #2ef0d033;margin:0;font-size:clamp(2.6rem,10vw,5rem);font-weight:800;line-height:.98}.brand-accent{background:linear-gradient(120deg, var(--cyan) 10%, #fff 48%, var(--magenta));color:#0000;-webkit-background-clip:text;background-clip:text;display:inline-block}@keyframes riseIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.tagline{color:var(--muted);text-wrap:balance;max-width:28rem;margin:0;font-size:clamp(.95rem,2.4vw,1.08rem);line-height:1.55}.splash-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);width:min(520px,100%);padding:var(--pad-card);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:.75s cubic-bezier(.22,1,.36,1) 80ms both riseIn;box-shadow:0 24px 60px #00000059,inset 0 1px #ffffff0a}.name-form{gap:var(--space-3);text-align:left;flex-direction:column;display:flex}.field{flex-direction:column;gap:.45rem;display:flex}.field label,.name-form>label{letter-spacing:.16em;text-transform:uppercase;color:var(--cyan-dim);font-size:.7rem}.field-hint{color:var(--muted);margin:0;font-size:.75rem;line-height:1.4}.name-form input[type=text],.name-form input:not([type]),.name-form input[type=number],.setting-row input[type=number]{color:var(--text);background:#04080ed9;border:1px solid #2ef0d047;border-radius:12px;outline:none;flex:1;width:100%;min-width:100px;padding:.9rem 1rem;font-size:1.05rem;transition:border-color .18s,box-shadow .18s}.name-form input:focus{border-color:var(--cyan);box-shadow:var(--glow-cyan)}.mode-fieldset{border:0;min-inline-size:0;margin:0;padding:0}.mode-fieldset legend{letter-spacing:.16em;text-transform:uppercase;color:var(--cyan-dim);margin-bottom:.55rem;padding:0;font-size:.7rem}.mode-cards{grid-template-columns:1fr 1fr;gap:.65rem;display:grid}.mode-card{cursor:pointer;text-align:left;background:#04080e8c;border:1px solid #2ef0d02e;border-radius:12px;flex-direction:column;gap:.35rem;min-height:88px;padding:.85rem .8rem;transition:border-color .18s,background .18s,transform .18s;display:flex;position:relative}.mode-card input{opacity:0;width:1px;height:1px;margin:0;position:absolute}.mode-card:focus-within{box-shadow:var(--focus-ring)}.mode-card:hover{border-color:#2ef0d066;transform:translateY(-1px)}.mode-card.selected{border-color:var(--cyan);background:#2ef0d014;box-shadow:inset 0 0 0 1px #2ef0d026}.mode-card-title{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--text);font-size:.78rem}.mode-card-desc{color:var(--muted);font-size:.72rem;line-height:1.35}.callout{text-align:left;color:var(--cyan-dim);background:#2ef0d00f;border:1px solid #2ef0d02e;border-radius:10px;margin:0;padding:.7rem .85rem;font-size:.78rem;line-height:1.45}.callout.warn{color:var(--amber);background:#ffc14a14;border-color:#ffc14a4d}.splash-cta{flex-direction:column;gap:.65rem;display:flex}.link-dot{background:#9eb0c873;border-radius:50%;width:3px;height:3px}.link-btn{color:var(--cyan);cursor:pointer;letter-spacing:.04em;background:0 0;border:none;border-radius:8px;min-height:36px;padding:.35rem .55rem;font-size:.78rem;text-decoration:none;transition:color .15s,background .15s}.link-btn:hover{background:#2ef0d014}.link-btn.muted{color:var(--muted)}.btn{appearance:none;cursor:pointer;font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;border:none;border-radius:12px;min-height:46px;padding:.85rem 1.35rem;font-size:.82rem;font-weight:700;transition:transform .15s,box-shadow .15s,background .15s,border-color .15s}.btn-lg{min-height:52px;padding:.95rem 1.5rem;font-size:.88rem}.btn-sm{min-height:38px;padding:.45rem .85rem;font-size:.72rem}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg, var(--cyan), #1ad4b5);color:#041018;box-shadow:var(--glow-cyan)}.btn-primary:hover:not(:disabled){box-shadow:0 0 32px #2ef0d08c}.btn-ghost{color:var(--muted);background:0 0;border:1px solid #9eb0c859}.btn-ghost:hover:not(:disabled){color:var(--text);border-color:var(--cyan-dim);background:#2ef0d00a}.btn-danger{color:var(--red);background:#ff5a781f;border:1px solid #ff5a7866}.btn-check{background:linear-gradient(135deg, var(--magenta), #ff78bc);color:#1a0510;box-shadow:var(--glow-magenta);min-width:148px}.btn-next{background:linear-gradient(135deg, var(--lime), #9ee028);color:#0a1400;min-width:148px;box-shadow:0 0 18px #c6ff4d59}.hud{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:10;background:#060910d1;flex-direction:column;gap:0;padding:0;display:flex;position:sticky;top:0}.hud-top{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.85rem 1.25rem;padding:.75rem clamp(.85rem,2vw,1.4rem) .55rem;display:grid}.hud-left,.hud-actions{flex-wrap:wrap;justify-content:flex-end;justify-self:end;align-items:center;gap:.55rem;min-width:0;display:flex}.hud-left{justify-content:flex-start;justify-self:start}.hud-brand{font-family:var(--font-display);letter-spacing:.12em;color:var(--cyan);white-space:nowrap;align-items:center;gap:.4rem;font-size:.78rem;font-weight:700;display:inline-flex}.hud-mark{width:16px;height:16px;color:var(--cyan);flex-shrink:0}.hud-mark svg{width:100%;height:100%;display:block}.hud-center{flex-wrap:wrap;justify-content:center;justify-self:center;gap:.55rem 1.1rem;display:flex}.hud-metric{text-align:center;flex-direction:column;align-items:center;gap:.1rem;min-width:4.5rem;display:flex}.hud-metric.wide{min-width:6.5rem}.hud-metric-label{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:.62rem}.hud-metric strong{color:var(--text);font-size:.9rem;font-weight:600;line-height:1.2}.hud-soft{color:var(--muted);font-weight:500}.mode-pill{letter-spacing:.1em;text-transform:uppercase;color:var(--cyan);white-space:nowrap;border:1px solid #2ef0d059;border-radius:999px;padding:.28rem .55rem;font-size:.62rem}.mode-pill.competition{color:var(--magenta);border-color:#ff4da673}.hud-metric.timer strong{color:var(--amber);font-variant-numeric:tabular-nums}.icon-btn{background:var(--bg-elev);color:var(--cyan);cursor:pointer;border:1px solid #2ef0d038;border-radius:10px;place-items:center;width:40px;min-width:40px;height:40px;min-height:40px;transition:border-color .15s,background .15s;display:grid}.icon-btn:hover{border-color:var(--cyan);background:#2ef0d014}.hud-progress{background:#2ef0d014;width:100%;height:3px}.hud-progress-fill{background:linear-gradient(90deg, var(--cyan), var(--magenta));height:100%;transition:width .35s}@media (width<=820px){.hud-top{grid-template-columns:1fr auto;grid-template-areas:"left actions""center center";gap:.45rem .75rem;padding:.55rem .85rem .4rem}.hud-left{grid-area:left}.hud-actions{grid-area:actions}.hud-center{grid-area:center;justify-content:center;gap:.45rem .85rem}.hud-metric{min-width:0}.hud-metric-label{display:none}.hud-metric strong{font-size:.82rem}}.play{place-content:stretch center;justify-items:stretch;gap:var(--space-2);flex:1;grid-template-columns:minmax(0,1fr);width:100%;max-width:1280px;min-height:0;margin:0 auto;padding:.45rem clamp(.75rem,2vw,1.25rem) .65rem;display:grid;overflow:hidden}@media (width>=960px){.play{grid-template-columns:minmax(0,1fr) 280px;align-items:stretch}.play:not(:has(.side-panel)):not(.with-live){grid-template-columns:minmax(0,1fr)}.play.with-live{grid-template-columns:minmax(0,1fr) 240px}.play.with-live:has(.side-panel){grid-template-columns:minmax(0,1fr) 260px 220px}}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-direction:column;height:100%;min-height:0;padding:clamp(.55rem,1.4vw,.9rem);display:flex;overflow:hidden;box-shadow:0 18px 50px #00000047,inset 0 1px #ffffff08}.play-header{flex-direction:column;flex-shrink:0;align-items:flex-start;gap:.25rem;max-height:22vh;margin-bottom:.35rem;display:flex;overflow:hidden}.play-header .hint{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.play-header .truth-mini,.play-header .coach-line,.play-header .first-run-tip{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}@media (height<=720px){.play-header .first-run-tip{display:none}.hud-top{padding-top:.45rem;padding-bottom:.35rem}.hud-progress{display:none}}.hint{color:var(--text);max-width:48rem;margin:0;font-size:.9rem;line-height:1.45}.qc-true{color:var(--lime);font-weight:700}.qc-false{color:var(--red);font-weight:700}.qc-gate{color:var(--cyan);letter-spacing:.04em;font-weight:700}.qc-mode{color:var(--amber);font-weight:700}.qc-action{color:var(--cyan-dim);font-weight:600}.qc-signal{color:#7ec8ff;font-weight:600}.qc-repair{color:var(--magenta);font-weight:600}.qc-bit{color:var(--lime);font-variant-numeric:tabular-nums;font-weight:700}.hint .qc-true,.hint .qc-false,.hint .qc-gate,.coach-line .qc-true,.coach-line .qc-false,.coach-line .qc-gate{text-shadow:0 0 12px}.stage-chip{letter-spacing:.16em;text-transform:uppercase;color:var(--magenta);background:#ff4da60f;border:1px solid #ff4da666;border-radius:999px;align-items:center;padding:.3rem .65rem;font-size:.68rem;display:inline-flex}.circuit{background:radial-gradient(80% 50% at 50% 0,#2ef0d012,#0000 55%),linear-gradient(#0a1220b8,#050910e0);border:1px solid #2ef0d029;border-radius:16px;flex:auto;justify-content:stretch;align-items:stretch;width:100%;min-height:0;padding:0;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #2ef0d012,0 12px 28px #00000047}.circuit-pcb{border-radius:inherit;pointer-events:none;z-index:0;opacity:.45;background-image:radial-gradient(circle at 1px 1px,#2ef0d017 1px,#0000 0),linear-gradient(#2ef0d009 1px,#0000 1px),linear-gradient(90deg,#2ef0d009 1px,#0000 1px);background-size:14px 14px,28px 28px,28px 28px;display:block;position:absolute;inset:0}.circuit-flow.react-flow{z-index:1;background:0 0;width:100%;height:100%;position:relative}.circuit-flow .react-flow__renderer,.circuit-flow .react-flow__pane,.circuit-flow .react-flow__viewport{background:0 0}.circuit-flow .react-flow__node{cursor:default;box-shadow:none;font-family:var(--font-mono);background:0 0;border:none;padding:0;pointer-events:all!important}.circuit-flow .react-flow__edge,.circuit-flow .react-flow__edge-path,.circuit-flow .rf-wire{pointer-events:none}.circuit-flow .bit-toggle,.circuit-flow .gate-pick{pointer-events:auto;z-index:5;position:relative}.circuit-flow .react-flow__node.selectable:focus,.circuit-flow .react-flow__node:focus,.circuit-flow .react-flow__node:focus-visible{box-shadow:none;outline:none}.circuit-flow .react-flow__edge-path,.circuit-flow .rf-wire{stroke-linecap:round;stroke-linejoin:round;fill:none;transition:stroke .22s,opacity .22s}.circuit-flow .rf-wire-glow{pointer-events:none}.circuit-flow .rf-wire-group.hot .rf-wire-core{filter:drop-shadow(0 0 6px #2ef0d08c);stroke-dasharray:7 9;animation:.9s linear infinite wireFlow}.circuit-flow .rf-wire-group.hot .rf-wire-glow{animation:1.6s ease-in-out infinite wireGlowBreath}.circuit-flow .react-flow__edge.animated path{stroke-dasharray:none;animation:none}@keyframes wireGlowBreath{0%,to{opacity:.22}50%{opacity:.38}}.circuit-flow .react-flow__attribution{opacity:.45;bottom:2px;right:4px;color:var(--muted)!important;background:0 0!important;font-size:9px!important}.rf-handle.react-flow__handle{border:2px solid var(--wire);background:var(--bg-elev);opacity:1;z-index:1;border-radius:50%;width:10px;height:10px;transition:border-color .2s,background .2s,box-shadow .2s,transform .2s cubic-bezier(.34,1.56,.64,1)}.rf-handle.react-flow__handle.on{border-color:var(--wire-hot);background:var(--cyan);animation:1.4s ease-in-out infinite terminalPulse;box-shadow:0 0 8px #2ef0d073}@keyframes terminalPulse{0%,to{box-shadow:0 0 6px #2ef0d059}50%{box-shadow:0 0 12px #2ef0d0b3}}.circuit-flow .react-flow__handle-bottom.rf-terminal{transform:translate(-50%,50%);inset:auto auto 0 50%!important}.circuit-flow .rf-output .react-flow__handle-top.rf-terminal{transform:translate(-50%,-50%);inset:0 auto auto 50%!important}.circuit-flow .rf-gate .react-flow__handle.rf-terminal{z-index:3;transform:translate(-50%,-50%)}.circuit-flow .rf-gate .react-flow__handle-bottom.rf-terminal{left:50%!important}.rf-input,.rf-gate,.rf-output{width:100%;height:100%;color:var(--cyan);flex-direction:column;justify-content:flex-start;align-items:center;gap:.25rem;padding:0;display:flex;position:relative}.rf-input{justify-content:stretch;gap:0;padding:0}.rf-input-body,.rf-output-body{flex-direction:column;flex:none;align-items:center;width:56px;height:56px;display:flex;position:relative}.rf-input .bit-toggle{z-index:2;flex:auto;width:100%;min-width:0;height:100%;min-height:0;position:relative}.rf-input .rf-input-pin.react-flow__handle,.rf-output .rf-output-pin.react-flow__handle{pointer-events:none;z-index:1!important}.rf-stem{background:var(--wire);pointer-events:none;border-radius:1px;flex:auto;width:2px;min-height:8px;margin:0 auto;display:block}.rf-stem.on{background:var(--wire-hot);box-shadow:0 0 6px #2ef0d059}.rf-stem.in{flex:0 0 10px;min-height:10px}.rf-gate.empty{color:var(--magenta)}.rf-gate .gate-symbol-wrap{filter:drop-shadow(0 8px 14px #00000059);width:100%;height:100%;position:absolute;inset:0}.rf-gate .gate-icon{width:100%;height:100%}.rf-gate-palette{z-index:5;max-width:9.5rem;position:absolute;top:calc(100% + .2rem);left:50%;transform:translate(-50%)}.rf-output .led{z-index:2;width:56px;height:56px;font-size:.62rem;position:relative}.rf-output .target-label{text-align:center;z-index:2;font-size:.7rem;position:relative}.schematic-sizer{flex:none;position:relative;overflow:hidden}.schematic{flex-direction:row;justify-content:center;align-items:stretch;gap:1.35rem;width:max-content;min-width:min(100%,720px);max-width:100%;margin:0 auto;padding:.35rem .5rem .5rem;display:flex;position:relative}.schematic.vertical{will-change:transform;background:radial-gradient(80% 50% at 50% 0,#2ef0d012,#0000 55%),linear-gradient(#0a1220b8,#050910e0);border:1px solid #2ef0d029;border-radius:16px;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:.45rem;width:max(16rem,min(100%,34rem));min-width:0;max-width:none;padding:.55rem .65rem .7rem;box-shadow:inset 0 1px #2ef0d012,0 12px 28px #00000047}.schematic.vertical.positioned{gap:0;width:auto;max-width:none;padding:0;display:block;overflow:visible}.schematic.vertical.positioned .schematic-pcb{border-radius:16px}.schematic-input.placed,.schematic-gate-unit.placed,.output-led.placed{z-index:1;position:absolute}.gate-pin-layer{pointer-events:none;position:absolute;inset:0}.gate-pin-layer .pin-hit{width:8px;height:8px;box-shadow:none;background:0 0;border:none;border-radius:50%;margin:0;position:absolute;transform:translate(-50%,-50%)}.gate-pin-layer .pin-hit.out.on{background:var(--cyan);box-shadow:0 0 6px #2ef0d073}.schematic-pcb{display:none}.schematic.vertical .schematic-pcb{border-radius:inherit;pointer-events:none;z-index:0;opacity:.55;background-image:radial-gradient(circle at 1px 1px,#2ef0d017 1px,#0000 0),linear-gradient(#2ef0d009 1px,#0000 1px),linear-gradient(90deg,#2ef0d009 1px,#0000 1px);background-size:14px 14px,28px 28px,28px 28px;display:block;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000000bf,#00000059);mask-image:linear-gradient(#000000bf,#00000059)}.schematic-wires{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.schematic-wire{stroke:var(--wire);stroke-width:2.35px;stroke-linecap:round;stroke-linejoin:round;opacity:.92}.schematic-wire.hot{stroke:var(--wire-hot);filter:drop-shadow(0 0 5px #2ef0d073);stroke-dasharray:5 7;animation:.85s linear infinite wireFlow}@keyframes wireFlow{to{stroke-dashoffset:-24px}}.schematic-col,.schematic-row{z-index:1;flex-direction:column;flex:none;align-items:center;gap:.35rem;display:flex;position:relative}.schematic.vertical .schematic-row{width:100%}.circuit-label{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);align-self:flex-start;min-height:.95rem;margin:0;padding-left:.15rem;font-size:.62rem}.circuit-label.spacer{visibility:hidden;height:0;min-height:0;padding:0;overflow:hidden}.schematic-stack,.schematic-rail{flex-flow:wrap;justify-content:center;align-items:flex-start;gap:1.35rem 1.75rem;width:100%;display:flex}.schematic-input{align-items:center;gap:.35rem;display:flex}.schematic-input.vert .pin-out{margin-top:.1rem}.schematic-input .pin{width:9px;height:9px}.schematic-gate-unit{min-width:6rem;color:var(--cyan);flex-direction:column;align-items:center;gap:.35rem;display:flex;position:relative}.schematic-gate-unit.empty{color:var(--magenta)}.schematic-gate-unit.empty:not(.filled){animation:3.2s ease-in-out infinite slotPulse}.schematic-gate-unit.filled{color:var(--cyan)}.gate-symbol-wrap{filter:drop-shadow(0 10px 18px #00000061);place-items:center;display:grid;position:relative}.gate-pins-in{flex-direction:row;justify-content:center;align-items:center;min-height:0;display:flex}.gate-pins-in.vert.overlay{z-index:2;justify-content:space-between;gap:0;width:30%;margin:0;position:absolute;top:2%;left:50%;transform:translate(-50%)}.gate-pins-in.vert.overlay.unary{justify-content:center;width:auto}.pin.overlay-out{z-index:2;position:absolute;bottom:1%;left:50%;transform:translate(-50%,40%)}.schematic-gate-unit .pin{width:8px;height:8px;box-shadow:none;background:0 0;border-width:1.5px;border-color:#0000}.schematic-gate-unit .pin.on{background:var(--cyan);border-color:var(--cyan);box-shadow:0 0 8px #2ef0d073}.gate-icon{width:4.4rem;height:5.95rem;display:block}.gate-icon.horiz{width:5.4rem;height:4rem}.gate-icon.is-empty{opacity:.95}.gate-mid-badge{min-width:1.35rem;height:1.35rem;color:var(--lime);font-variant-numeric:tabular-nums;background:#c6ff4d29;border:1px solid #c6ff4d8c;border-radius:999px;place-items:center;padding:0 .28rem;font-size:.72rem;font-weight:700;animation:.28s cubic-bezier(.34,1.56,.64,1) both midBadgeIn;display:grid;position:absolute;bottom:1.1rem;right:-.35rem;box-shadow:0 0 10px #c6ff4d40}@keyframes midBadgeIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.gate-palette{flex-wrap:wrap;justify-content:center;gap:.28rem;max-width:9.5rem;margin-top:.2rem;display:flex}.gate-pick{font-family:var(--font-mono);letter-spacing:.04em;min-height:1.65rem;color:var(--muted);cursor:pointer;background:#080c14eb;border:1px solid #ff4da666;border-radius:7px;padding:.28rem .38rem;font-size:.58rem;font-weight:600;transition:border-color .15s,color .15s,background .15s,transform .12s cubic-bezier(.34,1.56,.64,1)}.gate-pick:hover:not(:disabled){color:var(--text);border-color:var(--magenta);transform:translateY(-1px)}.gate-pick.active{color:var(--cyan);border-color:var(--cyan);background:#2ef0d01a;box-shadow:0 0 10px #2ef0d033}.gate-pick:disabled{opacity:.55;cursor:default}.schematic-out{flex-direction:column;align-items:center;gap:.45rem;padding-left:.55rem;display:flex;position:relative}.schematic-out.vert{gap:.35rem;padding-top:0;padding-left:0}.schematic-out.vert .pin-in{margin-bottom:0;position:relative;top:auto;left:auto}.pin{border:2px solid var(--wire);background:var(--bg-elev);z-index:2;border-radius:50%;flex-shrink:0;width:10px;height:10px;display:block}.pin.on{border-color:var(--wire-hot);background:var(--cyan);box-shadow:0 0 8px #2ef0d073}.bit-toggle{width:48px;min-width:44px;height:56px;min-height:44px;color:var(--muted);cursor:pointer;font-family:var(--font-mono);background:#04080ee6;border:1px solid #2ef0d052;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;font-weight:600;transition:transform .14s cubic-bezier(.34,1.56,.64,1),box-shadow .18s,border-color .18s,color .18s,background .18s;display:flex}@media (width>=960px){.schematic:not(.vertical){gap:1.75rem}.bit-toggle{width:52px;height:60px}.schematic.vertical{width:max(18rem,min(100%,36rem));padding:.65rem .8rem .8rem}}.bit-toggle:disabled{cursor:default;opacity:.9}.bit-toggle .bit-label{letter-spacing:.1em;color:var(--muted);font-size:.62rem}.bit-toggle .bit-val{font-variant-numeric:tabular-nums;font-size:1.45rem;transition:transform .18s cubic-bezier(.34,1.56,.64,1),color .18s}.bit-toggle.on{color:var(--cyan);border-color:var(--cyan);box-shadow:var(--glow-cyan);background:#2ef0d01a;animation:.18s cubic-bezier(.34,1.56,.64,1) bitFlash}.bit-toggle.on .bit-val{animation:.22s cubic-bezier(.34,1.56,.64,1) bitValPop}@keyframes bitFlash{0%{transform:scale(.96);box-shadow:0 0 #2ef0d000}to{transform:scale(1)}}@keyframes bitValPop{0%{opacity:.65;transform:scale(.86)}to{opacity:1;transform:scale(1)}}.bit-toggle:not(:disabled):hover{transform:translateY(-2px)}.gates-row{display:none}.gate-card{text-align:center;background:linear-gradient(165deg,#122034fa,#080e18fa);border:1px solid #2ef0d047;border-radius:14px;padding:.55rem;position:relative}.gate-card.empty{border-style:dashed;border-color:var(--magenta);animation:3.2s ease-in-out infinite slotPulse;box-shadow:0 0 10px #ff4da62e}@keyframes slotPulse{0%,to{box-shadow:0 0 6px #ff4da624}50%{box-shadow:0 0 14px #ff4da647}}.wire-ports{display:none}.gate-name{font-family:var(--font-display);letter-spacing:.08em;color:var(--cyan);font-size:.72rem}.gate-symbol{color:var(--cyan);place-items:center;min-height:2.4rem;margin:.25rem 0 .15rem;display:grid}.gate-card.empty .gate-icon{color:var(--magenta)}.gate-mid{color:var(--lime);margin-bottom:.3rem;font-size:.78rem;font-weight:600}.gate-select-label{width:100%;display:block}.gate-select{background:var(--bg);width:100%;color:var(--text);border:1px solid #ff4da673;border-radius:8px;min-height:38px;margin-top:.35rem;padding:.45rem;font-size:.75rem}.output-section{margin-top:.15rem}.output-led{flex-direction:column;align-items:center;gap:.55rem;display:flex}.led{border:2px solid var(--wire);width:58px;height:58px;font-family:var(--font-display);letter-spacing:.1em;color:var(--muted);background:#0a0e16;border-radius:50%;place-items:center;font-size:.64rem;transition:box-shadow .35s,border-color .35s,background .35s,color .35s;display:grid;position:relative}.led.on,.led.off{animation:.45s cubic-bezier(.22,1,.36,1) both ledReveal}.led.on:after,.led.off:after{content:"";opacity:0;pointer-events:none;border:2px solid;border-radius:50%;animation:.55s ease-out both ledRing;position:absolute;inset:-8px}@keyframes ledReveal{0%{opacity:.65;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes ledRing{0%{opacity:.55;transform:scale(.85)}to{opacity:0;transform:scale(1.25)}}.led.hidden-state{background:repeating-linear-gradient(-45deg,#0a0e16,#0a0e16 4px,#121826 4px 8px)}.led.on{border-color:var(--lime);color:var(--lime);background:#c6ff4d29;box-shadow:0 0 32px #c6ff4d80}.led.off{border-color:var(--red);color:var(--red);background:#ff5a7824;box-shadow:0 0 22px #ff5a7859}.target-label{color:var(--muted);letter-spacing:.04em;font-size:.78rem}.target-label strong{color:var(--text)}.shake{animation:.4s shake}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.check-bar{border-top:1px solid var(--line);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem .85rem;margin-top:.45rem;padding-top:.5rem;display:flex}.check-actions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.check-meta{text-align:right;flex-direction:column;align-items:flex-end;gap:.3rem;min-width:min(100%,240px);display:flex}.feedback{min-height:1.25em;font-size:.88rem;font-weight:500}.feedback.ok{color:var(--lime)}.feedback.bad{color:var(--red)}.points-preview{color:var(--muted);font-size:.78rem}.points-preview strong{color:var(--text)}.side-panel h3{font-family:var(--font-display);letter-spacing:.12em;color:var(--cyan);margin:0 0 .85rem;font-size:.78rem}.mode-tabs{background:#04080e8c;border:1px solid #2ef0d01f;border-radius:12px;gap:.4rem;margin-bottom:.85rem;padding:.25rem;display:flex}.mode-tabs button{min-height:40px;color:var(--muted);cursor:pointer;letter-spacing:.08em;font-size:.72rem;font-family:var(--font-display);background:0 0;border:1px solid #0000;border-radius:9px;flex:1;padding:.55rem;transition:background .15s,color .15s}.mode-tabs button.active{color:var(--cyan);background:#2ef0d01f;border-color:#2ef0d040}.keypad{grid-template-columns:repeat(4,1fr);gap:.45rem;display:grid}.keypad button{min-height:46px;color:var(--text);cursor:pointer;background:#04080ed9;border:1px solid #2ef0d02e;border-radius:10px;padding:.75rem 0;font-weight:600;transition:border-color .15s,color .15s,background .15s}.keypad button:hover:not(:disabled){border-color:var(--cyan);color:var(--cyan);background:#2ef0d00f}.keypad .span2{grid-column:span 2}.value-display{font-family:var(--font-mono);color:var(--lime);letter-spacing:.1em;text-align:center;font-variant-numeric:tabular-nums;background:#04060a;border:1px solid #2ef0d038;border-radius:12px;margin-bottom:.75rem;padding:.7rem .85rem;font-size:1.2rem}.truth-mini{color:var(--muted);margin-top:1rem;font-size:.78rem;line-height:1.5}.results,.overlay-screen{min-height:0;padding:var(--space-3) clamp(.75rem, 2vw, 1.25rem);justify-content:center;align-items:center;gap:var(--space-3);box-sizing:border-box;flex-direction:column;flex:1;display:flex;overflow:hidden auto}.overlay-screen>.overlay-card,.overlay-screen>.results-card{margin-block:auto}.results-card,.overlay-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);width:min(640px,100%);padding:var(--pad-card);text-align:center;box-shadow:0 24px 60px #00000059, var(--glow-cyan);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:.55s cubic-bezier(.22,1,.36,1) both riseIn}.overlay-card{text-align:left}.overlay-card.wide,.overlay-card.overlay-fit{width:min(920px,100%)}.overlay-card.overlay-fit{flex-direction:column;gap:.45rem;max-height:calc(100dvh - 2rem);padding:clamp(.7rem,1.4vh,1.1rem) clamp(.85rem,2vw,1.25rem);display:flex;overflow:hidden}.overlay-head{flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.overlay-head h1{margin:0!important}.overlay-grid{flex:1;grid-template-columns:1fr;gap:.65rem 1.25rem;min-height:0;display:grid}@media (width>=760px){.overlay-grid{grid-template-columns:1fr 1fr;align-items:start}}.overlay-card h1,.results-card h1{font-family:var(--font-display);letter-spacing:.08em;margin:0 0 .45rem;font-size:clamp(1.15rem,2.4vh,1.45rem);line-height:1.15}.overlay-card h2{font-family:var(--font-display);letter-spacing:.1em;color:var(--cyan);text-transform:uppercase;margin:.15rem 0 .35rem;font-size:.72rem}.legal-card p,.legal-list{color:var(--muted);margin:.25rem 0;padding-left:1rem;font-size:.82rem;line-height:1.4}.legal-list.compact{margin:0;padding-left:1.05rem;font-size:.78rem;line-height:1.35}.legal-list.compact li{margin-bottom:.22rem}.legal-list li{margin-bottom:.5rem}.legal-list strong{color:var(--text)}.key-list{flex-wrap:wrap;gap:.15rem 1rem;list-style:none;display:flex;padding-left:0!important}.key-list li{margin-bottom:.1rem!important}.setting-row{color:var(--text);cursor:pointer;flex-wrap:wrap;align-items:center;gap:.7rem;margin:.5rem 0;font-size:.88rem;line-height:1.35;display:flex}.setting-row.compact{gap:.55rem;margin:.28rem 0;font-size:.8rem}.setting-row input[type=range],.setting-row input[type=checkbox],.setting-row input[type=radio]{width:18px;height:18px;accent-color:var(--cyan)}.overlay-actions{justify-content:flex-start;gap:.45rem;margin-top:.65rem!important}.gate-ref{grid-template-columns:1fr;gap:.3rem;display:grid}@media (width<=759px){.help-grid .gate-ref{grid-template-columns:1fr 1fr}.help-grid .gate-ref-copy span{display:none}}@media (width>=760px){.help-grid .gate-ref{grid-template-columns:1fr}}.gate-ref-row{color:var(--muted);background:#04080e73;border-radius:8px;grid-template-columns:5.2rem 1fr;align-items:center;gap:.45rem;padding:.28rem .4rem;font-size:.74rem;display:grid}.gate-ref-copy{flex-direction:column;gap:.08rem;min-width:0;display:flex}.gate-ref-copy strong{color:var(--cyan);letter-spacing:.06em;font-size:.72rem}.gate-ref-copy span{text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.25;display:-webkit-box;overflow:hidden}.gate-ref-icon{width:5.8rem;height:4.3rem;color:var(--cyan)}.answer-key{background:#04080ea6;border:1px solid #2ef0d02e;border-radius:12px;margin-top:.25rem;padding:.7rem .85rem;font-size:.8rem;line-height:1.4}.answer-key.compact{max-height:min(42vh,280px);padding:.55rem .7rem;font-size:.76rem;overflow:auto}.answer-key ul{margin:.35rem 0;padding-left:1.1rem}@media (height<=700px){.overlay-card.overlay-fit{gap:.3rem;padding:.55rem .75rem}.overlay-card h2{margin:.05rem 0 .2rem}.gate-ref-copy span{-webkit-line-clamp:1}.gate-ref-row{padding:.18rem .35rem}.legal-list.compact{font-size:.72rem}}.score-wrap{place-items:center;margin:.55rem 0 .2rem;display:inline-grid;position:relative}.score-arc{width:7.5rem;height:7.5rem;color:var(--lime);opacity:.45;pointer-events:none;position:absolute}.score-arc svg{width:100%;height:100%}.score-big{font-family:var(--font-display);color:var(--lime);text-shadow:0 0 28px #c6ff4d66;letter-spacing:.04em;z-index:1;margin:0;font-size:clamp(2.8rem,8vw,3.6rem);animation:.28s cubic-bezier(.22,1,.36,1) both scoreSettle;position:relative}@keyframes scoreSettle{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.results-meta{color:var(--muted);margin:.3rem 0;font-size:.9rem;line-height:1.45}.results-actions{flex-wrap:wrap;justify-content:center;gap:.65rem;margin-top:1.35rem;display:flex}.overlay-card .results-actions{justify-content:flex-start}.level-list{text-align:left;max-height:min(40vh,320px);color:var(--muted);border-top:1px solid var(--line);margin-top:1.1rem;padding-top:.85rem;font-size:.8rem;overflow:auto}.level-list div{border-bottom:1px solid #2ef0d00f;justify-content:space-between;gap:1rem;padding:.35rem .15rem;display:flex}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#020408b8;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal-backdrop .overlay-card{width:min(440px,100%)}kbd{font-family:var(--font-mono);background:var(--bg-elev);border:1px solid #2ef0d047;border-radius:5px;padding:.12rem .4rem;font-size:.8em}code{color:var(--cyan);font-size:.9em}@media (width<=520px){.mode-cards{grid-template-columns:1fr}.check-meta{text-align:left;align-items:flex-start;width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}body[data-screen=splash]:after{display:none}}body.reduce-effects .brand,body.reduce-effects .gate-card.empty,body.reduce-effects .schematic-gate-unit.empty,body.reduce-effects .splash-hero,body.reduce-effects .splash-panel,body.reduce-effects .splash-links,body.reduce-effects .results-card,body.reduce-effects .overlay-card,body.reduce-effects .pulse-once,body.reduce-effects .schematic-wire.hot,body.reduce-effects .rf-wire.hot,body.reduce-effects .rf-wire-group.hot .rf-wire-core,body.reduce-effects .rf-wire-group.hot .rf-wire-glow,body.reduce-effects .rf-handle.react-flow__handle.on,body.reduce-effects .bit-toggle.on,body.reduce-effects .bit-toggle.on .bit-val,body.reduce-effects .gate-mid-badge,body.reduce-effects .react-flow__edge.animated path,body.reduce-effects .led.on,body.reduce-effects .led.off,body.reduce-effects .led.on:after,body.reduce-effects .led.off:after,body.reduce-effects .score-big{filter:none;text-shadow:none;animation:none!important}body.reduce-effects .splash-schematic{opacity:.08}.mt-0{margin-top:0!important}.mt-1{margin-top:.85rem!important}.truth-mini.tight{margin-top:.2rem;font-size:.74rem;line-height:1.35}.mode-card:focus-within{outline:none}.coach-line{color:var(--text);background:#2ef0d012;border:1px solid #2ef0d033;border-radius:10px;width:100%;margin:.15rem 0 0;padding:.5rem .75rem;font-size:.84rem;line-height:1.35}.first-run-tip{background:#ffc14a14;border:1px solid #ffc14a47;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;width:100%;margin-top:.15rem;padding:.5rem .75rem;display:flex}.first-run-tip p{color:var(--amber);text-align:left;flex:1;margin:0;font-size:.78rem;line-height:1.35}.key-chip{color:var(--muted);letter-spacing:.04em;align-items:center;gap:.35rem;font-size:.72rem;display:inline-flex}.gate-help{letter-spacing:.06em;text-transform:uppercase;color:var(--magenta);margin:0 0 .25rem;font-size:.65rem}.bit-toggle:not(:disabled):active{transform:scale(.94)}.pulse-once{animation:.9s nextPulse}@keyframes nextPulse{0%,to{box-shadow:0 0 18px #c6ff4d59}50%{box-shadow:0 0 28px #c6ff4db3}}.hex-pad{grid-template-columns:repeat(4,1fr)}.keypad-actions{grid-template-columns:1fr 1fr;gap:.45rem;margin-top:.45rem;display:grid}.keypad-actions button{min-height:46px;color:var(--text);cursor:pointer;background:#04080ed9;border:1px solid #2ef0d02e;border-radius:10px;padding:.75rem 0;font-weight:600}.keypad-actions button:hover:not(:disabled){border-color:var(--cyan);color:var(--cyan)}body.projector .btn-check,body.projector .btn-next{min-height:56px;font-size:.95rem}body.projector .hud-metric strong{font-size:1.05rem}body.projector .coach-line{font-size:1rem}.live-board{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:0;min-height:0;max-height:100%;padding:.75rem .85rem;overflow:auto;box-shadow:0 12px 32px #00000040}.side-panel{min-height:0;max-height:100%;overflow:auto}.live-board.compact{padding:.55rem .65rem}.live-board-head{justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.45rem;display:flex}.live-board-head h3{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--cyan);margin:0;font-size:.72rem}.live-board-meta{color:var(--muted);letter-spacing:.04em;font-size:.68rem}.live-board-list{flex-direction:column;gap:.25rem;max-height:min(52vh,420px);margin:0;padding:0;list-style:none;display:flex;overflow:auto}.live-board-list li{background:#04080e66;border-radius:8px;grid-template-columns:1.6rem 1fr auto auto;align-items:center;gap:.4rem;padding:.35rem .4rem;font-size:.78rem;display:grid}.live-board-list li.leader{background:#c6ff4d0f;border:1px solid #c6ff4d59}.live-leader{color:var(--muted);margin:0 0 .45rem;font-size:.74rem;line-height:1.35}.live-leader strong{color:var(--lime)}.live-board-sep{text-align:center;color:var(--muted);letter-spacing:.2em;opacity:.7;margin:.25rem 0;font-size:.7rem}.live-rank{color:var(--muted);font-variant-numeric:tabular-nums}.live-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.live-level{color:var(--muted);font-size:.7rem}.live-score{color:var(--lime);font-variant-numeric:tabular-nums;text-align:right;min-width:2rem;font-weight:600}.teacher-live-board{max-height:28vh;margin:.45rem 0 .75rem;overflow:auto}.results-live{width:min(640px,100%);margin:0 auto 1.25rem}.teacher-tabs{flex-wrap:wrap;gap:.4rem;margin:.4rem 0 .6rem;display:flex}.teacher-pane{gap:.5rem;display:grid}.teacher-code{margin:.2rem 0;font-size:1.4rem}.teacher-opt small{display:block}.teacher-gate{max-width:26rem}.answer-table{max-height:min(36vh,260px)}.answer-table table{border-collapse:collapse;width:100%}.answer-table th,.answer-table td{text-align:left;vertical-align:top;border-bottom:1px solid #2ef0d01f;padding:.2rem .4rem}.answer-table small{color:var(--muted)}
