
/* Layout: trading-terminal research log — dark panels, mono numerals; article column 720px with a sticky table of contents. Single dark look by design. */
:root{
  color-scheme:dark;
  --bg:#0A0E14; --bar:#0D121B; --panel:#0F1520; --panel2:#131B28; --line:#1E2838; --line2:#2A3648;
  --ink:#DCE3EC; --ink2:#A9B4C3; --muted:#8A97A8; --dim:#7C889A;
  --brand:#F0A53A; --link:#7FB2FF;
  --s-blue:#4F8EF7; --s-amber:#C0812A; --s-teal:#2BA88F; --s-price:#8A97A8; --s-bh:#6B7789;
  --good:#3DBE7E; --hold:#F0A53A; --bad:#E5665A;
  --f-sans:"IBM Plex Sans JP","Hiragino Sans","Yu Gothic",system-ui,sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-sans);font-size:15.5px;line-height:1.85;-webkit-font-smoothing:antialiased}
a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:3px}
.mono{font-family:var(--f-mono)}
.wrap{max-width:1240px;margin:0 auto;padding-inline:20px}
h1,h2,h3{text-wrap:balance;margin:0;line-height:1.4}
p{margin:0 0 16px}
.eyebrow{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.1em;color:var(--dim);text-transform:uppercase}

/* header */
.top{background:var(--bar);border-bottom:1px solid var(--line);position:sticky;top:env(safe-area-inset-top,0px);z-index:10}
.top .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 28px;padding-block:12px}
.logo{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-weight:700;font-size:17px;letter-spacing:.04em}
.logo:hover{text-decoration:none}
.logo .bars{display:inline-flex;align-items:flex-end;gap:2px;height:16px}
.logo .bars i{display:block;width:3px}
nav.main{display:flex;gap:20px;flex-wrap:wrap;font-size:13.5px}
nav.main a{color:var(--muted);padding-bottom:3px;border-bottom:2px solid transparent}
nav.main a:hover{color:var(--ink);text-decoration:none}
nav.main a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--brand)}
.ticker{border-bottom:1px solid var(--line);overflow-x:auto}
.ticker .wrap{display:flex;gap:28px;padding-block:8px;font-family:var(--f-mono);font-size:12px;white-space:nowrap}
.ticker .k{color:var(--dim)}

/* common */
.pill{display:inline-flex;align-items:center;gap:6px;padding:1px 10px;border:1px solid currentColor;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap;line-height:1.7}
.pill::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.v-hold{color:var(--hold)}.v-reject{color:var(--bad)}.v-adopt{color:var(--good)}.v-plan{color:var(--dim)}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:6px}
.tag{display:inline-block;padding:0 8px;border:1px solid var(--line2);border-radius:3px;font-size:11.5px;color:var(--muted)}
main.view{padding-block:32px 64px}
.cols{display:flex;flex-direction:row-reverse;flex-wrap:wrap;gap:36px 40px;align-items:flex-start}
.cols>.primary{flex:999 1 620px;min-width:0}
.cols>.side{flex:1 1 250px;min-width:0}
.sec-h{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px 24px;margin-bottom:14px}
.sec-h h2{font-size:20px}
.sec-h a{font-size:13px;color:var(--muted)}

/* home */
.intro{padding-bottom:26px;border-bottom:1px solid var(--line);margin-bottom:36px}
.intro h1{font-size:clamp(28px,4vw,38px);margin:8px 0 10px}
.intro p{color:var(--ink2);max-width:40em;margin:0}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:16px;margin-bottom:44px}
.card{aspect-ratio:1/1;max-width:100%;min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:18px;display:flex;flex-direction:column;gap:9px;color:var(--ink);overflow:hidden;transition:border-color .15s}
.card:hover{border-color:var(--brand);text-decoration:none}
.card .row{display:flex;justify-content:space-between;align-items:center;gap:8px}
.card h3{font-size:16.5px;line-height:1.45}
.card .spark{flex:1 1 auto;min-height:40px;position:relative}
.card .spark svg{position:absolute;inset:0;width:100%;height:100%}
.card .nums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;border-top:1px solid var(--line);padding-top:9px}
.card .nums small{display:block;font-size:10.5px;color:var(--muted);line-height:1.4}
.card .nums b{font-family:var(--f-mono);font-weight:500;font-size:14px}
.wiki{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:6px;overflow:hidden;margin-bottom:44px}
.wiki>div{background:var(--panel);padding:16px 18px;display:flex;flex-direction:column;gap:12px}
.wiki a.item{display:flex;flex-direction:column;color:var(--ink)}
.wiki a.item:hover{text-decoration:none}.wiki a.item:hover b{color:var(--link)}
.wiki .item span.top{display:flex;justify-content:space-between;gap:8px;align-items:center}
.wiki .item small{font-size:13px;color:var(--muted);line-height:1.6}
.st{font-size:11px;white-space:nowrap}.st.ok{color:var(--good)}.st.no{color:var(--dim)}
.two{display:flex;flex-wrap:wrap;gap:32px}
.two>section{flex:1 1 300px;min-width:0}
.list{margin:0;padding:0;list-style:none;font-size:14px}
.list li{display:flex;gap:14px;padding:10px 0;border-bottom:1px solid var(--line)}
.list .d{font-family:var(--f-mono);font-size:12px;color:var(--dim);white-space:nowrap;padding-top:2px}
.badge{font-size:11px;color:var(--bg);background:var(--good);border-radius:3px;padding:1px 6px;margin-right:8px}
dl.gl{margin:0;font-size:14px}
dl.gl>div{padding:10px 0;border-bottom:1px solid var(--line)}
dl.gl dt{font-weight:700}
dl.gl dd{margin:2px 0 0;font-size:13px;color:var(--muted)}
.side h4{margin:0 0 8px;font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;color:var(--dim);font-weight:500}
.side section{margin-bottom:26px}
.tree a{display:flex;justify-content:space-between;padding:5px 10px;border-left:2px solid var(--line);color:var(--muted);font-size:14px}
.tree a:hover{color:var(--ink);text-decoration:none}
.tree a.on{border-left-color:var(--brand);color:var(--ink);background:var(--panel)}
.tree .g{font-size:12px;color:var(--muted);padding:8px 0 4px}
.toc a{display:block;padding:4px 10px;border-left:2px solid var(--line);color:var(--muted);font-size:13.5px;line-height:1.5}
.toc a:hover{color:var(--ink);text-decoration:none}

