:root{--ink:#18221d;--muted:#66736c;--paper:#f4f0e7;--card:#fffdf7;--green:#1f5b43;--green2:#dbe9df;--gold:#c39a54;--line:#d9d5ca;--danger:#9d3d36;--shadow:0 14px 40px rgba(24,34,29,.08)}
.reference #next-btn{border:0;background:var(--green);color:white;font-weight:700;min-width:120px}
.flash-setup{display:grid;grid-template-columns:1fr 1fr 160px auto;gap:16px;align-items:end}.flash-meta{max-width:760px;margin:0 auto 12px;display:flex;justify-content:space-between;color:var(--muted)}.flash-card{width:min(760px,100%);min-height:390px;margin:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;border:1px solid var(--line);border-radius:28px;background:var(--card);color:var(--ink);padding:38px;box-shadow:var(--shadow);cursor:pointer;text-align:center}.flash-card strong{font-size:clamp(30px,6vw,54px);line-height:1.25}.flash-card #flash-back{font-size:clamp(24px,4vw,38px);font-weight:800;color:var(--green)}.flash-card small{max-width:620px;line-height:1.7;color:var(--muted)}.flash-hint,#flash-side-label{color:var(--muted);font-size:13px}.flash-actions{max-width:760px;margin:18px auto;display:grid;grid-template-columns:1fr 1fr;gap:12px}.flash-actions button{padding:14px;border:1px solid var(--line);border-radius:14px;background:white;font-weight:700;cursor:pointer}.flash-actions .primary{background:var(--green);color:white;border:0}
@media(max-width:720px){.flash-setup{grid-template-columns:1fr}.flash-card{min-height:330px;padding:24px}.flash-actions{grid-template-columns:1fr 1fr}}
.setup{grid-template-columns:1fr 180px 150px auto!important}.fill-answer{width:100%;border:1px solid var(--line);border-radius:14px;background:white;color:var(--ink);padding:14px;font:inherit;margin:12px 0}.question-stem{white-space:pre-wrap;line-height:1.9;background:#f5f5ef;padding:18px;border-radius:14px;margin:14px 0}.options{display:grid;gap:10px;margin:14px 0}.option{text-align:left;border:1px solid var(--line);background:white;border-radius:14px;padding:14px 16px;line-height:1.6;cursor:pointer}.option:hover,.option.selected{border-color:var(--green);background:var(--green2)}.result-message{padding:14px;border-radius:12px;margin:0 0 16px}.result-message.correct{background:var(--green2);color:var(--green)}.result-message.wrong{background:#f3ddd9;color:var(--danger)}
.essay-answer{min-height:260px;margin:12px 0;line-height:1.9}.result-message.essay-result{background:#eef0e8;color:var(--ink)}.essay-outline{margin:12px 0;padding-left:22px}.essay-outline li{margin:8px 0;line-height:1.7}.essay-rate{border:1px solid var(--line);border-radius:14px;padding:14px;margin:14px 0;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.essay-rate p{width:100%;margin:0 0 4px;font-weight:700}.essay-rate button{border:1px solid var(--line);background:white;border-radius:10px;padding:10px 12px;cursor:pointer}.essay-rate button:hover{border-color:var(--green);background:var(--green2)}
.report-tools{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:12px 0 18px;color:var(--muted);font-size:12px}.report-tools button{border:1px solid var(--line);border-radius:999px;background:white;color:var(--muted);padding:7px 10px;cursor:pointer}.report-tools button:hover,.report-tools button.reported{border-color:var(--danger);color:var(--danger);background:#fff5f3}.report-tools small{width:100%;color:var(--green);min-height:1.2em}
.version-notice{margin:10px 0;padding:11px 13px;border-radius:10px;background:#f5f0df;color:#6b5520;font-size:13px;line-height:1.6}.version-notice.current{background:var(--green2);color:var(--green)}.official-source-link{display:inline-block;margin:0 0 10px;color:var(--green);font-weight:700;font-size:13px}
.search-field{grid-column:span 2}.search-field input{width:100%;border:1px solid var(--line);border-radius:14px;background:white;color:var(--ink);padding:13px;font:inherit}.search-field small{color:var(--muted)}
#article-search,#report-search{width:100%;border:1px solid var(--line);border-radius:14px;background:white;color:var(--ink);padding:13px;font:inherit}.review-actions,.report-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.review-actions button,.report-actions button,.concept-row button{border:1px solid var(--line);background:white;border-radius:10px;padding:9px 12px;cursor:pointer;color:var(--green);font-weight:700}.report-actions .danger{color:var(--danger);border-color:#d9aaa6}.insight-detail{margin-top:18px}.concept-row{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.concept-row:last-child{border-bottom:0}.concept-row strong,.concept-row small{display:block}.concept-row small{margin-top:5px;color:var(--muted)}.report-dashboard{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-bottom:18px}.report-heading{display:flex;align-items:center;gap:10px;margin-bottom:8px}.report-heading small,.report-item>div>small{color:var(--muted)}.report-item p{line-height:1.65;margin-bottom:8px}.report-list{margin-top:16px}
.model-answer{white-space:pre-wrap;line-height:1.95;background:white;border:1px solid var(--line);border-radius:12px;padding:16px;margin:10px 0 16px}.essay-result h4{margin:22px 0 8px;font-size:19px}.legal-map li{margin-bottom:14px;line-height:1.65}.law-badge{display:inline-block;margin:5px 0;padding:2px 8px;border-radius:999px;background:#dbe9df;color:#1f5b43;font-weight:700}.question-source{margin-top:9px;color:var(--muted);font-size:13px;line-height:1.5}
.citation-review-chip{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;font-weight:700;background:#f5e5bd;color:#79550a}.citation-review-chip.external{background:#e9def5;color:#5d347c}
.official-source-link[data-source-precision="year-lookup"]{color:#71561c;font-weight:600}
.focus-chip{display:inline-block;margin:20px 0 0 8px;padding:7px 11px;border-radius:8px;background:#f2e6c8;color:#76551d;font-weight:700}.setup{grid-template-columns:repeat(2,minmax(180px,1fr)) auto auto}.setup .primary{min-height:48px}
.related-exam{margin-top:8px;color:#76551d;font-size:13px;line-height:1.65}
.mother-question{white-space:pre-wrap;line-height:1.75;margin:14px 0;padding:14px 16px;border:1px solid #d8c99f;border-radius:12px;background:#fbf6e8;color:#624b1d}
@media(max-width:720px){.setup{grid-template-columns:1fr!important}}
*{box-sizing:border-box}html,body{max-width:100%;overflow-x:hidden}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Serif TC","Microsoft JhengHei",serif}.topbar{height:72px;padding:0 max(24px,5vw);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(244,240,231,.92);position:sticky;top:0;z-index:5;backdrop-filter:blur(12px)}.brand{font-weight:800;font-size:21px;color:var(--ink);text-decoration:none;white-space:nowrap;flex:0 0 auto}.topbar nav{display:flex;gap:4px;min-width:0}.nav-btn{border:0;background:transparent;padding:11px 14px;border-radius:99px;color:var(--muted);cursor:pointer}.nav-btn.active{background:var(--green);color:white}main{max-width:1100px;margin:auto;padding:46px 24px 80px}.view{display:none}.view.active{display:block}.hero{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:30px}.eyebrow{margin:0 0 8px;color:var(--green);font-weight:700;letter-spacing:.12em;font-size:13px}.hero h1,.section-head h1{font-size:clamp(34px,6vw,64px);line-height:1.08;margin:0 0 14px}.hero p{max-width:650px;color:var(--muted);line-height:1.8}.today-card{min-width:170px;background:var(--green);color:white;border-radius:24px;padding:22px;text-align:center;box-shadow:var(--shadow)}.today-card span,.today-card small{display:block;opacity:.8}.today-card strong{font-size:46px}.card{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:26px;box-shadow:var(--shadow)}.setup{display:grid;grid-template-columns:1fr 180px auto;gap:18px;align-items:end}.field{display:grid;gap:8px}.field label{font-size:13px;color:var(--muted);font-weight:700}select,textarea{width:100%;border:1px solid var(--line);border-radius:14px;background:white;color:var(--ink);padding:13px;font:inherit}textarea{line-height:1.7;resize:vertical}.primary{border:0;border-radius:14px;background:var(--green);color:white;padding:14px 20px;font-weight:700;cursor:pointer}.quiz{max-width:820px;margin:auto;min-width:0}.quiz-meta{display:flex;justify-content:space-between;color:var(--muted);font-variant-numeric:tabular-nums}.law-chip{display:inline-block;margin-top:20px;padding:7px 11px;border-radius:8px;background:var(--green2);color:var(--green);font-weight:700}.quiz h2{font-size:30px;margin:18px 0 8px}.instruction{color:var(--muted);line-height:1.7}.confidence{display:flex;gap:8px;align-items:center;margin:16px 0}.confidence span{margin-right:auto;color:var(--muted);font-size:13px}.confidence button,.reference button,.backup button,.import{border:1px solid var(--line);background:white;border-radius:10px;padding:9px 13px;cursor:pointer}.confidence button.selected{border-color:var(--green);background:var(--green2)}.reference{margin-top:24px;border-top:1px solid var(--line);padding-top:22px;min-width:0}.reference-head{display:flex;justify-content:space-between}.reference h3{margin:0 0 10px}.reference #heading{color:var(--muted)}#law-text{white-space:pre-wrap;line-height:1.85;background:#f5f5ef;padding:18px;border-radius:14px;margin:12px 0 22px;overflow-wrap:anywhere;word-break:normal}.self-rate{display:flex;gap:10px}.self-rate button{flex:1}.self-rate .danger{color:var(--danger);border-color:#d9aaa6}.self-rate .success{color:var(--green);border-color:#9db9a8}.hidden{display:none!important}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.list{display:grid;gap:12px}.list-item{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:17px;display:grid;grid-template-columns:1fr auto;gap:12px}.list-item h3{margin:0 0 5px}.list-item p{margin:0;color:var(--muted)}.weak-badge{align-self:center;padding:7px 10px;border-radius:99px;background:#f3ddd9;color:var(--danger);font-size:12px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.metric{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px}.metric span{color:var(--muted);font-size:13px}.metric strong{display:block;font-size:32px;margin-top:8px}.grid-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.bar-row{display:grid;grid-template-columns:110px 1fr 38px;gap:10px;align-items:center;margin:13px 0}.bar{height:9px;border-radius:9px;background:#ece8de;overflow:hidden}.bar i{display:block;height:100%;background:var(--gold)}.backup{margin-top:18px}.import{display:inline-block;margin-left:8px}.import input{display:none}@media(max-width:720px){.topbar{height:auto;padding:10px 12px;align-items:center;gap:8px}.topbar nav{overflow-x:auto;flex:1;scrollbar-width:none}.topbar nav::-webkit-scrollbar{display:none}.nav-btn{white-space:nowrap;padding:9px 11px}.brand{padding-top:0;font-size:18px}main{padding:18px 8px 52px}.hero{display:block}.today-card{margin-top:20px;width:150px}.setup{grid-template-columns:1fr!important}.search-field{grid-column:auto}.metrics{grid-template-columns:1fr 1fr}.grid-two{grid-template-columns:1fr}.report-dashboard{grid-template-columns:1fr}.list-item,.concept-row{grid-template-columns:1fr}.review-actions,.report-actions{justify-content:flex-start}.quiz{padding:16px 12px;width:100%;border-radius:18px}.quiz h2{font-size:22px}.question-stem{padding:13px}.option,.primary,.confidence button,.report-tools button{min-height:46px}.confidence{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.confidence span{grid-column:1/-1}.report-tools{display:grid;grid-template-columns:1fr 1fr}.report-tools span,.report-tools small{grid-column:1/-1}.fill-answer{font-size:16px;min-height:48px}.essay-answer{min-height:320px;font-size:16px}.self-rate{flex-direction:column}#law-text{padding:14px;font-size:16px;line-height:1.8}}
.flash-detail{color:var(--muted);font-size:16px;line-height:1.55}
.flash-example{white-space:pre-line;max-width:650px;color:var(--ink);font-size:16px;line-height:1.7;padding-top:10px;border-top:1px solid var(--line)}
.flash-stats{grid-column:1/-1;margin:0;padding:12px 14px;border-radius:12px;background:var(--green2);color:var(--green);font-weight:700}.flash-load-status{grid-column:1/-1;color:var(--muted)}.install-row{display:flex;align-items:center;gap:12px;margin-top:14px}.install-row small{color:var(--muted)}
.mistake-reason{margin:16px 0;padding:14px;border-radius:12px;background:#fff4e8}.mistake-reason p{margin:0 0 10px;font-weight:700}.mistake-reason button{margin:0 6px 6px 0;border:1px solid var(--line);background:white;border-radius:10px;padding:9px 13px;cursor:pointer}.mistake-reason button.selected{background:var(--green);color:white;border-color:var(--green)}
.sync-controls{display:flex;gap:10px;align-items:center}.sync-controls input{flex:1;min-width:180px;border:1px solid var(--line);border-radius:12px;padding:12px;font:inherit}#sync-status{display:block;margin-top:10px;color:var(--muted)}@media(max-width:720px){.sync-controls{align-items:stretch;flex-direction:column}}
@media(max-width:720px){.install-row{align-items:stretch;flex-direction:column}.flash-card{max-height:calc(100vh - 210px);overflow:auto}.topbar nav{scrollbar-width:none}.topbar nav::-webkit-scrollbar{display:none}}
.advanced-filter{display:none!important}
.setup .field:has(#law-select){order:1}
.setup .field:has(#question-type){order:2}
.setup .field:has(#session-size){order:3}
.setup #start-btn{order:4}
.question-source:empty,.version-notice{display:none!important}
.report-tools,.mistake-reason,.essay-rate,.nav-btn[data-view="reports"]{display:none!important}
#reference #next-btn.hidden{display:inline-block!important}
