/* 乙級職安衛 · 頁面樣式（顏色與尺寸只用 app.css 定義的變數） */
.sec-tight{padding-top:var(--s-6);padding-bottom:var(--s-6)}
.page-top{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--s-4);margin-bottom:var(--s-4);flex-wrap:wrap}
.page-h{font:900 clamp(28px,4.4vw,36px)/1.25 var(--sans);margin:6px 0 0}
.lead2{font-size:var(--t-md);color:var(--fg-2);max-width:40em;margin-top:var(--s-3)}
.body2{color:var(--fg-2);margin-top:var(--s-3)}
.h2s{font:900 var(--t-lg)/1.35 var(--sans);margin-bottom:var(--s-4)}
.h2b{font:900 var(--t-xl)/1.35 var(--sans);margin-top:var(--s-2)}
.note-s{font-size:var(--t-sm);margin-top:var(--s-3)}
.crumb{font-size:var(--t-sm);color:var(--fg-3);margin-bottom:var(--s-4)}
.crumb a{color:var(--fg-2);display:inline-flex;min-height:44px;align-items:center}

/* 首頁 */
.hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(24px,5vw,72px);align-items:end;padding-top:clamp(32px,7vw,88px);padding-bottom:var(--s-7)}
.hero h1{font:900 var(--t-hero)/1.2 var(--sans);margin:var(--s-4) 0 var(--s-5);letter-spacing:.01em}
.hero h1 em{white-space:nowrap}
.hero .lead{font-size:var(--t-md);color:var(--fg-2);max-width:31em}
.cta{display:flex;gap:var(--s-4);margin-top:var(--s-6);align-items:center;flex-wrap:wrap}
.hero .board{margin-bottom:6px}
@media (max-width:860px){.hero{grid-template-columns:1fr;align-items:start}}
.today{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:var(--s-4)}
@media (max-width:860px){.today{grid-template-columns:1fr}}
.task-h{display:flex;justify-content:space-between;align-items:baseline}
.task-n{font-size:var(--t-lg);color:var(--fg-2)}
.task .meter{margin:var(--s-2) 0 var(--s-5)}
.kv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-4);margin:0}
.kv div{min-width:0}
.kv dt{font-size:var(--t-xs);color:var(--fg-3);letter-spacing:.08em;font-weight:700}
.kv dd{margin:4px 0 0;font-size:var(--t-sm);color:var(--fg-2)}
.kv dd b{display:block;font-size:var(--t-lg);color:var(--fg);line-height:1.3}
.kv dd b.num{font-size:var(--t-xl)}
@media (max-width:520px){.kv{grid-template-columns:1fr 1fr}.kv div:first-child{grid-column:1/-1}}
.lvbar{height:4px;background:var(--sunk);border-radius:2px;margin-top:var(--s-4);overflow:hidden}
.lvbar i{display:block;height:100%;background:var(--navy-2)}
.mx-note{font-size:var(--t-sm);color:var(--fg-2);margin-top:var(--s-3)}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:clamp(24px,5vw,72px);align-items:start}
@media (max-width:860px){.split{grid-template-columns:1fr}}
.toprows{list-style:none;margin:0;padding:0;border-top:1.5px solid var(--fg)}
.toprows a{display:grid;grid-template-columns:minmax(7em,9em) minmax(0,1fr) 3em;gap:var(--s-3);align-items:center;min-height:52px;text-decoration:none;border-bottom:1px solid var(--line);padding:0 4px;transition:background-color var(--d-ui) var(--ease-out)}
.toprows a:hover{background:var(--surface)}
.toprows .tn{font-weight:700}
.tb{height:12px;background:var(--sunk);border-radius:2px;overflow:hidden}
.tb i{display:block;height:100%;background:var(--hot);border-radius:0 4px 4px 0}
.toprows li:first-child .tb i{background:#9A3412}
.tc{text-align:right;font-size:var(--t-base)}
.ways{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:auto auto;gap:var(--s-3)}
.way{position:relative;display:flex;flex-direction:column;gap:6px;text-decoration:none;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r);padding:var(--s-5);min-height:150px;transition:border-color var(--d-ui) var(--ease-out),transform var(--d-ui) var(--ease-out)}
.way:hover{border-color:var(--line-2);transform:translateY(-2px)}
.way b{font:900 var(--t-lg)/1.3 var(--sans)}
.way p{color:var(--fg-2);font-size:var(--t-sm)}
.way-k{font-size:var(--t-xs);letter-spacing:.16em;font-weight:700;color:var(--fg-3)}
.way-n{margin-top:auto;font-size:var(--t-md);color:var(--fg)}
.way-main{grid-row:span 2;background:var(--navy);border-color:var(--navy);color:#fff}
.way-main p,.way-main .way-k{color:#D6DFEC}
.way-main .way-n{color:var(--flap-fg);font-size:var(--t-xl)}
.way-main b{font-size:var(--t-xl)}
.ways .way:nth-child(4){grid-column:span 2}
@media (max-width:760px){.ways{grid-template-columns:1fr 1fr}.way-main{grid-column:1/-1;grid-row:auto}.ways .way:nth-child(4){grid-column:1/-1}}
.facts-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start}
@media (max-width:860px){.facts-grid{grid-template-columns:1fr}}
.pr-row{display:grid;grid-template-columns:4em 1fr 4em;gap:var(--s-3);align-items:center;margin-top:var(--s-3)}
.pr-bar{height:22px;background:var(--sunk);border-radius:2px;overflow:hidden}
.pr-bar i{display:block;height:100%;background:var(--navy-2);border-radius:0 4px 4px 0}
.pr-row b{text-align:right;font-size:var(--t-base)}
.faq{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;font-weight:700;font-size:var(--t-md);min-height:56px;display:flex;align-items:center;list-style:none;padding-right:32px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;font:400 22px/1 var(--mono);color:var(--hot)}
.faq[open] summary::after{content:"\2212"}
.faq p{color:var(--fg-2);padding-bottom:var(--s-4);max-width:44em}

/* 學科練習 */
.modes{margin-bottom:var(--s-3)}
.items{margin-bottom:var(--s-3);display:flex;gap:var(--s-2);flex-wrap:wrap}
.items .chip[aria-current="true"]{border-color:var(--navy);color:var(--fg);font-weight:700}
.items[hidden]{display:none}
.stage{max-width:760px;min-height:560px}
.stage-top{display:flex;justify-content:space-between;align-items:center;gap:var(--s-3);margin:var(--s-4) 0 var(--s-2);min-height:24px}
.stage-top .track{flex:1;min-width:0}
.stage-top [data-pos]{white-space:nowrap;flex:none}
.qimg{display:block;margin:0 0 var(--s-4);border-radius:var(--r-sm);height:auto}
.qbtns{display:flex;gap:var(--s-2);margin-left:auto}
.kbd{font-size:var(--t-xs)}
@media (max-width:600px){.kbd{display:none}}
.timer{font-size:var(--t-md);color:var(--hot)}
.end-h{font:900 var(--t-xl)/1.35 var(--sans);margin-bottom:var(--s-5)}
.end-kv{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:var(--s-4)}
@media (max-width:600px){.end-kv{grid-template-columns:1fr 1fr}}
.big-score{font-size:48px;line-height:1;margin-right:12px}
.fs{border:0;padding:0;margin:0 0 var(--s-4)}
.fs legend{font-weight:700;margin-bottom:var(--s-2)}
.radio,.check{display:flex;gap:10px;align-items:center;min-height:44px;cursor:pointer;position:relative}
.radio input{width:20px;height:20px;flex:none}
/* 勾選框：原生 input 鋪滿整個 label 當觸控區，視覺用 .box 畫 */
.check input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.check .box{width:22px;height:22px;border:2px solid var(--fg-3);border-radius:4px;flex:none;display:grid;place-items:center;background:var(--surface)}
.check input:checked+.box{background:var(--navy);border-color:var(--navy)}
.check input:checked+.box::after{content:"";width:6px;height:11px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg) translate(-1px,-1px)}
.check input:focus-visible+.box{outline:2px solid var(--hot);outline-offset:2px}
.field{display:grid;gap:6px;margin:var(--s-3) 0;font-size:var(--t-sm);color:var(--fg-2)}
.field input,.field-s select,.field-s input{min-height:44px;border:1.5px solid var(--line-2);border-radius:var(--r);background:var(--surface);padding:0 12px;font-size:var(--t-base);color:var(--fg)}
.dlg-row{display:flex;gap:var(--s-2);flex-wrap:wrap;margin-top:var(--s-4)}
.dlg-row.end{justify-content:flex-end}
.file{cursor:pointer}

