:root{--bg:#f6f1e8;--surface:#fffdf8;--ink:#17231d;--muted:#697369;--line:#e6ded0;--tea:#2f6f4e;--tea-dark:#17412d;--ok:#15803d;--bad:#b91c1c;--warn:#b7791f;--shadow:0 14px 36px rgba(38,31,22,.10);--bottom:76px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(180deg,#fbf8f0,#efe4d3);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans TC","PingFang TC",sans-serif;color:var(--ink);padding-bottom:env(safe-area-inset-bottom)}button,input,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}.gate{min-height:100svh;display:grid;place-items:center;padding:18px}.lead-card,.panel,.card{background:rgba(255,253,248,.96);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:24px}.lead-card{width:min(520px,100%);padding:24px}.eyebrow{font-size:13px;letter-spacing:.08em;color:var(--tea);font-weight:800}.lead-card h1,.hero h1{margin:.25em 0 .35em;color:var(--tea-dark);line-height:1.1}.lead-card p,.hero p{color:var(--muted);line-height:1.6}.lead-card label{display:block;font-weight:800;margin-top:14px}.lead-card input:not([type=checkbox]){width:100%;min-height:48px;border:1px solid var(--line);border-radius:14px;padding:0 12px;margin-top:6px;background:#fff}.check{display:flex!important;gap:10px;align-items:center;line-height:1.4}.check input{width:22px;height:22px}.form-msg{min-height:22px;margin-top:10px;color:var(--muted);font-size:14px}.app{max-width:1040px;margin:0 auto;padding:18px 14px calc(var(--bottom) + 24px)}.hero{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin:6px 0 16px}.hero h1{font-size:clamp(28px,6vw,46px)}.panel{padding:14px;margin-bottom:14px}.controls{display:grid;grid-template-columns:1.1fr 1fr 2fr auto;gap:10px;align-items:end}.controls label{font-size:13px;font-weight:800;color:var(--muted)}select,input{width:100%;min-height:46px;border:1px solid var(--line);border-radius:14px;background:white;color:var(--ink);padding:0 12px;margin-top:5px}.primary,.ghost,.card button,.bottom-nav button{border:1px solid var(--line);border-radius:14px;min-height:46px;padding:0 14px;font-weight:800}.primary{background:var(--tea);border-color:var(--tea);color:white}.ghost{background:#fffaf0;color:var(--tea-dark)}.wide{width:100%;margin-top:16px}.stats{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.pill{font-size:13px;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:white;color:var(--muted);font-weight:700}.pill.warn{background:#fffbeb;border-color:#fde68a;color:#92400e}.card{padding:18px;margin-bottom:14px;scroll-margin-top:10px}.meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.tag{font-size:13px;border-radius:999px;background:#eef7f0;color:var(--tea-dark);padding:7px 10px;font-weight:800}.progress{font-size:14px;color:var(--muted);font-weight:700}.q{font-size:clamp(19px,4.8vw,27px);line-height:1.48;margin:12px 0 16px;font-weight:900}.options{display:grid;gap:11px}.opt{text-align:left;background:white;border:1px solid var(--line);border-radius:16px;padding:14px;min-height:54px;line-height:1.45;font-weight:750;color:var(--ink)}.opt.correct{border-color:#86efac;background:#f0fdf4;color:#166534}.opt.wrong{border-color:#fecaca;background:#fef2f2;color:#991b1b}.opt:disabled{opacity:1}.result{display:none;margin-top:16px;border-radius:18px;padding:16px;line-height:1.65}.result.ok{display:block;background:#ecfdf5;border:1px solid #bbf7d0;color:#14532d}.result.bad{display:block;background:#fef2f2;border:1px solid #fecaca;color:#7f1d1d}.result h3{margin:0 0 8px}.result .block{margin-top:10px}.source{font-size:14px;color:#374151;background:rgba(255,255,255,.55);border-radius:12px;padding:10px;margin-top:8px}.nav{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.wrong-item{padding:10px 0;border-bottom:1px solid var(--line);line-height:1.5}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:10;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:9px 10px calc(9px + env(safe-area-inset-bottom));background:rgba(255,253,248,.95);backdrop-filter:blur(12px);border-top:1px solid var(--line)}.bottom-nav button{background:white;color:var(--tea-dark);padding:0 6px}@media(max-width:760px){.app{padding-left:12px;padding-right:12px;padding-bottom:24px}.hero{display:block}.hero .ghost{margin-top:8px}.controls{grid-template-columns:1fr}.search-label{grid-column:auto}.panel,.card,.lead-card{border-radius:20px}.opt{font-size:16px}.nav button{flex:1 1 46%}.bottom-nav{display:none!important}.q{font-size:21px}.result{font-size:15px}}@media(min-width:900px){.bottom-nav{max-width:1040px;left:50%;transform:translateX(-50%);border:1px solid var(--line);border-bottom:0;border-radius:18px 18px 0 0}}
.mode-panel{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.mode-title{display:flex;flex-direction:column;gap:4px}.mode-title span,.mock-note{color:var(--muted);font-size:14px;line-height:1.5}.mode-actions{display:flex;gap:10px;flex-wrap:wrap}.mode-actions button.active{box-shadow:0 0 0 3px rgba(47,111,78,.18)}.ghost.strong{border-color:var(--tea);color:var(--tea-dark);font-weight:900}.mock-head{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.mock-opt.selected{border-color:var(--tea);background:#eaf5ef}.score-box{display:flex;gap:18px;align-items:center;background:#eef7f0;border:1px solid #cfe8d8;border-radius:22px;padding:18px;margin-bottom:16px}.score-num{font-size:clamp(42px,10vw,76px);font-weight:900;color:var(--tea-dark);line-height:1}.report h2,.report h3{color:var(--tea-dark)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.stat-card{border:1px solid var(--line);border-radius:16px;padding:12px;background:white;display:flex;flex-direction:column;gap:6px}.stat-card.need{border-color:#f0c7c7;background:#fff7f7}.advice-list{display:grid;gap:10px}.advice{border:1px solid var(--line);border-radius:18px;background:#fff;padding:14px}.advice p{color:var(--muted);line-height:1.6}.wrong-review{display:grid;gap:10px}.bad-text{color:var(--bad);font-weight:800}.ok-text{color:var(--ok);font-weight:800}details{margin-top:8px;color:var(--muted);line-height:1.6}summary{cursor:pointer;color:var(--tea-dark);font-weight:800}.bottom-nav button:nth-child(2)::after{content:''}body[data-view="mock"] .bottom-nav button:nth-child(1){font-weight:900}body[data-view="mock"] .bottom-nav button:nth-child(2){font-weight:900}body[data-view="mock"] .bottom-nav button:nth-child(3){font-weight:900}
@media(max-width:760px){.mode-panel{align-items:stretch}.mode-actions{width:100%}.mode-actions button{flex:1 1 100%;min-height:50px}.score-box{align-items:flex-start;flex-direction:column}.stat-grid{grid-template-columns:1fr}.advice .primary{width:100%}}
.page-actions{display:flex;justify-content:center;margin:16px 0 4px}.page-actions button{width:min(336px,100%);white-space:nowrap}body[data-view="choice"] .page-actions{display:none}body[data-view="choice"] .hero p::after{content:" 目前步驟：請選擇練習或模擬考。";font-weight:800;color:var(--tea-dark)}@media(max-width:760px){.page-actions button{width:100%}}
/* v8 practice simplified overrides */
.controls{grid-template-columns:minmax(0,1fr) auto}.mark-tag{background:#fff7ed;color:#9a3412;border:1px solid #fed7aa}.practice-nav{display:grid;grid-template-columns:1fr 1fr 1fr}.practice-nav button{width:100%}@media(max-width:760px){.app{padding-bottom:24px}.controls{grid-template-columns:1fr}.practice-nav{grid-template-columns:1fr 1fr}.practice-nav #mark{grid-column:1/-1}.bottom-nav{display:none!important}}
/* v9 learning summary */
.controls select,.controls .primary{min-height:58px;font-size:17px;font-weight:850}.controls label{font-size:15px}.email-summary{border:1px solid #cfe8d8;background:#f0fdf4;border-radius:18px;padding:14px;margin:12px 0 16px;line-height:1.6}.summary-list{display:grid;gap:10px}.summary-item{border:1px solid var(--line);border-radius:16px;background:#fff;padding:12px;line-height:1.55}.summary-item p{margin:.45em 0;color:var(--ink)}@media(max-width:760px){.controls select,.controls .primary{min-height:60px;font-size:17px}.controls label{font-size:16px}.score-num{font-size:46px}}
/* v10 select visual weight */
.controls label{display:flex;flex-direction:column;gap:7px}.controls select{height:51.2px;min-height:51.2px;font-size:14.4px;font-weight:900;border:2px solid var(--tea);border-radius:16px;padding:0 44px 0 16px;background-color:#fff;box-shadow:0 8px 18px rgba(47,111,78,.10);appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--tea-dark) 50%),linear-gradient(135deg,var(--tea-dark) 50%,transparent 50%);background-position:calc(100% - 24px) 50%,calc(100% - 16px) 50%;background-size:8px 8px,8px 8px;background-repeat:no-repeat}.controls .primary{height:48px;min-height:48px;font-size:14.4px;border-radius:16px;box-shadow:0 8px 18px rgba(47,111,78,.18)}@media(max-width:760px){.controls select{height:51.2px;min-height:51.2px;font-size:14.4px}.controls .primary{height:48px;min-height:48px;font-size:14.4px}.controls label{font-size:16px}}
/* v13 first page disclaimer and brand cards */
.lead-card{width:min(680px,100%)}.notice-stack{display:grid;gap:8px;margin:14px 0}.notice-stack details{border:1px solid var(--line);border-radius:14px;background:#fffaf0;padding:10px 12px}.notice-stack summary{font-size:15px}.notice-stack p{margin:8px 0 0;font-size:14px;line-height:1.6}.brand-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.brand-card{border:1px solid #d8eadf;background:#f6fff8;border-radius:16px;padding:12px;line-height:1.55}.brand-card b{color:var(--tea-dark)}.brand-card p{font-size:14px;margin:6px 0 10px;color:var(--muted)}.mini-link{display:inline-flex;min-height:38px;align-items:center;justify-content:center;border:1px solid var(--tea);border-radius:12px;padding:0 12px;color:var(--tea-dark);background:white;font-weight:900;text-decoration:none}@media(max-width:760px){.brand-cards{grid-template-columns:1fr}.notice-stack details:not([open]){padding:11px 12px}.lead-card h1{font-size:28px}}
