:root{color:#203d36;font-synthesis:none;background:#f4f6f2;font-family:system-ui,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;line-height:1.6}*{box-sizing:border-box}body{min-width:280px;margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{color:#fff;cursor:pointer;background:#176b56;border:0;border-radius:10px;min-height:48px;padding:12px 20px;font-weight:600}button:disabled{opacity:.55;cursor:default}:focus-visible{outline-offset:3px;outline:3px solid #b87613}.shell{min-height:100dvh;padding:env(safe-area-inset-top) max(20px, env(safe-area-inset-right)) env(safe-area-inset-bottom) max(20px, env(safe-area-inset-left));flex-direction:column;display:flex}.topbar{justify-content:space-between;align-items:center;gap:16px;width:100%;max-width:1120px;min-height:88px;margin:0 auto;font-size:13px;display:flex}.brand{color:inherit;align-items:center;gap:10px;font-size:19px;font-weight:750;text-decoration:none;display:flex}.brand-mark{color:#fff;background:#176b56;border-radius:10px;place-items:center;width:36px;height:36px;display:grid}main{flex:1;width:100%;max-width:520px;margin:32px auto}.card{background:#fff;border:1px solid #dbe4dc;border-radius:20px;padding:28px 24px;box-shadow:0 12px 32px #29473708}h1{letter-spacing:-.03em;overflow-wrap:anywhere;margin:8px 0;font-size:clamp(26px,6vw,34px)}h2{font-size:19px}p{margin:8px 0 20px}.eyebrow{color:#176b56;letter-spacing:.1em;font-size:12px;font-weight:650}.muted,.help,footer{color:#61736b}form{flex-direction:column;margin-top:30px;display:flex}label{margin-bottom:7px;font-size:14px;font-weight:650}input{color:#203d36;background:#fcfdfb;border:1px solid #b7c7bc;border-radius:8px;width:100%;min-height:48px;margin-bottom:20px;padding:10px 12px;font-size:16px}.help{text-align:center;margin:20px 0 0;font-size:13px}.notice{overflow-wrap:anywhere;background:#fff1d3;border-radius:12px;padding:16px}.error{color:#882b25;background:#fff0ed;margin-top:16px}.secondary{color:#176b56;background:#edf3ee;margin-top:16px}.empty-state{color:#61736b;border-block:1px solid #e2e9e3;margin-top:28px;padding:20px 0}footer{text-align:center;padding:24px 0;font-size:12px}@media (width>=700px){main{margin-top:72px}.card{padding:40px}}.import h2{margin-bottom:.75rem}.import .row{flex-wrap:wrap;align-items:center;gap:.5rem;margin:.5rem 0;display:flex}.import .table-wrap{margin:.75rem 0;overflow-x:auto}.import table{border-collapse:collapse;width:100%;font-size:.9rem}.import th,.import td{text-align:left;vertical-align:top;border-bottom:1px solid #ddd;padding:.4rem .5rem}.import td input{width:9rem}.import .row-error td{background:#fdecea}.import .row-dup td{opacity:.7}.import .row-removed td{opacity:.5;text-decoration:line-through}.import .suggestion{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.import .error{color:#b00020}.import .muted{color:#666}.import .link{color:#0645ad;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.import .attribution{border:1px solid #ddd;border-radius:6px;padding:.5rem .75rem}.import .actions{margin-top:.75rem}.import .receipt{border:1px solid #2c7a3f;border-radius:6px;margin-top:1rem;padding:.75rem 1rem}.tabs{flex-wrap:wrap;gap:.5rem;margin:.75rem 0 1rem;display:flex}.tabs button{flex:none}.tabs button.active{background:var(--accent,#1f6feb);color:#fff}.panel h2,.panel h3{margin:.75rem 0 .5rem}.panel .row{flex-wrap:wrap;align-items:center;gap:.5rem;margin:.5rem 0;display:flex}.panel .row label{margin:0}.panel fieldset.row{border:1px solid #d8dee4;border-radius:6px;padding:.5rem .75rem}.panel table{border-collapse:collapse;width:100%;margin:.5rem 0;font-size:.92rem}.panel th,.panel td{text-align:left;border-bottom:1px solid #eaeef2;padding:.35rem .5rem}.panel textarea{box-sizing:border-box;border:1px solid #d0d7de;border-radius:6px;width:100%;margin:.25rem 0;padding:.45rem .6rem}.panel .receipt{background:#f6f8fa;border:1px solid #d8dee4;border-radius:6px;margin:.75rem 0;padding:.5rem .75rem}.panel .error-list{color:#b35900;margin:.25rem 0 0 1rem}.panel .link{color:#1f6feb;cursor:pointer;background:0 0;border:none;padding:0 .25rem;text-decoration:underline}.panel .qr-svg svg{width:220px;height:220px}.panel .qr-svg :deep(svg){width:220px;height:220px}.task-list{margin:.75rem 0;padding:0;list-style:none}.task-list li+li{margin-top:.5rem}.task-item{color:inherit;background:#fcfdfb;border:1px solid #dbe4dc;border-radius:12px;padding:.75rem 1rem;text-decoration:none;display:block}.task-title{font-weight:650;display:block}.task-meta{margin-top:.25rem;font-size:.85rem;display:block}.question-list{margin:.75rem 0;padding-left:1.25rem}.question-list li{margin:.5rem 0}.question-prompt{overflow-wrap:anywhere;margin:0}.back{color:#176b56;margin-top:1rem;display:inline-block}.practice-entry{color:#176b56;text-align:center;border:1px solid #176b56;border-radius:10px;margin:.75rem 0 1rem;padding:.85rem 1rem;font-weight:600;text-decoration:none;display:block}.card-stack{margin:.75rem 0}.flashcard{text-align:center;background:#fbfdfc;border:1px solid #d8e2dd;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:.6rem;min-height:14rem;padding:1.5rem 1rem;display:flex}.headword{overflow-wrap:anywhere;margin:0;font-size:2rem;font-weight:700}.phonetic{color:#5a6b64;margin-left:.5rem;font-size:1rem;font-weight:400}.definition{overflow-wrap:anywhere;margin:0}.root{color:#176b56;margin:0}.example{color:#5a6b64;overflow-wrap:anywhere;margin:0;font-style:italic}.flip-btn{min-width:10rem;min-height:3rem;margin-top:1rem;font-size:1.05rem}.answer-row{gap:.75rem;width:100%;margin-top:1rem;display:flex}.answer-row button{flex:1;min-height:3rem;font-size:1.05rem}.answer-row .forget{background:#b3543f}.answer-row .remember{background:#176b56}.exam-header .sync-status{flex-wrap:wrap;gap:.5rem;display:flex}.chip{border-radius:999px;padding:.15rem .6rem;font-size:.85rem;display:inline-block}.chip.ok{color:#176b56;background:#e3f2ec}.chip.pending{color:#8a6d3b;background:#fdf3e3}.exam-header .urgent{color:#b3543f}.question-list.exam{margin:1rem 0;padding-left:1.5rem}.question-list.exam li{margin-bottom:1.25rem}.answer-input{width:100%;min-height:2.75rem;margin-top:.5rem;padding:.5rem .75rem;font-size:1rem}.options{margin:.5rem 0 0;padding:0;list-style:none}.options li{margin:0}.options label{align-items:flex-start;gap:.5rem;padding:.5rem .25rem;display:flex}.action.primary{color:#fff;background:#176b56;border-radius:.5rem;margin-top:1rem;padding:.75rem 1.5rem;text-decoration:none;display:inline-block}.result-total{color:var(--primary,#176b55);font-size:2.8rem;font-weight:750}.result-total span{font-size:1rem;font-weight:500}.result-components{flex-wrap:wrap;gap:1.2rem;padding:0;list-style:none;display:flex}.makeup-panel{border:1px solid var(--border,#ddd);border-radius:.5rem;margin:.5rem 0;padding:1rem}.makeup-list{columns:2;max-height:18rem;padding:0;list-style:none;overflow-y:auto}