/* 術科 */
.filters{display:flex;flex-wrap:wrap;gap:var(--s-3);align-items:flex-end;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r);padding:var(--s-4);margin:var(--s-5) 0}
.field-s{display:grid;gap:4px;font-size:var(--t-xs);color:var(--fg-3);font-weight:700;letter-spacing:.06em;min-width:0}
.field-s.grow{flex:1 1 200px;min-width:0}
.field-s input{width:100%;min-width:0}
.field-s select{max-width:100%}
.count{margin-left:auto;align-self:center}
.pqlist{display:grid;gap:var(--s-3);margin-top:var(--s-4)}
.pq{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r);padding:var(--s-5);position:relative;scroll-margin-top:80px}
.pq.mastered::after{content:"結案";position:absolute;right:16px;top:14px;border:2.5px solid var(--ok);color:var(--ok);font:900 var(--t-sm)/1 var(--serif);letter-spacing:.12em;padding:6px 10px 5px;border-radius:5px;transform:rotate(-8deg)}
.pqs{font:500 var(--t-md)/1.85 var(--sans);margin:var(--s-2) 0 var(--s-3);letter-spacing:.02em}
.pq details summary{cursor:pointer;font-weight:700;color:var(--fg);min-height:44px;display:inline-flex;align-items:center;gap:8px;padding:0 14px;border:1.5px solid var(--line-2);border-radius:var(--r)}
.pq details[open] summary{background:var(--sunk)}
.subs{margin:var(--s-4) 0 0;padding-left:1.4em}
.subs li{margin-bottom:var(--s-3)}
.sq{font-weight:500}
.sa{color:var(--fg-2)}
.sa b{color:var(--fg);font-weight:700}
.explain{margin-top:var(--s-3);padding:var(--s-4);background:var(--sunk);border-radius:var(--r);color:var(--fg)}
.laws{font-size:var(--t-sm);color:var(--fg-2);margin-top:var(--s-3)}
.lawchg{margin-top:var(--s-3);padding:var(--s-3) var(--s-4);border-left:4px solid var(--hot);background:var(--hot-soft);font-size:var(--t-sm);border-radius:0 var(--r) var(--r) 0}
.lawchg b{display:block;color:var(--fg);margin-bottom:2px}
.rate{display:flex;flex-wrap:wrap;gap:var(--s-2);align-items:center;margin-top:var(--s-4);font-size:var(--t-sm)}
.more-row{display:flex;justify-content:center;margin-top:var(--s-5)}
.more-row [hidden]{display:none}
.empty{padding:var(--s-6);text-align:center;color:var(--fg-2)}
.numbox{background:var(--surface);border-left:4px solid var(--navy-2);padding:var(--s-4) var(--s-5);border-radius:0 var(--r) var(--r) 0;margin:var(--s-5) 0}
.numbox h2{font:900 var(--t-md)/1.4 var(--sans);margin-bottom:var(--s-2)}
.numbox ul{margin:0;padding-left:1.2em}
.numbox li{margin:6px 0}

