:root{--bg: #0f1218;--bg-2: #151a22;--bg-3: #1c222c;--line: #262d39;--line-2: #323b4a;--fg: #d8dee9;--fg-dim: #8a94a6;--fg-faint: #5d6778;--accent: #4d8dff;--accent-bg: #1d3155;--sel: #22406e;--up: #f0a35e;--down: #5ec2f0;--ok: #5fcf8a;--warn: #e8c35a;--bad: #f07178;--user: #c792ea;--overlay: #82aaff;--guess: #9aa5b8;--hl: #3b4d1e;--hl-2: #2b3a57;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--sans: -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Pretendard", "Segoe UI", sans-serif;color-scheme:dark}@media (prefers-color-scheme: light){:root:not([data-theme=dark]){--bg: #f6f7f9;--bg-2: #ffffff;--bg-3: #eef1f5;--line: #dde2ea;--line-2: #c9d0db;--fg: #1d2330;--fg-dim: #5b6576;--fg-faint: #8a93a3;--accent: #2563eb;--accent-bg: #dbe7ff;--sel: #cfe0ff;--up: #b8621a;--down: #1277a8;--ok: #1d8a4a;--warn: #9a7400;--bad: #c92a36;--user: #8a3fc2;--overlay: #2f5fd0;--guess: #6b7688;--hl: #e3f3c8;--hl-2: #dbe7ff;color-scheme:light}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--fg);font:13px/1.4 var(--sans);overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}code,.mono{font-family:var(--mono);font-size:12px}.app{display:grid;grid-template-rows:auto auto 1fr;height:100%}.topbar{display:flex;align-items:center;gap:10px;padding:6px 12px;background:var(--bg-2);border-bottom:1px solid var(--line);flex-wrap:wrap}.brand{font-weight:700;letter-spacing:.2px;display:flex;align-items:center;gap:6px}.brand-dot{width:10px;height:10px;border-radius:2px;background:var(--accent)}.pill{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:999px;background:var(--bg-3);border:1px solid var(--line);font-size:12px;color:var(--fg-dim);white-space:nowrap}.pill .dot{width:7px;height:7px;border-radius:50%;background:var(--fg-faint)}.pill.live .dot{background:var(--bad);box-shadow:0 0 0 3px color-mix(in srgb,var(--bad) 25%,transparent);animation:pulse 1.4s infinite}.pill.ok .dot{background:var(--ok)}.pill.warn .dot{background:var(--warn)}.pill.bad .dot{background:var(--bad)}@keyframes pulse{50%{opacity:.45}}.spacer{flex:1}.btn{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;border:1px solid var(--line-2);background:var(--bg-3);cursor:pointer;white-space:nowrap}.btn:hover{border-color:var(--accent)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.danger{border-color:color-mix(in srgb,var(--bad) 60%,var(--line));color:var(--bad)}.btn.small{padding:1px 7px;font-size:12px}.btn:disabled{opacity:.45;cursor:default}.stats{display:flex;gap:12px;color:var(--fg-dim);font-size:12px;font-variant-numeric:tabular-nums}.stats b{color:var(--fg);font-weight:600}.tabs{display:flex;gap:2px;padding:0 10px;background:var(--bg-2);border-bottom:1px solid var(--line)}.tab{padding:7px 12px;border:0;background:none;color:var(--fg-dim);cursor:pointer;border-bottom:2px solid transparent}.tab.active{color:var(--fg);border-bottom-color:var(--accent)}.tab .count{color:var(--fg-faint);font-size:11px;margin-left:4px}.view{min-height:0;overflow:hidden}.packets{display:grid;grid-template-rows:auto minmax(120px,var(--list-h, 45%)) 6px 1fr;height:100%}.filterbar{display:flex;gap:8px;align-items:center;padding:6px 10px;border-bottom:1px solid var(--line);background:var(--bg-2)}.filter-input{flex:1;padding:5px 9px;border-radius:6px;border:1px solid var(--line-2);background:var(--bg);font-family:var(--mono);font-size:12.5px}.filter-input.error{border-color:var(--bad)}.filter-input:focus{outline:none;border-color:var(--accent)}.filter-err{color:var(--bad);font-size:12px;max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip{font-size:12px;padding:2px 8px;border-radius:999px;border:1px solid var(--line-2);background:var(--bg-3);cursor:pointer;color:var(--fg-dim)}.chip:hover{color:var(--fg);border-color:var(--accent)}.divider{background:var(--line);cursor:row-resize}.divider:hover{background:var(--accent)}.table{overflow:auto;position:relative;font-variant-numeric:tabular-nums}.thead,.trow{display:grid;grid-template-columns:64px 96px 26px 58px minmax(180px,280px) 58px 58px 64px 60px 1fr;align-items:center}.thead{position:sticky;top:0;z-index:2;background:var(--bg-3);border-bottom:1px solid var(--line-2);color:var(--fg-dim);font-size:12px}.thead>div{padding:4px 6px;white-space:nowrap}.trow{height:22px;font-size:12.5px;cursor:default;border-bottom:1px solid color-mix(in srgb,var(--line) 50%,transparent)}.trow>div{padding:0 6px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.trow:hover{background:var(--bg-3)}.trow.sel{background:var(--sel)}.trow.pairsel{background:color-mix(in srgb,var(--sel) 45%,transparent)}.trow.unknown-proto .name{color:var(--warn)}.trow.bad .name{color:var(--bad)}.trow .dir-up{color:var(--up)}.trow .dir-down{color:var(--down)}.trow .role{color:var(--fg-dim);font-size:11.5px}.trow .sum{color:var(--fg-dim);font-family:var(--mono);font-size:11.5px}.trow .num{text-align:right}.markerrow{height:22px;display:flex;align-items:center;gap:8px;padding:0 10px;background:color-mix(in srgb,var(--warn) 14%,transparent);color:var(--warn);font-size:12px;border-bottom:1px solid color-mix(in srgb,var(--warn) 30%,transparent);cursor:pointer}.qbar{display:flex;height:6px;width:48px;border-radius:3px;overflow:hidden;background:var(--line)}.qbar .k{background:var(--ok)}.qbar .u{background:var(--warn)}.qbar .m{background:var(--bad)}.empty{padding:40px;text-align:center;color:var(--fg-faint)}.detail{display:grid;grid-template-columns:minmax(380px,1.25fr) minmax(360px,1fr);min-height:0;border-top:1px solid var(--line)}.pane{min-height:0;overflow:auto}.pane+.pane{border-left:1px solid var(--line)}.detail-head{padding:8px 12px;border-bottom:1px solid var(--line);background:var(--bg-2);position:sticky;top:0;z-index:1}.detail-title{font-weight:600;font-size:14px;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.detail-meta{color:var(--fg-dim);font-size:12px;margin-top:3px;display:flex;gap:12px;flex-wrap:wrap}.detail-meta a,.link{color:var(--accent);cursor:pointer;text-decoration:none}.note{margin-top:6px;font-size:12px;color:var(--fg-dim)}.note textarea{width:100%;min-height:40px;background:var(--bg);border:1px solid var(--line-2);border-radius:6px;padding:4px 6px;resize:vertical}.tree{font-family:var(--mono);font-size:12px;padding:4px 0 24px}.tnode{display:flex;align-items:baseline;gap:6px;padding:1px 8px 1px 0;cursor:pointer;white-space:nowrap}.tnode:hover{background:var(--bg-3)}.tnode.sel{background:var(--hl-2)}.twisty{width:14px;display:inline-block;text-align:center;color:var(--fg-faint);flex:none}.tname{color:var(--fg)}.tname.unknown{color:var(--warn)}.ttag{color:var(--fg-faint);font-size:11px}.ttype{color:var(--fg-faint)}.tval{color:#c3e88d;overflow:hidden;text-overflow:ellipsis}@media (prefers-color-scheme: light){:root:not([data-theme=dark]) .tval{color:#3f7a1c}}.tval.str{color:#f78c6c}@media (prefers-color-scheme: light){:root:not([data-theme=dark]) .tval.str{color:#b3541e}}.tcomment{color:var(--fg-faint);font-family:var(--sans);font-size:11.5px;overflow:hidden;text-overflow:ellipsis}.flag{font-family:var(--sans);font-size:10px;padding:0 5px;border-radius:3px;border:1px solid currentColor;line-height:14px}.flag.unknown,.flag.truncated-def{color:var(--warn)}.flag.guess{color:var(--guess)}.flag.mismatch,.flag.error{color:var(--bad)}.flag.ambiguous{color:var(--down)}.flag.overlay{color:var(--overlay)}.flag.user{color:var(--user)}.flag.unresolved{color:var(--warn)}.annot-btn{font-family:var(--sans);font-size:11px;padding:0 6px;border-radius:4px;border:1px solid var(--line-2);background:var(--bg-3);cursor:pointer;opacity:0}.tnode:hover .annot-btn,.tnode.sel .annot-btn{opacity:1}.hexbar{display:flex;gap:8px;align-items:center;padding:6px 10px;border-bottom:1px solid var(--line);background:var(--bg-2);position:sticky;top:0;z-index:1;font-size:12px;color:var(--fg-dim)}.hex{font-family:var(--mono);font-size:12px;padding:6px 10px 24px;line-height:18px}.hexrow{display:flex;gap:12px;white-space:pre}.hexoff{color:var(--fg-faint);width:44px}.hexbytes span,.hexascii span{cursor:pointer}.hexbytes span.hdr{color:var(--fg-dim)}.hexbytes span.zero{color:var(--fg-faint)}.hexbytes span.hl,.hexascii span.hl{background:var(--hl);color:var(--fg)}.hexbytes span.slot,.hexascii span.slot{background:color-mix(in srgb,var(--accent) 35%,transparent)}.hexascii{color:var(--fg-dim)}.grid-table{width:100%;border-collapse:collapse;font-size:12.5px;font-variant-numeric:tabular-nums}.grid-table th{text-align:left;font-weight:500;color:var(--fg-dim);background:var(--bg-3);position:sticky;top:0;padding:5px 8px;border-bottom:1px solid var(--line-2);white-space:nowrap;cursor:pointer}.grid-table td{padding:3px 8px;border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent);white-space:nowrap}.grid-table tr:hover td{background:var(--bg-3)}.grid-table td.num,.grid-table th.num{text-align:right}.scroll{overflow:auto;height:100%}.pad{padding:12px}.tag-app{font-size:11px;padding:0 6px;border-radius:4px;background:var(--bg-3);border:1px solid var(--line-2)}.tag-app.sproto{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 50%,var(--line))}.tag-app.tls{color:var(--down)}.dim{color:var(--fg-dim)}.faint{color:var(--fg-faint)}.game{overflow:auto;height:100%;padding:14px;display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));grid-auto-rows:max-content;gap:14px;align-content:start}.card{background:var(--bg-2);border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column}.card.wide{grid-column:1 / -1}.card-head{display:flex;align-items:center;gap:8px;padding:9px 12px;border-bottom:1px solid var(--line)}.card-title{font-weight:650}.card-src{margin-left:auto;font-size:11px;color:var(--fg-faint);cursor:pointer}.card-src:hover{color:var(--accent)}.card-body{padding:10px 12px}.kv{display:grid;grid-template-columns:110px 1fr;gap:4px 10px;font-size:13px}.kv .k{color:var(--fg-dim)}.big-name{font-size:20px;font-weight:700}.muted-box{color:var(--fg-faint);font-size:12px;padding:18px;text-align:center}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}.tile{background:var(--bg-3);border:1px solid var(--line);border-radius:8px;padding:6px 7px;min-height:58px;cursor:pointer;position:relative}.tile:hover{border-color:var(--accent)}.tile .tid{font-family:var(--mono);font-size:10.5px;color:var(--fg-faint)}.tile .tname2{font-size:12px;line-height:1.2;margin:2px 0;max-height:2.4em;overflow:hidden}.tile .tcount{position:absolute;right:7px;bottom:5px;font-weight:700;font-variant-numeric:tabular-nums}.heroes{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}.hero{background:var(--bg-3);border:1px solid var(--line);border-radius:10px;padding:9px 10px}.hero-top{display:flex;align-items:baseline;gap:2px 8px;flex-wrap:wrap}.hero-top>*{white-space:nowrap}.hero-name{font-weight:700;cursor:pointer}.hero-name:hover{color:var(--accent)}.stars{color:#f5c542;letter-spacing:1px}.hero-stats{display:flex;gap:10px;font-size:12px;color:var(--fg-dim);margin:4px 0;flex-wrap:wrap}.hero-stats b{color:var(--fg)}.gear-row{display:flex;gap:5px;flex-wrap:wrap;margin-top:4px}.gear{font-size:11px;font-family:var(--mono);padding:1px 5px;border-radius:4px;background:var(--bg);border:1px solid var(--line-2);cursor:pointer}.chief-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.section-label{font-size:12px;color:var(--fg-dim);margin:10px 0 6px}.rank-badge{font-size:11px;font-weight:700;padding:0 5px;border-radius:4px;background:var(--accent-bg);color:var(--accent)}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:grid;place-items:center;z-index:50}.modal{background:var(--bg-2);border:1px solid var(--line-2);border-radius:12px;width:min(560px,94vw);max-height:90vh;overflow:auto;box-shadow:0 20px 60px #0006}.modal.wide{width:min(1000px,96vw)}.modal-head{padding:12px 16px;border-bottom:1px solid var(--line);font-weight:650;display:flex;align-items:center;gap:8px}.modal-body{padding:14px 16px;display:grid;gap:10px}.modal-foot{padding:10px 16px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px}.field{display:grid;gap:4px;font-size:12.5px}.field>span{color:var(--fg-dim)}.field input,.field select,.field textarea{padding:6px 8px;border-radius:6px;border:1px solid var(--line-2);background:var(--bg)}.field input:focus,.field select:focus{outline:none;border-color:var(--accent)}.hint{font-size:12px;color:var(--fg-faint)}.toast{position:fixed;bottom:16px;left:50%;transform:translate(-50%);background:var(--bg-3);border:1px solid var(--line-2);padding:8px 14px;border-radius:8px;z-index:60;box-shadow:0 8px 30px #0000004d}.toast.error{border-color:var(--bad);color:var(--bad)}.screens{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.screens img{width:100%;border-radius:6px;border:1px solid var(--line);cursor:zoom-in}.warnline{color:var(--warn);font-size:12px}.schema-grid{display:grid;grid-template-columns:380px 1fr;height:100%}.schema-list{border-right:1px solid var(--line);overflow:auto}.schema-item{padding:4px 10px;cursor:pointer;font-family:var(--mono);font-size:12px;display:flex;gap:8px}.schema-item:hover{background:var(--bg-3)}.schema-item.sel{background:var(--sel)}.thint{font-family:var(--sans);font-size:11.5px;color:var(--ok);background:color-mix(in srgb,var(--ok) 10%,transparent);border-radius:3px;padding:0 5px}.q1{--qc: var(--gq1, #a0aab8)}.q2{--qc: var(--gq2, #459d10)}.q3{--qc: var(--gq3, #1372bb)}.q4{--qc: var(--gq4, #be3aaa)}.q5{--qc: var(--gq5, #bf6c12)}.q6{--qc: var(--gq6, #cc3030)}.gem1{--qc: var(--gq2, #459d10)}.gem2{--qc: var(--gq3, #1372bb)}.gem3{--qc: var(--gq5, #bf6c12)}.gear.gem1,.gear.gem2,.gear.gem3{border-color:color-mix(in srgb,var(--qc) 60%,var(--line));color:var(--qc)}.tile.q1,.tile.q2,.tile.q3,.tile.q4,.tile.q5,.tile.q6{border-color:color-mix(in srgb,var(--qc) 55%,var(--line));background:linear-gradient(180deg,color-mix(in srgb,var(--qc) 16%,var(--bg-3)),var(--bg-3) 70%)}.qname{color:var(--qc, var(--fg));font-weight:600}.gear.q1,.gear.q2,.gear.q3,.gear.q4,.gear.q5,.gear.q6{border-color:color-mix(in srgb,var(--qc) 60%,var(--line));color:var(--qc)}.hero.q1,.hero.q2,.hero.q3,.hero.q4,.hero.q5,.hero.q6{border-color:color-mix(in srgb,var(--qc) 55%,var(--line));background:linear-gradient(180deg,color-mix(in srgb,var(--qc) 12%,var(--bg-3)),var(--bg-3) 60%)}.troop-badge{font-size:11px;padding:0 5px;border-radius:4px;background:var(--bg);border:1px solid var(--line-2);color:var(--fg-dim);white-space:nowrap}.skills{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px}.skill{font-size:11px;padding:0 5px;border-radius:4px;background:var(--bg);border:1px solid var(--line);color:var(--fg-dim)}.visit{display:grid;grid-template-columns:150px 1fr;gap:14px;padding:12px;border-bottom:1px solid var(--line)}.visit img{width:150px;border-radius:8px;border:1px solid var(--line);cursor:zoom-in}.visit-title{font-weight:650;font-size:14px;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.proto-row{display:grid;grid-template-columns:22px minmax(240px,360px) 60px 1fr;gap:8px;align-items:center;font-size:12.5px;padding:2px 0}.proto-row .pn{font-family:var(--mono);cursor:pointer}.proto-row .pn:hover{color:var(--accent)}.new-badge{font-size:10px;padding:0 5px;border-radius:3px;background:var(--accent-bg);color:var(--accent)}.icon{display:block;width:100%;height:100%;object-fit:contain}.icon-inline{width:22px;height:22px;object-fit:contain;vertical-align:middle;margin-right:5px}.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:10px 8px}.slot-cell{display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer;min-width:0}.slot-cell:hover .slot{outline:2px solid var(--accent);outline-offset:1px}.slot-name{font-size:11px;line-height:1.2;text-align:center;max-width:100%;max-height:2.4em;overflow:hidden;color:var(--fg-dim)}.slot{position:relative;flex:none;border-radius:9px;overflow:hidden;background:var(--bg-3);border:1px solid var(--line-2)}.slot.q1,.slot.q2,.slot.q3,.slot.q4,.slot.q5,.slot.q6{border-color:color-mix(in srgb,var(--qc) 80%,black);background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--qc) 55%,white),var(--qc) 55%,color-mix(in srgb,var(--qc) 70%,black))}.slot-img{position:absolute;top:6%;right:6%;bottom:6%;left:6%;width:88%;height:88%;object-fit:contain;filter:drop-shadow(0 1px 1px rgba(0,0,0,.35))}.slot-none{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font:10px var(--mono);color:#ffffffd9;text-align:center;padding:2px;word-break:break-all}.slot-count{position:absolute;right:3px;bottom:1px;font-size:12px;font-weight:800;color:#fff;text-shadow:0 0 2px #000,0 0 2px #000,0 1px 2px #000;font-variant-numeric:tabular-nums}.slot-amount{position:absolute;left:0;right:0;top:1px;text-align:center;font-size:12px;font-weight:800;color:#fff;text-shadow:0 0 2px #000,0 0 2px #000,0 1px 2px #000}.slot-badge{position:absolute;left:0;top:0;font-size:10.5px;font-weight:800;color:#fff;padding:0 4px;border-bottom-right-radius:6px;background:#00000073;text-shadow:0 1px 1px #000}.bag-tabs{display:flex;gap:4px;margin-bottom:10px;flex-wrap:wrap}.bag-tab{padding:4px 12px;border-radius:6px;border:1px solid var(--line-2);background:var(--bg-3);cursor:pointer;font-weight:600}.bag-tab.on{background:var(--accent);border-color:var(--accent);color:#fff}.bag-tab.on .dim{color:#fffc}.hero-head{display:flex;gap:9px;align-items:flex-start}.hero-main{flex:1;min-width:0}.hero-portrait{position:relative;flex:none;width:54px;height:72px;border-radius:10px;overflow:hidden;cursor:pointer;background:var(--bg);border:2px solid var(--line-2)}.hero-portrait.q1,.hero-portrait.q2,.hero-portrait.q3,.hero-portrait.q4,.hero-portrait.q5,.hero-portrait.q6{border-color:var(--qc);background:color-mix(in srgb,var(--qc) 35%,var(--bg))}.hero-img{display:block;width:100%;height:100%;object-fit:cover}.bust-34{object-fit:cover;object-position:50% 0}.gear-wearer.bust-34{width:30%;height:40%}.gear-slots{display:flex;gap:6px;margin-top:7px;flex-wrap:wrap}.gear-cell{position:relative;display:flex;flex-direction:column;align-items:center;gap:1px;width:64px}.gear-cell .gear-plus{right:5px}.gear-slot{cursor:pointer}.gear-grid{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px}.gear-arm{position:absolute;left:2px;top:2px;width:30%;height:30%;object-fit:contain;padding:2px;border-radius:5px;background:linear-gradient(180deg,#5aa8ea,#2f6fbf);box-shadow:0 1px 2px #0006}.gear-plus{position:absolute;right:2px;top:2px;font-size:11px;font-weight:800;color:#fff;padding:0 4px;border-radius:8px;background:#143c8cbf;text-shadow:0 1px 1px #000}.gear-wearer{position:absolute;left:3px;bottom:3px;width:34%;height:34%;object-fit:cover;border-radius:4px;border:1px solid rgba(255,255,255,.8);background:#fff3}.troop-icon{width:15px;height:15px;object-fit:contain;vertical-align:-3px;margin-right:3px;padding:1px;border-radius:3px;background:linear-gradient(180deg,#5aa8ea,#2f6fbf)}.gear-lv{font-size:10.5px;color:var(--fg-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.chief-row{display:flex;align-items:center;gap:6px;margin:3px 0}.gem-icon{position:relative;width:26px;height:26px;display:inline-block}.gem-lv{position:absolute;right:-2px;bottom:-3px;font-size:9.5px;font-weight:800;color:#fff;text-shadow:0 0 2px #000,0 0 2px #000}.skill-cols{display:flex;gap:10px;margin-top:6px;flex-wrap:wrap}.skill-col{display:flex;flex-direction:column;gap:2px}.skill-col-label{font-size:10.5px;color:var(--fg-dim)}.skill-col-icons{display:flex;gap:4px}.skill-icon{position:relative;display:inline-block;flex:none;border-radius:8px}.skill-icon img{width:100%;height:100%;object-fit:contain;display:block}.skill-icon:not(:has(img)){overflow:hidden;background:#1c3a66;border:2px solid #e8eef8}.skill-icon.locked img{filter:grayscale(1) brightness(.6)}.skill-lv{position:absolute;left:50%;bottom:0;transform:translate(-50%);font-size:9px;font-weight:800;line-height:12px;padding:0 4px;border-radius:6px 6px 0 0;color:#fff;background:#142850d9;white-space:nowrap}.skill-icon:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.skill-tip{position:fixed;z-index:1000;pointer-events:none;padding:9px 11px;border-radius:8px;background:var(--bg-2);border:1px solid var(--line-2);box-shadow:0 6px 20px #00000059;font-size:12px;line-height:1.5;color:var(--fg)}.skill-tip-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.skill-tip-head b{font-size:13px}.skill-tip-lv{font-size:11px;color:var(--fg-dim);white-space:nowrap}.skill-tip-effect{font-size:11px;color:var(--accent);margin-top:1px}.skill-tip-desc{margin:5px 0 0;word-break:keep-all}.skill-hl{color:var(--c);font-weight:700}.skill-tip-values{margin-top:6px;padding-top:5px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:1px}.skill-tip-row{display:flex;justify-content:space-between;gap:10px;color:var(--fg-dim)}.skill-tip-row .num{color:var(--fg);white-space:nowrap}.skill-tip-next{color:var(--ok)}.skill-tip-max{color:var(--fg-faint);font-size:11px}@media (prefers-color-scheme: light){:root:not([data-theme=dark]) .skill-hl{color:color-mix(in srgb,var(--c) 55%,#000)}}.excl-skills{display:flex;flex-direction:column;gap:3px;justify-content:center}.wm{display:grid;grid-template-rows:auto 1fr;height:100%}.wm-bar{display:flex;align-items:center;gap:10px;padding:6px 10px;border-bottom:1px solid var(--line);background:var(--bg-2);flex-wrap:wrap}.wm-bar select{background:var(--bg-3);border:1px solid var(--line-2);border-radius:6px;padding:2px 6px}.wm-goto{display:inline-flex;align-items:center;gap:5px;color:var(--fg-dim);font-size:12px}.wm-goto input{width:52px;padding:2px 6px;border-radius:6px;border:1px solid var(--line-2);background:var(--bg);font-family:var(--mono);font-size:12px}.wm-toggle{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--fg-faint);cursor:pointer;-webkit-user-select:none;user-select:none}.wm-toggle.on{color:var(--fg)}.wm-toggle input{margin:0;accent-color:var(--accent)}.wm-body{display:grid;grid-template-columns:1fr 340px;min-height:0}.wm-canvas{position:relative;min-width:0;min-height:0;overflow:hidden;background:#1b2744;touch-action:none}.wm-canvas canvas{display:block}.wm-coord{position:absolute;left:50%;bottom:14px;transform:translate(-50%);padding:5px 16px;border-radius:999px;background:#0e162cd1;border:1px solid rgba(120,190,255,.35);color:#fff;font-weight:700;font-size:15px;letter-spacing:.2px;pointer-events:none;font-variant-numeric:tabular-nums}.wm-coord-k{color:#9fd4ff;margin-right:6px}.wm-hover{position:absolute;left:10px;top:10px;max-width:calc(100% - 20px);padding:5px 10px;border-radius:8px;background:#0e162cd9;color:#fff;font-size:12.5px;pointer-events:none}.wm-hover .dim{color:#b5c3dc}.wm-side{border-left:1px solid var(--line);overflow:auto;background:var(--bg-2)}.wm-detail{padding:10px 12px 24px}.wm-detail-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:14px}.wm-kv{width:100%;border-collapse:collapse;font-size:12.5px}.wm-kv th{text-align:left;color:var(--fg-dim);font-weight:500;padding:3px 8px 3px 0;white-space:nowrap;vertical-align:top;width:1%}.wm-kv td{padding:3px 0;font-variant-numeric:tabular-nums}.wm-raw{font-family:var(--mono);font-size:11.5px;background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:8px;overflow:auto;max-height:50vh;white-space:pre-wrap;word-break:break-all;margin:0}.wm-chips{display:flex;flex-wrap:wrap;gap:4px}@media (max-width: 900px){.wm-body{grid-template-columns:1fr;grid-template-rows:1fr 40%}.wm-side{border-left:0;border-top:1px solid var(--line)}}.wm-mini{position:absolute;right:12px;bottom:12px;border-radius:10px;border:1px solid rgba(120,190,255,.35);box-shadow:0 6px 20px #00000059;cursor:crosshair}.wm-seg{display:inline-flex;border:1px solid var(--line-2);border-radius:6px;overflow:hidden}.wm-seg button{border:0;background:var(--bg-3);color:var(--fg-dim);padding:2px 9px;font-size:12px;cursor:pointer}.wm-seg button+button{border-left:1px solid var(--line-2)}.wm-seg button.on{background:var(--accent);color:#fff}.wm-legend{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px;color:var(--fg-dim)}.wm-legend span{display:inline-flex;align-items:center;gap:5px}.wm-legend i{width:12px;height:9px;border-radius:2px;display:inline-block;border:1px solid rgba(255,255,255,.25)}.wm-legend i.wm-legend-landmark{background:#ffdc9659;border:1px dashed rgba(255,225,160,.9)}.chip.wm-chip-now{border-color:var(--accent);color:var(--fg)}.planner{display:grid;grid-template-columns:minmax(380px,460px) 1fr;height:100%;min-height:0}.pl-left{overflow:auto;padding:12px;display:flex;flex-direction:column;gap:12px;border-right:1px solid var(--line)}.pl-right{display:grid;grid-template-rows:auto auto 1fr;min-height:0}.pl-summary{display:flex;align-items:center;gap:16px;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--bg-2);flex-wrap:wrap}.pl-total{font-size:22px;font-weight:750;font-variant-numeric:tabular-nums}.pl-status{display:flex;flex-direction:column;gap:3px;font-size:11.5px}.pl-summary .wm-seg{margin-left:auto}.pl-msg{padding:4px 14px}.pl-body{overflow:auto;padding:10px 14px 24px;min-height:0}.pl-bar{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}.pl-bar .filter-input{flex:0 1 280px}.pl-rows{display:flex;flex-direction:column;gap:8px}.pl-row{display:flex;align-items:center;gap:9px;padding:6px 8px;border-radius:8px;background:var(--bg-3);border:1px solid color-mix(in srgb,var(--qc, var(--line)) 45%,var(--line))}.pl-face{flex:none;width:40px;height:40px;border-radius:8px;overflow:hidden;background:color-mix(in srgb,var(--qc, var(--bg)) 35%,var(--bg))}.pl-main{flex:1;min-width:0}.pl-name{font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pl-ctl{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:3px}.pl-lab{font-size:11.5px;color:var(--fg-dim)}.pl-select{padding:2px 6px;border-radius:6px;border:1px solid var(--line-2);background:var(--bg);font-size:12px;max-width:100%}.pl-select.set{border-color:var(--accent);color:var(--accent);font-weight:600}.pl-add{align-self:flex-start;color:var(--fg-dim)}.pl-chief{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.pl-chief-tile{cursor:default;display:flex;flex-direction:column;gap:6px}.pl-chief-head{display:flex;gap:8px;align-items:center}.pl-gems{display:flex;flex-direction:column;gap:4px}.pl-gem{display:flex;align-items:center;gap:6px}.pl-settings{display:flex;flex-direction:column;gap:10px}.pl-usedays{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.pl-day{margin-bottom:14px}.pl-day-head{display:flex;align-items:baseline;gap:10px;padding:4px 0;border-bottom:1px solid var(--line-2);margin-bottom:4px}.pl-won{font-weight:700;color:var(--warn);font-variant-numeric:tabular-nums}.pl-table{width:100%;border-collapse:collapse;font-size:12.5px}.pl-table td,.pl-table th{padding:3px 8px 3px 0;vertical-align:middle;text-align:left}.pl-table th{color:var(--fg-dim);font-weight:500;border-bottom:1px solid var(--line)}.pl-table td.num,.pl-table th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.pl-table tr.pl-paid td:nth-child(2){font-weight:650}.pl-table tr.pl-short td{color:var(--bad)}.pl-table tfoot td{border-top:1px solid var(--line);padding-top:5px}.pl-amts{display:inline-flex;flex-wrap:wrap;gap:2px 10px}.pl-amt{display:inline-flex;align-items:center;white-space:nowrap;font-variant-numeric:tabular-nums}.pl-amt .icon-inline{width:20px;height:20px;margin-right:2px}.pl-amt-name{margin-right:3px;color:var(--fg-dim)}.pl-amt img+.pl-amt-name{display:none}@media (max-width: 1000px){.planner{grid-template-columns:1fr;grid-template-rows:auto 1fr}.pl-left{border-right:0;border-bottom:1px solid var(--line);max-height:45vh}}.pl-pending{display:inline-flex;align-items:center;gap:6px}.pl-summary.stale .pl-total{opacity:.5}.seg{display:inline-flex;margin-left:6px;border:1px solid var(--line-2);border-radius:6px;overflow:hidden}.seg-btn{padding:2px 10px;border:0;background:var(--bg-3);color:var(--fg-dim);cursor:pointer;font-size:12px}.seg-btn+.seg-btn{border-left:1px solid var(--line-2)}.seg-btn.on{background:var(--accent);color:#fff}.bag-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px 18px;align-items:start}.bag-sum-title{font-weight:650;color:var(--fg-dim);font-size:12px;margin-bottom:4px}.bag-sum-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;padding:5px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent)}.bag-sum-row:last-child{border-bottom:0}.bag-sum-main{min-width:0}.bag-sum-label{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bag-sum-parts{color:var(--fg-faint);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bag-sum-value{font-variant-numeric:tabular-nums;font-weight:650;font-size:14px;text-align:right;white-space:nowrap}.bag-sum-value.zero{color:var(--fg-faint);font-weight:500}.hero-power b{color:var(--up)}.star-icons{display:inline-flex;align-items:center;gap:2px}.star-icon{position:relative;width:21px;height:24px}.star-img{position:absolute;width:204.2%;height:187.3%;left:-52.1%;top:-43.6%;max-width:none;pointer-events:none}.pl-item{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.pl-item-icon{width:26px;height:26px;flex:none;border-radius:6px;background:var(--bg-3);overflow:hidden}.pl-bar-track{display:inline-block;width:110px;height:8px;border-radius:4px;background:var(--bg-3);border:1px solid var(--line);overflow:hidden;vertical-align:middle}.pl-bar-track>span{display:block;height:100%;background:var(--ok)}.pl-bar-track.lack>span{background:var(--warn)}.pl-needs td{vertical-align:middle}.signin{height:100%;display:grid;place-items:center;padding:16px;overflow:auto}.signin-card{width:min(360px,100%);background:var(--bg-2);border:1px solid var(--line);border-radius:12px;padding:22px;display:grid;gap:12px}.signin-card .brand{font-size:16px;margin-bottom:4px}.signin-main{justify-content:center;padding:8px 12px;font-size:14px}.signin-note{font-size:12.5px;color:var(--fg-dim);line-height:1.5}.signin-note a{color:var(--accent)}.signin-error{color:var(--bad);font-size:12.5px}.linkish{background:none;border:0;color:var(--fg-dim);cursor:pointer;text-decoration:underline;justify-self:center;font-size:12.5px}.badge-dot{width:7px;height:7px;border-radius:50%;background:var(--warn)}.chat{height:100%;display:grid;grid-template-columns:minmax(240px,320px) 1fr;min-height:0}.chat-rooms{border-right:1px solid var(--line);overflow:auto;background:var(--bg-2);min-height:0}.chat-search{position:sticky;top:0;padding:8px;background:var(--bg-2);border-bottom:1px solid var(--line);z-index:1}.chat-search input{width:100%;padding:6px 8px;border-radius:6px;border:1px solid var(--line-2);background:var(--bg)}.chat-section{padding:10px 12px 4px;font-size:11.5px;color:var(--fg-faint);text-transform:uppercase;letter-spacing:.4px}.chat-room-item{display:grid;gap:2px;width:100%;text-align:left;padding:7px 12px;border:0;border-left:2px solid transparent;background:none;cursor:pointer}.chat-room-item:hover{background:var(--bg-3)}.chat-room-item.active{background:var(--sel);border-left-color:var(--accent)}.chat-room-top{display:flex;gap:8px;align-items:baseline;min-width:0}.chat-room-title{font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-room-time{font-size:11px;color:var(--fg-faint);flex:none}.chat-room-last{font-size:12px;color:var(--fg-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-pane{display:flex;flex-direction:column;min-height:0;min-width:0}.chat-pane.empty{display:grid;place-items:center}.chat-head{display:flex;align-items:center;gap:10px;padding:8px 14px;border-bottom:1px solid var(--line);background:var(--bg-2)}.chat-head-title{font-weight:650;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-back{display:none}.chat-messages{flex:1;overflow:auto;padding:8px 14px 16px;min-height:0}.chat-older{display:flex;justify-content:center;padding:8px 0}.chat-day{text-align:center;font-size:11.5px;color:var(--fg-faint);margin:14px 0 6px}.chat-msg{display:flex;flex-direction:column;align-items:flex-start;margin-top:10px;max-width:100%}.chat-msg.cont{margin-top:3px}.chat-msg.mine{align-items:flex-end}.chat-msg-meta{display:flex;gap:8px;align-items:baseline;font-size:12px;margin:0 4px 3px}.chat-msg-name{font-weight:600;color:var(--fg)}.chat-msg-abbr{color:var(--accent);margin-right:3px;font-weight:500}.chat-msg-time{font-size:11px;color:var(--fg-faint)}.chat-bubble{background:var(--bg-3);border:1px solid var(--line);border-radius:10px;padding:6px 10px;white-space:pre-wrap;overflow-wrap:anywhere;max-width:min(640px,92%);line-height:1.45}.chat-msg.mine .chat-bubble{background:var(--accent-bg);border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}@media (max-width: 720px){.chat{grid-template-columns:1fr}.chat.has-room .chat-rooms{display:none}.chat:not(.has-room) .chat-pane{display:none}.chat-back{display:inline-flex}.chat-bubble{max-width:100%}.tabs{overflow-x:auto}}.chat-mention{color:var(--accent);font-weight:600}.chat-reply{font-size:11.5px;color:var(--fg-dim);margin:0 4px 3px;max-width:min(560px,90%);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-card{border-style:dashed;color:var(--fg-dim)}.chat-msg.mine .chat-card{color:var(--fg-dim)}.chat-notice{text-align:center;font-size:11.5px;color:var(--fg-faint);margin:10px auto;max-width:80%}.chat-report{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font:inherit;text-align:left;color:var(--fg);border-style:solid;border-color:color-mix(in srgb,var(--bad) 45%,var(--line-2))}.chat-report:hover{border-color:var(--bad)}.chat-report-icon{color:var(--bad)}.chat-report-open{color:var(--accent);font-size:12px;white-space:nowrap}.report{--atk: var(--bad);--def: var(--accent);display:grid;gap:12px}.report-empty{padding:24px 8px;text-align:center;color:var(--fg-dim)}.report-head{display:flex;gap:8px;font-size:13px;color:var(--fg-dim);font-variant-numeric:tabular-nums}.report-section{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--bg-2)}.report-section>h3{margin:0;padding:7px 12px;font-size:13.5px;text-align:center;background:var(--bg-3);border-bottom:1px solid var(--line)}.report-section>h3[title]{cursor:help}.report-vs{display:grid;grid-template-columns:1fr 1fr}.report-side{padding:10px 12px;display:grid;gap:2px;justify-items:center;text-align:center}.report-side.atk{background:linear-gradient(135deg,color-mix(in srgb,var(--atk) 26%,var(--bg-2)),var(--bg-2))}.report-side.def{background:linear-gradient(225deg,color-mix(in srgb,var(--def) 26%,var(--bg-2)),var(--bg-2))}.report-side-label{font-size:12px;color:var(--fg-dim);display:flex;gap:6px;align-items:center}.report-win{color:#1b1300;background:linear-gradient(90deg,#f5c542,#ffe18a);border-radius:999px;padding:0 8px;font-size:12px}.report-side-icon{width:48px;height:48px;object-fit:contain}.report-side-name{font-weight:700;font-size:15px;overflow-wrap:anywhere}.report-side-xy{font-size:12px;color:var(--fg-dim)}.report-loss{color:var(--bad);font-weight:700;font-variant-numeric:tabular-nums}.report-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.report-table tr:nth-child(odd){background:color-mix(in srgb,var(--bg-3) 60%,transparent)}.report-table td,.report-table th{padding:5px 10px;text-align:center}.report-table th{font-weight:500;color:var(--fg-dim);width:34%}.report-table th[title]{text-decoration:underline dotted;cursor:help}.report-table td{width:33%;font-weight:650}.report-table td.bad,.report-troops td.bad{color:var(--bad)}.report-table td.good{color:var(--ok)}.report-pickers,.report-compare{display:grid;grid-template-columns:1fr 1fr;gap:0}.report-col{padding:10px;min-width:0}.report-col.atk,.report-members.atk{border-right:1px solid var(--line)}.report-members{display:grid;align-content:start;max-height:260px;overflow:auto}.report-members-head{position:sticky;top:0;padding:5px 10px;font-size:12px;color:var(--fg-dim);background:var(--bg-2);border-bottom:1px solid var(--line)}.report-member{display:grid;grid-template-columns:1fr auto auto;gap:6px;align-items:center;padding:5px 10px;border:0;border-bottom:1px solid var(--line);background:none;color:var(--fg);font:inherit;font-size:13px;text-align:left;cursor:pointer}.report-member:hover{background:var(--bg-3)}.report-member.active{background:var(--accent-bg)}.report-members.atk .report-member.active{background:color-mix(in srgb,var(--atk) 22%,var(--bg-2))}.report-member-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-lead{font-size:10.5px;color:#1b1300;background:#f5c542;border-radius:4px;padding:0 4px;margin-right:4px}.report-member-heroes{display:inline-flex;gap:1px}.report-mini-hero{width:20px;height:20px;border-radius:50%;object-fit:cover}.report-member-count{font-size:12px;color:var(--fg-dim);font-variant-numeric:tabular-nums}.report-chief{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 8px;justify-items:center}.report-chief-cell{display:grid;justify-items:center;gap:4px}.report-chief-slot{position:relative}.report-chief-mark{position:absolute;left:2px;top:1px;display:flex;flex-direction:column;align-items:flex-start;line-height:1;pointer-events:none}.report-chief-tier{font-size:11px;font-weight:900;color:#fff3b0;text-shadow:0 0 2px #000,0 0 2px #000,0 1px 2px #000}.report-chief-star{font-size:10px;color:#ffd23f;text-shadow:0 0 2px #000,0 1px 1px #000;margin-top:1px}.report-gems{display:flex;gap:3px}.report-gem{width:24px;display:grid;justify-items:center;gap:1px;color:var(--qc, var(--fg-dim))}.report-gem-img{width:22px;height:22px;object-fit:contain}.report-gem-none{width:22px;height:22px;display:grid;place-items:center;font-size:13px}.report-gem-lv{font-size:10px;line-height:1;color:var(--fg-dim);font-variant-numeric:tabular-nums;white-space:nowrap}.report-heroes,.report-experts{display:grid;gap:10px}.report-hero,.report-expert{display:grid;gap:6px;padding-bottom:8px;border-bottom:1px dashed var(--line)}.report-hero:last-child,.report-expert:last-child{border-bottom:0;padding-bottom:0}.report-hero-card,.report-expert-card{display:flex;gap:8px;align-items:center;min-width:0}.report-hero-meta{display:grid;gap:1px;min-width:0;font-size:13px}.report-hero-meta b{display:inline-flex;align-items:center;gap:3px;overflow-wrap:anywhere}.report-troop-badge{width:16px;height:16px}.report-hero-skills,.report-hero-gear{display:flex;flex-wrap:wrap;gap:4px}.report-skill{position:relative;width:34px;height:34px;border-radius:7px;background:var(--bg-3);border:1px solid var(--line-2);overflow:hidden}.report-skill-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.report-skill-none{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:10px;color:var(--fg-dim)}.report-skill-lv{position:absolute;right:1px;bottom:0;font-size:10.5px;font-weight:800;color:#fff;text-shadow:0 0 2px #000,0 0 2px #000}.report-expert-name{font-size:13px;font-weight:650}.report-troop-compare{display:grid;padding:6px 10px;gap:6px}.report-troop-row{display:grid;grid-template-columns:1fr minmax(90px,1.2fr) 1fr;gap:8px;align-items:center}.report-troop-cell{display:flex;gap:6px;align-items:center;font-size:12.5px;font-variant-numeric:tabular-nums}.report-troop-cell.def{flex-direction:row-reverse;text-align:right}.report-troop-count{font-weight:700}.report-troop-mid{display:grid;gap:3px;justify-items:center;font-size:12px;color:var(--fg-dim)}.report-bar{display:flex;width:100%;height:8px;border-radius:999px;background:var(--bg-3);overflow:hidden;justify-content:center}.report-bar .atk{background:var(--atk)}.report-bar .def{background:var(--def)}.report-troops{width:100%;border-collapse:collapse;font-size:12.5px;font-variant-numeric:tabular-nums}.report-troops th{font-weight:500;color:var(--fg-dim);text-align:right;padding:2px 4px}.report-troops td{text-align:right;padding:2px 4px;border-top:1px solid var(--line)}.report-troops th:first-child,.report-troops td:first-child{text-align:left}.report-raw{border-top:1px solid var(--line)}.report-raw>summary{padding:6px 12px;font-size:12.5px;color:var(--fg-dim);cursor:pointer}.report-note{padding:6px 12px;font-size:12px;color:var(--warn);border-top:1px solid var(--line)}.report-hero-gear .slot-count{font-size:9.5px;right:2px}.report-skill-stats{margin:0;padding-left:18px;font-size:12.5px;display:grid;gap:2px}.report-foot{font-size:12px;color:var(--fg-dim);text-align:center}@media (max-width: 640px){.report-chief{grid-template-columns:repeat(2,minmax(0,1fr))}.report-col{padding:8px 6px}.report-troop-row{grid-template-columns:1fr 70px 1fr}.report-troops th:nth-child(5),.report-troops td:nth-child(5){display:none}}
