:root{--ink: #0a1417;--panel: #0f1d22;--sunk: #0b1220;--line: #1c2e33;--paper: #e7efec;--dim: #97aaa5;--faint: #778b87;--signal: #f2a93b;--verify: #43d6a6;--address: #6ba8ff;--sans: "IBM Plex Sans", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body{margin:0}body{background:var(--ink);color:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--address)}a:focus-visible,button:focus-visible{outline:2px solid var(--signal);outline-offset:3px;border-radius:4px}.topbar{border-bottom:1px solid var(--line);background:#0a1417eb;position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.topbar .bar{max-width:1180px;margin:0 auto;padding:0 20px;height:56px;display:flex;align-items:center;gap:18px}.brand{font-family:var(--mono);font-weight:600;font-size:.8rem;letter-spacing:.02em;display:flex;align-items:center;gap:9px;color:var(--paper);text-decoration:none}.brand .dot{width:9px;height:9px;border-radius:2px;background:var(--signal);box-shadow:0 0 0 3px #f2a93b26,8px 0 0 -2px var(--verify)}.brand .surface{color:var(--dim);font-weight:400;margin-left:4px}.topnav{display:flex;gap:4px;margin-left:18px;overflow-x:auto;scrollbar-width:none}.topnav::-webkit-scrollbar{display:none}.topnav a{font-size:15px;color:var(--dim);text-decoration:none;padding:6px 10px;border-radius:8px;white-space:nowrap}.topnav a:hover{color:var(--paper)}.topnav a.on{color:var(--paper);background:var(--sunk)}.signout{margin-left:auto;font:inherit;font-size:14px;color:var(--dim);background:none;border:1px solid var(--line);border-radius:8px;padding:5px 10px;cursor:pointer;white-space:nowrap}.signout:hover{color:var(--paper);border-color:var(--dim)}main{padding:28px 0 80px}.wrap{max-width:1180px;margin:0 auto;padding:0 20px}.page{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden}.head{padding:22px 26px 0}.crumb{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-bottom:8px}.crumb b{color:var(--signal);font-weight:600}h1{margin:0 0 16px;font-size:1.45rem;font-weight:600;letter-spacing:-.01em;line-height:1.2}.lede{color:var(--dim);margin:0 0 20px;max-width:60ch}.signin{max-width:560px;margin:60px auto;padding:0 20px}.signin h1{font-size:1.6rem}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:22px;margin:0 0 16px}.card label{display:block;font-size:14px;color:var(--dim);margin-bottom:6px}.card input{width:100%;font:inherit;font-size:16px;color:var(--paper);background:var(--sunk);border:1px solid var(--line);border-radius:8px;padding:9px 10px;margin-bottom:12px}.err{color:var(--signal)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);overflow-x:auto}.tab{font:inherit;font-size:15px;color:var(--dim);background:transparent;border:0;border-bottom:2px solid transparent;padding:10px 14px;cursor:pointer;white-space:nowrap}.tab:hover{color:var(--paper)}.tab.on{color:var(--paper);border-bottom-color:var(--signal)}.panel{display:none}.panel.on{display:block}.sec{display:flex;align-items:baseline;gap:14px;padding:18px 26px 8px;font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}.sec+.sec{border-top:1px solid var(--line);margin-top:6px}.sec .k{color:var(--faint);text-transform:none;letter-spacing:0;font-family:var(--sans);font-size:14px}.row{display:grid;gap:12px;padding:9px 26px;border-top:1px solid var(--line);align-items:center;font-size:15px}.row.hdr{color:var(--faint);font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}.row .lab{color:var(--paper);font-weight:500}.row .lab small{display:block;font-family:var(--mono);font-size:.72rem;color:var(--faint);font-weight:400;margin-top:2px}.row .val{color:var(--paper)}.row .val small{display:block;color:var(--dim);font-size:14px;margin-top:1px}.row .who{color:var(--dim);font-size:14px}.row.click{cursor:pointer}.row.click:hover{background:#ffffff05}.deps{display:none;grid-column:1 / -1;padding:2px 0 6px;color:var(--dim);font-size:14px;line-height:1.5}.row.open .deps{display:block}.lines{display:flex;flex-direction:column;gap:6px}.line{display:grid;grid-template-columns:1fr 300px 120px;gap:12px;align-items:center}.line .name{display:flex;align-items:center;gap:8px;color:var(--paper)}.fav{width:16px;height:16px;border-radius:3px;flex:none}.fav.dot{display:inline-block;border:1px solid var(--line);background:var(--sunk)}.blank{font-family:var(--mono);font-size:.85rem;color:var(--signal)}.num{font-family:var(--mono);font-size:.78rem;color:var(--faint)}.st{display:inline-block;font-family:var(--mono);font-size:.72rem;padding:2px 8px;border-radius:999px;border:1px solid;white-space:nowrap}.st.good{color:var(--verify);border-color:#43d6a673}.st.info{color:var(--address);border-color:#6ba8ff73}.st.open{color:var(--signal);border-color:#f2a93b80}.note{color:var(--dim);font-size:14px;padding:10px 26px 4px;line-height:1.45}.desc{padding:18px 26px 4px;font-size:16px;line-height:1.55;color:var(--paper);max-width:900px}.empty{padding:26px;color:var(--dim);font-size:15px}.foot{display:flex;align-items:center;gap:14px;padding:14px 26px;border-top:1px solid var(--line);color:var(--dim);font-size:14px}.foot .sp{flex:1}.btn{font:inherit;font-size:14px;color:var(--paper);background:transparent;border:1px solid var(--line);border-radius:8px;padding:5px 10px;cursor:pointer;white-space:nowrap;text-decoration:none;display:inline-block}.btn:hover{border-color:var(--dim)}.btn.quiet{color:var(--dim)}.btn.primary{background:var(--paper);color:var(--ink);border-color:var(--paper);font-weight:500}.btn:disabled{opacity:.45;cursor:default}.diagram-wrap{padding:12px 26px 18px;overflow-x:auto}.walk{display:block;max-width:100%;height:auto}.legend{display:flex;flex-wrap:wrap;gap:8px 14px;padding:10px 26px 0;color:var(--dim);font-size:14px}.dim{color:var(--dim)}.in{font:inherit;font-size:15px;color:var(--paper);background:var(--sunk);border:1px solid var(--line);border-radius:8px;padding:6px 8px;width:100%}textarea.in{resize:vertical}select.in{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.lbl{display:block;font-family:var(--mono);font-size:.72rem;color:var(--faint);margin:10px 0 4px;text-transform:uppercase;letter-spacing:.06em}.sec2{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--dim);margin:16px 0 6px;border-top:1px solid var(--line);padding-top:10px}.att{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:4px 0;font-size:14px}.att .btn{padding:3px 8px;font-size:13px}.add{display:grid;grid-template-columns:1fr auto;gap:6px;margin-top:6px;align-items:center}.add .btn{padding:6px 10px}.acts{display:flex;flex-wrap:wrap;gap:6px}.topbar-edit,.topbar.inpage{position:static}.page .topbar{position:static;display:flex;align-items:center;gap:10px;padding:8px 26px 10px;border-bottom:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.page .topbar .sp{flex:1}#ver{font-family:var(--mono);font-size:.78rem;color:var(--dim)}.savebox{display:flex;gap:8px;padding:10px 26px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center}.savebox .in{width:auto;flex:1}.savebox[hidden]{display:none}.editor{display:grid;grid-template-columns:1fr 420px}.walkwrap{overflow:auto;max-height:74vh;padding:12px 16px 18px}.side{border-left:1px solid var(--line);padding:14px 18px 18px;overflow:auto;max-height:74vh}.ph{display:flex;gap:10px;align-items:center;margin-bottom:8px}#doc{margin:0;padding:16px 26px 22px;font-family:var(--mono);font-size:.8rem;line-height:1.5;color:var(--paper);white-space:pre-wrap}.dev{color:var(--signal)}.hit:focus{outline:none}.acting{display:flex;align-items:center;gap:8px;margin-left:14px;font-size:14px}.acting .in{padding:4px 8px;font-size:14px}