/* 題庫整科頁 */
.bank-head{display:flex;justify-content:space-between;gap:var(--s-5);align-items:flex-end;flex-wrap:wrap;margin-bottom:var(--s-5)}
.banklist{list-style:none;margin:0;padding:0;border-top:1.5px solid var(--fg)}
.bq{padding:var(--s-4) 0;border-bottom:1px solid var(--line)}
.bqs{font-weight:500}
.bqs .num{margin-right:10px}
.bqs .tag{font-size:var(--t-xs);border:1px solid var(--hot);color:var(--hot);border-radius:999px;padding:1px 8px}
.bqo{list-style:none;margin:var(--s-2) 0 0;padding:0;display:grid;gap:4px}
.bqo li{display:flex;gap:10px;color:var(--fg-2);font-size:var(--t-sm)}
.bqo li .k{font-size:12px;width:22px;height:22px;border:1px solid var(--line-2);display:grid;place-items:center;border-radius:3px;flex:none}
.bqo li.ans{color:var(--fg);font-weight:500}
.bqo li.ans .k{background:var(--ok);border-color:var(--ok);color:var(--ok-ink)}
.bqa{font-size:var(--t-sm);color:var(--fg-3);margin-top:4px}

/* 筆記 */
.notes{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(24px,5vw,72px);align-items:start}
.toc{position:sticky;top:84px;font-size:var(--t-sm);max-height:calc(100vh - 100px);overflow:auto}
.toc ol{list-style:none;margin:var(--s-2) 0 0;padding:0;border-left:1.5px solid var(--line)}
.toc a{display:flex;min-height:36px;align-items:center;padding-left:12px;text-decoration:none;color:var(--fg-2)}
.toc a:hover{color:var(--hot)}
@media (max-width:900px){.notes{grid-template-columns:1fr}.toc{position:static;max-height:none}.toc ol{display:flex;flex-wrap:wrap;border:0;gap:4px}.toc a{border:1px solid var(--line);border-radius:999px;padding:0 12px;min-height:44px}}
.read section{scroll-margin-top:84px}
.factlist{padding-left:1.4em;margin:0}
.factlist li{margin-bottom:var(--s-4)}
.read .factlist li p{font-size:18px;line-height:1.9}
.read .factlist .cite{font-size:var(--t-sm);margin-top:2px}
.read .factlist .cite a{color:var(--fg-3)}
.ftbl th{white-space:normal;width:34%}
.fx{font-family:var(--mono);font-size:16px;letter-spacing:0;color:var(--fg)}

