:root{--ground:#0C0A12;--deep:#100D1C;--surface:#141024;--hair:#241D3C;--hair-soft:rgba(36,29,60,.62);--dim:#8D85A8;--bone:#EDE9E3;--violet:#6C3BFF;--lock:#E23D2E;--panel:rgba(16,13,28,.94);--rail:84px;--pad:16px;--r:4px;--mono:'Spline Sans Mono',ui-monospace,monospace;--body:'Rubik',system-ui,sans-serif;--display:'Chivo',system-ui,sans-serif}
*{box-sizing:border-box;margin:0;padding:0;text-shadow:none}html,body{height:100%;overflow:hidden}body{background:var(--ground);color:var(--bone);font-family:var(--body);font-size:16px;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}a{color:inherit}button,input{font:inherit}button{cursor:pointer}::selection{background:var(--violet);color:var(--bone)}
#plate{position:fixed;inset:0 0 0 var(--rail);z-index:0;display:block}#sweep{position:fixed;left:var(--rail);right:0;top:52%;height:1px;z-index:1;pointer-events:none;opacity:.42;background:linear-gradient(90deg,rgba(108,59,255,0),var(--violet) 22%,var(--bone) 62%,rgba(237,233,227,0));transition:top .12s linear}
.rail{position:fixed;inset:0 auto 0 0;width:var(--rail);z-index:40;background:var(--ground);border-right:1px solid var(--hair);display:flex;flex-direction:column;align-items:center;padding:10px 6px 12px;overflow:hidden}.brand{display:flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none}.brand img{display:block;width:52px;height:52px;object-fit:contain}.brand strong{font:700 16px/.95 var(--display);letter-spacing:-.03em}.brand small{font:12px/1.35 var(--mono);letter-spacing:.09em;color:var(--dim);text-align:center}.brand i{width:38px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--violet),var(--bone))}.rail nav{flex:1;min-height:0;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;overflow:hidden}.rail nav a{font:12px/1 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--dim);text-decoration:none;writing-mode:vertical-rl;transform:rotate(180deg);padding:3px 4px;border-right:2px solid transparent;white-space:nowrap}.rail nav a:hover,.rail nav a.active{color:var(--bone)}.rail nav a.active{border-right-color:var(--bone)}.rail-foot{width:100%;display:flex;flex-direction:column;align-items:center;gap:12px}.rail-foot span{width:100%;padding:7px 2px;border:1px solid var(--hair);border-radius:var(--r);background:var(--deep);font:12px/1.35 var(--mono);letter-spacing:.04em;color:var(--dim);text-align:center}.rail-foot a{font:12px var(--mono);color:var(--dim);text-decoration:none}
.deck{position:relative;z-index:10;margin-left:var(--rail);height:100vh;padding:14px 18px;display:flex;flex-direction:column;gap:12px;overflow:hidden}.panel{border:1px solid var(--hair);border-radius:var(--r);background:var(--panel);display:flex;flex-direction:column;min-height:0;overflow:hidden}.phead{flex:0 0 34px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 var(--pad);border-bottom:1px solid var(--hair);background:var(--deep);font:12px var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--dim);white-space:nowrap}.phead b{font-weight:500;color:var(--bone)}.pip{display:inline-block;width:7px;height:7px;flex:0 0 7px;border-radius:2px}.pip.held{background:var(--bone)}.pip.empty{background:var(--lock);box-shadow:0 0 6px rgba(226,61,46,.55)}.pip.nr{border:1px solid #4B4468;background:transparent}.status{display:inline-flex;align-items:center;gap:7px;text-transform:uppercase;color:var(--dim);font:12px var(--mono);letter-spacing:.06em}.mono{font-family:var(--mono)}.dim{color:var(--dim)}.bone{color:var(--bone)}.lock{color:var(--lock)}
.band{flex:0 0 88px;display:grid;grid-template-columns:212px repeat(6,minmax(0,1fr));border:1px solid var(--hair);border-radius:var(--r);background:var(--panel);overflow:hidden}.band-id{padding:12px 16px;border-right:1px solid var(--hair);background:var(--deep);display:flex;flex-direction:column;justify-content:center;gap:7px}.band h1{font:700 25px/.95 var(--display);letter-spacing:-.03em;text-transform:uppercase}.band-id span,.read .k,.read .at{font:12px var(--mono);color:var(--dim)}.band-id span{letter-spacing:.06em}.read{padding:11px 14px;border-right:1px solid var(--hair-soft);display:flex;flex-direction:column;justify-content:center;gap:5px;min-width:0}.read:last-child{border-right:0}.read .k{text-transform:uppercase;letter-spacing:.09em}.read .v{font:600 14px var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.read .at{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.board-work{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 348px;gap:12px;min-height:0}.plate-wrap{flex:1;min-height:0;overflow:hidden}.keyplate{width:100%;height:100%;border-collapse:collapse;table-layout:fixed}.keyplate th,.keyplate td{border-right:1px solid var(--hair-soft);border-bottom:1px solid var(--hair-soft);text-align:left;vertical-align:top}.keyplate th:last-child,.keyplate td:last-child{border-right:0}.keyplate tbody tr:last-child td{border-bottom:0}.keyplate thead th{height:63px;background:var(--deep);padding:8px 12px;font:500 13px var(--mono);color:var(--bone);letter-spacing:.04em}.keyplate thead th:first-child{font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--dim)}.keyplate thead .addr{display:block;margin-top:4px;font:12px var(--mono);color:var(--dim);letter-spacing:.01em}.keyplate td{padding:7px 12px}.pw{font:13px var(--mono);color:var(--bone)}.getter{display:block;margin-top:4px;font:12px var(--mono);color:var(--dim)}.cell-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.hex{font:13px var(--mono);white-space:nowrap}.stateword,.readat{display:block;margin-top:4px;font:12px var(--mono);color:var(--dim);text-transform:uppercase;letter-spacing:.04em}.readat{margin-top:3px;opacity:.78;text-transform:none;letter-spacing:.01em}.lastchange{font:12px/1.35 var(--mono)}.lastchange span{display:block;color:var(--dim);margin-top:4px}.keyplate tr.lit td{background:rgba(108,59,255,.09)}.keyplate tr.lit td:first-child{box-shadow:inset 2px 0 0 var(--violet)}.keyplate .litcol{background:rgba(108,59,255,.09)}.keyplate td.cross{background:rgba(108,59,255,.19)}.keyplate th.litcol{box-shadow:inset 0 2px 0 var(--violet)}.legend{display:flex;align-items:center;gap:18px}.legend span{display:inline-flex;align-items:center;gap:7px}
.side{display:flex;flex-direction:column;gap:12px;min-height:0}.inspector{flex:1 1 66%}.register{flex:1 1 34%}.ibody,.regbody{flex:1;min-height:0;display:flex;flex-direction:column}.irow{flex:1;display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px;align-items:baseline;padding:5px var(--pad);border-bottom:1px solid var(--hair-soft)}.irow:last-child{border-bottom:0}.irow .k{font:12px var(--mono);letter-spacing:.09em;color:var(--dim);text-transform:uppercase}.irow .v{font:13px/1.42 var(--mono);overflow-wrap:anywhere}.irow.wide{grid-template-columns:1fr}.payload{font:12px/1.5 var(--mono);color:var(--dim);overflow-wrap:anywhere}.regrow{flex:1;display:grid;grid-template-columns:92px minmax(0,1fr) 58px 44px;gap:8px;align-items:center;padding:0 var(--pad);border-bottom:1px solid var(--hair-soft)}.regrow:last-child{border-bottom:0}.regrow .a{font:13px var(--mono);white-space:nowrap}.regrow .w,.regrow .n{font:12px var(--mono);color:var(--dim);white-space:nowrap}.regrow .w{overflow:hidden;text-overflow:ellipsis}.regrow .n{text-align:right}.bars{display:flex;gap:2px}.bars i{display:block;width:8px;height:12px;border-radius:2px;background:var(--hair)}.bars i.on{background:var(--bone)}.bars i.off{background:var(--lock);box-shadow:0 0 6px rgba(226,61,46,.45)}
.logstrip{flex:0 0 196px}.logbody{flex:1;min-height:0;display:flex;flex-direction:column}.logrow{flex:1;display:grid;grid-template-columns:132px 74px 186px minmax(0,1fr) 118px 74px;gap:14px;align-items:center;padding:0 var(--pad);border-bottom:1px solid var(--hair-soft);font:12px var(--mono);color:var(--dim);white-space:nowrap}.logrow:last-child{border-bottom:0}.logrow.head{flex:0 0 28px;background:var(--deep);text-transform:uppercase;letter-spacing:.09em}.logrow .returned{color:var(--bone);overflow:hidden;text-overflow:ellipsis}.logrow .method{color:var(--bone)}.logrow .tag{display:flex;align-items:center;justify-content:flex-end;gap:6px}.baseline{flex:0 0 30px;display:flex;align-items:center;gap:20px;border-top:1px solid var(--hair);font:12px var(--mono);letter-spacing:.04em;color:var(--dim);white-space:nowrap;overflow:hidden}.baseline b{font-weight:500;color:var(--bone)}.baseline .links{margin-left:auto}.baseline a{text-decoration:none;color:var(--dim)}
.route-page{height:100%;min-height:0;display:grid;grid-template-rows:minmax(312px,42vh) minmax(0,1fr) 30px;gap:12px;overflow:hidden}.route-open{min-height:0;display:grid;border:1px solid var(--hair);border-radius:var(--r);background:var(--panel);overflow:hidden}.route-body{min-height:0;overflow:auto;border:1px solid var(--hair);border-radius:var(--r);background:var(--panel);scrollbar-color:var(--hair) var(--deep)}.route-body::-webkit-scrollbar,.hscroll::-webkit-scrollbar{width:8px;height:8px}.route-body::-webkit-scrollbar-thumb,.hscroll::-webkit-scrollbar-thumb{background:var(--hair)}.eyebrow{font:12px var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--dim)}.route-open h1{font:700 clamp(30px,4vw,58px)/.92 var(--display);letter-spacing:-.03em;text-transform:uppercase}.route-open h2{font:700 24px/.98 var(--display);letter-spacing:-.03em;text-transform:uppercase}.lede{font:16px/1.55 var(--body);color:var(--dim);max-width:64ch}.blockstamp{font:12px var(--mono);color:var(--dim);letter-spacing:.03em}.open-copy{padding:20px 22px;display:flex;flex-direction:column;justify-content:space-between;gap:14px;min-width:0}
.functions-open{grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr)}.function-measure{display:grid;grid-template-columns:repeat(3,1fr);border-right:1px solid var(--hair)}.measure{padding:20px;border-right:1px solid var(--hair-soft);display:flex;flex-direction:column;justify-content:space-between}.measure:last-child{border-right:0}.measure strong{font:700 clamp(58px,8vw,120px)/.8 var(--display);letter-spacing:-.07em}.measure span{font:12px/1.5 var(--mono);color:var(--dim);text-transform:uppercase;letter-spacing:.07em}.function-index{display:grid;grid-template-columns:60px minmax(180px,.7fr) minmax(0,1.5fr);gap:16px;border-bottom:1px solid var(--hair-soft);padding:14px 18px;align-items:start}.function-index:last-child{border-bottom:0}.function-index .num{font:12px var(--mono);color:var(--dim)}.function-index h2{font:700 19px var(--display);text-transform:uppercase}.function-index code,.function-index dl{font:12px/1.5 var(--mono)}.function-index code{color:var(--dim)}.function-index dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px}.function-index dt{color:var(--dim);text-transform:uppercase}.function-index dd{overflow-wrap:anywhere}
.keys-open{grid-template-columns:minmax(0,1.3fr) minmax(330px,.7fr)}.search-console{padding:22px;display:flex;flex-direction:column;justify-content:center;gap:14px;border-right:1px solid var(--hair)}.search-console label{font:12px var(--mono);letter-spacing:.09em;color:var(--dim)}.search-console input{width:100%;background:var(--ground);border:1px solid var(--hair);border-radius:var(--r);color:var(--bone);padding:16px;font:15px var(--mono);outline:none}.search-console input:focus{border-color:var(--violet)}.filter-row{display:flex;flex-wrap:wrap;gap:7px}.filter-row button,.copy{border:1px solid var(--hair);border-radius:var(--r);background:transparent;color:var(--dim);padding:6px 9px;font:12px var(--mono);text-transform:uppercase}.filter-row button.on,.filter-row button:hover,.copy:hover{color:var(--bone);border-color:var(--bone)}.keyrow{display:grid;grid-template-columns:minmax(300px,1.3fr) minmax(0,1fr) 120px;gap:18px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--hair-soft)}.keyrow:last-child{border-bottom:0}.keyrow[hidden]{display:none}.keyaddr{font:13px var(--mono);overflow-wrap:anywhere}.keymeta,.keypowers{font:12px/1.5 var(--mono);color:var(--dim)}.keypowers{color:var(--bone)}
.dead-open{grid-template-columns:minmax(0,1.25fr) minmax(380px,.75fr)}.terms{display:grid;grid-template-rows:repeat(4,1fr);border-right:1px solid var(--hair)}.term{display:grid;grid-template-columns:110px 1fr;gap:18px;align-items:center;padding:12px 18px;border-bottom:1px solid var(--hair-soft)}.term:last-child{border-bottom:0}.term b,.term span{font:12px/1.4 var(--mono)}.term b{font-weight:500}.term span{color:var(--dim)}.attempt{display:grid;grid-template-columns:52px minmax(160px,.55fr) minmax(0,1fr) 110px;gap:14px;padding:13px 18px;border-bottom:1px solid var(--hair-soft);font:12px/1.5 var(--mono)}.attempt:last-child{border-bottom:0}.attempt .num,.attempt .path{color:var(--dim)}.attempt .test{overflow-wrap:anywhere}.attempt .open{color:var(--bone)}
.slots-open{grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr)}.slot-diagram{position:relative;display:grid;grid-template-columns:160px 1fr 160px;gap:34px;align-items:center;padding:24px;border-right:1px solid var(--hair)}.slot-node{position:relative;z-index:2;border:1px solid var(--hair);background:var(--deep);padding:16px;font:12px/1.5 var(--mono)}.slot-node strong{display:block;color:var(--bone);font-weight:500}.slot-node span{color:var(--dim)}.slot-lanes{display:flex;flex-direction:column;gap:22px}.slot-lane{height:1px;background:linear-gradient(90deg,var(--violet),var(--bone));position:relative}.slot-lane:before,.slot-lane:after{content:'';position:absolute;top:-3px;width:7px;height:7px;border-radius:2px;background:var(--bone)}.slot-lane:before{left:0}.slot-lane:after{right:0}.slot-label{position:absolute;left:50%;top:-20px;transform:translateX(-50%);font:12px var(--mono);color:var(--dim);white-space:nowrap}.slotgroup{border-bottom:1px solid var(--hair-soft)}.slotgroup:last-child{border-bottom:0}.slotgroup h2{display:flex;justify-content:space-between;gap:20px;padding:12px 18px;background:var(--deep);font:700 18px var(--display);text-transform:uppercase}.slotgroup h2 small{font:12px var(--mono);color:var(--dim);font-weight:400}.slotline{display:grid;grid-template-columns:150px minmax(0,1fr) 100px;gap:14px;padding:10px 18px;border-top:1px solid var(--hair-soft);font:12px var(--mono);color:var(--dim)}.slotline code{color:var(--bone);overflow-wrap:anywhere}
.uselog-open{grid-template-rows:74px minmax(0,1fr)}.scan-summary{display:grid;grid-template-columns:260px 1fr 180px;border-bottom:1px solid var(--hair)}.scan-summary>div{padding:14px 18px;border-right:1px solid var(--hair-soft);display:flex;flex-direction:column;justify-content:center;gap:5px}.scan-summary>div:last-child{border-right:0}.scan-summary b{font:600 15px var(--mono)}.scan-table{width:100%;border-collapse:collapse;table-layout:fixed}.scan-table th,.scan-table td{text-align:left;border-right:1px solid var(--hair-soft);border-bottom:1px solid var(--hair-soft);padding:7px 12px;font:12px var(--mono)}.scan-table th{color:var(--dim);text-transform:uppercase;letter-spacing:.08em;background:var(--deep)}.scan-table td:nth-child(3),.scan-table td:last-child{text-align:right}.scan-table tr:last-child td{border-bottom:0}.eventgroup{border-bottom:1px solid var(--hair-soft)}.eventgroup:last-child{border-bottom:0}.eventgroup h2{padding:11px 18px;background:var(--deep);font:700 18px var(--display);text-transform:uppercase}.eventgroup h2 small{font:12px var(--mono);font-weight:400;color:var(--dim);margin-left:10px}.eventrow{display:grid;grid-template-columns:1fr 80px 1fr;gap:12px;padding:8px 18px;border-top:1px solid var(--hair-soft);font:12px var(--mono)}.eventrow span:nth-child(2){text-align:right}.eventrow span:last-child{text-align:right;color:var(--dim)}
.readback-open{grid-template-rows:66px minmax(0,1fr)}.status-strip{display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid var(--hair)}.status-cell{padding:11px 16px;border-right:1px solid var(--hair-soft);display:flex;flex-direction:column;justify-content:center;gap:5px}.status-cell:last-child{border-right:0}.status-cell span{font:12px var(--mono);color:var(--dim);text-transform:uppercase;letter-spacing:.08em}.status-cell b{font:500 13px var(--mono)}.readback-copy{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr)}.readback-copy .open-copy{border-right:1px solid var(--hair)}.terminal{padding:18px;font:12px/1.55 var(--mono);color:var(--dim);display:flex;flex-direction:column;justify-content:center}.terminal b{color:var(--bone);font-weight:500}.readback-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr)}.requests{min-width:0}.request{border-bottom:1px solid var(--hair-soft);font:12px/1.5 var(--mono)}.request-head{display:flex;justify-content:space-between;gap:12px;padding:8px 12px;background:var(--deep);color:var(--dim)}.request code{display:block;padding:9px 12px;color:var(--bone);overflow-wrap:anywhere;word-break:break-all}.limits{border-left:1px solid var(--hair)}.limits h2{padding:12px 16px;border-bottom:1px solid var(--hair);font:700 18px var(--display);text-transform:uppercase}.limits p{padding:10px 16px;border-bottom:1px solid var(--hair-soft);font:13px/1.45 var(--body)}.limits p span{display:block;margin-bottom:4px;font:12px var(--mono);color:var(--dim)}
.loading{height:100%;display:grid;place-items:center;border:1px solid var(--hair);font:12px var(--mono);color:var(--dim)}.error{padding:10px 14px;border:1px solid var(--lock);background:var(--surface);font:12px/1.5 var(--mono)}
@media(prefers-reduced-motion:reduce){#sweep{display:none}}
@media(max-width:760px){:root{--rail:56px;--pad:12px}html,body{overflow:hidden}.rail{padding:6px 4px 9px}.brand{gap:4px}.brand img{width:44px;height:44px}.brand strong{font-size:15px}.brand small{font-size:12px;letter-spacing:.03em}.brand i{width:32px}.rail nav{gap:12px}.rail nav a{font-size:12px;letter-spacing:.08em}.rail-foot span{font-size:12px;padding:5px 1px}.deck{padding:10px;gap:10px;overflow-y:auto}.band{flex:0 0 auto;grid-template-columns:repeat(2,minmax(0,1fr))}.band-id{grid-column:1/-1;border-right:0;border-bottom:1px solid var(--hair)}.band h1{font-size:21px}.read{min-height:70px;border-bottom:1px solid var(--hair-soft);padding:9px 11px}.board-work{flex:0 0 auto;grid-template-columns:minmax(0,1fr);gap:10px}.plate-wrap{overflow-x:auto}.keyplate{min-width:756px;height:520px}.side{min-height:620px}.logstrip{flex:0 0 260px}.logbody{overflow-x:auto}.logrow{min-width:760px;padding:7px 12px}.baseline{flex:0 0 auto;min-height:52px;flex-wrap:wrap;gap:6px 12px;white-space:normal;padding:8px 0}.baseline .links{margin-left:0}.route-page{height:auto;min-height:calc(100vh - 20px);grid-template-rows:auto minmax(420px,auto) auto;overflow:visible}.route-open{min-height:440px}.route-body{min-height:520px;overflow:visible}.functions-open,.keys-open,.dead-open,.slots-open,.readback-copy,.readback-grid{grid-template-columns:1fr}.function-measure,.search-console,.terms,.slot-diagram,.readback-copy .open-copy{border-right:0;border-bottom:1px solid var(--hair)}.function-measure{min-height:220px}.measure{padding:13px}.measure strong{font-size:48px}.function-index{grid-template-columns:40px 1fr}.function-index dl{grid-column:2}.keyrow{grid-template-columns:1fr}.dead-open{min-height:560px}.attempt{grid-template-columns:38px 1fr}.attempt .test{grid-column:2}.slot-diagram{grid-template-columns:105px 1fr 105px;gap:14px;min-height:240px}.scan-summary{grid-template-columns:1fr}.scan-summary>div{border-right:0;border-bottom:1px solid var(--hair-soft)}.uselog-open{grid-template-rows:auto minmax(360px,1fr)}.hscroll{overflow-x:auto}.scan-table{min-width:720px}.status-strip{grid-template-columns:repeat(2,1fr)}.status-cell{min-height:62px;border-bottom:1px solid var(--hair-soft)}.readback-open{grid-template-rows:auto auto}.terminal{min-height:180px}.limits{border-left:0;border-top:1px solid var(--hair)}.slotline{grid-template-columns:105px minmax(0,1fr)}.slotline span:last-child{grid-column:2}.eventrow{grid-template-columns:1fr 50px}.eventrow span:last-child{grid-column:1/-1;text-align:left}}
