
:root{--ink:#10213f;--ink2:#4a5a78;--mut:#8592aa;--line:#d9e0ec;--bg:#f6f8fc;--card:#fff;--acc:#1f5eff;
  --hs:#16a34a;--cd:#e59a0b;--sd:#8b5cf6;--cl:#64748b;--atk:#e11d48}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--ink);font-family:'Space Grotesk',system-ui,sans-serif}
.mono{font-family:'JetBrains Mono',monospace}
header.top{display:flex;align-items:center;gap:16px;padding:13px 22px;background:linear-gradient(90deg,#0b1f4d,#1f5eff);color:#fff}
.wm{display:flex;flex-direction:column;line-height:1.05}.wm b{font:700 16px 'Space Grotesk';letter-spacing:.16em}.wm span{font:600 10.5px 'JetBrains Mono';letter-spacing:.24em;color:#9cc2ff}
.vb{width:1px;height:28px;background:rgba(255,255,255,.3)}.tagline{font-size:14px;color:#dbe7ff}
header.top .pill{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.3);color:#fff}
.logo{width:34px;height:34px;border:2px solid var(--ink);display:grid;place-items:center;font:700 13px 'JetBrains Mono'}
.brand{font:700 14px 'JetBrains Mono';letter-spacing:.1em}.brand i{font-style:italic;color:var(--acc)}
.brand small{display:block;font:500 10.5px 'JetBrains Mono';letter-spacing:.12em;color:var(--mut)}
.top .sp{flex:1}
.pill{font:600 11px 'JetBrains Mono';letter-spacing:.06em;color:var(--ink2);border:1px solid var(--line);padding:6px 10px;border-radius:6px;background:#fff}
.app{display:grid;grid-template-columns:250px minmax(0,1fr) 330px;grid-template-areas:"side view det" "side flow flow";gap:12px;padding:12px;max-width:1500px;margin:0 auto}
.panel{background:var(--card);border:1px solid #e3e9f4;border-radius:14px;overflow:hidden;box-shadow:0 1px 2px rgba(16,33,63,.04),0 6px 20px rgba(16,33,63,.05)}
.ph{display:flex;align-items:center;gap:8px;padding:11px 14px;border-bottom:1px solid var(--line);font:700 12px 'JetBrains Mono';letter-spacing:.12em}
.ph::before{content:'';width:4px;height:14px;border-radius:2px;background:var(--acc)}
/* sidebar */
#side{grid-area:side;align-self:start}
.proto{padding:12px;border-bottom:1px solid var(--line)}
.proto b{font:700 18px 'JetBrains Mono'}.proto span{display:block;font-size:12px;color:var(--ink2);margin-top:2px}
.chap{display:flex;gap:10px;padding:9px 12px;cursor:pointer;border-bottom:1px solid #eef1f7;align-items:flex-start}
.chap:hover{background:#f3f6fd}
.chap .num{flex:0 0 22px;height:22px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;font:600 11px 'JetBrains Mono';color:var(--mut)}
.chap .t{font:600 11.5px 'JetBrains Mono';letter-spacing:.04em}
.chap .s{font-size:11.5px;color:var(--ink2);margin-top:1px}
.chap.done .num{background:#e8eefc;border-color:#b9c9f5;color:var(--acc)}
.chap.on{background:#eef3ff;box-shadow:inset 3px 0 0 var(--acc)}.chap.on .num{background:var(--acc);border-color:var(--acc);color:#fff}
.chap.atk .t{color:var(--atk)}.chap.atk.on .num{background:var(--atk);border-color:var(--atk)}
.sepl{padding:8px 12px 4px;font:700 10px 'JetBrains Mono';letter-spacing:.14em;color:var(--atk);background:#fff5f7;border-bottom:1px solid #fbe1e7}
/* view */
#view{grid-area:view;display:flex;flex-direction:column}
.tabs{display:flex;gap:4px;padding:8px 10px;border-bottom:1px solid var(--line);align-items:center}
.tab{font:600 11px 'JetBrains Mono';letter-spacing:.06em;padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink2);cursor:pointer}
.tab.on{background:var(--acc);color:#fff;border-color:var(--acc)}
.tabs .sp{flex:1}
.cap{font:500 12px 'JetBrains Mono';color:var(--ink2)}
.stagewrap{position:relative;height:470px;background:radial-gradient(500px 260px at 50% 55%,rgba(31,94,255,.06),transparent 70%),radial-gradient(circle,#d5ddec 1px,transparent 1.3px) 0 0/22px 22px,#fbfcff}
#net,#seqWrap{position:absolute;inset:0;width:100%;height:100%}
#seqWrap{overflow-y:auto;background:#fff;display:none}
#seq{width:100%;display:block}
.dev-label{font:600 14px 'Space Grotesk';fill:var(--ink)}
.dev-ip{font:500 11.5px 'JetBrains Mono';fill:var(--ink2)}
.st-tag rect{fill:#f1f4fa;stroke:#dbe3f1}.st-tag text{font:700 10px 'JetBrains Mono';letter-spacing:.05em;fill:var(--ink2)}
.st-tag.good rect{fill:#ecfdf3;stroke:#a7e3bd}.st-tag.good text{fill:#15803d}
.st-tag.bad rect{fill:#fff1f3;stroke:#f9b4c2}.st-tag.bad text{fill:var(--atk)}
.route{fill:none;stroke-width:3;stroke-dasharray:8 7;stroke-linecap:round;animation:dash 0.6s linear infinite}
@keyframes dash{to{stroke-dashoffset:-13}}
.pcard text{font-family:'JetBrains Mono',monospace}
.xmark{font:700 22px 'JetBrains Mono';fill:var(--atk)}
/* details */
#det{grid-area:det;display:flex;flex-direction:column;max-height:calc(470px + 44px)}
#detBody{overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:11px}
#detBody>*{flex-shrink:0}
.kick{font:600 10.5px 'JetBrains Mono';letter-spacing:.12em;color:var(--mut)}
.dtitle{font:700 19px 'JetBrains Mono';margin-top:-6px}
.dsub{font-size:13px;color:var(--ink2);margin-top:-8px}
.dtext{font-size:13.5px;line-height:1.6;color:#2b3a57}
.anal{border-left:3px solid var(--acc);background:#f2f6ff;padding:8px 10px;font-size:13px;line-height:1.5;border-radius:0 6px 6px 0}
.anal b{display:block;font:700 9.5px 'JetBrains Mono';letter-spacing:.14em;color:var(--mut);margin-bottom:2px}
.anal.red{border-color:var(--atk);background:#fff4f6}
.pk{border:1px solid var(--line);border-radius:6px;overflow:hidden}
.pkh{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#f7f9fd;border-bottom:1px solid var(--line);font:600 11.5px 'JetBrains Mono'}
.badge{font:700 10.5px 'JetBrains Mono';color:#fff;padding:2px 6px;border-radius:3px}
.kv{display:grid;grid-template-columns:96px 1fr;font:12px 'JetBrains Mono'}
.kv div{padding:6px 10px;border-bottom:1px solid #eef1f7}
.kv div:nth-child(odd){color:var(--mut);font-size:10.5px;letter-spacing:.06em;font-weight:600}
.kv .new{background:#fff8e1;font-weight:700}
.flags{display:flex;flex-wrap:wrap;gap:3px}
.flags span{font-size:10px;padding:1px 5px;border:1px solid var(--line);border-radius:3px;color:#b4bdcd}
.flags span.on{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:700}
.note{padding:9px 10px;font-size:13px;line-height:1.55;background:#fffdf5}
.note em{font-style:normal;font-family:'JetBrains Mono';font-size:12px;background:#fff1c2;padding:0 3px;border-radius:2px}
.ws{font:12px 'JetBrains Mono';background:var(--ink);color:#d7e3ff;padding:8px 10px;border-radius:6px}
.ws b{display:block;color:#8fa6d8;font-size:9.5px;letter-spacing:.14em;margin-bottom:2px}
.kv2{display:grid;grid-template-columns:100px 1fr;font:12px 'JetBrains Mono';border-top:1px solid var(--line)}
.kv2 div{padding:6px 0;border-bottom:1px solid #eef1f7}.kv2 div:nth-child(odd){color:var(--mut);font-weight:600;font-size:10.5px}
/* flow table */
#flow{grid-area:flow}
.fh{display:flex;align-items:center;gap:14px;padding:8px 12px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.fh h3{font:700 13px 'JetBrains Mono';letter-spacing:.12em}
.leg{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:var(--ink2)}
.leg i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;vertical-align:0}
.ctl{margin-left:auto;display:flex;gap:6px;align-items:center}
.btn{font:600 12px 'JetBrains Mono';padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);cursor:pointer}
.btn.pri{background:var(--acc);border-color:var(--acc);color:#fff;min-width:96px}
.btn:disabled{opacity:.4;cursor:default}
select.btn{padding:6px 6px}
.tbl{max-height:212px;overflow-y:auto}
table{width:100%;border-collapse:collapse;font:12px 'JetBrains Mono'}
th{position:sticky;top:0;background:#fff;text-align:left;font-size:10.5px;letter-spacing:.08em;color:var(--mut);padding:6px 10px;border-bottom:1px solid var(--line)}
td{padding:5px 10px;border-bottom:1px solid #f0f2f7;white-space:nowrap}
tr.row{cursor:pointer}tr.row:hover td{background:#f5f8ff}
tr.sel td{background:#eaf0ff!important}
tr.newrow td{animation:rowin .5s ease}
@keyframes rowin{from{background:#fff6cc}to{background:transparent}}
.dot{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;color:#fff;font-size:10px;font-weight:700}
.tag{font-size:9.5px;font-weight:700;padding:1px 5px;border-radius:3px;margin-left:6px;letter-spacing:.06em}
.tag.lost{background:#fde2e7;color:var(--atk)}.tag.dup{background:#fff1c2;color:#8a5a00}.tag.re{background:#ede9fe;color:#6d28d9}.tag.drop{background:var(--atk);color:#fff}.tag.fake{background:#fde2e7;color:var(--atk)}
.paused *{animation-play-state:paused!important}
.empty{padding:14px;color:var(--mut);font:12px 'JetBrains Mono'}
/* article */
article{max-width:860px;margin:30px auto 10px;padding:0 18px;line-height:1.7;color:#2b3a57}
article h1{font-size:clamp(26px,3.6vw,38px);color:var(--ink);line-height:1.2;margin-bottom:12px}
article h2{color:var(--ink);font-size:22px;margin:28px 0 8px}
article p{margin:10px 0}article ol,article ul{margin:8px 0 8px 22px}article li{margin:5px 0}
article code{font:13px 'JetBrains Mono';background:#e9eef8;padding:1px 6px;border-radius:4px}
pre{font:13px 'JetBrains Mono';background:var(--ink);color:#d7e3ff;padding:12px;border-radius:6px;overflow:auto}
.cta{margin:26px 0;padding:20px;border:1px solid #b9c9f5;border-radius:10px;background:#eef3ff}
.cta h2{margin-top:0}.cta a{display:inline-block;margin-top:6px;padding:10px 16px;border-radius:6px;background:var(--acc);color:#fff;font-weight:600;text-decoration:none}
details{border-bottom:1px solid var(--line);padding:10px 0}summary{cursor:pointer;font-weight:600;color:var(--ink)}
.foot{text-align:center;font:11px 'JetBrains Mono';color:var(--mut);margin:24px 0}
@media (max-width:1100px){.app{grid-template-columns:1fr;grid-template-areas:"view" "flow" "det" "side"}#det{max-height:none}.stagewrap{height:min(62vw,470px)}}

/* ---- ER Segment branding + nav ---- */
.brandlink{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none}
.logo{width:32px;height:38px;flex:0 0 auto;background:url(data:image/webp;base64,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) center/contain no-repeat;filter:drop-shadow(0 2px 6px rgba(0,0,0,.25))}
.nav{display:flex;gap:4px;margin-left:10px;flex-wrap:wrap}
.nav a{font:600 12px 'JetBrains Mono';letter-spacing:.06em;color:#cfe0ff;text-decoration:none;padding:7px 12px;border-radius:999px;border:1px solid transparent}
.nav a:hover{background:rgba(255,255,255,.1)}
.nav a.on{background:#fff;color:#0b1f4d}
.nav a.all{border-color:rgba(255,255,255,.3)}
.tbl td.r{color:var(--atk)}
.sub2{display:block;font-size:10px;color:var(--mut);font-family:'JetBrains Mono'}
/* hub */
.hub{max-width:1180px;margin:0 auto;padding:30px 20px}
.hero{display:flex;gap:26px;align-items:center;padding:30px;border-radius:20px;background:linear-gradient(120deg,#0b1f4d,#1f5eff);color:#fff;box-shadow:0 18px 40px rgba(31,94,255,.25)}
.hero .big{width:84px;height:98px;background:url(data:image/webp;base64,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) center/contain no-repeat;flex:0 0 auto}
.hero h1{font:700 clamp(26px,3.4vw,40px)/1.15 'Space Grotesk'}
.hero p{color:#dbe7ff;margin-top:8px;font-size:16px;line-height:1.55;max-width:720px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin-top:26px}
.pc{display:block;text-decoration:none;color:var(--ink);background:#fff;border:1px solid #e3e9f4;border-radius:16px;padding:16px 16px 14px;box-shadow:0 6px 20px rgba(16,33,63,.05);transition:transform .15s,box-shadow .15s;position:relative}
a.pc:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(16,33,63,.10)}
.pc .k{font:700 20px 'JetBrains Mono'}
.pc .f{font-size:13px;color:var(--ink2);margin-top:2px}
.pc .d{font-size:14px;margin-top:10px;line-height:1.5}
.pc .atk{margin-top:10px;font:600 11px 'JetBrains Mono';color:var(--atk);letter-spacing:.04em}
.pc .st{position:absolute;top:14px;right:14px;font:700 10px 'JetBrains Mono';letter-spacing:.08em;padding:3px 8px;border-radius:999px;background:#ecfdf3;color:#15803d}
.pc.soon{opacity:.6}.pc.soon .st{background:#eef1f7;color:var(--mut)}
.hub h2{font:700 22px 'Space Grotesk';margin-top:34px}
@media (max-width:700px){.nav a:not(.on):not(.all){display:none}.tagline{display:none}.hero{flex-direction:column;text-align:center}}