/* 統計 */
.stat-sec{margin-top:var(--s-7)}
.stat-sec h2{font:900 var(--t-lg)/1.35 var(--sans);margin-bottom:var(--s-4);padding-top:var(--s-3);border-top:1.5px solid var(--fg)}
.stat-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-6)}
@media (max-width:860px){.stat-2{grid-template-columns:1fr}}
.bars th{width:11em;font-weight:500}
.bars th a{color:var(--fg);display:flex;min-height:44px;min-width:44px;align-items:center}
.barcell{width:60%}
.hbar{display:block;height:14px;background:var(--hot);border-radius:0 4px 4px 0;min-width:2px}
.tscroll{overflow-x:auto}
.swipe{display:none;font-size:var(--t-xs);color:var(--fg-3);margin-bottom:var(--s-2)}
@media (max-width:640px){.swipe{display:block}}
.heat th[scope=row]{font-weight:500;white-space:nowrap}
.heat .hc{text-align:center;font-family:var(--mono);min-width:48px;border:2px solid var(--bg)}
.mine{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r);padding:var(--s-5)}
.mine-kv{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:var(--s-5)}
@media (max-width:600px){.mine-kv{grid-template-columns:1fr 1fr}}
.days28{display:grid;grid-template-columns:repeat(28,minmax(0,1fr));gap:3px;margin-top:var(--s-2)}
.days28 i{aspect-ratio:1;background:var(--sunk);border-radius:2px;border:1px solid var(--line)}
.days28 i.l1{background:color-mix(in srgb,var(--hot) 30%,var(--surface))}
.days28 i.l2{background:color-mix(in srgb,var(--hot) 60%,var(--surface))}
.days28 i.l3{background:var(--hot)}
@media (max-width:520px){.days28{grid-template-columns:repeat(14,minmax(0,1fr))}}

/* 404 */
.nf{display:grid;grid-template-columns:auto 1fr;gap:var(--s-7);align-items:center;min-height:50vh}
@media (max-width:700px){.nf{grid-template-columns:1fr}}

/* 說明區 */
.howto-dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-5);margin:0}
.howto-dl dt{font-weight:900;font-size:var(--t-md);margin-bottom:4px}
.howto-dl dd{margin:0;color:var(--fg-2)}
@media (max-width:760px){.howto-dl{grid-template-columns:1fr}}
.export-box{width:100%;margin-top:var(--s-3);font:12px/1.5 var(--mono);border:1.5px solid var(--line-2);border-radius:var(--r);background:var(--sunk);color:var(--fg);padding:8px}

