:root{--paper:#f7f3ea;--paper-raised:#fffdf7;--ink:#1c2433;--ink-soft:#4a5468;--ink-faint:#8a90a0;--gold:#a8842c;--gold-bright:#c9a227;--hairline:rgba(28,36,51,.16);--hairline-strong:rgba(28,36,51,.32);--correct:#2e6e4e;--correct-bg:rgba(46,110,78,.08);--wrong:#a03c3c;--wrong-bg:rgba(160,60,60,.07);--shadow:0 2px 24px rgba(28,36,51,.07);--grain:rgba(28,36,51,.025)}[data-theme=dark]{--paper:#10151f;--paper-raised:#171e2b;--ink:#ede6d6;--ink-soft:#b3ac9c;--ink-faint:#6e6f78;--gold:#c9a227;--gold-bright:#e0bb45;--hairline:rgba(237,230,214,.14);--hairline-strong:rgba(237,230,214,.3);--correct:#6cbf94;--correct-bg:rgba(108,191,148,.09);--wrong:#d98080;--wrong-bg:rgba(217,128,128,.08);--shadow:0 2px 24px rgba(0,0,0,.35);--grain:rgba(237,230,214,.02)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Noto Sans TC,sans-serif;background:var(--paper);color:var(--ink);line-height:1.7;transition:background .4s ease,color .4s ease;background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,var(--grain) 2px,var(--grain) 3px);min-height:100vh}a{color:inherit;text-decoration:none}.serif{font-family:"Noto Serif TC",Fraunces,serif}.num{font-family:Fraunces,"Noto Serif TC",serif;font-variant-numeric:tabular-nums}.wrap{padding:0 24px 96px}.site-header,.wrap{max-width:760px;margin:0 auto}.site-header{display:flex;align-items:center;justify-content:space-between;border-bottom:3px double var(--hairline-strong);padding:24px 24px 18px}.logo{display:flex;align-items:baseline;gap:10px}.logo .zh{font-family:"Noto Serif TC",serif;font-weight:900;font-size:24px;letter-spacing:2px}.logo .en{font-family:Fraunces,serif;font-size:12px;color:var(--gold);letter-spacing:3px;text-transform:uppercase;font-weight:600}.header-nav{display:flex;align-items:center;gap:20px}.header-nav a{font-size:14px;color:var(--ink-soft);transition:color .25s}.header-nav a:hover{color:var(--gold)}.theme-toggle{width:42px;height:42px;border-radius:50%;border:1px solid var(--hairline-strong);background:var(--paper-raised);color:var(--ink);cursor:pointer;display:grid;place-items:center;transition:transform .3s ease,border-color .3s;flex-shrink:0}.theme-toggle:hover{transform:rotate(20deg);border-color:var(--gold)}.theme-toggle svg{width:18px;height:18px}[data-theme=dark] .sun{display:block}.sun,[data-theme=dark] .moon{display:none}.moon{display:block}.crumbs{font-size:12.5px;color:var(--ink-faint);letter-spacing:.5px;padding:22px 0 0;display:flex;gap:8px;flex-wrap:wrap}.crumbs a{color:var(--ink-soft)}.crumbs a:hover{color:var(--gold)}.crumbs .sep{color:var(--hairline-strong)}.kicker{font-size:12px;letter-spacing:4px;color:var(--gold);text-transform:uppercase;font-weight:700;display:flex;align-items:center;gap:12px}.kicker:after{content:"";flex:1;height:1px;background:var(--hairline)}.page-head{padding:34px 0 8px}.page-head h1{font-family:"Noto Serif TC",serif;font-weight:700;font-size:clamp(26px,5vw,36px);line-height:1.35;margin-top:14px}.page-head h1 em{font-style:normal;color:var(--gold);border-bottom:2px solid var(--gold)}.page-head .lede{color:var(--ink-soft);margin-top:12px;font-size:15px}.sec-title{display:flex;align-items:center;gap:14px;margin:46px 0 20px}.sec-title h2{font-family:"Noto Serif TC",serif;font-size:20px;font-weight:700;letter-spacing:1px;white-space:nowrap}.sec-title .rule{flex:1;height:1px;background:var(--hairline)}.sec-title .idx{font-family:Fraunces,serif;color:var(--gold);font-size:14px;letter-spacing:2px}.prose p{color:var(--ink-soft);margin:12px 0;font-size:15.5px}.prose h2,.prose h3{font-family:"Noto Serif TC",serif;font-size:17px;font-weight:700;margin:26px 0 8px}.prose ul{margin:10px 0 10px 4px}.prose li{color:var(--ink-soft);font-size:15px;margin:7px 0;padding-left:18px;position:relative}.prose li:before{content:"§";position:absolute;left:0;color:var(--gold)}.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);margin:30px 0}.stat{padding:18px 8px;text-align:center;position:relative}.stat+.stat:before{content:"";position:absolute;left:0;top:22%;height:56%;width:1px;background:var(--hairline)}.stat .v{font-family:Fraunces,serif;font-size:28px;font-weight:600;line-height:1.1}.stat .v small{font-size:13px;color:var(--ink-faint);font-weight:400;margin-left:2px}.stat .l{font-size:12px;color:var(--ink-soft);letter-spacing:1px;margin-top:4px}.stat.hot .v{color:var(--gold)}.cards{display:grid;gap:16px}.card-link{display:block;background:var(--paper-raised);border:1px solid var(--hairline);padding:24px 26px;position:relative;box-shadow:var(--shadow);transition:border-color .3s,transform .3s;overflow:hidden;color:var(--ink);font:inherit}.card-link:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.card-link:hover{border-color:var(--gold);transform:translate(4px)}.card-link:hover:before{transform:scaleX(1)}.tag{font-size:11px;letter-spacing:2px;color:var(--gold);border:1px solid var(--gold);padding:3px 10px;display:inline-block;margin-bottom:12px;font-weight:700}.card-link h3{font-family:"Noto Serif TC",serif;font-size:21px;font-weight:700}.card-link .meta{color:var(--ink-soft);font-size:13.5px;margin-top:8px;display:flex;gap:18px;flex-wrap:wrap}.card-link .meta b{color:var(--ink);font-family:Fraunces,serif;font-weight:600}.rows{display:grid;gap:0;border-top:1px solid var(--hairline)}.row{display:flex;align-items:center;gap:14px;padding:16px 4px;border-bottom:1px solid var(--hairline);transition:background .2s,padding-left .2s;position:relative}.row:hover{background:var(--correct-bg);background:color-mix(in srgb,var(--gold) 5%,transparent);padding-left:12px}.row .rn{font-family:Fraunces,serif;color:var(--gold);font-size:15px;width:40px;flex-shrink:0;letter-spacing:1px}.row .rt{flex:1;font-size:15px;line-height:1.6}.row .rc{font-size:12.5px;color:var(--ink-faint);flex-shrink:0}.row .go{color:var(--gold);font-family:Fraunces,serif;opacity:0;transition:opacity .25s}.row:hover .go{opacity:1}.q-card{background:var(--paper-raised);border:1px solid var(--hairline);box-shadow:var(--shadow);margin-top:12px}.q-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 26px;border-bottom:1px solid var(--hairline);font-size:13px;color:var(--ink-soft);flex-wrap:wrap}.q-head .chapter,.q-head .no{letter-spacing:1px}.q-head .no{font-family:Fraunces,serif;color:var(--gold);font-weight:600}.q-body{padding:26px}.q-text{font-size:17px;font-weight:500;line-height:1.9}.opts{margin-top:22px;display:grid;gap:10px}.opt{display:flex;gap:14px;align-items:flex-start;border:1px solid var(--hairline);padding:13px 18px;font-size:15px;width:100%;text-align:left;background:transparent;color:inherit;font-family:inherit;cursor:pointer;transition:border-color .2s}.opt:hover{border-color:var(--gold)}.opt.correct,.opt.wrong{cursor:default}.opt.correct:hover{border-color:var(--correct)}.opt.wrong:hover{border-color:var(--wrong)}.star-btn{background:transparent;border:none;color:var(--hairline-strong);font-size:20px;cursor:pointer;line-height:1;transition:color .2s,transform .2s;padding:0}.star-btn:hover{transform:scale(1.15)}.star-btn.on,.star-btn:hover{color:var(--gold)}.opt .abc{font-family:Fraunces,serif;font-weight:600;flex-shrink:0;width:26px;height:26px;border:1px solid var(--hairline-strong);border-radius:50%;display:grid;place-items:center;font-size:13px;margin-top:1px}.opt.correct{border-color:var(--correct);background:var(--correct-bg)}.opt.correct .abc{background:var(--correct);border-color:var(--correct);color:var(--paper-raised)}.opt.wrong{border-color:var(--wrong);background:var(--wrong-bg)}.opt.wrong .abc{background:var(--wrong);border-color:var(--wrong);color:var(--paper-raised)}.opt .mark{margin-left:auto;font-weight:700;font-size:13px;align-self:center;white-space:nowrap}.opt.correct .mark{color:var(--correct)}.opt.wrong .mark{color:var(--wrong)}.reveal{border-top:1px solid var(--hairline)}.reveal>summary{list-style:none;cursor:pointer;padding:14px 26px;font-size:14px;color:var(--gold);font-weight:700;letter-spacing:1px;display:flex;align-items:center;gap:8px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.reveal>summary::-webkit-details-marker{display:none}.reveal>summary:before{content:"▸";transition:transform .2s}.reveal[open]>summary:before{transform:rotate(90deg)}.answer-line{padding:4px 26px 0;font-size:15px}.answer-line b{color:var(--correct);font-family:Fraunces,serif}.ai-box{margin:20px 26px 26px;padding:22px 24px;border:1px solid var(--gold);position:relative;background:linear-gradient(135deg,rgba(201,162,39,.06),transparent 60%)}.ai-box:before{content:"AI 白話詳解";position:absolute;top:-11px;left:20px;background:var(--paper-raised);padding:0 12px;font-size:12px;letter-spacing:3px;color:var(--gold);font-weight:700}.ai-box p{font-size:15px;color:var(--ink-soft);line-height:1.9}.ai-box p b{color:var(--ink)}.facts{width:100%;border-collapse:collapse;margin:8px 0;font-size:14.5px}.facts td,.facts th{text-align:left;padding:12px 14px;border-bottom:1px solid var(--hairline);vertical-align:top}.facts th{width:34%;color:var(--ink-soft);font-weight:500;white-space:nowrap}.facts td{color:var(--ink)}.facts .num,.facts td b{font-family:Fraunces,serif;font-weight:600}.banner{margin-top:48px;padding:34px;text-align:center;background:var(--ink);color:var(--paper);position:relative;overflow:hidden}[data-theme=dark] .banner{background:var(--paper-raised);color:var(--ink);border:1px solid var(--gold)}.banner:after,.banner:before{content:"§";position:absolute;font-family:Fraunces,serif;font-size:120px;opacity:.07;line-height:1}.banner:before{left:-10px;top:-20px}.banner:after{right:-10px;bottom:-50px;transform:rotate(180deg)}.banner .p-kick{font-size:11px;letter-spacing:5px;color:var(--gold-bright);font-weight:700}.banner h3{font-family:"Noto Serif TC",serif;font-size:22px;margin:10px 0 6px;font-weight:700}.banner p{font-size:14px;opacity:.8}.store-badges{display:flex;gap:12px;justify-content:center;margin-top:18px;flex-wrap:wrap}.store-badges a{border:1px solid var(--gold-bright);color:var(--gold-bright);padding:11px 22px;font-size:14px;letter-spacing:1px;font-weight:700;transition:background .25s,color .25s}.store-badges a:hover{background:var(--gold-bright);color:#1c2433}.ad-slot{margin:26px 0;padding:10px 0;border-top:1px solid var(--hairline);background:var(--paper-raised);text-align:center;min-height:90px;display:grid;place-items:center}.site-footer{margin-top:60px;padding:26px 24px 36px;border-top:3px double var(--hairline-strong);text-align:center;font-size:12px;color:var(--ink-faint);letter-spacing:1.5px;max-width:760px;margin-left:auto;margin-right:auto}.site-footer .fleuron{color:var(--gold);font-size:16px;margin-bottom:10px}.site-footer nav{display:flex;gap:18px;justify-content:center;margin-bottom:12px;flex-wrap:wrap}.site-footer nav a{color:var(--ink-soft)}.site-footer nav a:hover{color:var(--gold)}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0}.chip{font-size:12px;color:var(--ink-soft);border:1px solid var(--hairline);padding:4px 11px;letter-spacing:.5px}.chip.gold{color:var(--gold);border-color:var(--gold)}@media(max-width:560px){.stats{grid-template-columns:repeat(2,1fr)}.stat:nth-child(3):before{display:none}.stat{border-top:1px solid var(--hairline)}.stat:nth-child(-n+2){border-top:none}.header-nav a{display:none}}
