:root{--ink:#08080f;--ink2:#0a0c14;--panel:#0d1019;--line:#1c2230;--line-cyan:#24455a;--cv:#1b3341;--cyan:#00d4ff;--cyan-soft:#5f8fa3;--gold:#c19a6b;--gold-hot:#e3c089;--paper:#e6e9f0;--body:#9aa1b4;--dust:#6d7484}*{box-sizing:border-box;margin:0}body{background:var(--ink);color:var(--paper);user-select:none;font-family:Space Mono,monospace}a{color:var(--paper);text-decoration:none}a:hover{color:var(--gold-hot)}input[type=range]{accent-color:var(--cyan);width:100%;margin-top:4px;display:block}.wrap{max-width:1140px;margin:0 auto;padding:40px 24px 56px}.head{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.head h1{letter-spacing:-.01em;margin-top:10px;font-size:24px}.crumb{color:var(--dust);font-size:12px}.crumb b{color:var(--cyan);font-weight:400}.sub{color:var(--body);margin-top:6px;font-size:12.5px}.sub .au{color:var(--gold)}.sub .cv{color:var(--cyan)}#power{border:1px solid var(--line-cyan);color:var(--cyan);cursor:pointer;letter-spacing:.1em;background:#12121fb3;border-radius:4px;padding:12px 26px;font:700 13px Space Mono,monospace}#power:hover,#init:hover{border-color:var(--gold-hot);color:var(--gold-hot)}#init{color:var(--body);cursor:pointer;letter-spacing:.1em;background:#12121fb3;border:1px solid #26263b;border-radius:4px;padding:12px 20px;font:400 13px Space Mono,monospace}#power.on{border-color:var(--gold);color:var(--gold-hot)}#board{border:1px solid var(--line-cyan);background:var(--ink2);grid-template-columns:repeat(4,1fr);gap:18px;margin-top:28px;padding:26px;display:grid;position:relative}.mod{border:1px solid var(--line);background:var(--panel);padding:16px 16px 14px;position:relative}.mod:before{content:"";background:repeating-linear-gradient(90deg, var(--line-cyan) 0 3px, transparent 3px 13px);height:5px;position:absolute;top:0;left:14px;right:14px}.mod .hd{justify-content:space-between;align-items:baseline;margin-top:4px;display:flex}.mod .des{color:var(--gold);font-size:11px}.mod .nm{font-size:12px;font-weight:700}.mod .nm small{color:var(--dust);font-size:10px;font-weight:400}.mod label{color:var(--dust);margin-top:8px;font-size:10px;display:block}.mod label:first-of-type{margin-top:14px}.waves{gap:4px;margin-top:12px;display:flex}.waves div{text-align:center;border:1px solid var(--line);color:var(--dust);cursor:pointer;flex:1;padding:4px 0;font-size:9px}.waves div.sel{border-color:var(--cyan);color:var(--cyan)}.jacks{justify-content:space-between;margin-top:12px;display:flex}.jacks.end{justify-content:flex-end}.jack{text-align:center}.jack i{border:2px solid var(--line-cyan);background:var(--ink);cursor:crosshair;z-index:2;border-radius:50%;width:18px;height:18px;margin:0 auto;display:block;position:relative}.jack.out i{border-color:var(--gold)}.jack.out i:hover{border-color:var(--gold-hot);background:#1a150e}.jack.cvj i{border-color:var(--cv)}.jack.cvj i:hover{border-color:var(--cyan)}.jack i:hover{border-color:var(--gold-hot)}.jack i.armed{border-color:var(--gold-hot);background:#e3c0892e;box-shadow:0 0 0 3px #e3c08938}.sub-touch{display:none}@media (hover:none) and (pointer:coarse){.sub-mouse{display:none}.sub-touch{display:block}}.jack span{color:var(--dust);margin-top:3px;font-size:9px;display:block}.jack.cvj span{color:var(--cyan-soft)}.note{color:var(--cyan-soft);margin-top:10px;font-size:9px}.stepsrow{gap:4px;margin-top:16px;display:flex}.stepcol{flex-direction:column;align-items:center;gap:3px;display:flex}.step{border:1px solid var(--line-cyan);background:var(--ink2);cursor:ns-resize;width:22px;height:46px;position:relative}.step em{pointer-events:none;background:#6d748440;position:absolute;bottom:0;left:0;right:0}.step.on em{background:#00d4ff8c}.step.cur{border-color:var(--gold-hot)}.step.cur.on em{background:var(--gold-hot)}.stepcol span{color:#3a4054;pointer-events:none;font-size:8px}.stepcol.on span{color:var(--cyan-soft)}.hint9{color:var(--dust);margin-top:8px;font-size:9px}#scope{background:var(--ink);border:1px solid var(--line);width:100%;height:60px;margin-top:14px;display:block}#cablesvg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}#cablesvg path.cable{pointer-events:stroke;cursor:pointer}.foot{color:var(--dust);justify-content:space-between;margin-top:16px;font-size:11px;display:flex}.mod{flex-direction:column;align-self:stretch;display:flex}.mod .nm small{white-space:nowrap}.rot{margin-top:28px;position:relative}@media (width<=900px){.jack i,.step{touch-action:none}}@media (width<=640px){.wrap{padding:24px 16px 32px}.head{flex-wrap:wrap;gap:12px}.head h1{font-size:20px}.head>div:first-child{flex:100%}.foot{flex-direction:column;gap:6px;font-size:10.5px}}@media (orientation:portrait) and (width<=640px){.rot{width:100vw;height:calc(100dvh - 316px);min-height:520px;margin-top:20px;margin-left:-16px;margin-right:-16px;position:relative;overflow:hidden}#board{transform-origin:0 0;border:none;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr;gap:10px;width:calc(100dvh - 316px);min-width:520px;height:100vw;margin:0;padding:12px;position:absolute;top:0;left:100vw;transform:rotate(90deg)}.mod{min-width:0;padding:10px 10px 8px;font-size:10px;overflow:hidden}.mod .hd{margin-top:2px}.mod .nm{font-size:11px}.mod .nm small{white-space:nowrap;font-size:9px}.mod .des{font-size:10px}.mod label{margin-top:5px;font-size:9px}.mod label:first-of-type{margin-top:9px}.waves{gap:3px;margin-top:8px}.waves div{padding:3px 0;font-size:8px}.jacks{margin-top:8px}.jack i{border-width:1.5px;width:14px;height:14px}.jack span{font-size:8px}#scope{height:36px;margin-top:8px}.stepsrow{gap:2px;margin-top:8px}.step{width:12px;height:28px}.stepcol{gap:2px}.stepcol span{font-size:7px}.note,.hint9{margin-top:6px;font-size:8px}input[type=range]{margin-top:2px}}