/* ══ 首頁 v2：零災害告示牌 ══ */
html:not([data-user]) .user-only{display:none}
html[data-user] .first-only{display:none}
.sign-sec{padding-top:clamp(24px,5vw,56px);padding-bottom:var(--s-6);display:grid;gap:var(--s-5)}
.sign{background:var(--navy);color:#fff;border-radius:4px;padding:var(--s-5) clamp(16px,4vw,40px) calc(var(--s-5) + 14px);position:relative;overflow:hidden;box-shadow:inset 0 0 0 3px rgb(255 255 255/.10),var(--sh-2)}
.sign::before{content:"";position:absolute;inset:10px;pointer-events:none;background:
  radial-gradient(circle,#8FA3C0 0 3px,transparent 3.5px) left top/14px 14px no-repeat,
  radial-gradient(circle,#8FA3C0 0 3px,transparent 3.5px) right top/14px 14px no-repeat,
  radial-gradient(circle,#8FA3C0 0 3px,transparent 3.5px) left bottom/14px 14px no-repeat,
  radial-gradient(circle,#8FA3C0 0 3px,transparent 3.5px) right bottom/14px 14px no-repeat}
.sign::after{content:"";position:absolute;left:0;right:0;bottom:0;height:12px;background:repeating-linear-gradient(-45deg,var(--hot) 0 14px,var(--navy) 14px 28px)}
.sign-top{display:flex;justify-content:space-between;gap:var(--s-3);flex-wrap:wrap;font-size:var(--t-sm);font-weight:700;letter-spacing:.12em;color:#C9D4E4;border-bottom:1px solid rgb(255 255 255/.18);padding-bottom:var(--s-3)}
.sign-h{font:900 clamp(22px,4vw,28px)/1.3 var(--sans);margin:var(--s-4) 0 var(--s-4);letter-spacing:.06em}
.sign-body{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:var(--s-5) var(--s-6);align-items:end}
@media (max-width:760px){.sign-body{grid-template-columns:1fr}}
.sign-main{display:flex;align-items:flex-end;gap:var(--s-3);flex-wrap:wrap}
.sign-l{font:900 var(--t-lg)/1.3 var(--sans);width:100%}
.sign-u{font:900 var(--t-xl)/1 var(--sans);padding-bottom:8px}
.sign-rows{margin:0;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgb(255 255 255/.18)}
.sign-rows div{padding:10px 0;border-bottom:1px solid rgb(255 255 255/.18)}
.sign-rows div:nth-child(odd){padding-right:12px;border-right:1px solid rgb(255 255 255/.18)}
.sign-rows div:nth-child(even){padding-left:12px}
.sign-rows dt{font-size:var(--t-xs);color:#C9D4E4;font-weight:700;letter-spacing:.06em}
.sign-rows dd{margin:2px 0 0;font-size:var(--t-sm);color:#C9D4E4}
.sign-rows dd b{font:700 var(--t-lg)/1.2 var(--mono);color:#fff}
.sign-foot{margin-top:var(--s-4);font-size:var(--t-sm);color:#C9D4E4}
.sign-side{display:flex;gap:var(--s-5);align-items:center;justify-content:space-between;flex-wrap:wrap}
.sign-side .lead{max-width:40em;color:var(--fg-2);font-size:var(--t-md);margin:0}
.try{padding-bottom:var(--s-6)}
.sample{max-width:760px}
.today{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:var(--s-6);padding-bottom:var(--s-6);border-top:1.5px solid var(--fg);padding-top:var(--s-5)}
@media (max-width:860px){.today{grid-template-columns:1fr}}
.h3s{font:700 var(--t-base)/1.4 var(--sans);margin-bottom:var(--s-2)}
.index{list-style:none;margin:0;padding:0;border-top:1.5px solid var(--fg)}
.index a{display:grid;grid-template-columns:minmax(8em,11em) 6em minmax(0,1fr) 24px;gap:var(--s-4);align-items:baseline;padding:var(--s-4) 4px;border-bottom:1px solid var(--line);text-decoration:none;min-height:56px;transition:background-color var(--d-ui) var(--ease-out)}
.index a::after{content:"→";color:var(--hot);font-family:var(--mono);justify-self:end}
.index a:hover{background:var(--surface)}
.index b{font-weight:900;font-size:var(--t-md)}
.index .num{color:var(--fg-2)}
.ix-d{color:var(--fg-2);font-size:var(--t-sm)}
@media (max-width:640px){.index a{grid-template-columns:1fr auto;gap:2px var(--s-3)}.index .ix-d{grid-column:1/-1}.index a::after{display:none}}
.qa{margin:0;border-top:1.5px solid var(--fg)}
.qa div{padding:var(--s-4) 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:var(--s-5)}
.qa dt{font-weight:700}
.qa dd{margin:0;color:var(--fg-2)}
@media (max-width:760px){.qa div{grid-template-columns:1fr;gap:4px}}
.page-h .ver,h1 .ver{font:500 var(--t-base)/1 var(--sans);color:var(--fg-3);margin-left:10px;letter-spacing:.02em}
@media (max-width:760px){.sign-side .btn{order:-1;width:100%}.sign-side{gap:var(--s-4)}}

/* ══ 內頁 v2 ══ */
.hide-m{}
.show-m{display:none}
@media (max-width:900px){.hide-m{display:none!important}.show-m{display:block}}
@media (max-width:640px){.page-h .ver,h1 .ver{display:block;margin:6px 0 0}}
/* 術科：考卷式清單（題號欄＋分隔線，不再一題一框） */
.pqlist{gap:0;border-top:1.5px solid var(--fg)}
.pq{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:var(--s-5) 0;display:grid;grid-template-columns:72px minmax(0,1fr);gap:var(--s-4)}
.pq-no{display:flex;flex-direction:column;gap:2px;padding-top:4px}
.pq-no span{font-size:var(--t-xs);color:var(--fg-3)}
.pq-no b{font-size:var(--t-xl);line-height:1;color:var(--fg)}
.pq .qmeta{margin-bottom:var(--s-2)}
.pq.mastered::after{right:0;top:18px}
@media (max-width:640px){.pq{grid-template-columns:1fr;gap:0}.pq-no{flex-direction:row;align-items:baseline;gap:8px;padding:0 0 4px}.pq-no b{font-size:var(--t-md)}}
.pq details summary{border:0;padding:0;color:var(--navy-2);text-decoration:underline;text-underline-offset:4px}
:root[data-theme="dark"] .pq details summary{color:var(--fg)}
.pq details[open] summary{background:transparent}
/* 術科篩選：手機三欄緊湊 */
@media (max-width:640px){
  .filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-2);padding:var(--s-3);margin:var(--s-3) 0}
  .filters .field-s.grow{grid-column:1/-1}
  .filters .check{grid-column:1/3}
  .filters .count{margin:0;justify-self:end}
  .field-s select{padding:0 6px;font-size:var(--t-sm)}
}
/* 主題頁法規數字：一般清單，不加色條 */
.numbox{background:transparent;border-left:0;border-top:1.5px solid var(--fg);border-radius:0;padding:var(--s-4) 0 0;margin:var(--s-5) 0 var(--s-6)}
/* 統計：其餘主題收合 */
.more-rows summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--navy-2);text-decoration:underline;text-underline-offset:4px}
:root[data-theme="dark"] .more-rows summary{color:var(--fg)}
/* 筆記手機目錄 */
.toc-m{margin:var(--s-4) 0 var(--s-5);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.toc-m summary{cursor:pointer;min-height:48px;display:flex;align-items:center;font-weight:700}
.toc-m ol{list-style:none;padding:0 0 var(--s-4);margin:0}
/* 學科：題目＋今日紀錄側欄 */
.practice-grid{display:grid;grid-template-columns:minmax(0,760px) minmax(200px,280px);gap:clamp(24px,4vw,56px);align-items:start}
@media (max-width:900px){.practice-grid{grid-template-columns:1fr}}
.stage{min-height:500px}
.pside{position:sticky;top:84px;margin-top:48px;border-top:1.5px solid var(--fg);padding-top:var(--s-3)}
.pside-dl{margin:0}
.pside-dl div{padding:var(--s-2) 0;border-bottom:1px solid var(--line)}
.pside-dl dt{font-size:var(--t-xs);color:var(--fg-3);font-weight:700}
.pside-dl dd{margin:2px 0 0;color:var(--fg-2)}
.pside-dl .num{font-size:var(--t-md);color:var(--fg)}
.pside-note{font-size:var(--t-sm);color:var(--fg-2);margin-top:var(--s-3)}
@media (min-width:901px){.qcard .kbd{visibility:hidden}}
.filters .field-s select{width:100%;min-width:0}

@media (max-width:480px){.ratetbl th,.ratetbl td{padding-inline:4px}}
.tbl th.n{text-align:right}

/* 2026-10-09 健檢 P13：新使用者首屏直接出題，不顯示全是 0 的翻牌與每日說明 */
html:not([data-user]) main#main{display:flex;flex-direction:column}
html:not([data-user]) .try{order:-1;padding-top:clamp(24px,5vw,56px)}
html:not([data-user]) .sign-main,html:not([data-user]) .sign-foot{display:none}
