/* Theme B · 信号台 Signal Bench */
:root[data-theme=b]{
  color-scheme:dark; --code-bg:#0d1a2e;
  --bg:#050a14; --surface:#0a1322; --text:#e6eef8; --muted:#9fb2cb; --line:#1b2c47; --accent:#3ea2ff; --on-accent:#03101f; --focus:#34eed6;
  --font-body:Inter,'Inter Fallback','Noto Sans SC','Noto Sans SC Fallback','Noto Sans CJK SC',system-ui,sans-serif; --font-display:var(--font-body);
  --font-mono:'JetBrains Mono','JetBrains Mono Fallback',ui-monospace,'Noto Sans SC',monospace;
  --ctl-bg:transparent; --ctl-line:#1b2c47; --ctl-text:#e6eef8; --ctl-on-bg:#3ea2ff; --ctl-on-text:#03101f; --ctl-radius:8px; --ctl-font:600 13px var(--font-mono); --ctl-dot-ring:#1b2c47;
  --pop-bg:#0d1a2e; --pop-text:#e6eef8; --pop-muted:#9fb2cb; --pop-line:#00c8fa; --pop-radius:12px; --pop-sel:#34eed6; --pop-hover:#13223a; --pop-shadow:0 0 0 1px rgba(0,200,250,.15),0 20px 60px rgba(0,0,0,.6);
}
[data-theme=b] body{background:radial-gradient(1200px 500px at 70% -10%,rgba(10,142,247,.12),transparent 60%)}
[data-theme=b] .pop-title,[data-theme=b] .opt-sub,[data-theme=b] .pop-hint{font-family:var(--font-mono)}
[data-theme=b] .opt-name{font-family:var(--font-mono);font-size:15px}
[data-theme=b] .opt-check{border-radius:4px}
[data-theme=b] .site-header,[data-theme=b] #slot-top > div,[data-theme=b] #slot-hero,[data-theme=b] .layout,[data-theme=b] .site-footer{max-width:1240px;margin-left:auto;margin-right:auto}
[data-theme=b] .site-header{padding:14px 40px}
[data-theme=b] .brand-mark .m-b{display:block}
[data-theme=b] .brand-sub{font:500 12px var(--font-mono);color:var(--muted);opacity:1}
[data-theme=b] .site-nav a{font:500 14px var(--font-mono);border-radius:6px}
[data-theme=b] .site-nav a:hover,[data-theme=b] .site-nav a[aria-current]{color:#34eed6}
/* status bar slot */
[data-theme=b] #slot-top{border-bottom:1px solid var(--line);font:500 12px var(--font-mono);color:var(--muted);letter-spacing:.03em}
.b-status{display:flex;gap:22px;align-items:center;min-height:34px;padding:0 40px;white-space:nowrap;overflow:hidden}
.b-status .r{margin-left:auto}
.b-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#3ee08f;margin-right:8px;box-shadow:0 0 0 3px rgba(62,224,143,.18);animation:b-blink 2.4s infinite}
@keyframes b-blink{50%{opacity:.35}}
/* spectrum hero */
[data-theme=b][data-page=home] #slot-hero{display:block;padding:6px 40px 0;min-height:400px}
.b-scope{border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,#0a1322,#070e1a);overflow:hidden}
.b-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;padding:14px 20px;border-bottom:1px solid var(--line);font:500 12px var(--font-mono);color:var(--muted)}
.b-head h1,.b-head .b-head-title{font:700 15px var(--font-mono);color:var(--text);margin:0;letter-spacing:.04em}
.b-body{position:relative;height:300px}
.b-body canvas{position:absolute;inset:0;width:100%;height:100%}
.b-peaks{position:absolute;inset:0}
.b-peak{position:absolute;bottom:34px;transform:translateX(-50%);width:44px;min-height:44px;background:transparent;border:0;padding:0;cursor:pointer}
.b-lab{position:absolute;bottom:8px;transform:translateX(-50%);font:500 11px var(--font-mono);color:var(--muted);white-space:nowrap}
.b-tip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);white-space:nowrap;background:#0d1a2e;border:1px solid #00c8fa;border-radius:8px;padding:6px 10px;font:500 12px var(--font-mono);color:var(--text);opacity:0;pointer-events:none;transition:opacity .15s}
.b-peak:hover .b-tip,.b-peak:focus-visible .b-tip,.b-peak.on .b-tip{opacity:1}
.b-legend{display:flex;gap:18px;flex-wrap:wrap;padding:10px 20px;border-top:1px solid var(--line);font:500 12px var(--font-mono);color:var(--muted)}
.b-legend-end{margin-left:auto}
.b-legend i{display:inline-block;width:18px;height:3px;vertical-align:middle;margin-right:6px;border-radius:2px}
/* feed */
[data-theme=b] .layout{gap:40px;padding-top:36px;grid-template-columns:minmax(0,1fr) 300px}
[data-theme=b] .sect{font:600 12px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 10px;display:flex;gap:10px;align-items:center}
[data-theme=b] .sect::after{content:"";flex:1;border-top:1px dashed var(--line)}
[data-theme=b] .entry{grid-template-columns:150px 1fr;gap:20px;padding:22px 16px;border-radius:12px;border:1px solid transparent;transition:background .2s,border-color .2s}
[data-theme=b] .entry.hl,[data-theme=b] .entry:hover{background:var(--surface);border-color:var(--line)}
[data-theme=b] .entry-date{font:500 12.5px/1.6 var(--font-mono);color:var(--muted)}
[data-theme=b] .entry-date .d,[data-theme=b] .entry-date .m{display:none}
[data-theme=b] .entry-date .iso{color:var(--text);font-size:14px;font-weight:700}
[data-theme=b] .entry-title{font:700 21px/1.45 var(--font-body)}
[data-theme=b] .entry-title a{color:var(--text);text-decoration:none}
[data-theme=b] .entry-title a:hover{color:#00c8fa}
[data-theme=b] .entry-text{color:#c3d1e3;font-size:16.5px}
[data-theme=b] .entry-meta{font:500 12.5px var(--font-mono)}
[data-theme=b] .chip{border:1px solid currentColor;border-radius:6px;min-height:22px;padding:0 8px;font:600 11px var(--font-mono);letter-spacing:.06em}
[data-theme=b] .chip--type{color:#00c8fa}[data-theme=b] .entry--thought .chip--type{color:#34eed6}
[data-theme=b] .chip--sample{color:#ffbf5e}
[data-theme=b] .archive-more a{font:500 13px var(--font-mono)}
[data-theme=b] .widget{border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:18px 20px}
[data-theme=b] .w-title{font:600 12px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
[data-theme=b] .widget p{color:#c3d1e3;font-size:15px}
[data-theme=b] .tools{font:500 13px var(--font-mono)}
[data-theme=b] .tools li{min-height:36px;border-top:1px dashed var(--line)}[data-theme=b] .tools li:first-child{border-top:0}
[data-theme=b] .tools b{font-weight:500}
[data-theme=b] .site-footer{font:500 12.5px var(--font-mono)}
/* post */
[data-theme=b] .layout--post,[data-theme=b] .layout--about{grid-template-columns:220px minmax(0,700px) 1fr;gap:48px;padding-top:28px}
[data-theme=b] .layout--page{display:block;max-width:760px}
.b-toc{position:sticky;top:20px;font:500 13px var(--font-mono)}
.b-toc ol{list-style:none;margin:0;padding:0}
.b-toc a{display:flex;gap:10px;align-items:center;min-height:40px;color:var(--muted);text-decoration:none}
.b-toc a::before{content:"";width:14px;height:14px;border:1.5px solid var(--line);border-radius:4px;flex:none}
.b-toc a.done{color:var(--text)}.b-toc a.done::before{background:#3ee08f;border-color:#3ee08f;box-shadow:inset 0 0 0 3px var(--surface)}
.b-toc a.cur{color:#34eed6}.b-toc a.cur::before{border-color:#34eed6}
.b-rssi{display:flex;gap:3px;align-items:flex-end;height:18px}.b-rssi i{width:5px;background:#13223a;border-radius:1px}.b-rssi i.on{background:#34eed6}
[data-theme=b] .back{font:500 13px var(--font-mono)}
[data-theme=b] .post-meta{font:500 13px var(--font-mono)}
[data-theme=b] .post-title{font:700 40px/1.3 var(--font-body);letter-spacing:-.01em}
[data-theme=b] .post-en{font:500 18px var(--font-mono);color:var(--muted);margin:0 0 18px}
[data-theme=b] .post-body{font-size:18px;line-height:1.95;color:#d6e1ee}
[data-theme=b] .post-body h2{font-size:23px;margin:2em 0 .4em;scroll-margin-top:20px}
[data-theme=b] .post-body h2 small{font:600 12px var(--font-mono);color:#00c8fa;margin-right:12px}
[data-theme=b] .post-body blockquote{margin:1.5em 0;padding:16px 20px;border:1px solid var(--line);border-left:3px solid #34eed6;border-radius:10px;background:var(--surface);font-size:20px;color:var(--text)}
[data-theme=b] .post-body code{font-size:.85em;background:#0d1a2e;border:1px solid var(--line);border-radius:5px;padding:.05em .35em;color:#34eed6}
[data-theme=b] .post-nav a{background:var(--surface);font-family:var(--font-mono);font-size:14px}
dialog.b-help{background:#0d1a2e;color:#e6eef8;border:1px solid #00c8fa;border-radius:14px;padding:22px 26px;font:500 14px 'JetBrains Mono',monospace}
dialog.b-help::backdrop{background:rgba(2,5,10,.6)}
dialog.b-help td{padding:6px 14px 6px 0}
@media (max-width:760px){
  [data-theme=b] .site-header{padding:10px 14px}
  .b-status{padding:0 14px;gap:12px;font-size:11px}.b-status .hide-m{display:none}
  [data-theme=b][data-page=home] #slot-hero{padding:6px 14px 0;min-height:0}
  .b-body{height:220px}.b-head .hide-m,.b-legend .hide-m{display:none}.b-tip{display:none}
  [data-theme=b] .layout,[data-theme=b] .layout--post{grid-template-columns:minmax(0,1fr);padding:24px 14px}
  [data-theme=b] .entry{grid-template-columns:1fr;gap:4px;padding:18px 4px}
  [data-theme=b] .entry-date span{display:inline;margin-right:8px}
  [data-theme=b] .entry-title{font-size:19px}
  [data-theme=b] .post-aside{display:none}
  [data-theme=b] .post-title{font-size:28px}
}

.b-toc-label{font:600 12px var(--font-mono);letter-spacing:.12em;color:var(--muted);margin:0 0 6px}
.b-read{margin-top:18px;display:flex;gap:10px;align-items:center;color:var(--muted)}
.lg-pub{background:linear-gradient(90deg,#0a8ef7,#34eed6)}
.lg-sample{background:#ffbf5e}
.lg-snow{background:#ecf4ff}
.lg-queue{background:repeating-linear-gradient(90deg,#9fb2cb 0 3px,transparent 3px 6px)}
dialog.b-help h2{font-size:15px;margin:0 0 10px}