/* article */
.art{max-width:740px}
.art .head h1{font-size:clamp(26px,3.6vw,34px);margin:10px 0 12px}
.art .meta{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;font-size:13px;color:var(--muted)}
.art h2{font-size:22px;margin:52px 0 14px;padding-top:14px;border-top:1px solid var(--line);scroll-margin-top:90px}
.art h3{font-size:17px;margin:30px 0 8px}
.art p,.art li{color:var(--ink)}
.art ul,.art ol{padding-left:1.4em;margin:0 0 16px}
.art li{margin-bottom:6px}
.art strong{color:#fff;font-weight:700}
.chat{display:flex;flex-direction:column;gap:12px;margin:26px 0}
.say{display:flex;gap:12px;align-items:flex-start}
.say .av{flex:0 0 40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:15px;color:var(--bg)}
.say.mina .av{background:#7FB2FF}.say.boss .av{background:var(--brand)}
.say .bub{min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:4px 12px 12px 12px;padding:10px 14px;font-size:14.5px;line-height:1.75}
.say .bub b.n{display:block;font-size:11.5px;color:var(--muted);font-weight:500}
.say.boss .bub{background:var(--panel2)}
.learn{background:var(--panel);border:1px solid var(--line);border-top:2px solid var(--brand);border-radius:6px;padding:16px 20px;margin:24px 0}
.learn ul{margin:6px 0 0}
.learn li{margin:0 0 4px}
.formula{font-family:var(--f-mono);font-size:14px;background:var(--panel2);border:1px solid var(--line);padding:14px 18px;border-radius:6px;overflow-x:auto;white-space:nowrap;margin:0 0 16px}
.callout{display:flex;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:14px 18px;margin:20px 0;font-size:14.5px}
.callout .ic{flex:0 0 auto;font-family:var(--f-mono);font-size:11px;font-weight:600;color:var(--bg);background:var(--bad);border-radius:3px;padding:1px 6px;height:fit-content;margin-top:4px}
.callout.hint .ic{background:var(--good)}
.callout p{flex:1 1 auto;min-width:0}.callout p:last-child{margin:0}
figure.fig{margin:26px 0;background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:18px 16px 12px}
figure.fig .ft{font-weight:700;font-size:15px}
figure.fig .fs{font-size:12.5px;color:var(--muted);margin-bottom:10px}
figure.fig figcaption{font-size:12px;color:var(--dim);margin-top:8px}
figure.fig svg.dia{display:block;width:100%;height:auto}
svg.dia text{font-family:var(--f-sans);fill:var(--ink)}
svg.dia .m{font-family:var(--f-mono)}
.legend{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:12.5px;color:var(--ink2);margin-bottom:6px}
.legend i{display:inline-block;width:18px;border-top:2px solid;vertical-align:middle;margin-right:6px}
.chart{position:relative}
.chart svg{display:block;width:100%;height:auto;overflow:visible}
.chart svg text{font-family:var(--f-mono);font-size:11px;fill:var(--dim)}
.tip{position:absolute;pointer-events:none;background:#0B1019;border:1px solid var(--line2);border-radius:4px;padding:6px 10px;font-size:12px;line-height:1.6;white-space:nowrap;z-index:3;font-variant-numeric:tabular-nums}
.tip b{font-family:var(--f-mono);font-weight:600}
.tip .sw{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}
.tbl{overflow-x:auto;margin:14px 0 8px}
table{border-collapse:collapse;width:100%;font-size:13.5px;font-variant-numeric:tabular-nums}
th,td{padding:9px 12px 9px 0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;white-space:nowrap}
thead th{font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;color:var(--dim);font-weight:500;border-bottom:1px solid var(--line2)}
td.n,th.n{text-align:right;font-family:var(--f-mono)}
tr.hl td{color:#fff;font-weight:700}
td.w{white-space:normal;min-width:14em}
.note{font-size:12.5px;color:var(--dim)}
.bars3{display:flex;flex-direction:column;gap:10px;margin:8px 0 4px}
.bars3 .r{display:grid;grid-template-columns:minmax(0,11em) 1fr 4.5em;gap:12px;align-items:center;font-size:13px}
.bars3 .tr{height:18px;background:var(--panel2);border-radius:3px;overflow:hidden}
.bars3 .tr i{display:block;height:100%;border-radius:0 3px 3px 0}
.bars3 .v{font-family:var(--f-mono);text-align:right}
.score{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:10px;margin:14px 0}
.score>div{background:var(--panel);border:1px solid var(--line);border-top:2px solid var(--good);border-radius:6px;padding:12px 14px}
.score>div.x{border-top-color:var(--bad)}
.score .h{display:flex;justify-content:space-between;font-size:12.5px;color:var(--ink2)}
.score .h b{color:var(--good)}.score .x .h b{color:var(--bad)}
.score .v{font-family:var(--f-mono);font-size:21px;font-weight:500;line-height:1.4}
.score small{font-size:11.5px;color:var(--dim)}
.verdict{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:flex-start;background:var(--panel2);border:1px solid var(--line2);border-radius:6px;padding:16px 20px;margin:16px 0}
.verdict p{margin:0;flex:1 1 20em;min-width:0}
pre{background:var(--panel2);border:1px solid var(--line);border-radius:6px;padding:16px 18px;overflow-x:auto;font-family:var(--f-mono);font-size:12.5px;line-height:1.7;margin:0;color:var(--ink)}
.code{position:relative;margin:12px 0 20px}
.copy{position:absolute;top:8px;right:8px;font:600 12px var(--f-sans);background:var(--panel);color:var(--ink2);border:1px solid var(--line2);border-radius:4px;padding:3px 10px;cursor:pointer;min-height:28px}
.cond{font-size:13.5px}
.cond summary{cursor:pointer;color:var(--ink2)}
.next{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:40px;padding-top:18px;border-top:1px solid var(--line);font-size:14px}
footer.site{border-top:1px solid var(--line);background:var(--bar)}
footer.site .wrap{padding-block:24px 32px;display:flex;flex-wrap:wrap;gap:16px 48px;justify-content:space-between;font-size:12.5px;color:var(--dim)}
footer.site p{margin:0;flex:1 1 520px;min-width:0;max-width:46em}

.strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:6px;overflow:hidden;margin-bottom:32px}
.strip>div{background:var(--panel);padding:10px 14px}.strip small{display:block;font-size:12px;color:var(--muted)}.strip b{font-family:var(--f-mono);font-size:24px;font-weight:500;line-height:1.3}
.fbar{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin-bottom:16px}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{font:inherit;font-size:12.5px;padding:3px 12px;border-radius:999px;border:1px solid var(--line2);background:transparent;color:var(--ink2);cursor:pointer;min-height:32px}
.chip[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink);font-weight:700}
.fbar input[type=search]{font:inherit;font-size:13px;background:var(--bg);color:var(--ink);border:1px solid var(--line2);border-radius:4px;padding:6px 10px;min-height:36px;flex:1 1 200px;min-width:0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.tree details{margin-bottom:2px}.tree summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:4px}.tree summary span{margin-left:auto}.tree summary::-webkit-details-marker{display:none}
.tree summary::before{content:"▸";margin-right:6px;color:var(--dim)}.tree details[open]>summary::before{content:"▾"}
#idx-table th{cursor:pointer}
@media (max-width:560px){body{font-size:15px}.say .av{flex-basis:34px;height:34px;font-size:13px}figure.fig{padding:14px 10px 10px}.bars3 .r{grid-template-columns:minmax(0,8em) 1fr 4em}}
@media (prefers-reduced-motion:reduce){.card{transition:none}}
.lv-bar{display:flex;flex-wrap:wrap;gap:8px 20px;margin-bottom:10px;align-items:center}
.lv-strip{margin:6px 0 14px}.lv-strip b{font-size:19px}
.lv-panel{padding:12px 12px 8px}.lv-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;font-size:12.5px;margin-bottom:6px;padding-inline:4px}
.lv-chart{position:relative;min-height:200px;touch-action:pan-y}.lv-chart svg{display:block;width:100%;height:auto}
.lv-ax{font-family:var(--f-mono);font-size:11px;fill:var(--dim)}
.lv-tip{position:absolute;top:12px;background:var(--panel2);border:1px solid var(--line2);border-radius:5px;padding:6px 10px;font-family:var(--f-mono);font-size:12px;display:flex;flex-direction:column;line-height:1.55;pointer-events:none;white-space:nowrap}
.lv-tip[hidden]{display:none}
.lv-msg{padding:28px 12px;text-align:center;color:var(--ink2);font-size:14px}
.lv-state{font-size:13.5px;width:100%}.lv-state td{padding:7px 4px;border-bottom:1px solid var(--line)}
.lv-notes{margin:0;padding-left:18px;font-size:14px;color:var(--ink2)}.lv-notes li{margin-bottom:8px}
.say .av{font-size:0;background-size:cover!important}
.feats{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-bottom:28px}
.feat{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border:1px solid var(--line2);border-radius:6px;background:linear-gradient(160deg,var(--panel2),var(--panel));color:var(--ink)}.feat:hover{text-decoration:none;border-color:var(--brand)}.feat b{font-size:15.5px;line-height:1.5}.feat small{color:var(--muted);font-size:12.5px;line-height:1.6}
.sig-panel{padding:12px 16px 14px;margin-bottom:28px}.sig-sum{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:6px}.sig-sum b{font-size:26px;font-weight:500}
.sig-t{font-size:13.5px;width:100%}.sig-t td,.sig-t th{padding:6px 6px;border-bottom:1px solid var(--line)}.sig-t th{font-size:12px;color:var(--muted);font-weight:500;text-align:left}
.sig-st{display:inline-block;padding:1px 8px;border-radius:999px;font-size:12px}.sig-st.on{background:color-mix(in srgb,var(--good) 18%,transparent);color:var(--good)}.sig-st.off{background:var(--panel2);color:var(--muted)}.sig-new{font-size:11px;color:var(--brand)}
.cast-p{display:flex;gap:10px;align-items:flex-start;margin-top:8px}.cast-p p{margin:0;font-size:13px;line-height:1.65;color:var(--ink2)}.cast-p b{color:var(--ink)}
.quiz{border:1px dashed var(--line2);border-radius:8px;padding:14px 16px;margin:6px 0 22px;background:var(--panel)}.quiz-mina{display:flex;gap:10px;align-items:center;margin-top:8px}.quiz-mina .av{flex:0 0 34px;height:34px;border-radius:50%}.quiz-mina p{margin:0;font-size:14px}.quiz-skip{border-style:dashed}
.lab-cta{display:inline-flex;gap:8px;align-items:center;margin:0 0 18px;padding:8px 14px;border:1px solid var(--brand);border-radius:999px;font-size:13.5px;color:var(--brand)}.lab-cta:hover{text-decoration:none;background:color-mix(in srgb,var(--brand) 12%,transparent)}
.lab-top{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:end;margin-bottom:14px}.lab-sel{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1 320px;max-width:520px}
.lab-sel select{font:inherit;font-size:14px;background:var(--panel);color:var(--ink);border:1px solid var(--line2);border-radius:6px;padding:8px 10px;min-height:40px}
.lab-grid{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:16px}@media (max-width:820px){.lab-grid{grid-template-columns:1fr}}
.lab-params{padding:14px 16px}.lab-row{display:flex;flex-direction:column;gap:2px;margin-bottom:12px}.lab-row>span{display:flex;justify-content:space-between;font-size:13.5px}.lab-row output{color:var(--brand)}.lab-row input[type=range]{width:100%;accent-color:var(--brand)}
.lab-strip{margin-bottom:12px;grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.lab-strip b{font-size:20px}.lab-was{color:var(--dim)!important;font-size:11px!important}
.lab-ck{padding:12px 16px}.lab-ck-h{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.lab-ck ul{list-style:none;margin:8px 0 0;padding:0}
.lab-ck li{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:8px;padding:6px 0;border-bottom:1px solid var(--line);font-size:13.5px}.lab-ck li .mono{color:var(--ink2);font-size:12.5px;text-align:right}
.lab-ck li.ok .mk{color:var(--good)}.lab-ck li.ng .mk{color:var(--bad)}.lab-ck li.na .mk{color:var(--dim)}
@media (max-width:560px){.lab-ck li{grid-template-columns:20px minmax(0,1fr)}.lab-ck li .mono{grid-column:2;text-align:left}}
.cols{gap:40px 60px}
.art{max-width:720px;font-size:16.5px;line-height:2.05;letter-spacing:.02em}
.art .head{margin-bottom:8px}.art .head h1{line-height:1.45;margin:14px 0 18px}
.art p{margin:0 0 1.6em}
.art h2{margin:76px 0 24px;padding-top:24px;line-height:1.5}
.art h3{margin:48px 0 16px;line-height:1.55}
.art ul,.art ol{margin:0 0 1.6em}.art li{margin-bottom:12px}
.art .learn{padding:24px 28px;margin:40px 0}.art .learn li{margin:0 0 10px}
.art .callout{padding:20px 24px;margin:36px 0;line-height:1.95;gap:16px}
.art figure.fig{margin:44px 0;padding:24px 22px 16px}.art figure.fig .fs{margin-bottom:14px}.art figure.fig figcaption{margin-top:12px;line-height:1.8}
.art .chat{gap:20px;margin:44px 0}.art .say{gap:14px}.art .say .bub{padding:14px 20px;line-height:1.95}
.art .formula{padding:18px 22px;margin:0 0 1.8em;line-height:1.9}
.art .tbl{margin:28px 0 20px}.art .tbl td,.art .tbl th{padding-top:10px;padding-bottom:10px}
.art .score{margin:24px 0;gap:14px}.art .verdict{padding:24px 28px;margin:24px 0 40px;line-height:1.95}
.art .code{margin:24px 0}
.art nav.next{margin-top:64px}
.quiz{padding:20px 24px;margin:12px 0 36px}.art .quiz p{margin:6px 0}.art .learn ul{margin-bottom:0}.art .learn li:last-child{margin-bottom:0}.lab-cta{margin:0 0 32px}
@media (max-width:560px){.art{font-size:16px;line-height:1.95;letter-spacing:.01em}.art h2{margin:60px 0 18px}.art .learn,.art .verdict,.art .callout{padding:18px 18px}.art figure.fig{margin:34px 0;padding:16px 12px 12px}.art .say .bub{padding:12px 16px}}
.side-tog{font:inherit;font-size:12px;color:var(--muted);background:none;border:1px solid var(--line2);border-radius:999px;padding:4px 12px;margin:0 0 18px;cursor:pointer;min-height:32px}.side-tog:hover{color:var(--ink);border-color:var(--muted)}
.sec-tog{all:unset;box-sizing:border-box;display:flex;width:100%;justify-content:space-between;align-items:center;gap:8px;cursor:pointer;min-height:28px}
.sec-tog:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:3px}.sec-tog .chev{transition:transform .15s;font-size:10px}
.side section.fold .sec-body{display:none}.side section.fold .chev{transform:rotate(-90deg)}
#side-open{display:none;position:fixed;left:12px;bottom:16px;z-index:20;font:inherit;font-size:12.5px;color:var(--ink);background:var(--panel2);border:1px solid var(--line2);border-radius:999px;padding:6px 14px;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.4);min-height:36px}
body.side-off .cols>.side{display:none}
body.side-off.has-side #side-open{display:block}
body.side-off .cols>.primary .art{margin-inline:auto}
@media (prefers-reduced-motion:reduce){.sec-tog .chev{transition:none}}
.ci{display:inline-flex;align-items:center;gap:5px;color:var(--cc)}.ci svg{width:1.15em;height:1.15em;flex:0 0 auto}
.card{border-top:2px solid var(--cc,var(--line))}
.art{--cc:var(--brand)}.art .head .eyebrow .ci{font-weight:600}
.art h2::before{content:"";display:inline-block;width:8px;height:8px;border-radius:2px;background:var(--cc);margin-right:10px;vertical-align:.18em}
.art .learn{border-top-color:var(--cc)}
.cat-hd{display:flex;align-items:center;gap:8px}
.verdict .pill{position:relative;font-family:"Zen Old Mincho","Hiragino Mincho ProN","Yu Mincho",serif;font-weight:900;font-size:26px;letter-spacing:.18em;padding:6px 10px 6px 18px;border:3px double currentColor;border-radius:8px;transform:rotate(-8deg);line-height:1.2;background:color-mix(in srgb,currentColor 7%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,currentColor 35%,transparent) inset;margin:4px 6px 4px 2px;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='60'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' seed='4'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2.2 1.9'/%3E%3C/filter%3E%3Crect width='120' height='60' filter='url(%23n)'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='60'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' seed='4'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2.2 1.9'/%3E%3C/filter%3E%3Crect width='120' height='60' filter='url(%23n)'/%3E%3C/svg%3E");-webkit-mask-size:120px 60px;mask-size:120px 60px}
.verdict .pill::before{display:none}
.verdict .pill.v-reject{color:#F0675B}.verdict .pill.v-adopt{color:#45D18A}.verdict .pill.v-hold{color:#F5AE45}.verdict .pill.v-plan{color:#A9B4C3}
.verdict .pill.stamp-wait{opacity:0;transform:rotate(-8deg) scale(1.9)}
.verdict .pill.stamp-go{animation:stampin .42s cubic-bezier(.2,1.6,.4,1) both}
@keyframes stampin{0%{opacity:0;transform:rotate(-14deg) scale(1.9)}60%{opacity:1;transform:rotate(-7deg) scale(.94)}100%{opacity:1;transform:rotate(-8deg) scale(1)}}
@media (prefers-reduced-motion:reduce){.verdict .pill.stamp-wait{opacity:1;transform:rotate(-8deg)}.verdict .pill.stamp-go{animation:none}}
.say .av{transition:background-image .2s}
.tree summary .ci{margin-left:0}.art .verdict p,.art .callout p:last-child,.art .quiz p:last-child{margin-bottom:0}.verdict .pill{font-size:28px}
.art .say .av{flex-basis:46px;height:46px}@media (max-width:560px){.art .say .av{flex-basis:38px;height:38px}}
.cast h4{margin-bottom:12px}
.id-card{--ac:#7FB2FF;position:relative;background:linear-gradient(165deg,color-mix(in srgb,var(--ac) 9%,var(--panel)) 0%,var(--panel) 55%);border:1px solid color-mix(in srgb,var(--ac) 30%,var(--line));border-radius:12px;overflow:hidden;margin-bottom:14px;box-shadow:0 6px 18px rgba(0,0,0,.25)}
.id-card.boss-c{--ac:#F0A53A}
.id-card::after{content:"";position:absolute;right:-30px;top:44px;width:120px;height:120px;border-radius:50%;border:1px dashed color-mix(in srgb,var(--ac) 25%,transparent);pointer-events:none}
.id-band{display:flex;justify-content:space-between;align-items:center;padding:7px 14px;background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--ac) 85%,#000) 0 10px,color-mix(in srgb,var(--ac) 75%,#000) 10px 20px);color:#0A0E14}
.id-org{font-family:var(--f-mono);font-size:10px;letter-spacing:.16em;font-weight:600}
.id-role{font-size:11px;font-weight:700;background:rgba(10,14,20,.85);color:var(--ac);padding:1px 9px;border-radius:999px}
.id-main{display:flex;align-items:center;gap:12px;padding:14px 14px 4px}
.id-av .av{flex:0 0 64px!important;width:64px;height:64px!important;border-radius:50%;box-shadow:0 0 0 3px var(--panel),0 0 0 5px color-mix(in srgb,var(--ac) 70%,transparent);transition:transform .2s}
.id-card:hover .id-av .av{transform:rotate(-4deg) scale(1.04)}
.id-name{display:flex;flex-direction:column;line-height:1.35}.id-name b{font-size:19px;letter-spacing:.06em}.id-name span{font-size:10.5px;letter-spacing:.12em;color:var(--ac)}
.id-quote{position:relative;margin:8px 14px 10px;padding:8px 12px;font-size:12.5px;line-height:1.7;color:var(--ink);background:rgba(10,14,20,.45);border-left:2px solid var(--ac);border-radius:0 6px 6px 0}
.id-stat{margin:0 14px 10px}.id-stat-h{display:flex;justify-content:space-between;align-items:baseline;font-size:11.5px;color:var(--muted)}.id-stat-h b{color:var(--ink);font-size:12.5px;font-weight:500}
.id-meter{height:5px;border-radius:999px;background:var(--line);margin-top:5px;overflow:hidden}.id-meter i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--ac) 60%,transparent),var(--ac));transition:width .8s ease}
.id-tags{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0 14px 14px}.id-tags li{font-size:11px;padding:1px 9px;border-radius:999px;border:1px solid color-mix(in srgb,var(--ac) 40%,var(--line2));color:var(--ink2)}
@media (prefers-reduced-motion:reduce){.id-av .av,.id-meter i{transition:none}}
.logo .lmark{display:inline-flex;width:26px;height:26px}
.top{transition:background .25s,backdrop-filter .25s}.top.scrolled{background:color-mix(in srgb,var(--bar) 72%,transparent);-webkit-backdrop-filter:blur(12px) saturate(1.3);backdrop-filter:blur(12px) saturate(1.3)}
.progress{position:sticky;top:0;z-index:11;height:0}.progress i{position:absolute;left:0;top:0;height:2px;width:0;background:linear-gradient(90deg,var(--brand),#FFD58A);box-shadow:0 0 8px color-mix(in srgb,var(--brand) 60%,transparent)}
/* hero */
.hero{position:relative;overflow:hidden;border-radius:14px;border:1px solid var(--line);background:radial-gradient(120% 140% at 85% 20%,color-mix(in srgb,var(--brand) 12%,transparent),transparent 55%),linear-gradient(180deg,var(--panel),var(--bg));padding:34px 32px 30px!important;margin-bottom:28px!important;min-height:250px;display:flex;align-items:center}
.hero-bg{position:absolute;inset:0;opacity:.16;-webkit-mask-image:linear-gradient(90deg,transparent,#000 30%,#000 70%,transparent);mask-image:linear-gradient(90deg,transparent,#000 30%,#000 70%,transparent);pointer-events:none}
.hero-bg svg{position:absolute;inset:0;width:200%;height:100%;animation:drift 60s linear infinite alternate}
@keyframes drift{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.hero-tx{position:relative;max-width:min(600px,64%)}.hero .hero-tx h1{font-size:clamp(26px,3.3vw,36px)}.hero h1{text-shadow:0 2px 18px rgba(0,0,0,.5)}
.hero-cast{position:absolute;right:22px;bottom:0;width:250px;height:230px;pointer-events:none}
.hero-cast::before{content:"";position:absolute;left:30px;bottom:-40px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--brand) 22%,transparent),transparent 70%)}
.hc{position:absolute;bottom:0}.hc svg{display:block;width:100%;height:auto}.hc-boss{width:150px;right:0;filter:drop-shadow(0 8px 16px rgba(0,0,0,.45))}.hc-mina{width:132px;right:118px;filter:drop-shadow(0 8px 16px rgba(0,0,0,.45))}
.hc-bub{white-space:nowrap;position:absolute;right:150px;top:10px;font-size:12.5px;font-weight:700;background:#7FB2FF;color:#0A0E14;padding:5px 12px;border-radius:14px 14px 14px 3px;animation:bob 3.2s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(-4px)}}
@media (max-width:760px){.hero-cast{order:2}.hero{flex-direction:column;align-items:stretch;padding:26px 20px 0!important}.hero-tx{max-width:none}.hero-cast{position:relative;right:auto;margin:14px auto 0;width:230px;height:150px}.hc-boss{width:110px}.hc-mina{width:96px;right:96px}.hc-bub{right:auto;left:0;top:0}}
/* strip */
.strip{position:relative;padding-bottom:4px}.strip .ratio{position:absolute!important;left:0;right:0;bottom:0;display:flex;gap:2px;padding:0!important;height:4px;background:var(--bg)!important}.strip .ratio i{display:block;height:100%}
/* signal lamps */
.lamps{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:8px}
.lamp{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:2px 10px;align-items:center;padding:10px 12px;border-radius:8px;border:1px solid var(--line);background:var(--panel2);color:var(--ink);position:relative}
.lamp:hover{text-decoration:none;border-color:var(--cc)}
.lamp .bulb{grid-row:1/3;width:14px;height:14px;border-radius:50%;background:#2A3648;box-shadow:inset 0 0 0 2px rgba(0,0,0,.35)}
.lamp.on .bulb{background:radial-gradient(circle at 35% 35%,#B6F5D2,var(--good) 60%);box-shadow:0 0 10px color-mix(in srgb,var(--good) 70%,transparent),0 0 2px var(--good)}
.lamp.fresh .bulb{animation:blink 1.1s steps(2,jump-none) infinite}
@keyframes blink{50%{opacity:.25}}
.lm-t{display:flex;align-items:baseline;gap:6px;min-width:0}.lm-t small{color:var(--cc);font-size:11px}.lm-t b{font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lm-s{display:flex;justify-content:space-between;gap:8px;font-size:12px}.lm-s em{font-style:normal;color:var(--muted)}.lamp.on .lm-s em{color:var(--good)}.lamp.fresh .lm-s em{color:var(--brand)}.lm-s small{color:var(--dim)}
/* article band */
.art-band{position:relative;margin:18px 0 4px;height:78px;border-radius:10px;overflow:hidden;border:1px solid color-mix(in srgb,var(--cc) 30%,var(--line));background:linear-gradient(90deg,color-mix(in srgb,var(--cc) 8%,var(--panel)),var(--panel))}
.art-band svg{position:absolute;inset:6px 0 0;width:100%;height:calc(100% - 6px)}
.art-band span{position:absolute;left:12px;top:7px;font-size:11px;color:var(--ink2);letter-spacing:.02em;background:color-mix(in srgb,var(--panel) 75%,transparent);padding:0 6px;border-radius:4px;max-width:calc(100% - 24px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* learn numbered */
.art .learn ul{list-style:none;padding:0;counter-reset:lr;display:grid;gap:10px}
.art .learn li{counter-increment:lr;position:relative;padding:10px 14px 10px 52px;background:var(--panel2);border-radius:8px;border:1px solid var(--line);margin:0!important}
.art .learn li::before{content:counter(lr,decimal-leading-zero);position:absolute;left:12px;top:9px;font-family:var(--f-mono);font-size:20px;font-weight:600;color:var(--cc);line-height:1.3}
/* tables */
.art .tbl tr.hl td:first-child{box-shadow:inset 3px 0 0 var(--cc)}
.art .tbl td.dbar{background-image:linear-gradient(90deg,color-mix(in srgb,var(--bc) 22%,transparent),color-mix(in srgb,var(--bc) 22%,transparent));background-size:var(--w) 5px;background-repeat:no-repeat;background-position:right bottom 3px}
/* next cards */
.art nav.next{display:grid;grid-template-columns:1fr 1fr;gap:14px;border-top:none;padding-top:0}
@media (max-width:560px){.art nav.next{grid-template-columns:1fr}}
.nx{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border-radius:10px;border:1px solid var(--line);border-top:2px solid var(--cc,var(--line2));background:var(--panel);color:var(--ink);min-width:0;transition:transform .15s,border-color .15s}
.nx:hover{text-decoration:none;transform:translateY(-2px);border-color:var(--cc,var(--line2))}.nx-next{text-align:right;align-items:flex-end}
.nx small{font-size:11.5px;color:var(--muted)}.nx b{font-size:14.5px;line-height:1.6}
.nx-top{display:flex;gap:10px;align-items:center;font-size:12px}
.nx-stamp{font-family:"Zen Old Mincho",serif;font-weight:900;font-size:12px;border:1.5px double currentColor;border-radius:4px;padding:0 5px;transform:rotate(-6deg)}
.nx-stamp.v-adopt{color:#45D18A}.nx-stamp.v-hold{color:#F5AE45}.nx-stamp.v-reject{color:#F0675B}
/* footer */
.foot-art{border-bottom:1px solid var(--line);background:radial-gradient(80% 140% at 50% 0%,color-mix(in srgb,var(--brand) 7%,transparent),transparent 70%)}
.foot-in{display:flex;align-items:center;gap:20px 32px;flex-wrap:wrap;padding-block:22px!important}
.foot-scene{flex:0 0 260px;max-width:100%}.foot-scene svg{display:block;width:100%;height:auto}
.foot-badge{flex:0 0 auto;width:92px;height:92px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px solid var(--brand);box-shadow:0 0 0 4px var(--bar),0 0 0 5px color-mix(in srgb,var(--brand) 50%,transparent);color:var(--brand);transform:rotate(-8deg);line-height:1.1}
.foot-badge b{font-size:28px;font-weight:600}.foot-badge span{font-size:12px;font-weight:700}.foot-badge small{font-size:9.5px;font-family:var(--f-mono);color:var(--muted);margin-top:2px}
.foot-msg{flex:1 1 260px;margin:0;font-size:13px;line-height:1.9;color:var(--ink2)}
/* page enter */
.view.enter{animation:vin .35s ease both}@keyframes vin{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.hero-bg svg,.hc-bub,.lamp.fresh .bulb,.view.enter{animation:none}.nx,.top{transition:none}}
@media (max-width:560px){#home-strip>div:nth-child(5){grid-column:1/-1}}.foot-in{justify-content:center}.foot-msg{flex:0 1 420px}

/* ===== SHARP THEME ===== */
:root{--bg:#06090E;--bar:#0A0E15;--panel:#0C111A;--panel2:#101724;--line:#18212F;--line2:#253246;--ink:#E6ECF3;--ink2:#AEB9C7;--f-head:"Zen Kaku Gothic New","IBM Plex Sans JP",system-ui,sans-serif}
body{background:var(--bg)}
h1,h2,h3,.card h3,.feat b,.nx b,.id-name b{font-family:var(--f-head);letter-spacing:.01em}
h1{font-weight:900;letter-spacing:-.005em}h2,h3{font-weight:700}
.intro h1,.art .head h1{line-height:1.32}
.panel,.card,.feat,.lamp,.id-card,.nx,figure.fig,.learn,.callout,.verdict,.quiz,.hero,.art-band,.strip,.tbl.panel,.formula,.code pre,.score>div,.lab-ck,.lab-params,.sig-panel,.lab-sel select,.say .bub,.art .learn li,.lv-panel,.foot-badge+.x{border-radius:3px!important}
.chip,.pill,.side-tog,.lab-cta,#side-open,.id-tags li,.id-role,.sig-st,.hc-bub{border-radius:2px!important}
.chip{letter-spacing:.04em}.chip[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:#06090E}
.say .bub{border-radius:2px 10px 10px 10px!important}
/* header */
.top{border-bottom:1px solid var(--line2)}
.top::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,var(--brand) 0,var(--brand) 120px,transparent 420px)}
nav.main a{font-weight:500;letter-spacing:.06em}nav.main a[aria-current="page"]{color:#fff}
.logo{font-family:var(--f-head);font-weight:900;letter-spacing:.12em}
.ticker{background:#080C12}.ticker .wrap{letter-spacing:.04em}
/* section heads: index slash */
.sec-h{border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:18px}
.sec-h h2{font-size:19px;letter-spacing:.04em;display:flex;align-items:baseline;gap:10px}
.sec-h h2::before{content:"//";font-family:var(--f-mono);font-size:13px;font-weight:600;color:var(--brand)}
.sec-h a{font-family:var(--f-mono);font-size:12px;letter-spacing:.06em}
.eyebrow{letter-spacing:.18em}
/* HUD corners */
.card,.feat,figure.fig,.lamp,.nx,.lab-ck,.lab-params{background:linear-gradient(var(--brand),var(--brand)) left top/12px 1px no-repeat,linear-gradient(var(--brand),var(--brand)) left top/1px 12px no-repeat,linear-gradient(var(--line2),var(--line2)) right bottom/12px 1px no-repeat,linear-gradient(var(--line2),var(--line2)) right bottom/1px 12px no-repeat,var(--panel)!important}
.feat{background:linear-gradient(var(--brand),var(--brand)) left top/12px 1px no-repeat,linear-gradient(var(--brand),var(--brand)) left top/1px 12px no-repeat,linear-gradient(var(--line2),var(--line2)) right bottom/12px 1px no-repeat,linear-gradient(var(--line2),var(--line2)) right bottom/1px 12px no-repeat,linear-gradient(160deg,var(--panel2),var(--panel))!important}
.card{border-top-width:1px!important;box-shadow:inset 0 2px 0 var(--cc,var(--line))}
.card,.feat,.nx,.lamp{transition:border-color .15s,transform .15s,box-shadow .15s}
.card:hover,.feat:hover,.lamp:hover{transform:translateY(-2px);box-shadow:inset 0 2px 0 var(--cc,var(--brand)),0 10px 24px -12px color-mix(in srgb,var(--cc,var(--brand)) 55%,transparent)}
/* hero: grid + diagonal accent */
.hero{background:linear-gradient(90deg,color-mix(in srgb,var(--line) 70%,transparent) 1px,transparent 1px) 0 0/32px 32px,linear-gradient(0deg,color-mix(in srgb,var(--line) 70%,transparent) 1px,transparent 1px) 0 0/32px 32px,linear-gradient(115deg,transparent 58%,color-mix(in srgb,var(--brand) 10%,transparent) 58.2%,transparent 75%),linear-gradient(180deg,var(--panel),var(--bg))!important;border-color:var(--line2)!important;border-left:3px solid var(--brand)!important}
.hero h1{font-size:clamp(26px,3vw,38px)!important}.hero-tx{max-width:min(640px,67%)!important}@media (max-width:760px){.hero-tx{max-width:none!important}}
.hero .eyebrow{display:inline-block;padding:2px 8px;border:1px solid color-mix(in srgb,var(--brand) 50%,transparent);color:var(--brand)}
/* strip */
.strip{background:var(--line2);border-color:var(--line2)}.strip>div{position:relative}.strip small{font-family:var(--f-mono);letter-spacing:.08em;font-size:11px;text-transform:uppercase}
.strip b{font-size:28px;letter-spacing:-.01em}
/* article */
.art .head h1{font-size:clamp(28px,3.8vw,38px)}
.art h2{border-top:none;padding-top:0;font-size:23px;letter-spacing:.02em}
.art h2{position:relative;padding-bottom:12px;border-bottom:1px solid var(--line)}
.art h2::after{content:"";position:absolute;left:0;bottom:-1px;width:64px;height:2px;background:var(--cc)}
.art h2::before{width:6px;height:18px;border-radius:0;vertical-align:-.12em}
.art h3{font-size:17.5px;padding-left:12px;border-left:2px solid var(--cc)}
.art .learn{border-top:none!important;border-left:3px solid var(--cc)!important}
.art .callout{border-left:3px solid var(--line2)}
.art .verdict{border-left:3px solid var(--line2)}
.tbl th{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.06em;color:var(--muted);text-transform:uppercase}
.art .tbl table{border-top:1px solid var(--line2)}
.score>div{border-top-width:2px}
/* side */
.side h4,.side .sec-tog{letter-spacing:.16em}
.tree a.on{box-shadow:inset 2px 0 0 var(--brand)}
/* footer */
footer.site{border-top:1px solid var(--line2)}

/* ===== CALM PALETTE: one accent (brand) + verdict colors only ===== */
:root{--link:#C9D4E2}
a{text-decoration-color:color-mix(in srgb,var(--link) 35%,transparent)}
.art a,.note a,.lab-link{color:var(--brand)}
.ci{color:var(--ink2)!important}.ci svg{color:var(--muted)}
.tree summary .ci,.wiki .cat-hd .ci,#idx-table .ci,.bars3 .ci{color:var(--ink2)!important}
.card{box-shadow:inset 0 2px 0 var(--line2)!important}
.card:hover,.feat:hover,.lamp:hover{box-shadow:inset 0 2px 0 var(--brand),0 10px 24px -14px color-mix(in srgb,var(--brand) 45%,transparent)!important}
.lm-t small{color:var(--muted)!important}
.strip b{color:var(--ink)!important}
.art-band{border-color:var(--line2)!important;background:var(--panel)!important}
.art .learn li::before{color:var(--brand)}
.nx{border-top-color:var(--line2)!important}.nx:hover{border-color:var(--brand)!important}
.feat .eyebrow{color:var(--muted)!important}
.hero{background:linear-gradient(90deg,color-mix(in srgb,var(--line) 70%,transparent) 1px,transparent 1px) 0 0/32px 32px,linear-gradient(0deg,color-mix(in srgb,var(--line) 70%,transparent) 1px,transparent 1px) 0 0/32px 32px,linear-gradient(180deg,var(--panel),var(--bg))!important}
.hero-cast::before{opacity:.5}
.hc-bub{background:var(--ink)!important}
.hero-bg{opacity:.11;filter:grayscale(1)}
.hero-bg svg line,.hero-bg svg rect{stroke:var(--ink2);fill:var(--ink2)}
.id-card{--ac:#8A97A8!important;background:var(--panel)!important}
.id-band{background:var(--panel2)!important;color:var(--ink2)!important;border-bottom:1px solid var(--line2)}
.id-role{background:transparent!important;color:var(--brand)!important;border:1px solid color-mix(in srgb,var(--brand) 50%,transparent)}
.id-name span{color:var(--muted)!important}
.id-meter i{background:var(--brand)!important}
.id-quote{border-left-color:var(--brand)!important}
.id-av .av{box-shadow:0 0 0 3px var(--panel),0 0 0 4px var(--line2)!important}
.lab-row output{color:var(--brand)}
.sig-sum b{color:var(--ink)}
.foot-art{background:none!important}
.card{border-top-color:var(--line)!important}.card:hover{border-color:var(--line2)!important}
.ticker span[style*="--s-amber"],.ticker span[style*="--s-blue"],.ticker span[style*="--good"]{color:var(--ink)!important}
.side .panel td.n{color:var(--ink)!important}
@media (min-width:900px){.cols{gap:40px 48px}.cols>.side{flex:0 0 212px;max-width:212px}}
.side{font-size:13.5px}.id-av .av{flex-basis:52px!important;width:52px;height:52px!important}.id-name b{font-size:17px}.id-main{gap:10px;padding:12px 12px 4px}.id-quote{margin:8px 12px 10px}.id-stat{margin:0 12px 10px}.id-tags{padding:0 12px 12px}.id-band{padding:6px 12px}
.id-name span{font-size:9.5px;letter-spacing:.06em;white-space:nowrap}
.sr-btn{display:inline-flex;align-items:center;gap:8px;font:inherit;font-size:12.5px;color:var(--muted);background:var(--panel);border:1px solid var(--line2);border-radius:2px;padding:5px 8px 5px 10px;cursor:pointer;min-height:34px;margin-left:auto}
.sr-btn:hover{color:var(--ink);border-color:var(--brand)}.sr-btn svg,.sr-in svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
kbd{font-family:var(--f-mono);font-size:10.5px;padding:0 5px;border:1px solid var(--line2);border-bottom-width:2px;border-radius:2px;color:var(--ink2);background:var(--bg)}
@media (max-width:560px){.sr-btn span,.sr-btn kbd{display:none}.sr-btn{padding:6px 9px}}
#sr{position:fixed;inset:0;z-index:50}.sr-back{position:absolute;inset:0;background:rgba(3,5,8,.72);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.sr-dlg{position:relative;max-width:680px;margin:9vh auto 0;width:calc(100% - 32px);background:var(--panel);border:1px solid var(--line2);border-top:2px solid var(--brand);border-radius:3px;box-shadow:0 30px 60px -20px rgba(0,0,0,.8);display:flex;flex-direction:column;max-height:78vh}
.sr-in{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line)}.sr-in svg{color:var(--brand);width:18px;height:18px}
.sr-in input{flex:1;min-width:0;font:inherit;font-size:16px;background:none;border:0;color:var(--ink);outline:none}.sr-in kbd{cursor:pointer}
.sr-chips{display:flex;flex-wrap:wrap;gap:6px;padding:10px 14px 4px}.sr-chip{font:inherit;font-size:12px;background:none;border:1px solid var(--line2);border-radius:2px;color:var(--ink2);padding:2px 10px;cursor:pointer;min-height:28px}.sr-chip:hover{border-color:var(--brand);color:var(--ink)}
#sr-list{list-style:none;margin:0;padding:6px;overflow-y:auto;flex:1}
#sr-list li[role=option]{display:flex;flex-direction:column;gap:3px;padding:9px 12px;border-radius:2px;cursor:pointer;border-left:2px solid transparent}
#sr-list li.on{background:var(--panel2);border-left-color:var(--brand)}
.sr-t{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px}.sr-t b{font-weight:600}.sr-t small{margin-left:auto;color:var(--dim);font-size:11px}
.sr-s{font-size:12.5px;color:var(--muted);line-height:1.65;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.sr-s mark{background:color-mix(in srgb,var(--brand) 30%,transparent);color:var(--ink);padding:0 1px;border-radius:1px}
.sr-kind{font-family:var(--f-mono);font-size:10.5px;color:var(--muted);border:1px solid var(--line2);padding:0 6px;border-radius:2px}
.sr-empty{padding:24px 12px;color:var(--muted);font-size:13.5px;text-align:center}
.sr-ft{display:flex;gap:16px;padding:8px 14px;border-top:1px solid var(--line);font-size:11.5px;color:var(--dim)}.sr-ft span:last-child{margin-left:auto}
@media (max-width:560px){.sr-dlg{margin-top:8px;max-height:92vh}.sr-ft span:not(:last-child){display:none}}

/* ===== more: pages, reading, share, compare, guide, changelog ===== */
.pg-h{font-size:30px;margin:8px 0 8px}.pg-lead{max-width:44em;margin-bottom:22px}
.doc{max-width:720px;font-size:15.5px;line-height:2}.doc h2{font-size:19px;margin:36px 0 10px;padding-bottom:8px;border-bottom:1px solid var(--line)}.doc ul{padding-left:1.3em}.doc li{margin-bottom:6px}
.kv{width:100%;border-collapse:collapse;margin:8px 0 16px;font-size:14px}.kv th{width:9em;text-align:left;font-weight:500;color:var(--muted);padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}.kv td{padding:8px 10px;border-bottom:1px solid var(--line)}
td[data-ph]{color:var(--brand)}
.theme-btn{font:inherit;font-size:15px;line-height:1;width:34px;height:34px;display:inline-grid;place-items:center;background:var(--panel);border:1px solid var(--line2);border-radius:2px;color:var(--ink2);cursor:pointer;margin-left:auto}.theme-btn:hover{border-color:var(--brand);color:var(--ink)}
.theme-btn+.sr-btn{margin-left:0}
.foot-nav{display:flex;flex-wrap:wrap;gap:6px 16px;flex:1 1 100%;font-size:12.5px}.foot-nav a{color:var(--ink2)}
.hero-cta{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.cta{display:inline-flex;align-items:center;padding:7px 14px;border:1px solid var(--line2);border-radius:2px;font-size:13px;color:var(--ink);background:color-mix(in srgb,var(--panel) 80%,transparent)}.cta:hover{text-decoration:none;border-color:var(--brand)}.cta.pri{background:var(--brand);border-color:var(--brand);color:#06090E;font-weight:700}
.rd-row{display:flex;gap:6px;margin-top:-2px}.rd-b{font-size:10.5px;padding:0 6px;border:1px solid var(--line2);border-radius:2px;color:var(--muted);font-family:var(--f-mono)}.rd-b.fav{color:var(--brand);border-color:color-mix(in srgb,var(--brand) 45%,transparent)}
.fav-btn{font:inherit;font-size:12px;background:none;border:1px solid var(--line2);border-radius:2px;color:var(--ink2);padding:2px 10px;cursor:pointer;min-height:28px}.fav-btn[aria-pressed="true"]{color:var(--brand);border-color:var(--brand)}
.home-resume{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin:-14px 0 28px}
.resume,.my-stat{display:flex;flex-direction:column;gap:5px;padding:12px 14px;border:1px solid var(--line2);border-left:3px solid var(--brand);border-radius:3px;background:var(--panel);color:var(--ink)}.resume:hover{text-decoration:none;border-color:var(--brand)}
.resume b{font-size:14.5px;line-height:1.5}.resume small,.my-stat{font-size:12.5px;color:var(--muted)}.my-stat{border-left-color:var(--line2)}.my-stat b{color:var(--ink)}
.rs-bar{display:block;height:3px;background:var(--line);border-radius:2px;overflow:hidden}.rs-bar i{display:block;height:100%;background:var(--brand)}
.my-fav a{color:var(--ink2)}
.share{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:48px 0 0;padding:14px 16px;border:1px solid var(--line2);border-radius:3px;background:var(--panel)}
.share-h{font-size:12.5px;color:var(--muted);margin-right:6px;font-family:var(--f-mono);letter-spacing:.06em}
.sh{font:inherit;font-size:12.5px;padding:4px 12px;border:1px solid var(--line2);border-radius:2px;background:var(--panel2);color:var(--ink);cursor:pointer;min-height:32px;display:inline-flex;align-items:center}.sh:hover{text-decoration:none;border-color:var(--brand)}
.share-st{margin-left:auto}
.cmp-pick{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.cmp-dot{display:inline-block;width:10px;height:3px;margin-right:6px;vertical-align:middle}
#cmp-table th,#cmp-table td{padding:8px 10px;border-bottom:1px solid var(--line);font-size:13.5px}#cmp-table td:first-child{color:var(--muted);white-space:nowrap}
.road{list-style:none;padding:0;margin:8px 0 0;position:relative}
.road-st{position:relative;padding:0 0 34px 28px;border-left:1px solid var(--line2);margin-left:6px}.road-st::before{content:"";position:absolute;left:-6px;top:4px;width:11px;height:11px;background:var(--brand);transform:rotate(45deg)}
.road-n{font-size:11px;letter-spacing:.14em;color:var(--brand)}.road-st h2{font-size:21px;margin:2px 0 4px}.road-st>p{margin:0 0 12px}
.road-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.road-it{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border:1px solid var(--line);border-radius:3px;background:var(--panel);color:var(--ink)}.road-it:hover{text-decoration:none;border-color:var(--brand)}.road-it small{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:11.5px;color:var(--muted)}.road-it b{font-size:14px;line-height:1.55;font-family:var(--f-head)}
.chg{list-style:none;padding:0;margin:0;max-width:760px}.chg>li{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.chg-d{color:var(--brand);font-size:13px}.chg ul{list-style:none;margin:0;padding:0}.chg ul li{margin-bottom:6px;font-size:14px}
.chg-t{display:inline-block;font-size:10.5px;font-family:var(--f-mono);padding:0 6px;margin-right:8px;border:1px solid var(--line2);border-radius:2px;color:var(--muted);vertical-align:.1em}
@media (max-width:560px){.chg>li{grid-template-columns:1fr;gap:4px}}

/* ===== LIGHT THEME ===== */
:root[data-theme="light"]{color-scheme:light;--bg:#F5F6F8;--bar:#FFFFFF;--panel:#FFFFFF;--panel2:#F0F2F5;--line:#E2E6EC;--line2:#CDD4DE;--ink:#141A22;--ink2:#3B4655;--muted:#5D6877;--dim:#6E7886;--brand:#C2730E;--link:#1F4E8C;--s-blue:#2F6FD8;--s-teal:#13866E;--s-bh:#8892A0;--s-price:#6E7886;--good:#1E8F57;--hold:#B9700D;--bad:#C8443A}
:root[data-theme="light"] body{background:var(--bg)}
:root[data-theme="light"] .art strong{color:#000}
:root[data-theme="light"] .hero{background:linear-gradient(90deg,var(--line) 1px,transparent 1px) 0 0/32px 32px,linear-gradient(0deg,var(--line) 1px,transparent 1px) 0 0/32px 32px,linear-gradient(180deg,#fff,var(--bg))!important}
:root[data-theme="light"] .hero h1{text-shadow:none}
:root[data-theme="light"] .ticker{background:#EEF1F4}
:root[data-theme="light"] .id-quote,:root[data-theme="light"] .art-band span{background:var(--panel2)}
:root[data-theme="light"] .top.scrolled{background:color-mix(in srgb,#fff 80%,transparent)}
:root[data-theme="light"] .verdict .pill.v-adopt,:root[data-theme="light"] .nx-stamp.v-adopt{color:#1E8F57}:root[data-theme="light"] .verdict .pill.v-hold,:root[data-theme="light"] .nx-stamp.v-hold{color:#B9700D}:root[data-theme="light"] .verdict .pill.v-reject,:root[data-theme="light"] .nx-stamp.v-reject{color:#C8443A}
:root[data-theme="light"] .sr-back{background:rgba(20,26,34,.35)}
:root[data-theme="light"] .lamp .bulb{background:#D5DAE1}
:root[data-theme="light"] .cta.pri{color:#fff}
:root[data-theme="light"] .chip[aria-pressed="true"]{color:#fff}

/* ===== PRINT ===== */
@media print{
  :root{--bg:#fff;--panel:#fff;--panel2:#f4f4f4;--line:#ddd;--line2:#bbb;--ink:#000;--ink2:#222;--muted:#555;--dim:#666}
  body{background:#fff;color:#000;font-size:11pt}
  .top,.ticker,.progress,.side,footer.site,#side-open,.quiz,.lab-cta,.share,nav.next,.copy,.sr-btn,.theme-btn,.fav-btn,.hero-cast,.hero-bg{display:none!important}
  .cols>.primary{flex:1 1 100%}.art{max-width:none;font-size:11pt;line-height:1.8}
  .art h2{break-after:avoid;margin-top:28px}figure.fig,.tbl,.score,.verdict,.chat .say{break-inside:avoid}
  a{color:#000;text-decoration:underline}.view.enter{animation:none}
  .art .say .bub,figure.fig,.learn,.callout,.verdict{border-color:#ccc;background:#fff!important}
}
:root[data-theme="light"] nav.main a[aria-current="page"]{color:var(--ink)}:root[data-theme="light"] .logo{color:var(--ink)}

/* ===== START PAGE ===== */
[data-view="start"]{--st:var(--brand)}
.st-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr);gap:20px;align-items:end;border:1px solid var(--line2);border-left:3px solid var(--brand);border-radius:3px;padding:36px 34px 0;margin:4px 0 22px;overflow:hidden;background:linear-gradient(90deg,color-mix(in srgb,var(--line) 70%,transparent) 1px,transparent 1px) 0 0/32px 32px,linear-gradient(0deg,color-mix(in srgb,var(--line) 70%,transparent) 1px,transparent 1px) 0 0/32px 32px,linear-gradient(180deg,var(--panel),var(--bg))}
.st-hero-tx{padding-bottom:30px}.st-hero h1{font-size:clamp(26px,3.4vw,38px);line-height:1.35;margin:10px 0 14px}.st-hero p{color:var(--ink2);max-width:36em;margin:0 0 20px}
.st-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line2);border-bottom:1px solid var(--line2)}
.st-facts>div{padding:10px 12px;border-left:1px solid var(--line)}.st-facts>div:first-child{border-left:0;padding-left:0}
.st-facts b{display:block;font-size:28px;font-weight:500;line-height:1.2}.st-facts b small{font-size:14px;margin-left:2px}.st-facts span{font-size:11.5px;color:var(--muted)}
.st-hero-art{position:relative;height:260px}
.st-mina,.st-boss{position:absolute;bottom:0;filter:drop-shadow(0 10px 18px rgba(0,0,0,.45))}.st-mina svg,.st-boss svg{display:block;width:100%;height:auto}
.st-mina{width:150px;left:4%}.st-boss{width:170px;right:2%}
.st-bub{position:absolute;font-size:12.5px;font-weight:700;padding:5px 12px;border-radius:2px;white-space:nowrap}
.st-bub.b1{left:0;top:18px;background:var(--ink);color:var(--bg)}.st-bub.b2{right:0;top:58px;background:var(--brand);color:#06090E}
.st-bub::after{content:"";position:absolute;bottom:-6px;width:10px;height:10px;background:inherit;transform:rotate(45deg)}.st-bub.b1::after{left:40px}.st-bub.b2::after{right:60px}
@media (max-width:760px){.st-hero{grid-template-columns:1fr;padding:26px 20px 0}.st-hero-tx{padding-bottom:6px}.st-hero-art{height:200px}.st-mina{width:118px;left:8%}.st-boss{width:134px;right:8%}.st-facts{grid-template-columns:repeat(2,1fr)}.st-facts>div:nth-child(3){border-left:0;padding-left:0}.st-facts>div:nth-child(n+3){border-top:1px solid var(--line)}}
.st-prog{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px 18px;border:1px solid var(--line2);border-radius:3px;background:var(--panel);margin-bottom:40px}
.st-prog-l{display:grid;grid-template-columns:auto auto 1fr;grid-template-rows:auto auto;gap:4px 14px;align-items:center}.st-prog-l .eyebrow{grid-column:1/-1}
.st-prog-l b{font-size:30px;font-weight:500;line-height:1}.st-prog-l b small{font-size:14px;color:var(--muted)}.st-prog-l .rs-bar{height:6px;min-width:120px}.st-prog-l .note{grid-column:1/-1}
.st-prog-next{display:flex;flex-direction:column;gap:2px;padding:10px 40px 10px 14px;border:1px solid var(--brand);border-radius:2px;color:var(--ink);position:relative;max-width:340px}.st-prog-next:hover{text-decoration:none;background:color-mix(in srgb,var(--brand) 10%,transparent)}
.st-prog-next small{font-size:11px;color:var(--brand);font-family:var(--f-mono);letter-spacing:.1em}.st-prog-next b{font-size:14px;line-height:1.5}.st-prog-next>span{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--brand);font-size:18px}
@media (max-width:640px){.st-prog{grid-template-columns:1fr}.st-prog-next{max-width:none}}
.st-sec{margin:0 0 52px}
.st-three{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.st-card{position:relative;padding:20px 18px 16px;border:1px solid var(--line);border-radius:3px;background:linear-gradient(var(--brand),var(--brand)) left top/14px 1px no-repeat,linear-gradient(var(--brand),var(--brand)) left top/1px 14px no-repeat,var(--panel)}
.st-card svg{width:30px;height:30px;fill:none;stroke:var(--brand);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;margin-bottom:8px}
.st-card h3{font-size:17px;margin:0 0 6px}.st-card p{font-size:13.5px;color:var(--ink2);margin:0;line-height:1.85}
.st-num{position:absolute;right:14px;top:10px;font-size:34px;font-weight:600;color:color-mix(in srgb,var(--ink) 9%,transparent);line-height:1}
.st-crit{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--line2);border:1px solid var(--line2);border-radius:3px;overflow:hidden}
.st-crit li{background:var(--panel);padding:16px 14px;display:flex;flex-direction:column;gap:4px}
.st-crit b{font-size:12px;color:var(--brand)}.st-crit strong{font-family:var(--f-head);font-size:15px;line-height:1.45}.st-crit span{font-size:12px;color:var(--muted);line-height:1.6}
@media (max-width:860px){.st-crit{grid-template-columns:1fr 1fr}}@media (max-width:480px){.st-crit{grid-template-columns:1fr}}
.st-verd{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:12px;font-size:13px;color:var(--ink2)}.st-verd>div{display:flex;align-items:center;gap:8px}
/* roadmap */
.road{list-style:none;padding:0;margin:0;counter-reset:none}
.road-st{position:relative;padding:0 0 40px 64px;margin:0;border:0}
.road-st::before{content:"";position:absolute;left:21px;top:46px;bottom:0;width:2px;background:repeating-linear-gradient(180deg,var(--line2) 0 6px,transparent 6px 11px)}
.road-st:last-child::before{display:none}.road-st.done::before{background:var(--brand)}
.road-mark{position:absolute;left:0;top:0;width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line2);background:var(--panel);transform:rotate(45deg);border-radius:3px}
.road-mark svg{width:20px;height:20px;transform:rotate(-45deg);fill:none;stroke:var(--ink2);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.road-st.done .road-mark{background:var(--brand);border-color:var(--brand)}.road-st.done .road-mark svg{stroke:#06090E}
.road-head{display:flex;gap:14px;align-items:center}.road-n{font-size:11.5px;letter-spacing:.16em;color:var(--brand)}.road-c{font-size:11px;color:var(--muted);padding:0 6px;border:1px solid var(--line2);border-radius:2px}.road-st.done .road-c{color:var(--brand);border-color:var(--brand)}
.road-st h3{font-size:22px;margin:4px 0 4px}.road-st>p{margin:0 0 12px;max-width:44em}
.road-say{display:flex;gap:10px;align-items:center;margin:0 0 14px;max-width:640px}.road-say .av{flex:0 0 34px;height:34px;border-radius:50%}.road-say .bub{font-size:13px;padding:8px 14px;line-height:1.7}
.road-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.road-it{position:relative;display:flex;flex-direction:column;gap:6px;padding:12px 14px;border:1px solid var(--line);border-radius:3px;background:var(--panel);color:var(--ink);transition:border-color .15s,transform .15s}
.road-it:hover{text-decoration:none;border-color:var(--brand);transform:translateY(-2px)}
.road-it small{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:11.5px;color:var(--muted)}.road-it small .mono{margin-left:auto}
.road-it b{font-size:14px;line-height:1.55;font-family:var(--f-head)}
.road-it.is-read{border-color:color-mix(in srgb,var(--brand) 40%,var(--line));opacity:.82}
.road-ok{position:absolute;right:-7px;top:-7px;width:20px;height:20px;border-radius:50%;background:var(--brand);color:#06090E;font-size:12px;font-weight:700;display:grid;place-items:center}
@media (max-width:560px){.road-st{padding-left:52px}.road-mark{width:36px;height:36px}.road-st::before{left:17px;top:38px}}
.st-terms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0;background:var(--line);border:1px solid var(--line);border-radius:3px;overflow:hidden}
.st-terms>div{background:var(--panel);padding:12px 14px}.st-terms dt{font-family:var(--f-head);font-weight:700;font-size:15px;margin-bottom:2px}.st-terms dt::before{content:"■";color:var(--brand);font-size:8px;margin-right:8px;vertical-align:.25em}.st-terms dd{margin:0;font-size:13px;color:var(--ink2);line-height:1.75}
.st-faq details{border:1px solid var(--line);border-radius:3px;background:var(--panel);margin-bottom:8px}
.st-faq summary{cursor:pointer;list-style:none;padding:14px 44px 14px 16px;font-weight:600;position:relative;font-size:14.5px}.st-faq summary::-webkit-details-marker{display:none}
.st-faq summary::before{content:"Q";font-family:var(--f-mono);color:var(--brand);margin-right:10px}
.st-faq summary::after{content:"+";position:absolute;right:16px;top:50%;transform:translateY(-50%);font-family:var(--f-mono);font-size:18px;color:var(--muted)}.st-faq details[open] summary::after{content:"−"}
.st-faq details[open]{border-color:var(--line2)}.st-faq p{margin:0;padding:0 16px 16px 40px;font-size:14px;color:var(--ink2);line-height:1.95}
.st-end{display:flex;flex-direction:column;gap:16px;padding:24px;border:1px solid var(--line2);border-radius:3px;background:var(--panel);margin-bottom:20px}
.st-end .say .bub{background:var(--panel2)}.st-end-cta{display:flex;flex-wrap:wrap;gap:8px}.st-end-cta button.cta{font:inherit;font-size:13px;cursor:pointer}
@media (prefers-reduced-motion:reduce){.road-it{transition:none}}
@media (max-width:860px){.st-terms{grid-template-columns:1fr 1fr}}@media (max-width:480px){.st-terms{grid-template-columns:1fr}}

/* start page: roomier */
.st-hero{padding:64px 56px 0;gap:36px;margin:8px 0 40px}
.st-hero-tx{padding-bottom:52px}
.st-hero h1{font-size:clamp(32px,4.4vw,52px);line-height:1.25;margin:16px 0 6px;letter-spacing:.02em}
.st-sub{font-family:var(--f-head);font-weight:700;font-size:16px;color:var(--brand)!important;letter-spacing:.12em;margin:0 0 22px!important}
.st-hero p{line-height:2.05;margin-bottom:34px}
.st-facts>div{padding:16px 18px}.st-facts>div:first-child{padding-left:0}
.st-hero-art{height:300px}
.st-prog{padding:24px 28px;margin-bottom:72px;gap:24px}
.st-sec{margin:0 0 88px}
.st-sec .sec-h{margin-bottom:28px}
.st-three{gap:20px}.st-card{padding:30px 26px 26px}.st-card svg{margin-bottom:14px}.st-card h3{margin-bottom:10px}.st-card p{line-height:2}
.st-crit li{padding:24px 20px;gap:8px}
.st-verd{margin-top:20px;gap:12px 28px}
.road-st{padding-bottom:64px}.road-st h3{margin:8px 0 8px}.road-st>p{margin-bottom:20px;line-height:1.95}
.road-say{margin-bottom:22px}.road-items{gap:16px}.road-it{padding:18px 20px;gap:10px}
.st-terms>div{padding:20px 22px}.st-terms dd{line-height:1.9}
.st-faq details{margin-bottom:12px}.st-faq summary{padding:20px 52px 20px 22px}.st-faq p{padding:0 24px 22px 48px}
.st-end{padding:36px;gap:24px;margin-bottom:40px}
@media (max-width:760px){.st-hero{padding:36px 22px 0;gap:12px}.st-hero-tx{padding-bottom:12px}.st-hero-art{height:210px}.st-prog{padding:20px;margin-bottom:56px}.st-sec{margin-bottom:64px}.st-card{padding:24px 20px}.road-st{padding-bottom:48px}.st-end{padding:24px}.st-faq p{padding:0 18px 18px 22px}}

/* ===== HOME HERO v2: data-forward ===== */
.hero2{position:relative;border:1px solid var(--line2);border-radius:3px;background:linear-gradient(180deg,var(--panel),var(--bg));padding:0!important;margin-bottom:28px!important;overflow:hidden}
.h2-top{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:28px;padding:44px 40px 8px;position:relative;z-index:1}
.h2-eb{display:flex;gap:14px;font-size:11px;letter-spacing:.18em;color:var(--muted)}.h2-eb span:first-child{color:var(--brand)}.h2-eb span+span::before{content:"/";margin-right:14px;color:var(--line2)}
.hero2 h1{font-size:clamp(32px,4.6vw,54px);line-height:1.18;margin:16px 0 18px;letter-spacing:.01em}
.hero2 .h2-tx p{color:var(--ink2);max-width:34em;margin:0;line-height:2}
.hero2 .hero-cta{margin-top:24px}
.h2-board{align-self:start;border:1px solid var(--line2);border-radius:3px;background:color-mix(in srgb,var(--bg) 70%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:16px 18px}
.h2-bh{font-size:10.5px;letter-spacing:.16em;color:var(--muted);padding-bottom:10px;border-bottom:1px solid var(--line);margin-bottom:12px}
.h2-big{display:flex;align-items:baseline;gap:8px}.h2-big b{font-size:44px;font-weight:500;line-height:1}.h2-big span{font-size:12.5px;color:var(--ink2)}
.h2-bar{display:flex;gap:2px;height:8px;margin:14px 0 10px}.h2-bar i{display:block;height:100%}
.h2-leg{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:12.5px;color:var(--ink2)}.h2-leg li{display:flex;align-items:center;gap:8px}.h2-leg i{width:8px;height:8px;display:block}.h2-leg b{margin-left:auto;color:var(--ink);font-weight:500}
.h2-punch{display:flex;align-items:center;gap:12px;margin-top:14px;padding-top:12px;border-top:1px dashed var(--line2)}.h2-punch span{font-size:38px;color:var(--brand);line-height:1}.h2-punch p{margin:0;font-size:11.5px;color:var(--muted);line-height:1.6}
.h2-chart{position:relative;height:220px;margin-top:-40px}
.h2-chart svg{position:absolute;inset:0;width:100%;height:100%}
.h2-grid{stroke:var(--line);stroke-width:1;vector-effect:non-scaling-stroke}
.h2-line{stroke-dasharray:4000;stroke-dashoffset:4000;animation:h2draw 2.4s ease-out .2s forwards}@keyframes h2draw{to{stroke-dashoffset:0}}
.h2-ev line{stroke:var(--muted);stroke-dasharray:2 3;vector-effect:non-scaling-stroke}.h2-ev circle{fill:var(--bg);stroke:var(--ink2);stroke-width:1.5;vector-effect:non-scaling-stroke}.h2-ev text{font-size:11px;fill:var(--muted);font-family:var(--f-sans)}
.h2-yr{position:absolute;left:0;right:0;top:6px;height:14px;font-size:10.5px;color:var(--dim)}.h2-yr span{position:absolute;transform:translateX(4px)}
.h2-now{position:absolute;right:10px;transform:translateY(-120%);font-size:13px;color:#06090E;background:var(--brand);padding:2px 8px;border-radius:2px;display:flex;flex-direction:column;line-height:1.25;text-align:right}.h2-now small{font-size:9.5px;opacity:.75}
.h2-fact{display:flex;align-items:center;gap:14px;padding:12px 40px;border-top:1px solid var(--line2);background:var(--bar);color:var(--ink);font-size:14px;position:relative;z-index:1}
.h2-fact:hover{text-decoration:none;background:var(--panel2)}
.h2-fl{font-size:10.5px;letter-spacing:.16em;color:#06090E;background:var(--brand);padding:1px 7px;border-radius:2px;flex:0 0 auto}
.h2-ft{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.h2-ft .mono{color:var(--muted);margin-right:6px}
.h2-ft.in{animation:h2in .5s ease both}@keyframes h2in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.h2-fact>span:last-child{color:var(--brand)}
@media (max-width:860px){.h2-top{grid-template-columns:1fr;padding:30px 22px 8px}.h2-board{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px}.h2-bh,.h2-bar{grid-column:1/-1}.h2-punch{grid-column:1/-1}.h2-chart{margin-top:0;height:170px}.h2-fact{padding:12px 22px}}
@media (max-width:480px){.h2-board{grid-template-columns:1fr}.h2-ev text{display:none}}
@media (prefers-reduced-motion:reduce){.h2-line{animation:none;stroke-dashoffset:0}.h2-ft.in{animation:none}}
:root[data-theme="light"] .h2-now,:root[data-theme="light"] .h2-fl{color:#fff}
.h2-chart{margin-top:8px!important}.h2-yr{top:6px;bottom:auto}.h2-now{transform:none!important;right:14px}
@media (max-width:560px){.h2-eb span+span{display:none}}
.hero h1 .nb{display:inline-block}@media (max-width:560px){.eb-y{display:none}}
.advs{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin-bottom:28px}
.adv{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border:1px solid var(--line);border-radius:3px;background:linear-gradient(var(--brand),var(--brand)) left top/12px 1px no-repeat,linear-gradient(var(--brand),var(--brand)) left top/1px 12px no-repeat,var(--panel);color:var(--ink);transition:border-color .15s,transform .15s}
.adv:hover{text-decoration:none;border-color:var(--brand);transform:translateY(-2px)}.adv-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--brand)}.adv b{font-family:var(--f-head);font-size:14.5px;line-height:1.55}.adv small{font-size:11.5px;color:var(--muted)}
@media print{.verdict .pill.stamp-wait{opacity:1;transform:rotate(-8deg)}}

/* ===== compact mobile header ===== */
.menu-btn{display:none}
@media (max-width:1080px){
  .top{transition:transform .25s ease,background .25s}
  .top.hide{transform:translateY(-100%)}
  .top .wrap{flex-wrap:nowrap;gap:8px;padding-block:8px;position:relative}
  .top .wrap>div:first-child{flex:1;min-width:0;gap:0}
  .logo{font-size:15px;gap:7px}.logo .lmark,.logo .lmark svg{width:22px;height:22px}
  .theme-btn,.sr-btn,.menu-btn{width:36px;height:36px;min-height:36px;padding:0;justify-content:center;margin-left:0}
  .theme-btn{margin-left:auto}
  .menu-btn{display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;background:var(--panel);border:1px solid var(--line2);border-radius:2px;cursor:pointer}
  .menu-btn span{display:block;width:16px;height:1.5px;background:var(--ink2);transition:transform .2s,opacity .2s}
  .menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}.menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}
  nav.main{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;gap:0;background:var(--bar);border-bottom:1px solid var(--line2);padding:6px 16px 12px;box-shadow:0 18px 30px -18px rgba(0,0,0,.7)}
  body.nav-open nav.main{display:flex}
  nav.main a{padding:12px 4px;border-bottom:1px solid var(--line);font-size:15px}nav.main a:last-child{border-bottom:0}
  nav.main a[aria-current="page"]{border-bottom-color:var(--line);color:var(--brand)}
  .ticker .wrap{padding-block:6px;font-size:11px}
}
@media (prefers-reduced-motion:reduce){.top{transition:none}}
.q-by{display:flex;align-items:center;gap:8px;margin:14px 0 -4px;font-size:12px;color:var(--muted);font-family:var(--f-mono);letter-spacing:.08em}.q-by .av{flex:0 0 26px!important;width:26px;height:26px!important;border-radius:50%}
.art .head h1.q-title{line-height:1.45}
/* ===== LIQUID GLASS ===== */
:root{
  --f-sans:-apple-system,BlinkMacSystemFont,"SF Pro Text","Hiragino Sans","Hiragino Kaku Gothic ProN","IBM Plex Sans JP","Yu Gothic",system-ui,sans-serif;
  --f-head:-apple-system,BlinkMacSystemFont,"SF Pro Display","Hiragino Sans","Zen Kaku Gothic New",system-ui,sans-serif;
  --bg:#070A12;
  --g-fill:rgba(255,255,255,.055);--g-fill2:rgba(255,255,255,.09);--g-strong:rgba(22,27,40,.55);
  --g-edge:rgba(255,255,255,.14);--g-edge2:rgba(255,255,255,.22);--g-hi:rgba(255,255,255,.22);
  --g-shadow:0 10px 34px -14px rgba(0,0,0,.65),0 2px 6px -2px rgba(0,0,0,.35);
  --g-blur:blur(22px) saturate(170%);
  --line:rgba(255,255,255,.09);--line2:rgba(255,255,255,.16);
  --panel:var(--g-fill);--panel2:var(--g-fill2);--bar:rgba(12,16,26,.5);
  --r-lg:22px;--r-md:16px;--r-sm:12px;
}
:root[data-theme="light"]{
  --bg:#EEF1F7;
  --g-fill:rgba(255,255,255,.55);--g-fill2:rgba(255,255,255,.72);--g-strong:rgba(255,255,255,.7);
  --g-edge:rgba(255,255,255,.75);--g-edge2:rgba(255,255,255,.95);--g-hi:rgba(255,255,255,.9);
  --g-shadow:0 10px 30px -14px rgba(30,40,70,.28),0 2px 6px -2px rgba(30,40,70,.12);
  --line:rgba(20,30,50,.09);--line2:rgba(20,30,50,.15);
  --panel:var(--g-fill);--panel2:var(--g-fill2);--bar:rgba(255,255,255,.55);
}
/* backdrop: soft colored light behind the glass */
body{background:var(--bg)!important;position:relative}
body::before{content:"";position:fixed;inset:-10vmax;z-index:-1;pointer-events:none;
  background:
   radial-gradient(38vmax 30vmax at 12% 8%,rgba(79,142,247,.42),transparent 70%),
   radial-gradient(34vmax 28vmax at 88% 18%,rgba(240,165,58,.28),transparent 70%),
   radial-gradient(40vmax 34vmax at 70% 85%,rgba(43,168,143,.28),transparent 70%),
   radial-gradient(36vmax 30vmax at 18% 80%,rgba(150,100,240,.30),transparent 70%);
  filter:blur(20px)}
:root[data-theme="light"] body::before{background:
   radial-gradient(38vmax 30vmax at 12% 8%,rgba(79,142,247,.30),transparent 70%),
   radial-gradient(34vmax 28vmax at 88% 18%,rgba(255,180,90,.32),transparent 70%),
   radial-gradient(40vmax 34vmax at 70% 85%,rgba(60,200,170,.26),transparent 70%),
   radial-gradient(36vmax 30vmax at 18% 80%,rgba(170,130,255,.26),transparent 70%)}
/* glass surfaces */
.panel,.card,.feat,.lamp,.id-card,.nx,figure.fig,.learn,.callout,.verdict,.quiz,.hero,.art-band,.strip,.formula,.code pre,.score>div,.lab-ck,.lab-params,.sig-panel,.say .bub,.lv-panel,.adv,.resume,.my-stat,.share,.road-it,.st-prog,.st-terms>div,.st-faq details,.st-end,.wiki>div,.sr-dlg,.side section,.tbl,.lv-tip,.h2-fact,.st-crit li{
  background:linear-gradient(180deg,var(--g-fill2),var(--g-fill))!important;
  border:1px solid var(--g-edge)!important;
  box-shadow:inset 0 1px 0 var(--g-hi),inset 0 -1px 0 rgba(255,255,255,.03),var(--g-shadow)!important;
  -webkit-backdrop-filter:var(--g-blur);backdrop-filter:var(--g-blur);
  border-radius:var(--r-md)!important}
.hero,.strip,.sr-dlg,figure.fig,.verdict,.lab-params{border-radius:var(--r-lg)!important}
.say .bub{border-radius:6px 18px 18px 18px!important}
.say.boss .bub{background:linear-gradient(180deg,rgba(240,165,58,.12),rgba(240,165,58,.05))!important}
.code pre,.formula{background:rgba(0,0,0,.28)!important}
:root[data-theme="light"] .code pre,:root[data-theme="light"] .formula{background:rgba(255,255,255,.6)!important}
/* specular sheen on cards */
.card,.feat,.adv,.nx,.lamp,.id-card{position:relative;overflow:hidden;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,border-color .25s!important}
.card::after,.feat::after,.adv::after,.nx::after,.id-card::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(125deg,rgba(255,255,255,.16) 0%,rgba(255,255,255,0) 32%,rgba(255,255,255,0) 70%,rgba(255,255,255,.06) 100%);mix-blend-mode:screen}
.card:hover,.feat:hover,.adv:hover,.nx:hover,.lamp:hover{transform:translateY(-3px) scale(1.01)!important;border-color:var(--g-edge2)!important;
  box-shadow:inset 0 1px 0 var(--g-hi),0 18px 40px -16px rgba(0,0,0,.6)!important}
:root[data-theme="light"] .card:hover,:root[data-theme="light"] .feat:hover,:root[data-theme="light"] .adv:hover{box-shadow:inset 0 1px 0 var(--g-hi),0 18px 36px -16px rgba(30,40,70,.35)!important}
/* remove terminal decorations */
.top::after,.sec-h h2::before{display:none!important}
.hero{background:linear-gradient(160deg,var(--g-fill2),var(--g-fill))!important}
.strip{gap:0;overflow:hidden}.strip>div{background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;border-right:1px solid var(--line)!important;border-radius:0!important}
.strip>div:last-child{border-right:0!important}
.sec-h{border-bottom:0;padding-bottom:4px}
.sec-h h2{letter-spacing:.01em;font-weight:700}
.eyebrow{letter-spacing:.12em}
.art h2{border-bottom:0}.art h2::after{height:3px;width:40px;border-radius:3px}
.art h3{border-left:0;padding-left:0}
.art .learn,.art .callout,.art .verdict{border-left-width:1px!important}
.tbl{padding:4px 6px;overflow:auto}
.tbl table{border-top:0!important}
.tbl tr.hl td{background:rgba(240,165,58,.10)}
.art .learn,.art .callout,.art .verdict{border-color:var(--g-edge)!important}
.art .learn li{background:rgba(255,255,255,.04)!important;border:1px solid var(--line)!important;border-radius:var(--r-sm)!important;box-shadow:none!important;backdrop-filter:none!important}
:root[data-theme="light"] .art .learn li{background:rgba(255,255,255,.5)!important}
.hero .eyebrow{border-radius:999px;padding:3px 12px;background:rgba(240,165,58,.08)}
.art-band{border-radius:var(--r-md)!important}
.hc-bub{background:rgba(255,255,255,.88)!important;color:#141A22!important;box-shadow:inset 0 1px 0 #fff,0 6px 16px -8px rgba(0,0,0,.5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
:root[data-theme="light"] .hero{background:linear-gradient(160deg,var(--g-fill2),var(--g-fill))!important}
/* header: floating glass bar */
.top{background:var(--bar)!important;-webkit-backdrop-filter:var(--g-blur);backdrop-filter:var(--g-blur);border-bottom:1px solid var(--g-edge)!important;box-shadow:inset 0 -1px 0 rgba(255,255,255,.03),0 8px 30px -18px rgba(0,0,0,.6)}
.top.scrolled{background:var(--bar)!important}
nav.main a{border-radius:999px;padding-inline:12px;transition:background .2s}
nav.main a:hover{background:var(--g-fill2);text-decoration:none}
nav.main a[aria-current="page"]{background:var(--g-fill2);box-shadow:inset 0 1px 0 var(--g-hi),0 0 0 1px var(--g-edge)}
.ticker{background:transparent!important;border-bottom:1px solid var(--line)}
/* controls: pill glass */
.chip,.pill,.side-tog,.lab-cta,#side-open,.id-tags li,.id-role,.sig-st,.hc-bub,.sr-btn,.theme-btn,.menu-btn,.copy,.cta,.lab-sel select,.sh{border-radius:999px!important}
.chip,.sr-btn,.theme-btn,.menu-btn,.copy,.cta:not(.pri),.sh,#side-open,.lab-sel select{background:var(--g-fill2)!important;border:1px solid var(--g-edge)!important;box-shadow:inset 0 1px 0 var(--g-hi);-webkit-backdrop-filter:var(--g-blur);backdrop-filter:var(--g-blur)}
.chip[aria-pressed="true"],.cta.pri,.lab-cta{background:linear-gradient(180deg,#FFC066,#F0A53A)!important;border-color:rgba(255,255,255,.35)!important;color:#1A1205!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 6px 18px -8px rgba(240,165,58,.8)!important}
.pill{backdrop-filter:blur(8px)}
.sr-back{background:rgba(5,8,14,.35)!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
/* sidebar */
.side section{padding:14px 16px;margin-bottom:14px}
.tree a.on{box-shadow:none;background:var(--g-fill2);border-radius:10px}
.id-card .id-band{background:transparent!important}
/* footer */
footer.site{background:var(--bar)!important;-webkit-backdrop-filter:var(--g-blur);backdrop-filter:var(--g-blur);border-top:1px solid var(--g-edge)!important}
/* reduce cost on small screens / reduced transparency */
@media (max-width:760px){.card,.adv,.lamp,.nx,.tbl,.say .bub,.score>div{-webkit-backdrop-filter:none;backdrop-filter:none}}
@media (prefers-reduced-transparency:reduce){*{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}
@media print{body::before{display:none}*{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none!important}}

/* ===== LAYOUT FIXES ===== */
h1,h2,h3,.card h3,.adv b,.feat b,.nx b,.road-it b{word-break:auto-phrase}
.card h3,.adv b,.feat b,.nx b{text-wrap:pretty}
.card h3 .tn,.art .head h1.split .tn{display:block}
.card h3 .tn{font-size:17.5px;font-weight:800;line-height:1.35;margin-bottom:3px}
.card h3 .tf{display:block;font-size:13.5px;font-weight:500;color:var(--ink2);line-height:1.6}
.art .head h1.split .tn{font-size:1em;line-height:1.25}
.art .head h1.split .tf{display:block;font-size:.52em;font-weight:600;color:var(--ink2);line-height:1.55;margin-top:10px;letter-spacing:.01em}
.card .row{min-width:0}.card .row>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.card .row .pill{flex:none}
@media (max-width:760px){.strip{grid-template-columns:repeat(3,minmax(0,1fr))!important}.strip>div{padding:10px 12px!important}.strip b{font-size:22px!important}
 .strip>div:nth-child(n){border-right:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important}}
.kv{table-layout:fixed}.kv td{overflow-wrap:anywhere}
@media (max-width:760px){.kv th{width:6.5em}}
.st-hero{background:linear-gradient(160deg,var(--g-fill2),var(--g-fill))!important;border:1px solid var(--g-edge)!important;border-radius:var(--r-lg)!important;box-shadow:inset 0 1px 0 var(--g-hi),var(--g-shadow)!important;-webkit-backdrop-filter:var(--g-blur);backdrop-filter:var(--g-blur)}
.st-card{background:linear-gradient(180deg,var(--g-fill2),var(--g-fill))!important;border:1px solid var(--g-edge)!important;border-radius:var(--r-md)!important;box-shadow:inset 0 1px 0 var(--g-hi),var(--g-shadow)!important;-webkit-backdrop-filter:var(--g-blur);backdrop-filter:var(--g-blur)}
.st-crit li{background:linear-gradient(180deg,var(--g-fill2),var(--g-fill))!important}
.st-next,.st-end .cta{border-radius:var(--r-sm)!important}
#cmp-table td:first-child{white-space:normal;min-width:5.5em}
@media (max-width:760px){#cmp-table th,#cmp-table td{padding:7px 6px;font-size:12.5px}}
@media (max-width:760px){#home-strip>div{grid-column:auto!important}}
.card .row .ci{display:inline;white-space:nowrap}.card .row .ci svg{vertical-align:-2px}
.kv td,.kv th{white-space:normal}
@media (max-width:760px){.card{aspect-ratio:auto!important}.card .spark{min-height:96px}}
.tree a{gap:10px;align-items:baseline}.tree a>span:last-child,.tree a>small:last-child{flex:none;font-family:var(--f-mono);font-size:11px;color:var(--dim)}
.sec-more{display:flex;justify-content:center;margin:16px 0 40px}.sec-more a{display:inline-flex;align-items:center;gap:6px;padding:10px 22px;border-radius:999px;background:var(--g-fill2);border:1px solid var(--g-edge);box-shadow:inset 0 1px 0 var(--g-hi);font-size:14px;font-weight:600;color:var(--ink);-webkit-backdrop-filter:var(--g-blur);backdrop-filter:var(--g-blur)}.sec-more a:hover{text-decoration:none;border-color:var(--g-edge2)}
/* ===== HEADER v2 ===== */
.ticker{display:none!important}
.top .wrap{flex-wrap:nowrap!important;padding-block:10px}
.top .wrap>div:first-child{display:flex;align-items:center;flex-wrap:nowrap!important;gap:6px!important;width:100%;min-width:0}
.logo{flex:none;margin-right:14px;white-space:nowrap}
nav.main{flex-wrap:nowrap;gap:2px;min-width:0}
nav.main a{white-space:nowrap;padding:6px 12px;border-bottom:0!important;letter-spacing:.03em}
.theme-btn{margin-left:auto!important;flex:none}
.sr-btn,.menu-btn{flex:none;margin-left:0!important}
@media (max-width:1240px) and (min-width:1081px){nav.main a{padding:6px 9px;font-size:13px}}
@media (max-width:1080px){
  .top .wrap>div:first-child{gap:8px!important}
  nav.main{background:var(--g-strong)!important;-webkit-backdrop-filter:var(--g-blur);backdrop-filter:var(--g-blur);border-bottom:1px solid var(--g-edge)!important;padding:8px 16px 14px!important}
  nav.main a{border-radius:12px;padding:12px 10px!important;border-bottom:0!important}
  nav.main a[aria-current="page"]{background:var(--g-fill2)}
}
@media (max-width:1080px){.sr-btn span,.sr-btn kbd{display:none!important}.sr-btn{padding:0!important;width:36px}}
@media (max-width:1080px){nav.main{background:#0B0F19!important}:root[data-theme="light"] nav.main{background:#FFFFFF!important}}
/* ===== SIDEBAR v2 ===== */
.side section{padding:16px 14px!important}
.side h4,.side .sec-tog{font-family:var(--f-sans)!important;font-size:12px!important;font-weight:700;letter-spacing:.04em!important;color:var(--ink2)!important;text-transform:none}
.side .sec-tog{margin-bottom:10px}
/* category tree */
.tree2 details{border-radius:12px;transition:background .2s}
.tree2 details+details{margin-top:2px}
.tree2 details[open]{background:rgba(255,255,255,.035)}
:root[data-theme="light"] .tree2 details[open]{background:rgba(255,255,255,.5)}
.tree2 summary{list-style:none;display:grid;grid-template-columns:22px 1fr auto;grid-template-rows:auto 3px;column-gap:8px;row-gap:5px;align-items:center;padding:8px 8px 9px;border-radius:12px;cursor:pointer}
.tree2 summary::-webkit-details-marker{display:none}
.tree2 summary:hover{background:var(--g-fill2)}
.t2-ic{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;background:color-mix(in srgb,var(--brand) 14%,transparent);color:var(--brand)}
.t2-ic svg{width:13px;height:13px}
.t2-nm{font-size:13px;font-weight:600;color:var(--ink);line-height:1.35}
.t2-ct{font-size:11px;color:var(--dim)}
.t2-bar{grid-column:2/4;display:flex;gap:2px;height:3px;border-radius:2px;overflow:hidden;opacity:.85}
.t2-bar i{display:block;height:100%}.t2-bar .a{background:var(--good)}.t2-bar .h{background:var(--hold)}.t2-bar .r{background:var(--bad)}.t2-bar .o{background:var(--s-bh)}
.t2-list{display:flex;flex-direction:column;padding:2px 4px 8px 12px;max-height:360px;overflow:auto;scrollbar-width:thin}
.t2-list a{display:grid;grid-template-columns:8px 34px 1fr;gap:6px;align-items:baseline;padding:5px 8px;border-radius:8px;color:var(--muted);font-size:12.5px;line-height:1.45}
.t2-list a:hover{background:var(--g-fill2);color:var(--ink);text-decoration:none}
.t2-list a.on{background:var(--g-fill2);color:var(--ink);box-shadow:inset 2px 0 0 var(--brand)}
.t2-no{font-size:10.5px;color:var(--dim)}
.t2-d{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--s-bh);transform:translateY(-1px)}
.t2-d.v-採用{background:var(--good)}.t2-d.v-保留{background:var(--hold)}.t2-d.v-不採用{background:var(--bad)}
.t2-leg{display:flex;gap:12px;justify-content:center;margin-top:10px;font-size:11px;color:var(--dim)}
.t2-leg span{display:inline-flex;align-items:center;gap:5px}
/* cast */
.cast2 .c2{display:grid;grid-template-columns:40px 1fr;gap:10px;align-items:start;padding:10px;border-radius:14px;background:rgba(255,255,255,.035);border:1px solid var(--line)}
:root[data-theme="light"] .cast2 .c2{background:rgba(255,255,255,.55)}
.cast2 .c2+.c2{margin-top:8px}
.cast2 .c2-av .av{width:40px!important;height:40px!important;flex-basis:40px!important}
.c2-nm{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.c2-nm b{font-size:14px;color:var(--ink)}.c2-nm span{font-size:11px;color:var(--dim)}
.c2-tx p{margin:4px 0 6px;font-size:12px;line-height:1.6;color:var(--ink2)}
.c2-st{font-size:11px;color:var(--muted)}.c2-st b{color:var(--brand);font-weight:600}
/* guide */
.g2s{display:flex;flex-direction:column;gap:6px}
.g2{display:grid;grid-template-columns:30px 1fr 10px;gap:10px;align-items:center;padding:8px 10px 8px 8px;border-radius:12px;color:var(--ink);background:rgba(255,255,255,.03);border:1px solid transparent;transition:background .2s,border-color .2s}
.g2:hover{text-decoration:none;background:var(--g-fill2);border-color:var(--g-edge)}
.g2-ic{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(180deg,rgba(255,192,102,.22),rgba(240,165,58,.10));box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}
.g2-ic svg{width:16px;height:16px;fill:none;stroke:var(--brand);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.g2-tx b{display:block;font-size:13px;line-height:1.3}.g2-tx small{display:block;font-size:11px;color:var(--dim);line-height:1.4}
.g2-ar{color:var(--dim);font-size:16px}
.g2-links{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:12px;padding-top:10px;border-top:1px solid var(--line);font-size:12px}
.g2-links a{color:var(--muted)}.g2-links a:hover{color:var(--ink)}
/* article toc timeline */
.side .toc{display:flex;flex-direction:column;border-left:2px solid var(--line);margin-left:4px}
.side .toc a{position:relative;padding:5px 0 5px 14px;font-size:12.5px;line-height:1.5;color:var(--muted);border:0!important;margin-left:-2px;border-left:2px solid transparent!important}
.side .toc a::before{content:"";position:absolute;left:-5px;top:12px;width:8px;height:8px;border-radius:50%;background:var(--bg);border:2px solid var(--line2)}
.side .toc a.done{color:var(--ink2)}.side .toc a.done::before{border-color:var(--brand);background:var(--brand);opacity:.5}
.side .toc a.on{color:var(--ink);font-weight:600;border-left-color:var(--brand)!important}.side .toc a.on::before{border-color:var(--brand);background:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 22%,transparent)}
.side .toc a:hover{color:var(--ink);text-decoration:none}
/* ===== FOOTER v2 ===== */
footer.f2{margin-top:56px;padding:0;border-top:1px solid var(--g-edge)!important}
footer.f2 .wrap{display:block;padding:0 20px;font-size:13px;color:var(--ink2)}
.f2-top{display:grid!important;grid-template-columns:minmax(260px,1.1fr) 2fr;gap:40px;padding-top:44px!important;padding-bottom:36px!important}
.f2-brand .logo{font-size:18px}
.f2-tag{margin:10px 0 14px!important;font-size:13px;line-height:1.8;color:var(--ink2);max-width:26em}
.f2-scene{max-width:240px;opacity:.95}.f2-scene>svg{display:block;width:100%;height:auto}
.f2-stats{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
.f2-stats span{display:inline-flex;align-items:baseline;gap:6px;padding:6px 12px;border-radius:999px;background:var(--g-fill2);border:1px solid var(--g-edge);box-shadow:inset 0 1px 0 var(--g-hi);font-size:12px;color:var(--muted)}
.f2-stats b{font-size:15px;color:var(--brand);font-weight:600}
.f2-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.f2-col{display:flex;flex-direction:column;gap:9px}
.f2-col h5{margin:4px 0 6px;font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--ink)}
.f2-col a{color:var(--muted);font-size:13px;line-height:1.5}.f2-col a:hover{color:var(--ink);text-decoration:none}
.f2-bot{border-top:1px solid var(--line);padding-top:20px!important;padding-bottom:28px!important}
.f2-disc{margin:0 0 12px!important;font-size:12px;line-height:1.85;color:var(--dim);max-width:60em}
.f2-meta{display:flex;flex-wrap:wrap;gap:6px 20px;font-size:11.5px;color:var(--dim);font-family:var(--f-mono)}
@media (max-width:900px){.f2-top{grid-template-columns:1fr;gap:28px}.f2-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}}
/* ===== SITE TOUR ===== */
.tour{margin:8px 0 44px}
.tour-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;counter-reset:ts}
.ts{position:relative;display:flex;flex-direction:column;gap:8px;padding:20px 20px 18px;border-radius:var(--r-lg);color:var(--ink);background:linear-gradient(180deg,var(--g-fill2),var(--g-fill));border:1px solid var(--g-edge);box-shadow:inset 0 1px 0 var(--g-hi),var(--g-shadow);-webkit-backdrop-filter:var(--g-blur);backdrop-filter:var(--g-blur);transition:transform .25s,border-color .25s}
.ts:hover{text-decoration:none;transform:translateY(-3px);border-color:var(--g-edge2)}
.ts-hd{display:flex;align-items:center;gap:10px}
.ts-n{font-family:var(--f-mono);font-size:12px;color:var(--brand);letter-spacing:.1em}
.ts-ic{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(180deg,rgba(255,192,102,.24),rgba(240,165,58,.10));box-shadow:inset 0 1px 0 rgba(255,255,255,.2);margin-left:auto}
.ts-ic svg{width:19px;height:19px;fill:none;stroke:var(--brand);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ts b{font-size:18px;font-weight:800;line-height:1.35}
.ts p{margin:0;font-size:13px;line-height:1.75;color:var(--ink2)}
.ts-meta{margin-top:auto;padding-top:8px;font-size:12px;color:var(--muted);display:flex;justify-content:space-between;align-items:center}
.ts-meta i{font-style:normal;color:var(--brand);font-weight:700}
.ts:not(:last-child)::after{content:"";position:absolute;right:-12px;top:50%;width:10px;height:10px;border-top:2px solid var(--g-edge2);border-right:2px solid var(--g-edge2);transform:translateY(-50%) rotate(45deg);z-index:2}
.tour-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.03);border:1px solid var(--line)}
:root[data-theme="light"] .tour-tools{background:rgba(255,255,255,.5)}
.tt-l{font-size:12px;font-weight:700;color:var(--ink2);margin-right:4px}
.tour-tools a{font-size:12.5px;padding:5px 12px;border-radius:999px;color:var(--ink2);background:var(--g-fill2);border:1px solid var(--g-edge)}
.tour-tools a:hover{color:var(--ink);text-decoration:none;border-color:var(--g-edge2)}
@media (max-width:760px){.tour-steps{grid-template-columns:1fr}.ts:not(:last-child)::after{right:50%;top:auto;bottom:-12px;transform:translateX(50%) rotate(135deg)}.tour-tools{border-radius:var(--r-md)}}
.c2-bio{grid-column:1/-1;margin-top:2px;font-size:11.5px;line-height:1.7;color:var(--muted);padding-top:6px;border-top:1px dashed var(--line)}
.say .av,.quiz-mina .av,.c2-av .av{border-radius:50%!important;color:transparent!important;font-size:0!important;box-shadow:0 0 0 1.5px rgba(255,255,255,.35),0 0 0 4px rgba(255,255,255,.06),0 8px 18px -8px rgba(0,0,0,.7)!important;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.say:hover .av{transform:translateY(-2px) scale(1.04)}
:root[data-theme="light"] .say .av{box-shadow:0 0 0 1.5px #fff,0 0 0 4px rgba(120,140,190,.15),0 8px 18px -8px rgba(30,40,70,.45)!important}
.hc svg,.st-mina svg,.st-boss svg{filter:drop-shadow(0 10px 18px rgba(0,0,0,.45))}
.hc-mina{width:118px!important}.hc-boss{width:126px!important}
.sp-rel{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:28px 0 8px;padding:14px 16px;border-radius:var(--r-md);background:linear-gradient(180deg,var(--g-fill2),var(--g-fill));border:1px solid var(--g-edge)}.sp-rel b{width:100%;font-size:12.5px;color:var(--ink2)}.sp-rel a{display:inline-flex;gap:6px;align-items:baseline;font-size:12.5px;padding:5px 11px;border-radius:999px;background:var(--g-fill2);border:1px solid var(--g-edge);color:var(--ink2)}.sp-rel a:hover{color:var(--ink);text-decoration:none}.sp-rel .mono{font-size:10.5px;color:var(--brand)}
/* single fixed sidebar toggle */
.side-tog{display:none!important}
@media (min-width:900px){body.has-side #side-open{display:inline-flex!important;align-items:center;gap:6px}}
@media (max-width:899px){#side-open{display:none!important}}
/* hover stability: no backdrop-filter / blend on hoverable tiles (avoids GPU artifacts) */
.card,.feat,.adv,.nx,.lamp,.ts,.g2,.sec-more a,.tour-tools a,.sp-rel a,.chip{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.card,.feat,.adv,.nx,.lamp,.ts{background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035))!important}
:root[data-theme="light"] .card,:root[data-theme="light"] .feat,:root[data-theme="light"] .adv,:root[data-theme="light"] .nx,:root[data-theme="light"] .lamp,:root[data-theme="light"] .ts{background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,255,255,.62))!important}
.card::after,.feat::after,.adv::after,.nx::after,.id-card::after{mix-blend-mode:normal!important;opacity:.6}
.card:hover,.feat:hover,.adv:hover,.nx:hover,.lamp:hover,.ts:hover{transform:translateY(-2px)!important}
.sec-more a{background:rgba(255,255,255,.07)!important;transition:background .2s,border-color .2s}
.sec-more a:hover{background:rgba(255,255,255,.12)!important;transform:none}
:root[data-theme="light"] .sec-more a{background:rgba(255,255,255,.8)!important}
/* collapsible cast */
.cast2 details.c2{display:block;padding:0;overflow:hidden;transition:background .2s,border-color .2s}
.cast2 details.c2:hover{border-color:var(--g-edge2)}
.c2-sum{list-style:none;display:grid;grid-template-columns:34px 1fr 12px;gap:10px;align-items:center;padding:8px 10px;cursor:pointer}
.c2-sum::-webkit-details-marker{display:none}
.cast2 .c2-sum .c2-av .av{width:34px!important;height:34px!important;flex-basis:34px!important}
.c2-sum .c2-nm{flex-direction:column;align-items:flex-start;gap:0}
.c2-sum .c2-nm b{font-size:13.5px;line-height:1.35}.c2-sum .c2-nm span{font-size:10.5px}
.c2-chev{color:var(--dim);font-size:15px;transition:transform .25s;justify-self:end}
details.c2[open] .c2-chev{transform:rotate(90deg)}
.c2-body{padding:0 12px 12px}
.c2-body p{margin:2px 0 8px;font-size:12px;line-height:1.65;color:var(--ink2)}
details.c2[open] .c2-body{animation:c2in .25s ease}
@keyframes c2in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){details.c2[open] .c2-body{animation:none}.c2-chev{transition:none}}
/* ===== SECTION TITLES ===== */
.sec-h{align-items:flex-end!important;border-bottom:0!important;position:relative;padding-bottom:12px!important}
.sec-h::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,color-mix(in srgb,var(--brand) 70%,transparent),var(--g-edge) 28%,transparent 85%)}
h2.sh2{display:flex!important;align-items:center;gap:12px;margin:0}
h2.sh2::before{display:none!important}
.sh-ic{flex:none;width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(160deg,rgba(255,200,120,.30),rgba(240,165,58,.10));border:1px solid rgba(255,200,120,.35);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 8px 20px -10px rgba(240,165,58,.7)}
.sh-ic svg{width:20px;height:20px;fill:none;stroke:var(--brand);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sh-tx{display:flex;flex-direction:column;gap:1px;min-width:0}
.sh-tx small{font-family:var(--f-mono);font-size:10.5px;font-weight:600;letter-spacing:.22em;color:var(--brand);line-height:1.2}
.sh-t{font-size:21px;font-weight:800;letter-spacing:.02em;line-height:1.3;color:var(--ink)}
.sh-t .note{font-size:12.5px;margin-left:8px;color:var(--muted);letter-spacing:0}
:root[data-theme="light"] .sh-ic{background:linear-gradient(160deg,rgba(255,200,120,.45),rgba(255,255,255,.7));border-color:rgba(230,150,40,.35)}
@media (max-width:560px){.sh-ic{width:34px;height:34px;border-radius:11px}.sh-ic svg{width:17px;height:17px}.sh-t{font-size:18px}.sh-t .note{display:block;margin:2px 0 0}}
/* ===== MY LIBRARY ===== */
.home-resume{display:block!important;margin:8px 0 40px!important}
.ml-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:14px}
.ml-cont,.ml-trs,.ml-fav{border-radius:var(--r-lg);background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035));border:1px solid var(--g-edge);box-shadow:inset 0 1px 0 var(--g-hi),var(--g-shadow)}
:root[data-theme="light"] .ml-cont,:root[data-theme="light"] .ml-trs,:root[data-theme="light"] .ml-fav{background:linear-gradient(180deg,rgba(255,255,255,.85),rgba(255,255,255,.62))}
.ml-cont{display:grid;grid-template-columns:84px 1fr;grid-template-rows:1fr auto;gap:6px 18px;padding:22px;color:var(--ink);transition:transform .25s,border-color .25s;position:relative;overflow:hidden}
.ml-cont::before{content:"";position:absolute;right:-60px;top:-60px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--brand) 22%,transparent),transparent 70%);pointer-events:none}
.ml-cont:hover{text-decoration:none;transform:translateY(-2px);border-color:var(--g-edge2)}
.ml-ringw{grid-row:1/3;position:relative;width:84px;height:84px;align-self:center}
.ml-ring{width:84px;height:84px;transform:rotate(-90deg)}
.ml-ring circle{fill:none;stroke-width:6}.ml-ring .bg{stroke:rgba(255,255,255,.08)}.ml-ring .fg{stroke:var(--brand);stroke-linecap:round;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--brand) 60%,transparent))}
:root[data-theme="light"] .ml-ring .bg{stroke:rgba(20,30,50,.08)}
.ml-ringw>b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:600;color:var(--ink)}
.ml-ringw>b small{font-size:11px;margin-left:1px;color:var(--muted)}
.ml-ct{display:flex;flex-direction:column;gap:4px;min-width:0}
.ml-eb{font-family:var(--f-mono);font-size:10.5px;font-weight:600;letter-spacing:.18em;color:var(--brand)}
.ml-meta{font-size:12px;color:var(--muted)}
.ml-ct b{font-size:16px;line-height:1.5}.ml-ct b .tn{display:block;font-size:18px;font-weight:800}.ml-ct b .tf{display:block;font-size:13px;font-weight:500;color:var(--ink2)}
.ml-go{grid-column:2;justify-self:start;font-size:13px;font-weight:700;padding:7px 16px;border-radius:999px;background:linear-gradient(180deg,#FFC066,#F0A53A);color:#1A1205;box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 6px 16px -8px rgba(240,165,58,.8)}
.ml-side{display:flex;flex-direction:column;gap:14px}
.ml-trs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:18px}
.ml-trh{display:flex;justify-content:space-between;align-items:baseline;font-size:12.5px;color:var(--ink2)}
.ml-trh b{font-size:18px;color:var(--ink)}.ml-trh small{font-size:11px;color:var(--muted)}
.ml-bar{display:block;height:6px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden;margin:6px 0 8px}
:root[data-theme="light"] .ml-bar{background:rgba(20,30,50,.07)}
.ml-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#F0A53A,#FFC966)}
.ml-nx{display:block;font-size:11.5px;color:var(--muted);line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ml-nx:hover{color:var(--ink);text-decoration:none}.ml-nx.done{color:var(--good)}
.ml-fav{padding:14px 18px}
.ml-fav>div{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.ml-fav a{font-size:12.5px;padding:4px 11px;border-radius:999px;background:var(--g-fill2);border:1px solid var(--g-edge);color:var(--ink2)}
.ml-fav a:hover{color:var(--ink);text-decoration:none}
.ml-fav p{margin:6px 0 0;font-size:12px;color:var(--muted)}
@media (max-width:900px){.ml-grid{grid-template-columns:1fr}}
@media (max-width:560px){.ml-cont{grid-template-columns:64px 1fr;padding:18px}.ml-ringw,.ml-ring{width:64px;height:64px}.ml-ringw>b{font-size:16px}.ml-trs{grid-template-columns:1fr;gap:12px}}
/* ===== TOUR v2 ===== */
.tour2 .rt{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr);gap:0;border-radius:var(--r-lg);overflow:hidden;background:linear-gradient(180deg,var(--g-fill2),var(--g-fill));border:1px solid var(--g-edge);box-shadow:inset 0 1px 0 var(--g-hi),var(--g-shadow);-webkit-backdrop-filter:var(--g-blur);backdrop-filter:var(--g-blur)}
.rt-guide{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:16px;padding:24px 22px;background:radial-gradient(120% 90% at 0% 0%,rgba(141,180,255,.16),transparent 60%),radial-gradient(120% 90% at 100% 100%,rgba(240,165,58,.14),transparent 60%);border-right:1px solid var(--line)}
.rt-chat{display:flex;flex-direction:column;gap:14px}
.rt-say{display:flex;align-items:flex-end;gap:10px}
.rt-say.boss{flex-direction:row-reverse}
.rt-av{flex:none;width:58px;height:66px;display:block}
.rt-av svg{width:100%;height:100%;display:block;filter:drop-shadow(0 6px 12px rgba(0,0,0,.4))}
.rt-say p{margin:0;font-size:13px;line-height:1.7;padding:10px 14px;border-radius:16px 16px 16px 4px;background:rgba(255,255,255,.08);border:1px solid var(--g-edge);color:var(--ink)}
.rt-say.boss p{border-radius:16px 16px 4px 16px;background:linear-gradient(180deg,rgba(240,165,58,.16),rgba(240,165,58,.07))}
:root[data-theme="light"] .rt-say p{background:rgba(255,255,255,.85)}
.rt-start{align-self:flex-start;font-size:12.5px;font-weight:600;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid var(--g-edge);color:var(--ink)}
.rt-start:hover{text-decoration:none;border-color:var(--g-edge2)}
.rt-steps{list-style:none;margin:0;padding:22px 22px 22px 18px;display:flex;flex-direction:column;gap:12px;position:relative}
.rt-step{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:stretch;position:relative}
.rt-step:not(:last-child)::before{content:"";position:absolute;left:21px;top:50%;height:calc(100% + 12px);width:2px;background:linear-gradient(180deg,var(--brand),color-mix(in srgb,var(--brand) 15%,transparent))}
.rt-node{position:relative;z-index:1;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#FFD58C,#F0A53A 60%,#C9761E);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 18%,transparent),0 8px 18px -8px rgba(240,165,58,.9),inset 0 1px 0 rgba(255,255,255,.6);align-self:center}
.rt-node b{font-size:15px;color:#2A1A05}
.rt-card{display:grid;grid-template-columns:38px 1fr 20px;gap:12px;align-items:center;padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid var(--line);color:var(--ink);transition:background .2s,border-color .2s,transform .2s}
:root[data-theme="light"] .rt-card{background:rgba(255,255,255,.6)}
.rt-card:hover{text-decoration:none;background:rgba(255,255,255,.08);border-color:var(--g-edge2);transform:translateX(3px)}
.rt-ic{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(160deg,rgba(255,200,120,.26),rgba(240,165,58,.08));border:1px solid rgba(255,200,120,.3)}
.rt-ic svg{width:19px;height:19px;fill:none;stroke:var(--brand);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.rt-body{display:flex;flex-direction:column;gap:3px;min-width:0}
.rt-body b{font-size:15.5px;font-weight:800;line-height:1.4}
.rt-p{font-size:12.5px;line-height:1.65;color:var(--ink2)}
.rt-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:3px}
.rt-chips i{font-style:normal;font-size:11px;padding:2px 9px;border-radius:999px;background:var(--g-fill2);border:1px solid var(--g-edge);color:var(--muted)}
.rt-chips i:first-child{color:var(--brand);border-color:color-mix(in srgb,var(--brand) 40%,transparent);font-weight:700}
.rt-go{color:var(--dim);font-size:16px;transition:transform .2s,color .2s}
.rt-card:hover .rt-go{color:var(--brand);transform:translateX(3px)}
.rt-tools{display:grid;grid-template-columns:auto repeat(6,minmax(0,1fr));gap:8px;align-items:center;margin-top:12px}
.rt-tl{font-size:12px;font-weight:700;color:var(--ink2);padding-right:6px}
.rt-tools a{display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 6px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid var(--line);font-size:11.5px;color:var(--ink2);text-align:center;transition:background .2s,border-color .2s}
.rt-tools a:hover{text-decoration:none;color:var(--ink);background:rgba(255,255,255,.08);border-color:var(--g-edge2)}
:root[data-theme="light"] .rt-tools a{background:rgba(255,255,255,.6)}
.rt-tools a span{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:var(--g-fill2)}
.rt-tools svg{width:16px;height:16px;fill:none;stroke:var(--brand);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:900px){.tour2 .rt{grid-template-columns:1fr}.rt-guide{border-right:0;border-bottom:1px solid var(--line)}.rt-tools{grid-template-columns:repeat(3,minmax(0,1fr))}.rt-tl{grid-column:1/-1}}
@media (max-width:560px){.rt-steps{padding:16px 14px}.rt-card{grid-template-columns:1fr 16px}.rt-ic{display:none}.rt-step{grid-template-columns:36px 1fr;gap:10px}.rt-node{width:36px;height:36px}.rt-step:not(:last-child)::before{left:17px}}
/* ===== CHARACTERS v9 (ComfyUI renders, files) ===== */
.say.mina .av,.quiz-mina .av,.road-say.mina .av{background:url("/img/zp_mina_normal_av.webp") center 12%/112% auto no-repeat,radial-gradient(circle at 30% 22%,#E9F1FF,#AFC6F4 55%,#7A7FD8)!important}
.say.mina.mood-happy .av{background:url("/img/zp_mina_happy_av.webp") center 12%/112% auto no-repeat,radial-gradient(circle at 30% 22%,#E9F1FF,#AFC6F4 55%,#7A7FD8)!important}
.say.mina.mood-surprised .av{background:url("/img/zp_mina_surprised_av.webp") center 12%/112% auto no-repeat,radial-gradient(circle at 30% 22%,#E9F1FF,#AFC6F4 55%,#7A7FD8)!important}
.say.mina.mood-trouble .av{background:url("/img/zp_mina_trouble_av.webp") center 12%/112% auto no-repeat,radial-gradient(circle at 30% 22%,#E9F1FF,#AFC6F4 55%,#7A7FD8)!important}
.say.mina.mood-think .av{background:url("/img/zp_mina_think_av.webp") center 12%/112% auto no-repeat,radial-gradient(circle at 30% 22%,#E9F1FF,#AFC6F4 55%,#7A7FD8)!important}
.say.mina.mood-idea .av{background:url("/img/zp_mina_idea_av.webp") center 12%/112% auto no-repeat,radial-gradient(circle at 30% 22%,#E9F1FF,#AFC6F4 55%,#7A7FD8)!important}
.say.mina.mood-cheer .av{background:url("/img/zp_mina_cheer_av.webp") center 12%/112% auto no-repeat,radial-gradient(circle at 30% 22%,#E9F1FF,#AFC6F4 55%,#7A7FD8)!important}
.say.boss .av{background:url("/img/zp_boss_normal_av.webp") center 12%/112% auto no-repeat,radial-gradient(circle at 30% 22%,#FFF0D6,#F4C58C 55%,#D98745)!important}
.say.boss.mood-smile .av{background:url("/img/zp_boss_smile_av.webp") center 12%/112% auto no-repeat,radial-gradient(circle at 30% 22%,#FFF0D6,#F4C58C 55%,#D98745)!important}
.say.boss.mood-serious .av{background:url("/img/zp_boss_serious_av.webp") center 12%/112% auto no-repeat,radial-gradient(circle at 30% 22%,#FFF0D6,#F4C58C 55%,#D98745)!important}
.say.boss.mood-surprised .av{background:url("/img/zp_boss_surprised_av.webp") center 12%/112% auto no-repeat,radial-gradient(circle at 30% 22%,#FFF0D6,#F4C58C 55%,#D98745)!important}
.say.boss.mood-think .av{background:url("/img/zp_boss_think_av.webp") center 12%/112% auto no-repeat,radial-gradient(circle at 30% 22%,#FFF0D6,#F4C58C 55%,#D98745)!important}
.say.boss.mood-idea .av{background:url("/img/zp_boss_idea_av.webp") center 12%/112% auto no-repeat,radial-gradient(circle at 30% 22%,#FFF0D6,#F4C58C 55%,#D98745)!important}
.say.boss.mood-cheer .av{background:url("/img/zp_boss_cheer_av.webp") center 12%/112% auto no-repeat,radial-gradient(circle at 30% 22%,#FFF0D6,#F4C58C 55%,#D98745)!important}
.zp-img{display:block;width:100%;height:auto}
/* ===== GRID BACKDROP ===== */
body::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
--gl:rgba(255,255,255,.035);--gL:rgba(255,255,255,.07);
background-image:linear-gradient(var(--gL) 1px,transparent 1px),linear-gradient(90deg,var(--gL) 1px,transparent 1px),linear-gradient(var(--gl) 1px,transparent 1px),linear-gradient(90deg,var(--gl) 1px,transparent 1px);
background-size:120px 120px,120px 120px,24px 24px,24px 24px;background-position:-1px -1px;
-webkit-mask-image:radial-gradient(ellipse 120% 90% at 50% 30%,#000 35%,rgba(0,0,0,.35) 100%);mask-image:radial-gradient(ellipse 120% 90% at 50% 30%,#000 35%,rgba(0,0,0,.35) 100%)}
:root[data-theme="light"] body::after{--gl:rgba(30,50,90,.05);--gL:rgba(30,50,90,.09)}
@media print{body::after{display:none}}
.ml-nx{white-space:normal!important;overflow:visible!important;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:auto-phrase}
/* ===== EASY READING ===== */
.easy{margin:18px 0 22px;padding:16px 18px 12px;border-radius:var(--r-lg,18px);background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 14%,transparent),color-mix(in srgb,#5B9BFF 10%,transparent));border:1px solid color-mix(in srgb,var(--brand) 35%,transparent);box-shadow:0 10px 30px -18px rgba(0,0,0,.6)}
.easy-h{display:flex;gap:12px;align-items:center;margin-bottom:10px}
.easy-av{display:block!important;flex:0 0 48px;padding:0!important;margin:0!important;background:none!important;border:0!important}
.easy-av .av{display:block;width:48px;height:48px;border-radius:50%}
.easy-eb{font-size:11px;letter-spacing:.14em;color:var(--brand);font-weight:700}
.easy-v{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:15px;font-weight:700;color:var(--ink);margin-top:2px}
.easy-dl{margin:0;display:grid;gap:6px}
.easy-dl>div{display:grid;grid-template-columns:8.5em minmax(0,1fr);gap:10px;align-items:baseline;padding:7px 10px;border-radius:10px;background:color-mix(in srgb,var(--panel) 70%,transparent)}
.easy-dl dt{font-size:12px;color:var(--muted);font-weight:700}
.easy-dl dd{margin:0;font-size:14.5px;line-height:1.65;color:var(--ink2)}
.easy-dl dd b{color:var(--ink);font-size:1.08em}
.easy-ft{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 14px;margin-top:10px;font-size:11.5px;color:var(--muted)}
.easy-tg{display:inline-flex;gap:6px;align-items:center;cursor:pointer;color:var(--ink2)}
.easy-tg input{accent-color:var(--brand)}
@media (max-width:560px){.easy-dl>div{grid-template-columns:1fr;gap:2px}}
.easy-hint{font-size:13px;color:var(--muted);margin:6px 0 8px;padding:8px 12px;border-left:3px solid var(--brand);background:color-mix(in srgb,var(--panel) 60%,transparent);border-radius:0 8px 8px 0}
details.easy-more{margin:18px 0;border:1px solid var(--line2);border-radius:14px;background:color-mix(in srgb,var(--panel) 55%,transparent)}
details.easy-more>summary{cursor:pointer;list-style:none;padding:12px 16px;font-weight:700;font-size:14.5px;color:var(--ink);display:flex;gap:10px;align-items:center}
details.easy-more>summary::-webkit-details-marker{display:none}
details.easy-more>summary::after{content:"＋";margin-left:auto;color:var(--brand);font-weight:700}
details.easy-more[open]>summary::after{content:"－"}
details.easy-more>:not(summary){margin-left:16px;margin-right:16px}
details.easy-more[open]{padding-bottom:6px}
details.easy-more .em-h2{display:none}
.em-k{font-size:10.5px;letter-spacing:.08em;padding:2px 8px;border-radius:99px;background:color-mix(in srgb,var(--brand) 18%,transparent);color:var(--brand);white-space:nowrap}
details.em-tbl{margin:10px 0}
.gl{border-bottom:1.5px dotted color-mix(in srgb,var(--brand) 75%,transparent);cursor:help;outline-offset:2px}
.gl:hover,.gl:focus{color:var(--brand);background:color-mix(in srgb,var(--brand) 10%,transparent);border-radius:3px}
#glpop{position:fixed;z-index:200;padding:10px 12px;border-radius:12px;background:#111827;color:#E5E7EB;font-size:13px;line-height:1.65;box-shadow:0 12px 30px -8px rgba(0,0,0,.6);border:1px solid rgba(255,255,255,.12);pointer-events:none}
#glpop b{display:block;color:var(--brand);margin-bottom:2px;font-size:12.5px}
:root[data-theme="light"] #glpop{background:#fff;color:#1F2937;border-color:rgba(0,0,0,.1)}
/* ===== STICKY NEXT BAR ===== */
#nxbar{position:fixed;right:16px;bottom:14px;z-index:30;display:flex;gap:8px;align-items:stretch;max-width:min(480px,calc(100vw - 32px));animation:nxin .35s cubic-bezier(.2,.8,.2,1)}
#nxbar[hidden]{display:none}
@keyframes nxin{from{transform:translateY(20px);opacity:0}to{transform:none;opacity:1}}
#nxbar a{display:flex;align-items:center;text-decoration:none;color:var(--ink);background:color-mix(in srgb,var(--panel2) 88%,transparent);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);border:1px solid var(--line2);border-radius:16px;box-shadow:0 10px 28px -10px rgba(0,0,0,.6)}
#nxbar .nxb-p{width:46px;justify-content:center;font-size:18px;color:var(--muted)}
#nxbar .nxb-p:hover{color:var(--ink)}
#nxbar .nxb-n{gap:12px;padding:9px 14px 9px 16px;min-width:0;flex:1;border-color:color-mix(in srgb,var(--brand) 45%,transparent)}
#nxbar .nxb-n:hover{border-color:var(--brand);transform:translateY(-1px)}
.nxb-k{font-size:10.5px;letter-spacing:.1em;color:var(--brand);font-weight:700;white-space:nowrap}
.nxb-t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700}
.nxb-no{font-family:var(--f-mono);font-size:12px;color:var(--muted);margin-right:6px;font-weight:500}
.nxb-ar{margin-left:auto;width:28px;height:28px;flex:0 0 28px;display:grid;place-items:center;border-radius:50%;background:var(--brand);color:#111;font-weight:700}
body.has-nxbar main{padding-bottom:84px}
@media (max-width:899px){#nxbar{left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));max-width:none}}
@media print{#nxbar{display:none!important}}
/* ===== SIDEBAR TOC STICKY ===== */
aside.side{align-self:stretch}
.side .side-toc{position:sticky;top:76px;max-height:calc(100vh - 96px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;z-index:2}
body.has-nxbar .side .side-toc{max-height:calc(100vh - 170px)}
.side .side-toc{transition:top .3s cubic-bezier(.2,.8,.2,1),max-height .3s}
body.hdr-hide .side .side-toc{top:12px;max-height:calc(100vh - 24px)}
body.hdr-hide.has-nxbar .side .side-toc{max-height:calc(100vh - 100px)}
.side .toc a,.side .toc a::before{transition:color .25s,background-color .25s,border-color .25s,box-shadow .25s}
/* ===== BEGINNER PACK ===== */
.pill.v-lesson{color:#5CC98A;border-color:color-mix(in srgb,#5CC98A 55%,transparent);background:color-mix(in srgb,#5CC98A 12%,transparent)}
.t2-d.v-講座{background:#5CC98A}
.lv{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--muted);margin-top:6px}
.lv i{font-style:normal;color:var(--brand);letter-spacing:1px}
.head .meta .lv{margin:0}











/* quiz */
.oq{margin:30px 0 22px;padding:18px;border-radius:18px;border:1px solid color-mix(in srgb,#5B9BFF 40%,transparent);background:linear-gradient(135deg,color-mix(in srgb,#5B9BFF 12%,transparent),color-mix(in srgb,var(--brand) 8%,transparent))}
.oq-h{display:flex;gap:12px;align-items:center;margin-bottom:12px}
.oq-av{display:block!important;flex:0 0 44px;padding:0!important;margin:0!important;background:none!important;border:0!important}
.oq-av .av{display:block;width:44px;height:44px;border-radius:50%}
.oq-eb{font-size:11px;letter-spacing:.14em;color:#7FB0FF;font-weight:700}
.oq-h b{font-size:15px;color:var(--ink)}
.oq-prev{display:block;font-size:11.5px;color:var(--muted)}
.oq-q{padding:12px 0;border-top:1px solid var(--line)}
.oq-q p{margin:0 0 8px;font-weight:700;color:var(--ink);font-size:14.5px;line-height:1.6}
.oq-n{font-family:var(--f-mono);font-size:12px;color:var(--brand);margin-right:8px}
.oq-c{display:grid;grid-template-columns:1fr 1fr;gap:8px}
@media (max-width:560px){.oq-c{grid-template-columns:1fr}}
.oq-c button{font:inherit;font-size:13.5px;padding:10px 12px;border-radius:12px;border:1px solid var(--line2);background:var(--panel);color:var(--ink);cursor:pointer;text-align:left;line-height:1.5}
.oq-c button:hover:not(:disabled){border-color:var(--brand)}
.oq-c button.right{border-color:var(--good);background:color-mix(in srgb,var(--good) 18%,var(--panel))}
.oq-c button.wrong{border-color:var(--bad);background:color-mix(in srgb,var(--bad) 15%,var(--panel));opacity:.85}
.oq-c button:disabled{cursor:default}
.oq-why{margin-top:8px;font-size:13px;color:var(--ink2);line-height:1.7}
.oq-why b{margin-right:8px}
.oq-q[data-ans="ok"] .oq-why b{color:var(--good)}.oq-q[data-ans="ng"] .oq-why b{color:var(--bad)}
.oq-res{display:flex;gap:12px;align-items:center;margin-top:10px;padding-top:12px;border-top:1px solid var(--line)}
.oq-res b{display:block;font-size:18px;color:var(--ink)}.oq-res span{font-size:13px;color:var(--ink2)}
.oq-retry{font:inherit;font-size:12px;margin-left:auto;padding:6px 14px;border-radius:99px;border:1px solid var(--line2);background:var(--panel);color:var(--ink);cursor:pointer}
/* course */
.course{max-width:760px}
.cs-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:8px 0 18px}
.cs-dots{display:flex;gap:6px;list-style:none;margin:0;padding:0}
.cs-dots button{font:inherit;font-family:var(--f-mono);font-size:12px;width:30px;height:30px;border-radius:50%;border:1px solid var(--line2);background:var(--panel);color:var(--muted);cursor:pointer}
.cs-dots .done button{background:color-mix(in srgb,var(--brand) 35%,var(--panel));color:var(--ink);border-color:transparent}
.cs-dots .on button{background:var(--brand);color:#111;border-color:transparent;font-weight:700}
.cs-k{font-family:var(--f-mono);font-size:12px;letter-spacing:.14em;color:var(--brand)}
.cs-step h1{font-size:clamp(22px,4vw,30px);margin:6px 0 16px;word-break:auto-phrase}
.cs-fig svg{width:100%;height:auto;display:block;max-height:280px}
.cs-pts{margin:14px 0;padding:14px 18px 14px 34px;border-radius:14px;background:color-mix(in srgb,var(--panel) 70%,transparent);border:1px solid var(--line);font-size:15px;line-height:1.9}
.cs-more{display:flex;gap:10px;align-items:center;padding:12px 16px;border-radius:14px;border:1px solid color-mix(in srgb,var(--brand) 45%,transparent);color:var(--ink);text-decoration:none;font-weight:700;font-size:14px}
.cs-more:hover{border-color:var(--brand);text-decoration:none}
.cs-nav{display:flex;justify-content:space-between;margin:24px 0 40px}
.cs-b{font:inherit;font-size:14px;font-weight:700;padding:10px 22px;border-radius:999px;border:1px solid var(--line2);background:var(--panel);color:var(--ink);cursor:pointer}
.cs-b.pri{background:var(--brand);color:#111;border-color:transparent}
.cs-h2{font-size:18px;margin:22px 0 12px}
.cs-goal .cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.cs-also{font-size:14px;color:var(--ink2)}
@media print{}
.st-course{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 6px}


.top 
/* ===== SERIES ===== */
.home-series{margin:8px 0 34px}
.srs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media (max-width:900px){.srs-grid{grid-template-columns:1fr}}
.srs{position:relative;display:flex;flex-direction:column;gap:8px;padding:18px;border-radius:18px;text-decoration:none;color:var(--ink);background:linear-gradient(150deg,color-mix(in srgb,var(--sc) 16%,var(--panel)),var(--panel) 70%);border:1px solid color-mix(in srgb,var(--sc) 40%,transparent);min-height:190px}
.srs:hover{text-decoration:none;border-color:var(--sc);transform:translateY(-2px)}
.srs.soon{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--sc) 7%,transparent) 0 10px,transparent 10px 20px),var(--panel);border-style:dashed}
.srs-ic{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--sc) 22%,transparent);color:var(--sc)}
.srs-ic svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.srs-ic.big{width:64px;height:64px;border-radius:18px;flex:0 0 64px}.srs-ic.big svg{width:34px;height:34px}
.srs-en{font-size:10.5px;letter-spacing:.16em;color:var(--sc)}
.srs b{font-size:18px}
.srs small{font-size:12.5px;color:var(--ink2);line-height:1.7}
.srs-ft{margin-top:auto;display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted)}
.srs-n{font-size:20px;font-weight:700;color:var(--ink)}
.srs-soon{font-size:11px;font-weight:700;padding:2px 10px;border-radius:99px;background:color-mix(in srgb,var(--sc) 22%,transparent);color:var(--sc)}
.srs-ar{margin-left:auto;color:var(--sc);font-weight:700}
.t2-series{display:flex;justify-content:space-between;align-items:center;margin:2px 0 8px;padding:7px 10px;border-radius:10px;font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--brand);background:color-mix(in srgb,var(--brand) 10%,transparent);text-decoration:none}
.t2-series small{font-size:11px;color:var(--muted);font-weight:500}
.t2-series.soon{margin-top:12px;color:var(--muted);background:none;border:1px dashed var(--line2)}
.t2-series:hover{text-decoration:none;color:var(--ink)}
.crumb{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12px;margin-bottom:6px;color:var(--muted)}
.crumb a{color:var(--muted)}.crumb a:first-child{color:var(--sc,var(--brand));font-weight:700}
.srs-page{max-width:980px}
.srs-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 18px}
.srs-tabs a{font-size:13px;font-weight:700;padding:7px 14px;border-radius:99px;border:1px solid var(--line2);color:var(--ink2);text-decoration:none;display:inline-flex;gap:6px;align-items:center}
.srs-tabs a.on{border-color:var(--sc);color:var(--ink);background:color-mix(in srgb,var(--sc) 15%,transparent)}
.srs-tabs small{font-size:10px;color:var(--muted)}
.srs-hero{display:flex;gap:18px;align-items:center;padding:22px;border-radius:20px;margin-bottom:22px;background:linear-gradient(135deg,color-mix(in srgb,var(--sc) 18%,var(--panel)),var(--panel));border:1px solid color-mix(in srgb,var(--sc) 40%,transparent)}
.srs-hero h1{margin:4px 0 6px;font-size:clamp(22px,4vw,30px)}.srs-hero p{margin:0;color:var(--ink2);line-height:1.8}
@media (max-width:560px){.srs-hero{flex-direction:column;align-items:flex-start}}
.srs-start{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px}
.srs-sec{margin:0 0 22px}
.srs-sh{display:flex;align-items:center;gap:10px;margin-bottom:10px}.srs-sh h2{margin:0;font-size:17px}.srs-sh .mono{font-size:12px;color:var(--muted)}
.srs-all{margin-left:auto;font-size:12.5px}
.srs-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
@media (max-width:640px){.srs-list{grid-template-columns:1fr}}
.srs-list a{display:flex;gap:10px;align-items:center;padding:9px 12px;border-radius:12px;background:color-mix(in srgb,var(--panel) 75%,transparent);border:1px solid var(--line);color:var(--ink);text-decoration:none;font-size:13.5px}
.srs-list a:hover{border-color:var(--brand)}.srs-list .mono{font-size:11.5px;color:var(--muted);min-width:2.6em}.srs-t{flex:1;min-width:0}
.srs-plan{list-style:none;counter-reset:p;margin:0;padding:0;display:grid;gap:8px}
.srs-plan li{counter-increment:p;display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:12px;border:1px dashed var(--line2);color:var(--ink2);font-size:14px}
.srs-plan li::before{content:counter(p,decimal-leading-zero);font-family:var(--f-mono);font-size:12px;color:var(--muted)}
.srs-plan li span{flex:1}.srs-plan small{font-size:11px;color:var(--muted)}
.srs-note{font-size:14px;color:var(--ink2)}
.srs-chat{margin-bottom:20px}
.srs-soonbox{padding:28px;border-radius:18px;border:1px dashed var(--line2);text-align:center;background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--brand) 5%,transparent) 0 10px,transparent 10px 20px)}.srs-soonbox b{display:block;font-family:var(--f-mono);letter-spacing:.3em;font-size:18px;color:var(--brand);margin-bottom:8px}.srs-soonbox p{margin:0;color:var(--ink2)}
.f2-srs{padding-top:8px;padding-bottom:20px}.f2-srs h5{margin:0 0 10px;font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--ink)}.f2-srs-grid .srs{min-height:0;padding:14px;gap:5px}.f2-srs-grid .srs b{font-size:15px}.f2-srs-grid .srs small{font-size:12px}.f2-srs-grid .srs-ic{width:30px;height:30px;border-radius:10px}.f2-srs-grid .srs-ic svg{width:18px;height:18px}.f2-srs-grid .srs-n{font-size:16px}
.rt .rt-node{width:60px!important;height:60px!important;flex-direction:column;gap:1px;display:flex;align-items:center;justify-content:center}
.rt-node b{font-size:13px;line-height:1}
.rt-node em{font-style:normal;font-size:12px;font-weight:800;line-height:1.1;color:#2A1A05;letter-spacing:.04em}
@media (max-width:560px){.rt .rt-node{width:52px!important;height:52px!important}.rt-node em{font-size:11px}}
.st-hero2{margin-bottom:18px}
.st-facts2{margin:0 0 28px;border-radius:14px}
.st-facts2{border:1px solid var(--line2)!important;background:color-mix(in srgb,var(--panel) 60%,transparent)}.st-facts2>div{padding:14px 20px!important}
/* ===== INDICATOR-FIRST: bonus backtest ===== */
.art .head .meta .pill{display:none}
details.bonus{margin:30px 0 24px;border-radius:18px;border:1px solid var(--line2);background:color-mix(in srgb,var(--panel) 65%,transparent)}
details.bonus>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:14px 18px}
details.bonus>summary::-webkit-details-marker{display:none}
.bn-ic{flex:0 0 38px;height:38px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--brand) 16%,transparent);color:var(--brand)}
.bn-ic svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.bn-t{display:flex;flex-direction:column;min-width:0}.bn-t small{font-size:10.5px;letter-spacing:.14em;color:var(--brand);font-weight:700}.bn-t b{font-size:15.5px;color:var(--ink)}
.bn-v{margin-left:auto;display:flex;gap:10px;align-items:center;font-size:12px;color:var(--muted);white-space:nowrap}
.bn-chev{width:28px;height:28px;border-radius:50%;border:1px solid var(--line2);display:grid;place-items:center;flex:0 0 28px}
.bn-chev::after{content:"＋";color:var(--brand);font-weight:700}
details.bonus[open] .bn-chev::after{content:"－"}
details.bonus>summary:hover{background:color-mix(in srgb,var(--brand) 6%,transparent);border-radius:18px}
.bn-body{padding:4px 18px 18px}
@media (max-width:560px){.bn-v .mono{display:none}details.bonus>summary{padding:12px}.bn-body{padding:4px 12px 14px}}
.card-sum{margin:10px 0 0;font-size:13px;line-height:1.7;color:var(--ink2)}
.gone{color:inherit}
/* ===== HERO v3 ===== */
.hx{position:relative;overflow:hidden;border-radius:24px;border:1px solid var(--g-edge,var(--line2));margin:0 0 30px;background:radial-gradient(90% 120% at 100% 0%,color-mix(in srgb,var(--brand) 16%,transparent),transparent 55%),radial-gradient(70% 90% at 0% 100%,color-mix(in srgb,#5B9BFF 14%,transparent),transparent 60%),color-mix(in srgb,var(--panel) 75%,transparent);box-shadow:0 30px 70px -40px rgba(0,0,0,.8)}
.hx .hero-bg{opacity:.08}
.hx-glow{position:absolute;right:8%;top:10%;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--brand) 22%,transparent),transparent 65%);filter:blur(10px);pointer-events:none;animation:hxpulse 8s ease-in-out infinite}
@keyframes hxpulse{50%{transform:scale(1.08);opacity:.8}}
.hx-in{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:28px;align-items:center;padding:38px 38px 26px}
.hx-eb{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--brand);padding:5px 12px;border-radius:99px;border:1px solid color-mix(in srgb,var(--brand) 45%,transparent);background:color-mix(in srgb,var(--brand) 8%,transparent)}
.hx-eby{color:var(--ink2);letter-spacing:.06em;text-transform:none}
.hx-dot{width:7px;height:7px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 0 var(--brand);animation:hxdot 2s infinite}
@keyframes hxdot{70%{box-shadow:0 0 0 8px transparent}100%{box-shadow:0 0 0 0 transparent}}
.hx h1{font-size:clamp(30px,3.6vw,46px);line-height:1.28;margin:18px 0 16px;letter-spacing:.01em;word-break:auto-phrase}
.hx h1 .nb{display:inline-block}
.hx-grad{background:linear-gradient(100deg,#FFD27A,var(--brand) 45%,#FF8A65);-webkit-background-clip:text;background-clip:text;color:transparent}
.hx-tx p{margin:0;color:var(--ink2);line-height:1.95;font-size:15px;max-width:34em}
.hx-tx p b{color:var(--ink)}
.hx-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.hx-stats{display:flex;gap:26px;margin:26px 0 0;padding-top:18px;border-top:1px solid var(--line)}
.hx-stats div{display:flex;flex-direction:column-reverse;gap:2px}
.hx-stats dt{font-size:11.5px;color:var(--muted)}
.hx-stats dd{margin:0;font-size:26px;font-weight:700;color:var(--ink);line-height:1.1}
.hx-stats dd small{font-size:12px;color:var(--muted);margin-left:2px}
.hx-stage{position:relative;min-height:360px}
.hx-card{position:relative;margin-right:70px;border-radius:18px;padding:12px 12px 8px;background:color-mix(in srgb,var(--bg) 55%,transparent);border:1px solid var(--line2);box-shadow:0 20px 50px -25px rgba(0,0,0,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transform:perspective(1200px) rotateY(-6deg) rotateX(2deg);transform-origin:left center}
.hx-card-h{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:11px;color:var(--muted);margin:0 4px 6px}
.hx-px{color:var(--ink);font-size:14px;font-weight:700}.hx-px em{font-style:normal;font-size:11px;margin-left:6px}.hx-px .up{color:var(--good)}.hx-px .dn{color:var(--bad)}.hx-px small{font-size:10px;color:var(--muted);margin-left:6px;font-weight:400}
.hx-tags{margin-left:auto;display:flex;gap:6px}.hx-tags i{font-style:normal;font-size:10.5px;padding:2px 8px;border-radius:99px;border:1px solid currentColor}
.t-ma{color:var(--brand)}.t-bb{color:#7FB0FF}.t-rsi{color:#B48CF5}
.hx-chart{height:250px}.hx-chart svg{width:100%;height:100%;display:block}
.hx-band{fill:#5B9BFF;fill-opacity:.1;stroke:#7FB0FF;stroke-opacity:.45;stroke-width:1}
.hx-ma{fill:none;stroke:var(--brand);stroke-width:2.2;stroke-dasharray:1;stroke-dashoffset:1;animation:hxdraw 2.4s .3s cubic-bezier(.4,0,.2,1) forwards}
.hx-rsi{fill:none;stroke:#B48CF5;stroke-width:1.6;stroke-dasharray:1;stroke-dashoffset:1;animation:hxdraw 2.4s .8s cubic-bezier(.4,0,.2,1) forwards}
@keyframes hxdraw{to{stroke-dashoffset:0}}
.hx-cdl{opacity:.85}
.hx-rbg{fill:color-mix(in srgb,#B48CF5 6%,transparent)}
.hx-rl{stroke:var(--muted);stroke-dasharray:3 3;stroke-width:1;opacity:.6}
.hx-rt{font-size:9px;fill:var(--muted);font-family:var(--f-mono)}
.hx-now{fill:var(--brand);stroke:#fff;stroke-width:1.5;animation:hxdot2 2s infinite}
@keyframes hxdot2{50%{r:6}}
.hx-note{position:absolute;font-size:11px;font-weight:700;padding:4px 10px;border-radius:99px;background:var(--panel2);border:1px solid var(--line2);color:var(--ink);box-shadow:0 6px 16px -8px rgba(0,0,0,.6);animation:hxfloat 5s ease-in-out infinite}
.hx-note.n1{top:38%;left:38%;border-color:color-mix(in srgb,var(--brand) 60%,transparent)}
.hx-note.n2{bottom:12%;left:12%;border-color:color-mix(in srgb,#B48CF5 60%,transparent);animation-delay:-2.5s}
@keyframes hxfloat{50%{transform:translateY(-6px)}}
.hx-cast{position:absolute;right:-10px;bottom:-26px;width:250px;height:230px;pointer-events:none}
.hx-cast img{position:absolute;bottom:0;height:200px;width:auto;filter:drop-shadow(0 14px 22px rgba(0,0,0,.5))}
.hx-boss{right:96px;height:210px!important}.hx-mina{right:0}
.hx-bub{position:absolute;font-size:11.5px;font-weight:700;white-space:nowrap;padding:6px 12px;border-radius:14px;background:#fff;color:#1F2937;box-shadow:0 8px 20px -10px rgba(0,0,0,.6)}
.hx-bub.b1{right:-6px;top:-8px;border-bottom-right-radius:4px}.hx-bub.b2{right:120px;top:-34px;border-bottom-left-radius:4px;background:var(--brand);color:#1a1205}
.hx-marq{position:relative;border-top:1px solid var(--line);overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.hx-track{display:flex;gap:8px;width:max-content;padding:12px 0;animation:hxmarq 90s linear infinite}
.hx-marq:hover .hx-track{animation-play-state:paused}
.hx-track a{display:inline-flex;gap:6px;align-items:center;font-size:12.5px;padding:5px 12px;border-radius:99px;border:1px solid var(--line2);color:var(--ink2);text-decoration:none;white-space:nowrap;background:color-mix(in srgb,var(--panel) 60%,transparent)}
.hx-track a:hover{color:var(--ink);border-color:var(--brand)}
.hx-track .mono{font-size:10.5px;color:var(--muted)}
@keyframes hxmarq{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.hx-track,.hx-note,.hx-glow,.hx-dot,.hx-now{animation:none}.hx-ma,.hx-rsi{animation:none;stroke-dashoffset:0}}
@media (max-width:1100px){.hx-in{grid-template-columns:1fr;padding:30px 24px 20px}.hx-stage{min-height:0;margin-top:6px}.hx-card{margin-right:0;transform:none}.hx-cast{position:relative;right:auto;bottom:auto;margin:-40px 0 0 auto;width:230px;height:200px}.hx-cast img{height:170px}.hx-boss{right:90px;height:180px!important}}
@media (max-width:560px){.hx-in{padding:24px 16px 14px}.hx h1{font-size:28px}.hx-stats{gap:18px}.hx-stats dd{font-size:21px}.hx-chart{height:200px}.hx-tags{display:none}.hx-note{display:none}.hx-cast{margin:-30px auto 0;width:220px}.hx-bub.b2{right:110px}}
:root[data-theme="light"] .hx{background:radial-gradient(90% 120% at 100% 0%,color-mix(in srgb,var(--brand) 14%,transparent),transparent 55%),radial-gradient(70% 90% at 0% 100%,color-mix(in srgb,#5B9BFF 12%,transparent),transparent 60%),#fff}
:root[data-theme="light"] .hx-card{background:rgba(255,255,255,.8)}
@media (min-width:1101px){.hx-in{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}}
.hx h1{font-size:clamp(28px,2.7vw,40px)}
.hx h1 .nb{white-space:nowrap}
.hx-card{margin-right:96px}
.hx-cast{right:-18px;bottom:-34px;width:230px;height:200px}
.hx-cast img{height:168px}.hx-boss{right:84px;height:176px!important}
.hx-bub.b1{right:-4px;top:4px}.hx-bub.b2{right:104px;top:-22px}
.hx-note.n1{top:34%;left:22%}
@media (max-width:1100px){.hx-card{margin-right:0}.hx-cast{right:auto;bottom:auto}}
@media (max-width:560px){.hx-eby{display:none}.hx h1 .nb{white-space:normal}.hx-bub.b1{display:none}.hx-bub.b2{right:auto;left:0;top:-6px}.hx-cast{margin:-24px auto 0}}
@media (min-width:561px) and (max-width:1100px){.hx-cast{margin-top:-6px}.hx-bub.b2{top:-30px}}
:root[data-theme="light"] .hx-cta a.cta:not(.pri){border:1px solid #d5d9e0!important;background:#fff!important;color:#1b1f27!important}
/* ===== GUIDE MAP v3 ===== */
.tour3{margin:8px 0 48px}
.tm{position:relative;border-radius:var(--r-lg);padding:22px;background:radial-gradient(70% 60% at 0% 0%,rgba(141,180,255,.10),transparent 60%),radial-gradient(60% 60% at 100% 100%,rgba(240,165,58,.10),transparent 60%),linear-gradient(180deg,var(--g-fill2),var(--g-fill));border:1px solid var(--g-edge);box-shadow:inset 0 1px 0 var(--g-hi),var(--g-shadow);overflow:hidden}
.tm::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,color-mix(in srgb,var(--ink) 9%,transparent) 1px,transparent 1.2px);background-size:18px 18px;mask-image:linear-gradient(180deg,#000,transparent 70%);-webkit-mask-image:linear-gradient(180deg,#000,transparent 70%);pointer-events:none}
.tm>*{position:relative}
.tm-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;margin-bottom:16px}
.tm-cast{display:flex;align-items:flex-end;gap:6px;min-width:0}
.tm-say{display:flex;align-items:flex-end;gap:8px;min-width:0}
.tm-say img{width:64px;height:auto;flex:none;filter:drop-shadow(0 8px 14px rgba(0,0,0,.35))}
.tm-say p{margin:0 0 10px;font-size:13px;line-height:1.65;padding:9px 14px;border-radius:16px 16px 16px 4px;background:rgba(255,255,255,.08);border:1px solid var(--g-edge);color:var(--ink)}
.tm-say.boss{margin-left:6px}
.tm-say.boss p{background:linear-gradient(180deg,rgba(240,165,58,.18),rgba(240,165,58,.07));border-color:rgba(240,165,58,.35)}
.tm-say.boss p b{color:var(--brand)}
.tm-me{display:flex;align-items:center;gap:14px;padding:12px 16px 12px 12px;border-radius:18px;background:rgba(0,0,0,.18);border:1px solid var(--g-edge);min-width:280px}
.tm-ring{--p:0;flex:none;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--brand) calc(var(--p)*1%),color-mix(in srgb,var(--ink) 10%,transparent) 0)}
.tm-ring b{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:1px;background:var(--bg,#0d1117);font-size:15px;color:var(--ink)}
.tm-ring small{font-size:10px;color:var(--muted)}
.tm-me-tx{display:flex;flex-direction:column;gap:2px;min-width:0}
.tm-me-tx small{font-size:11px;color:var(--muted);letter-spacing:.06em}
.tm-me-tx b{font-size:15px;color:var(--ink)}
.tm-me-tx a,.tm-me-tx span{font-size:12.5px;color:var(--brand);max-width:300px}
.tm-flag{flex:none;font:700 11px/1 var(--mono,ui-monospace,monospace);letter-spacing:.12em;padding:7px 10px;border-radius:8px;background:linear-gradient(180deg,#5fd39a,#2ea36c);color:#06210f;box-shadow:0 6px 14px -6px rgba(46,163,108,.8)}
.tm-flag.goal{background:linear-gradient(180deg,#FFD58C,#F0A53A);color:#2A1A05;box-shadow:0 6px 14px -6px rgba(240,165,58,.8)}
.tm-start{display:flex;align-items:center;gap:14px;padding:12px 16px;border-radius:16px;border:1px dashed color-mix(in srgb,#5fd39a 50%,transparent);background:color-mix(in srgb,#5fd39a 7%,transparent);color:var(--ink);transition:background .2s,transform .2s}
.tm-start:hover{text-decoration:none;background:color-mix(in srgb,#5fd39a 13%,transparent);transform:translateY(-1px)}
.tm-st-tx{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}
.tm-st-tx b{font-size:14.5px}.tm-st-tx small{font-size:12px;color:var(--ink2)}
.tm-go{color:var(--dim);font-size:16px}
.tm-route{list-style:none;margin:14px 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;position:relative}
.tm-stg:not(:last-child)::after{content:"";position:absolute;right:-17px;top:30px;width:18px;height:20px;background:radial-gradient(circle,var(--c) 2px,transparent 2.5px) 0 50%/6px 6px repeat-x;animation:tmDots 1.2s linear infinite;z-index:2}
@keyframes tmDots{to{background-position:6px 50%}}
.tm-stg{position:relative;z-index:1;display:flex;flex-direction:column;padding:14px 16px 16px;border-radius:18px;background:linear-gradient(180deg,color-mix(in srgb,var(--c) 10%,transparent),transparent 45%),var(--card-bg,var(--panel));border:1px solid color-mix(in srgb,var(--c) 30%,var(--line));box-shadow:0 18px 40px -26px color-mix(in srgb,var(--c) 70%,transparent);opacity:0;transform:translateY(14px);transition:opacity .6s,transform .6s,border-color .2s}
.tm-stg:nth-child(2){transition-delay:.12s}.tm-stg:nth-child(3){transition-delay:.24s}
.tm-stg.on{opacity:1;transform:none}
.tm-stg:hover{border-color:color-mix(in srgb,var(--c) 60%,var(--line))}
.tm-hd{display:flex;align-items:center;gap:10px}
.tm-node{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;flex:none;background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--c) 40%,#fff),var(--c) 65%);box-shadow:0 0 0 4px color-mix(in srgb,var(--c) 20%,transparent),0 8px 18px -8px var(--c)}
.tm-node b{font-size:14px;color:#14100a}
.tm-lb{display:flex;flex-direction:column;line-height:1.2;flex:1}
.tm-lb small{font-size:10px;letter-spacing:.14em;color:var(--c)}
.tm-lb b{font-size:20px;font-weight:800;color:var(--ink)}
.tm-cnt{font-size:12px;color:var(--muted)}.tm-cnt b{font-size:22px;color:var(--ink);margin-right:2px}
.tm-ill{margin:12px 0 4px;height:84px;border-radius:12px;padding:6px 8px;background:color-mix(in srgb,var(--c) 6%,rgba(0,0,0,.18));border:1px solid color-mix(in srgb,var(--c) 18%,transparent)}
.tm-ill svg{width:100%;height:100%;display:block;overflow:visible}
.tm-grid{stroke:color-mix(in srgb,var(--ink) 8%,transparent);stroke-width:1;fill:none}
.tm-px,.tm-ma{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.6s ease .2s}
.tm-px{stroke:color-mix(in srgb,var(--ink) 55%,transparent);stroke-width:1.6}
.tm-ma{stroke:var(--c);stroke-width:2.6;transition-delay:.6s}
.tm-stg.on .tm-px,.tm-stg.on .tm-ma{stroke-dashoffset:0}
.tm-dot{fill:var(--c);opacity:0;transition:opacity .4s 1.8s}.tm-stg.on .tm-dot{opacity:1}
.tm-hit{fill:none;stroke:var(--c);stroke-width:1.5;opacity:0;transform-origin:139px 44px;transition:opacity .4s 1.8s}
.tm-stg.on .tm-hit{opacity:.8;animation:tmPing 2.4s ease-out 2s infinite}
@keyframes tmPing{0%{transform:scale(.6);opacity:.9}100%{transform:scale(1.8);opacity:0}}
.tm-bars rect{fill:color-mix(in srgb,var(--c) 75%,transparent);transform:scaleX(0);transform-origin:26px 0;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.tm-bars rect:nth-child(2){fill:color-mix(in srgb,var(--c) 55%,transparent);transition-delay:.12s}.tm-bars rect:nth-child(3){fill:color-mix(in srgb,var(--c) 40%,transparent);transition-delay:.24s}.tm-bars rect:nth-child(4){fill:color-mix(in srgb,var(--c) 28%,transparent);transition-delay:.36s}
.tm-stg.on .tm-bars rect{transform:none}
.tm-rk text{font:700 11px var(--mono,ui-monospace,monospace);fill:var(--muted)}
.tm-stg h3{margin:10px 0 2px;font-size:16.5px;font-weight:800}
.tm-p{margin:0;font-size:12.5px;line-height:1.65;color:var(--ink2);min-height:3.3em}
.tm-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}
.tm-list a{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:9px;font-size:12.5px;color:var(--ink);background:rgba(255,255,255,.03);border:1px solid transparent}
.tm-list a:hover{text-decoration:none;border-color:color-mix(in srgb,var(--c) 40%,transparent);background:color-mix(in srgb,var(--c) 8%,transparent)}
.tm-list i{font-style:normal;font-size:10.5px;color:var(--c);flex:none;min-width:30px}
.tm-list span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tm-list em{flex:none;width:14px;height:14px;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--ink) 22%,transparent)}
.tm-list .done em{border-color:var(--c);background:var(--c) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%23111' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/10px no-repeat}
.tm-list .done span{color:var(--muted)}
.tm-prog{margin-top:12px;height:6px;border-radius:99px;background:color-mix(in srgb,var(--ink) 9%,transparent);overflow:hidden}
.tm-prog span{display:block;height:100%;border-radius:99px;background:var(--c);min-width:0;transition:width .8s}
.tm-pm{display:flex;justify-content:space-between;margin-top:5px;font-size:11px;color:var(--muted)}
.tm-cta{margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;border-radius:12px;font-size:13px;font-weight:700;color:#14100a;background:linear-gradient(180deg,color-mix(in srgb,var(--c) 70%,#fff),var(--c));box-shadow:0 8px 18px -10px var(--c)}
.tm-cta span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tm-cta:hover{text-decoration:none;filter:brightness(1.06)}
.tm-cta:hover span:last-child{transform:translateX(3px)}.tm-cta span:last-child{transition:transform .2s}
.tm-goal{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center;padding:12px 14px;border-radius:16px;border:1px dashed color-mix(in srgb,var(--brand) 45%,transparent);background:color-mix(in srgb,var(--brand) 6%,transparent)}
.tm-goal-h{display:flex;flex-direction:column}.tm-goal-h b{font-size:14.5px}.tm-goal-h small{font-size:11.5px;color:var(--ink2)}
.tm-tools{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.tm-tools a{display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;column-gap:8px;align-items:center;padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid var(--line);color:var(--ink);transition:background .2s,border-color .2s,transform .2s}
.tm-tools a:hover{text-decoration:none;border-color:var(--g-edge2);background:rgba(255,255,255,.08);transform:translateY(-2px)}
.tm-tools a span{grid-row:1/3;width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:var(--g-fill2)}
.tm-tools svg{width:15px;height:15px;fill:none;stroke:var(--brand);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tm-tools b{font-size:12px;white-space:nowrap}.tm-tools small{font-size:10.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
:root[data-theme="light"] .tm-stg{--card-bg:rgba(255,255,255,.92)}
:root[data-theme="light"] .tm-me{background:rgba(255,255,255,.75)}
:root[data-theme="light"] .tm-ring b{background:#fff}
:root[data-theme="light"] .tm-say p{background:rgba(255,255,255,.9)}
:root[data-theme="light"] .tm-ill{background:color-mix(in srgb,var(--c) 7%,#fff)}
:root[data-theme="light"] .tm-list a,:root[data-theme="light"] .tm-tools a{background:rgba(255,255,255,.7)}
:root[data-theme="light"] .tm-list a{border-color:color-mix(in srgb,var(--ink) 6%,transparent)}
.tm-tools{grid-column:1/-1}
@media (max-width:900px){.tm-top{grid-template-columns:1fr}.tm-me{min-width:0}
 .tm-route{grid-template-columns:1fr;gap:14px;padding-left:26px}
 .tm-route::before{content:"";position:absolute;left:9px;top:20px;bottom:20px;border-left:2px dashed color-mix(in srgb,var(--brand) 45%,transparent)}
 .tm-route::after{content:"";position:absolute;left:5px;top:20px;width:10px;height:10px;border-radius:50%;background:var(--brand);box-shadow:0 0 12px var(--brand);animation:tmRunV 6s linear infinite}
 .tm-stg:not(:last-child)::after{display:none}
 .tm-stg::before{content:"";position:absolute;left:-23px;top:28px;width:12px;height:12px;border-radius:50%;background:var(--c);box-shadow:0 0 0 4px color-mix(in srgb,var(--c) 22%,transparent)}
 .tm-tools{grid-template-columns:repeat(3,minmax(0,1fr))}}
@keyframes tmRunV{0%{top:20px;opacity:0}8%{opacity:1}92%{opacity:1}100%{top:calc(100% - 30px);opacity:0}}
@media (max-width:560px){.tm{padding:14px}.tm-say img{width:50px}.tm-say p{font-size:12px;padding:8px 11px}.tm-cast{flex-direction:column;align-items:stretch}.tm-say.boss{flex-direction:row-reverse;margin-left:0}.tm-say.boss p{border-radius:16px 16px 4px 16px}
 .tm-start{gap:10px;padding:10px 12px}.tm-st-tx b{font-size:13.5px}
 .tm-ill{display:none}.tm-list li:nth-child(3){display:none}.tm-tools a:last-child{grid-column:1/-1}.tm-p{min-height:0}.tm-goal{grid-template-columns:1fr}.tm-goal .tm-flag{justify-self:start}.tm-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.tm-me-tx a{max-width:220px}}
@media (prefers-reduced-motion:reduce){.tm-route::after{animation:none;display:none}.tm-stg{opacity:1;transform:none;transition:none}.tm-px,.tm-ma{stroke-dashoffset:0;transition:none}.tm-bars rect{transform:none}}
/* ===== INDICATOR CARD v2 ===== */
.card.ic2{aspect-ratio:auto!important;min-height:0!important;height:auto;padding:14px 14px 13px;gap:8px;border-radius:16px!important;background:linear-gradient(180deg,color-mix(in srgb,var(--cc) 9%,transparent),transparent 40%),var(--panel)!important;border:1px solid color-mix(in srgb,var(--cc) 22%,var(--line))!important;box-shadow:none!important}
.card.ic2::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--cc),transparent 80%);opacity:.9}
.card.ic2:hover{border-color:color-mix(in srgb,var(--cc) 55%,var(--line))!important;box-shadow:0 18px 40px -20px color-mix(in srgb,var(--cc) 60%,transparent)!important}
.ic-top{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11.5px}
.ic-cat .ci{color:var(--ink2)}
.ic-no{font-size:12px;color:var(--dim);letter-spacing:.04em}
.ic-viz{position:relative;height:104px;border-radius:11px;background:color-mix(in srgb,var(--cc) 5%,rgba(0,0,0,.22));border:1px solid color-mix(in srgb,var(--cc) 14%,transparent);overflow:hidden;padding:4px 4px 2px}
.ic-viz svg{width:100%;height:100%;display:block;overflow:visible}
.ic-viz-lb{position:absolute;left:8px;top:6px;z-index:2;font-size:9.5px;letter-spacing:.04em;color:var(--muted);background:color-mix(in srgb,var(--panel) 70%,transparent);padding:1px 6px;border-radius:5px;pointer-events:none}
.ic-viz[data-cv]:not([data-drawn])::after{content:"";position:absolute;inset:30% 8% 20%;border-radius:6px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--ink) 6%,transparent),transparent);background-size:200% 100%;animation:cvSk 1.4s linear infinite}
@keyframes cvSk{to{background-position:-200% 0}}
.cv-px{fill:none;stroke:color-mix(in srgb,var(--ink) 38%,transparent);stroke-width:1.2;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.cv-ln{fill:none;stroke-width:1.8;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.cv-ln.dash{stroke-dasharray:3 3;stroke-width:1.3}
.cv-band{fill:color-mix(in srgb,var(--cc) 16%,transparent)}.cv-band.cloud{fill:color-mix(in srgb,var(--s-teal) 22%,transparent)}
.cv-bl{fill:none;stroke:color-mix(in srgb,var(--cc) 55%,transparent);stroke-width:1;vector-effect:non-scaling-stroke}
.cv-hl{stroke-width:1;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}
.cv-g{stroke:color-mix(in srgb,var(--ink) 16%,transparent);stroke-width:1;stroke-dasharray:2 3;vector-effect:non-scaling-stroke}
.cv-subbg{fill:color-mix(in srgb,var(--ink) 3%,transparent)}
.cv-sl{fill:none;stroke-width:1.6;vector-effect:non-scaling-stroke}.cv-sl.b{stroke-width:1.1;opacity:.85}
.cv-side{fill:color-mix(in srgb,var(--cc) 40%,transparent)}
.cv-vb{opacity:.6}
.cv-pv{fill:none;stroke:color-mix(in srgb,var(--cc) 70%,transparent);stroke-width:1;vector-effect:non-scaling-stroke}
.cv-st{fill:none;stroke-width:2;vector-effect:non-scaling-stroke}
.cv-zz{fill:none;stroke:var(--cc);stroke-width:1.8;vector-effect:non-scaling-stroke}
.cv-zd{fill:var(--cc)}
.cv-mk{fill:color-mix(in srgb,var(--cc) 22%,transparent)}
.cv-candles line{stroke-width:1;vector-effect:non-scaling-stroke}
.cv-mo{font-size:8px;fill:var(--muted);text-anchor:middle;font-family:var(--f-mono,monospace)}
.ic-viz[data-cv] svg{opacity:0;transition:opacity .5s}.ic-viz.on svg{opacity:1}
.ic-viz.on .cv-ln,.ic-viz.on .cv-sl:not(.b),.ic-viz.on .cv-zz{stroke-dasharray:1;stroke-dashoffset:1;animation:cvDraw 1.3s ease .1s forwards}
.ic-viz.on .cv-ln.dash{animation:none;stroke-dasharray:3 3;stroke-dashoffset:0}
@keyframes cvDraw{to{stroke-dashoffset:0}}
.ic-mix{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;flex-wrap:nowrap}
.ic-mix span{font-size:13px;font-weight:800;padding:7px 10px;border-radius:10px;background:color-mix(in srgb,var(--cc) 14%,var(--panel));border:1px solid color-mix(in srgb,var(--cc) 35%,transparent);color:var(--ink);max-width:45%;text-align:center;line-height:1.3}
.ic-mix b{font-size:20px;color:var(--cc);flex:none}.ic-mix span{max-width:44%}.ic-mix span:only-child{max-width:80%}
.ic-glyph{display:flex;align-items:center;justify-content:center;gap:12px}
.ic-gl svg{width:40px;height:40px;fill:none;stroke:var(--cc);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ic-glyph b{font-size:30px;color:color-mix(in srgb,var(--cc) 80%,var(--ink));letter-spacing:.04em}
.ic-nm{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-size:18px;font-weight:800;line-height:1.3;margin:2px 0 0}
.ic-nm small{font-size:10.5px;font-weight:500;color:var(--muted);letter-spacing:.04em}
.ic-nm.sm{font-size:14.5px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ic-tag{margin:0;font-size:12.5px;line-height:1.6;color:var(--ink2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:3.2em}
.ic-ft{margin-top:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:8px;border-top:1px dashed color-mix(in srgb,var(--ink) 12%,transparent);font-size:11px;color:var(--muted)}
.ic-ft .lv{font-size:11px}
.ic-min{font-size:10.5px}
.ic-rd{font-size:10.5px;color:var(--good);font-weight:700}
.ic-v{margin-left:auto;display:inline-flex;align-items:center;gap:5px;font-size:10.5px;color:var(--muted);padding:2px 8px;border-radius:99px;border:1px solid var(--line)}
.ic-v i{width:6px;height:6px;border-radius:50%;background:var(--muted)}
.ic-v.v-adopt i{background:var(--good)}.ic-v.v-hold i{background:var(--hold)}.ic-v.v-reject i{background:var(--bad)}
.ic-go{position:absolute;right:12px;top:42px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:13px;color:#14100a;background:var(--cc);opacity:0;transform:translateX(-6px);transition:opacity .2s,transform .2s;z-index:3}
.card.ic2:hover .ic-go{opacity:1;transform:none}
.card.ic2.is-read .ic-nm::after{content:"✓";font-size:12px;color:var(--good)}
:root[data-theme="light"] .ic-viz{background:color-mix(in srgb,var(--cc) 6%,#fff)}
:root[data-theme="light"] .card.ic2{background:linear-gradient(180deg,color-mix(in srgb,var(--cc) 8%,#fff),#fff 45%)!important}
@media (max-width:560px){.ic-tag{min-height:0}.ic-ft{margin-top:4px}}
@media (prefers-reduced-motion:reduce){.ic-viz.on .cv-ln,.ic-viz.on .cv-sl,.ic-viz.on .cv-zz{animation:none;stroke-dasharray:none}}
.ic-base{display:flex;flex-direction:column;gap:5px;padding:9px 10px;border-radius:10px;background:color-mix(in srgb,var(--cc) 6%,transparent);border:1px solid color-mix(in srgb,var(--cc) 14%,transparent)}
.ic-bl{font-size:10.5px;font-weight:700;letter-spacing:.06em;color:var(--cc)}
.ic-base p{margin:0;font-size:12.8px;line-height:1.6;color:var(--ink);font-weight:600}
.ic-chips{display:flex;flex-wrap:wrap;gap:4px}
.ic-chips i{font-style:normal;font-size:10.5px;padding:1px 8px;border-radius:99px;background:color-mix(in srgb,var(--ink) 6%,transparent);border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);color:var(--ink2)}
.t2-d{display:none!important}
.t2-list a{grid-template-columns:34px minmax(0,1fr)!important}
.tree2 summary{grid-template-rows:auto!important;row-gap:0!important}
:root[data-theme="light"] .ic-base{background:color-mix(in srgb,var(--cc) 6%,#fff)}
