:root{--ground: #EEF3F4;--surface: #FFFFFF;--surface-2: #F6F9F9;--surface-3: #ECF2F2;--ink: #0B2F38;--ink-2: #3E5D66;--ink-3: #6B858D;--rule: #D2E0E2;--rule-2: #B9CDD1;--accent: #C46A00;--accent-bright: #F7941D;--teal: #06414D;--teal-2: #0A5563;--cyan: #0E7F9F;--good: #2C7A4B;--good-bg: #E4F3EA;--warn: #96560A;--warn-bg: #FBEEDD;--bad: #A32017;--bad-bg: #FBE7E4;--shadow: 0 1px 2px rgba(6,65,77,.06), 0 8px 24px rgba(6,65,77,.06)}:root[data-theme=dark]{--ground: #071A1F;--surface: #0D262C;--surface-2: #102E35;--surface-3: #14343B;--ink: #DCE9EA;--ink-2: #9FBAC0;--ink-3: #71949C;--rule: #1C3C44;--rule-2: #2A5058;--accent: #F7941D;--accent-bright: #FBB05A;--teal: #8FCADB;--teal-2: #6FB6CC;--cyan: #4FC0E0;--good: #6FC28C;--good-bg: #0F2E1E;--warn: #E8B26A;--warn-bg: #33240E;--bad: #F08A7E;--bad-bg: #3A1712;--shadow: 0 1px 2px rgba(0,0,0,.3), 0 8px 24px rgba(0,0,0,.25)}@media (prefers-color-scheme: dark){:root[data-theme=system]{--ground: #071A1F;--surface: #0D262C;--surface-2: #102E35;--surface-3: #14343B;--ink: #DCE9EA;--ink-2: #9FBAC0;--ink-3: #71949C;--rule: #1C3C44;--rule-2: #2A5058;--accent: #F7941D;--accent-bright: #FBB05A;--teal: #8FCADB;--teal-2: #6FB6CC;--cyan: #4FC0E0;--good: #6FC28C;--good-bg: #0F2E1E;--warn: #E8B26A;--warn-bg: #33240E;--bad: #F08A7E;--bad-bg: #3A1712;--shadow: 0 1px 2px rgba(0,0,0,.3), 0 8px 24px rgba(0,0,0,.25)}}*{box-sizing:border-box}html,body,#app{height:100%}body{background:var(--ground);color:var(--ink);font:400 15px/1.5 Segoe UI,Helvetica Neue,system-ui,sans-serif;-webkit-font-smoothing:antialiased;margin:0}.mono{font-family:Consolas,Cascadia Mono,Courier New,monospace}button{font:inherit}table{border-collapse:collapse;width:100%}a{color:var(--cyan)}.app{display:flex;flex-direction:column;min-height:100vh}header.topbar{display:flex;align-items:center;gap:22px;padding:0 22px;height:56px;background:var(--teal);color:#fff;flex-shrink:0}:root[data-theme=dark] header.topbar{color:var(--ground)}.brand{display:flex;align-items:center;gap:9px;font-weight:700;font-size:15.5px}.brand .dot{width:9px;height:9px;border-radius:50%;background:var(--accent-bright)}.modtabs{display:flex;gap:4px;flex:1;overflow-x:auto}.modtabs a,.modtabs .tabitem{display:flex;align-items:center;gap:7px;padding:8px 13px;border-radius:7px;font-size:13px;color:#ffffffad;text-decoration:none;white-space:nowrap;cursor:default}.modtabs .tabitem.on{background:#ffffff24;color:#fff;font-weight:600}.modtabs .tabitem.soon{opacity:.42}.topbar .right{display:flex;align-items:center;gap:14px;margin-left:auto}.iconbtn{background:transparent;border:0;color:#ffffffd9;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:6px;border-radius:6px}.iconbtn:hover{background:#ffffff1f}.who{display:flex;align-items:center;gap:8px;font-size:12.5px}.who .av{width:26px;height:26px;border-radius:50%;background:var(--accent-bright);color:#1a0e00;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:11px}.concept-banner{background:var(--warn-bg);border-bottom:1px solid var(--rule);padding:9px 22px;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;font-size:12.8px;color:var(--warn)}.concept-banner b{font-family:Consolas,monospace;letter-spacing:.09em;text-transform:uppercase;font-size:10.5px}.concept-banner .plain{color:var(--ink-2)}.stripwrap{background:var(--surface);border-bottom:1px solid var(--rule);padding:14px 22px 12px}.strip{display:flex;align-items:center;max-width:74rem;margin:0 auto}.strip .seg{flex:1;text-align:center;padding:0 4px}.strip .seg .lbl{font-size:11px;color:var(--ink-3);line-height:1.3}.strip .seg .bar{height:5px;border-radius:3px;background:var(--rule);margin:6px 0}.strip .seg.done .bar{background:var(--good)}.strip .seg.active .bar{background:var(--accent-bright)}.strip .seg.active .lbl{color:var(--ink);font-weight:700}.strip .seg.done .lbl{color:var(--ink-2)}.shell{display:flex;flex:1;min-height:0}nav.side{width:198px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--rule);padding:18px 12px}nav.side .grp{margin-bottom:22px}nav.side .grp .h{font-family:Consolas,monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);padding:0 10px 8px}nav.side button.tab{display:flex;align-items:center;gap:9px;width:100%;text-align:left;padding:9px 10px;border-radius:7px;border:0;background:transparent;color:var(--ink-2);font-size:13.5px;cursor:pointer;margin-bottom:2px}nav.side button.tab .ic{display:flex;width:18px}nav.side button.tab:hover{background:var(--surface-2)}nav.side button.tab.on{background:var(--teal);color:#fff;font-weight:600}:root[data-theme=dark] nav.side button.tab.on{color:var(--ground)}nav.side button.tab .badge{margin-left:auto;background:var(--bad);color:#fff;font-size:10.5px;font-weight:800;border-radius:9px;padding:1px 6px;min-width:16px;text-align:center}nav.side button.tab.on .badge{background:#ffffff47}main{flex:1;min-width:0;padding:24px 28px 60px;overflow-x:hidden}.view{max-width:78rem;margin:0 auto}h1.pt{font-size:20px;font-weight:700;color:var(--teal);margin:0 0 4px}p.psub{color:var(--ink-2);font-size:13.6px;margin:0 0 22px;max-width:52rem}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:10px;overflow:hidden;margin:0 0 26px}.tiles>div{background:var(--surface);padding:16px 18px}.tiles .v{font-family:Consolas,monospace;font-size:27px;font-weight:700;color:var(--teal);line-height:1}.tiles .v.acc{color:var(--accent)}.tiles .v.g{color:var(--good)}.tiles .v.b{color:var(--bad)}.tiles .l{font-size:12px;color:var(--ink-2);margin-top:7px;line-height:1.35}.panel{background:var(--surface);border:1px solid var(--rule);border-radius:10px;box-shadow:var(--shadow);margin:0 0 24px;overflow:hidden}.panel .ph{padding:13px 18px;border-bottom:1px solid var(--rule);background:var(--surface-2);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.panel .ph h3{margin:0;font-size:14px;color:var(--teal)}.panel .ph .note{font-size:12px;color:var(--ink-3)}.panel .pb{padding:4px 0}table.grid th{text-align:left;font-family:Consolas,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:400;padding:10px 16px;border-bottom:1px solid var(--rule-2);background:var(--surface-2);white-space:nowrap}table.grid td{padding:9px 16px;border-bottom:1px solid var(--rule);font-size:13px;vertical-align:middle}table.grid tr:last-child td{border-bottom:0}.pill{display:inline-flex;align-items:center;gap:5px;font-family:Consolas,monospace;font-size:10.5px;letter-spacing:.05em;padding:3px 8px;border-radius:20px;font-weight:700;white-space:nowrap}.pill.pass{background:var(--good-bg);color:var(--good)}.pill.dsq{background:var(--bad-bg);color:var(--bad)}.pill.exc{background:var(--warn-bg);color:var(--warn)}.pill.res{background:var(--surface-3);color:var(--ink-2)}button.btn{border:1px solid var(--rule-2);background:var(--surface);color:var(--ink);border-radius:7px;padding:6px 12px;font-size:12.5px;cursor:pointer}button.btn:hover{background:var(--surface-2)}button.btn.pri{background:var(--teal);border-color:var(--teal);color:#fff}:root[data-theme=dark] button.btn.pri{color:var(--ground)}button.btn.pri:hover{background:var(--teal-2)}button.btn:disabled{opacity:.4;cursor:default}.dgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px 20px;margin:0 0 16px}.dfig{background:var(--surface);border:1px solid var(--rule);border-radius:8px;padding:11px 13px}.dfig .k{font-family:Consolas,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.dfig .v{font-size:17px;font-weight:700;color:var(--ink);margin-top:4px;font-family:Consolas,monospace}.dfig .v.warn{color:var(--warn)}.reason{font-size:13px;color:var(--ink-2);margin:0 0 16px;padding:10px 13px;background:var(--surface);border-left:3px solid var(--accent-bright);border-radius:0 6px 6px 0}.actionrow{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.actionrow select,.actionrow input[type=text]{font:inherit;font-size:13px;padding:7px 10px;border:1px solid var(--rule-2);border-radius:7px;background:var(--surface);color:var(--ink)}.actionrow input[type=text]{flex:1;min-width:200px}.helptext{font-size:11.5px;color:var(--ink-3);margin-top:8px}.cfgcard{background:var(--surface);border:1px solid var(--rule);border-radius:10px;padding:16px 18px;margin:0 0 18px;box-shadow:var(--shadow)}.cfgcard h4{margin:0 0 3px;font-size:14px;color:var(--teal)}.cfgcard .sub{font-size:12px;color:var(--ink-3);margin-bottom:12px}.ladder{display:flex;flex-direction:column;gap:8px}.lrow{display:grid;grid-template-columns:130px 1fr 70px;gap:14px;align-items:center;padding:8px 12px;background:var(--surface-2);border-radius:7px;font-size:12.8px}.lrow .nm{font-weight:700;color:var(--ink)}.lrow .cond{color:var(--ink-2);font-family:Consolas,monospace;font-size:11.5px}.lrow .rt{font-family:Consolas,monospace;font-weight:800;text-align:right}.lrow.rock{border-left:3px solid var(--accent-bright)}.lrow.qm{border-left:3px solid var(--cyan)}.lrow.ab{border-left:3px solid var(--good)}.rail{border:1px solid var(--rule);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden;margin:0 0 26px}.rail .step{display:grid;grid-template-columns:160px 1fr;gap:4px 18px;padding:16px 20px;border-bottom:1px solid var(--rule)}.rail .step:last-child{border-bottom:0}.rail .step.done{background:var(--good-bg)}.rail .when{font-family:Consolas,monospace;font-size:11.5px;color:var(--accent);padding-top:2px}.rail .what b{display:block;color:var(--teal);font-size:15px;margin-bottom:4px}.rail .what span{color:var(--ink-2);font-size:13.5px}.rail .statuspill{font-family:Consolas,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3)}@media (max-width: 620px){.rail .step{grid-template-columns:1fr}}footer.appfoot{border-top:1px solid var(--rule);padding:16px 28px;font-size:11.5px;color:var(--ink-3);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;background:var(--surface)}.loginwrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--ground)}.logincard{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--rule);border-radius:12px;padding:32px 30px;box-shadow:var(--shadow)}.logincard h1{font-size:18px;color:var(--teal);margin:0 0 6px}.logincard p{font-size:13px;color:var(--ink-2);margin:0 0 20px}.logincard input{width:100%;font:inherit;font-size:14px;padding:10px 12px;border:1px solid var(--rule-2);border-radius:8px;background:var(--surface);color:var(--ink);margin-bottom:12px}.logincard .err{color:var(--bad);font-size:12.5px;margin-bottom:10px}@media (max-width: 820px){.shell{flex-direction:column}nav.side{width:100%;display:flex;overflow-x:auto;padding:10px 12px;gap:6px}nav.side .grp{margin-bottom:0;display:flex;gap:4px}nav.side .grp .h{display:none}}
