:root{--bg: #0a0a0a;--panel: #101010;--raise: #161616;--line: #262626;--line2: #1a1a1a;--ink: #f4f4f2;--ink2: #a6a6a2;--ink3: #6c6c68;--acc: #ff4d1e;--on-acc: #0a0a0a;--sans: "Inter Tight", Inter, -apple-system, sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace;--t-ui: .16s;--t-cam: .55s;--ease: cubic-bezier(.2, .8, .25, 1);--space: 4px}:root[data-theme=light]{--bg: #fbfbf9;--panel: #fff;--raise: #f2f2ef;--line: #dfdfda;--line2: #ebebe7;--ink: #0c0c0a;--ink2: #4a4a45;--ink3: #8b8b85;--on-acc: #fff}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow:hidden}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}.mono{font-family:var(--mono)}.lbl{font-family:var(--mono);font-size:.6rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink3)}.app{height:100%;display:flex;flex-direction:column}.app:before{content:"";height:4px;background:var(--acc);flex:0 0 auto}.top{flex:0 0 auto;display:flex;align-items:center;gap:20px;padding:10px clamp(16px,2vw,28px);border-bottom:1px solid var(--line)}.brand h1{margin:0;font-size:clamp(.95rem,1.6vw,1.25rem);font-weight:600;letter-spacing:-.025em}.brand h1 em{font-style:normal;color:var(--acc)}.brand .sub{font-family:var(--mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);margin-top:3px}.crumb{flex:1;min-width:0;font-family:var(--mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink2)}.crumb button{background:none;border:0;color:var(--acc);padding:0 4px;letter-spacing:inherit;text-transform:inherit;font:inherit}.crumb button:hover{color:var(--ink)}.tools{display:flex;border:1px solid var(--line)}.btn{font-family:var(--mono);font-size:.63rem;letter-spacing:.11em;text-transform:uppercase;padding:8px 13px;border:0;border-right:1px solid var(--line);background:transparent;color:var(--ink2)}.tools .btn:last-child{border-right:0}.btn:hover,.btn.on{background:var(--acc);color:var(--on-acc)}.btn:focus-visible,.node:focus-visible .hit{outline:2px solid var(--acc);outline-offset:2px}.scene{flex:1;min-height:0;position:relative;overflow:hidden}#dia{position:absolute;inset:0;width:100%;height:100%;display:block}#dia text{pointer-events:none;-webkit-user-select:none;user-select:none}.node{cursor:pointer;transform-box:fill-box;transform-origin:center}.shape{cursor:default}.stack{display:none;flex:1;overflow:auto}@media(max-width:700px){.scene{display:none}.stack{display:block}.brand .sub{display:none}}.stk-h{padding:14px 16px 10px;border-bottom:1px solid var(--line)}.stk-h b{display:block;font-size:1.1rem;margin-top:4px}.stack button.row{width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line2);padding:12px 16px;color:var(--ink2);display:flex;gap:12px}.stack button.row:hover{background:var(--raise);color:var(--ink)}.stack button.row b{font-family:var(--mono);font-size:.68rem;color:var(--acc)}.sheet{position:fixed;z-index:12;width:400px;max-width:calc(100vw - 24px);max-height:min(660px,calc(100vh - 24px));background:var(--panel);border:1px solid var(--line);display:none;flex-direction:column;box-shadow:0 24px 60px #00000080}.sheet.open{display:flex}.sh-h{padding:16px 18px;border-bottom:1px solid var(--line);position:relative}.sh-h.trap{background:var(--acc)}.sh-h.trap .k,.sh-h.trap h2{color:var(--on-acc)}.sh-h .k{font-family:var(--mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--acc);margin:0 0 8px;padding-right:28px}.sh-h h2{margin:0;font-size:1.4rem;font-weight:600;letter-spacing:-.028em;line-height:1.15;padding-right:28px}.close{position:absolute;top:12px;right:12px;width:24px;height:24px;border:1px solid var(--line);background:none;color:var(--ink3)}.close:hover{background:var(--acc);border-color:var(--acc);color:var(--on-acc)}.sh-b{overflow:auto;flex:1}.blk{padding:14px 18px;border-bottom:1px solid var(--line)}.blk h4{margin:0 0 8px;font-family:var(--mono);font-size:.6rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink3);font-weight:400}.blk ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:7px}.blk li{position:relative;padding-left:16px;font-size:.83rem;color:var(--ink2)}.blk li:before{content:"";position:absolute;left:0;top:.44em;width:5px;height:5px;background:var(--acc)}.blk p{margin:0;font-size:.88rem;color:var(--ink2)}.reveal{margin-top:10px}.reveal .btn{border:1px solid var(--line);display:inline-block}.intro{position:fixed;inset:0;z-index:20;background:#0a0a0ab8;display:flex;align-items:center;justify-content:center;padding:24px}.intro.hid{display:none}.intro-box{background:var(--panel);border:1px solid var(--line);padding:28px 28px 22px;max-width:420px}.intro-box h2{margin:0 0 10px;font-size:1.6rem;letter-spacing:-.03em}.intro-box p{margin:0 0 18px;color:var(--ink2);font-size:.92rem}body.present .top,body.present .scene,body.present .stack{display:none}body.present .app:before{display:none}body.present .sheet{display:flex;position:static;width:100%;max-width:none;max-height:none;height:100%;border:0;box-shadow:none;background:var(--bg)}body.present .close{display:none}body.present .sh-h h2{font-size:clamp(2.4rem,6vw,5rem)}.ed{position:fixed;inset:0 0 0 auto;width:min(520px,100%);background:var(--bg);border-left:1px solid var(--line);z-index:30;display:flex;flex-direction:column}.ed-h,.ed-f{display:flex;align-items:center;border-bottom:1px solid var(--line);padding:10px 14px;gap:8px}.ed-f{border-bottom:0;border-top:1px solid var(--line);margin-top:auto}.ed-h b{flex:1;font-family:var(--mono);font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;color:var(--acc)}.ed-tabs{display:flex;border-bottom:1px solid var(--line)}.ed-tabs button{flex:1;background:none;border:0;border-right:1px solid var(--line);font-family:var(--mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;padding:9px 4px;color:var(--ink3)}.ed-tabs button[aria-selected=true]{background:var(--acc);color:var(--on-acc)}.ed-b{flex:1;overflow:auto;padding:16px 16px 40px}.fld{margin-bottom:12px}.fld label{display:block;font-family:var(--mono);font-size:.56rem;letter-spacing:.11em;text-transform:uppercase;color:var(--ink3);margin-bottom:5px}.fld input,.fld textarea,.fld select{width:100%;background:var(--panel);border:1px solid var(--line);padding:7px 9px;border-radius:0}.fld textarea{min-height:72px;resize:vertical}.card{border:1px solid var(--line);padding:10px;margin-bottom:8px;background:var(--panel)}.row{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.mini{font-family:var(--mono);font-size:.6rem;padding:5px 8px;background:none;border:1px solid var(--line);color:var(--ink3)}.mini:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}.login{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px}.lock-box{width:min(380px,100%);border:1px solid var(--line);padding:24px;background:var(--panel)}.lock-box h2{margin:0 0 8px}.lock-err{color:var(--acc);font-family:var(--mono);font-size:.68rem;min-height:1em;margin-top:8px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%) translateY(80px);background:var(--acc);color:var(--on-acc);padding:11px 18px;font-family:var(--mono);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;z-index:50;transition:transform .24s var(--ease);pointer-events:none}.toast.show{transform:translate(-50%) translateY(0)}.hlp{font-size:.75rem;color:var(--ink3);line-height:1.45;margin:0 0 12px}.admin-app{height:100%;display:flex;flex-direction:column}@media(prefers-reduced-motion:reduce){.sheet,.btn,.toast{transition:none!important}}
