:root{--brand:#da291c;--brand-fg:#fff;--accent:#ffc72c;--accent-fg:#27251f;--accent-tint:#fff6d6;--bg:#f5f4f1;--surface:#fff;--panel:#f4f2ee;--fg:#27251f;--muted:#5e5b55;--line:#e3dfd6;--line-strong:#27251f;--ok:#1b7a3d;--ok-bg:#e3f3e8;--bad:#b3261e;--bad-bg:#fce8e6;--warn-bg:#fff1c7;--shadow:0 1px 2px #27251f0f, 0 4px 16px #27251f0f;--radius:14px;--radius-sm:10px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,PingFang TC,Noto Sans TC,system-ui,sans-serif;font-size:106.25%}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--brand:#b71c12;--accent-tint:#3a3014;--bg:#141311;--surface:#1f1d1a;--panel:#2a2824;--fg:#f3efe6;--muted:#b3ada2;--line:#3a3732;--line-strong:#f3efe6;--ok:#7fd49a;--ok-bg:#173222;--bad:#ff9a90;--bad-bg:#3a1b18;--warn-bg:#3a3014;--shadow:none}}@media (prefers-contrast:more){:root{--muted:var(--fg);--line:var(--line-strong)}}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);overflow-wrap:anywhere;-webkit-text-size-adjust:100%;margin:0;line-height:1.6}a{color:inherit;text-underline-offset:.18em;text-decoration:underline;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}.shell{max-width:46rem;margin:0 auto;padding:1.25rem 1rem 3rem}h1{letter-spacing:-.01em;margin:0 0 .35rem;font-size:1.75rem;font-weight:800;line-height:1.25}h2{margin:2rem 0 .6rem;font-size:1.2rem;font-weight:700;line-height:1.35}h3{font-weight:700}.meta,.muted,.hint,.source,small{color:var(--muted)}.meta{margin:.25rem 0 .9rem;font-size:.94rem}.hint,.source{font-size:.88rem}.crumbs{color:var(--muted);margin-bottom:.4rem;font-size:.88rem}.crumbs a{color:var(--muted)}footer{border-top:1px solid var(--line);color:var(--muted);margin-top:2.5rem;padding-top:1rem;font-size:.88rem}:focus-visible{outline:3px solid var(--line-strong);outline-offset:2px;box-shadow:0 0 0 6px var(--accent);border-radius:4px}.card-focus:focus{box-shadow:none;outline:none}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.topbar{background:var(--brand);color:var(--brand-fg);border-bottom:4px solid var(--accent)}.topbar-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;column-gap:.75rem;max-width:46rem;margin:0 auto;padding:.2rem .5rem .2rem 1rem;display:flex}.topbar a{color:var(--brand-fg);text-decoration:none}.brandname{letter-spacing:.01em;padding:.55rem 0;font-size:1.05rem;font-weight:800}.topnav{gap:.1rem;margin:0 0 0 -.6rem;padding:0;list-style:none;display:flex}@media (width>=30rem){.topnav{margin-left:0}}.topnav a{border-radius:999px;align-items:center;min-height:2.75rem;padding:0 .6rem;font-size:.94rem;font-weight:600;display:inline-flex}.topnav a:hover{background:#ffffff24}.topnav a[aria-current=page]{background:var(--accent);color:var(--accent-fg)}.entries{gap:.75rem;padding:0;list-style:none;display:grid}.entry{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-height:3.5rem;box-shadow:var(--shadow);color:inherit;grid-template-columns:1fr auto;align-items:center;gap:.15rem .75rem;padding:1rem 1.15rem;font-size:1.06rem;font-weight:700;text-decoration:none;display:grid}.entry>span{grid-column:1}.entry small{grid-column:1;font-size:.9rem;font-weight:400}a.entry:hover{border-color:var(--line-strong)}a.entry:after{content:"›";color:var(--muted);grid-area:1/2/span 2;font-size:1.5rem;line-height:1}.row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.btn,button{font:inherit}.btn{border:1px solid var(--line);background:var(--surface);min-height:2.75rem;color:var(--fg);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:.55rem 1.1rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--line-strong)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.btn.primary:hover{border-color:var(--line-strong)}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}button.link{min-height:2.75rem;color:inherit;text-underline-offset:.18em;cursor:pointer;background:0 0;border:0;padding:.25rem 0;text-decoration:underline}.notice,.warn{background:var(--warn-bg);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--radius-sm);margin:.75rem 0;padding:.75rem 1rem}.notice p{margin:.25rem 0}.empty{background:var(--surface);border:1px dashed var(--line-strong);border-radius:var(--radius);padding:1.1rem}.quick{flex-wrap:wrap;gap:.5rem;margin:.9rem 0;display:flex}.settings{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:1rem 0;padding:.6rem 1.1rem .9rem}.settings legend{padding:0 .25rem;font-weight:700}.settings .row{margin:.35rem 0}select{font:inherit;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-height:2.75rem;color:var(--fg);padding:.35rem .6rem}input[type=radio]{accent-color:var(--fg);width:1.15rem;height:1.15rem}.settings label{align-items:center;gap:.35rem;min-height:2.75rem;display:inline-flex}.subjects{padding-left:1.5rem}.subjects>li{margin:.7rem 0}.subject-row{flex-wrap:wrap;justify-content:space-between;gap:0 .75rem;display:flex}.subject-row a{font-weight:600}.units{margin:.25rem 0;padding-left:1rem;font-size:.95rem}.question{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin:.9rem 0;padding:1rem 1.1rem}.question fieldset{border:0;min-width:0;margin:0;padding:0}.question legend{width:100%;padding:0;display:block}.qlabel{color:var(--muted);font-size:.88rem;font-weight:600;display:block}.stem{margin:.2rem 0 .75rem;font-size:1.06rem;font-weight:600;display:block}.options{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.option{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:.4rem;min-height:2.75rem;padding:.7rem .85rem;display:flex}.option:hover{border-color:var(--line-strong)}.option input{flex:none;align-self:center;margin:0}.option .okey{font-weight:700}.option .otext{flex:10rem}.option.picked{border:2px solid var(--line-strong);background:var(--accent-tint);padding:calc(.7rem - 1px) calc(.85rem - 1px)}.option.correct{background:var(--ok-bg);border:2px solid var(--ok);padding:calc(.7rem - 1px) calc(.85rem - 1px)}.option.wrong{background:var(--bad-bg);border:2px solid var(--bad);padding:calc(.7rem - 1px) calc(.85rem - 1px)}.tag{font-size:.85rem;font-weight:700}.tag-ok{color:var(--ok)}.tag-bad{color:var(--bad)}.explain{margin-top:.9rem}.verdict{margin:.25rem 0;font-weight:700}.ref{background:var(--panel);border-radius:var(--radius-sm);margin:.5rem 0;padding:.6rem .85rem}.ref p{margin:.15rem 0}.ref-head{color:var(--muted);font-size:.82rem;font-weight:600}.source{margin:.6rem 0 0}.exam-bar{z-index:1;background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:var(--radius-sm);box-shadow:var(--shadow);flex-wrap:wrap;justify-content:space-between;gap:.5rem;padding:.6rem .9rem;font-weight:600;display:flex;position:sticky;top:0}.urgent{color:var(--bad)}.navgrid{margin-top:1.1rem}.navgrid ol{grid-template-columns:repeat(auto-fill,minmax(2.75rem,1fr));gap:.35rem;padding:0;list-style:none;display:grid}.nav{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:2.75rem;color:var(--fg);cursor:pointer;padding:0;font-size:.88rem}.nav.done{background:var(--accent-tint);font-weight:700}.nav.current{border:2px solid var(--line-strong)}.score{border-radius:var(--radius);border:2px solid;padding:.9rem 1.1rem}.score.pass{border-color:var(--ok);background:var(--ok-bg)}.score.fail{border-color:var(--bad);background:var(--bad-bg)}.score p{margin:.2rem 0}.score .big{font-size:2rem;font-weight:800}.score .big span{font-size:1.1rem}.table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.95rem}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.55rem .75rem}tr:last-child>*{border-bottom:0}td{white-space:nowrap}thead th{color:var(--muted);font-size:.85rem}tbody th{font-weight:400}.history,.wronglist{padding-left:1.25rem}.wronglist li{margin:.4rem 0}.wronglist li span{display:block}.rules li{margin:.25rem 0}.steps{counter-reset:step;padding:0;list-style:none}.steps>li{counter-increment:step;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin:.75rem 0;padding:1rem 1.1rem .9rem 3.6rem;position:relative}.steps>li:before{content:counter(step);background:var(--accent);width:1.9rem;height:1.9rem;color:var(--accent-fg);border-radius:50%;place-items:center;font-weight:800;display:grid;position:absolute;top:.95rem;left:1rem}.steps h2{margin:.1rem 0 .35rem;font-size:1.1rem}.steps ul{margin:.25rem 0;padding-left:1.1rem}.steps li li{margin:.2rem 0}.filters{grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.25rem 1rem;display:grid}.filters>.row,.filters>.hint,.filters>.warn{grid-column:1/-1}.filters label.row{grid-column:auto;justify-content:space-between;font-weight:600}.filters select{min-width:0;max-width:100%;font-weight:400}.courses{gap:.9rem;padding:0;list-style:none;display:grid}.course{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem 1.1rem}.course h3{margin:.4rem 0 0;font-size:1.15rem}.course h3 small{font-weight:400}.course-tags{flex-wrap:wrap;gap:.35rem;margin:0;display:flex}.pill{background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:.1rem .6rem;font-size:.8rem;font-weight:600}.pill:first-child{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.facts{grid-template-columns:5rem 1fr;gap:.35rem .75rem;margin:.9rem 0;display:grid}.facts dt{color:var(--muted);font-size:.92rem}.facts dd{min-width:0;margin:0}.fee-line{color:var(--muted);font-size:.9rem;display:block}.sessions{margin:0;padding:0;list-style:none}.notes{color:var(--muted);padding-left:1.1rem;font-size:.9rem}.past{margin:1rem 0}.past summary{cursor:pointer;align-items:center;min-height:2.75rem;font-weight:600;display:flex}.past ul{padding-left:1.1rem}@media (width<=24rem){.facts{grid-template-columns:1fr}.facts dd{margin-bottom:.4rem}.topnav a{padding:0 .55rem}}@media (prefers-reduced-motion:no-preference){.btn,.entry,.option,.topnav a{transition:border-color .12s,background-color .12s}}
