:root{color-scheme:light;--paper:#f5f3ec;--ink:#283d36;--muted:#6e7870;--line:#dedfd5;--green:#275744;--soft:#e7ede3;--white:#fffef9;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0;padding:env(safe-area-inset-top) max(22px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(22px,env(safe-area-inset-left));min-height:100vh;min-height:100dvh}header,main,.status-line,footer,#notice{max-width:1020px;margin:auto}header{display:flex;align-items:center;justify-content:space-between;padding:26px 0;border-bottom:1px solid var(--line);gap:18px}.brand{display:flex;align-items:center;gap:12px;font-size:23px;font-weight:650;text-decoration:none;color:var(--ink)}.brand-mark{display:grid;place-items:center;background:var(--green);color:white;border-radius:12px;width:46px;height:46px;font-family:"Songti SC",serif}.brand small{display:block;font-size:11px;letter-spacing:2px;color:var(--muted);margin-top:3px}nav{display:flex;gap:8px}a{color:var(--green)}nav a{padding:12px;text-decoration:none;border-radius:8px;font-size:14px}nav a[aria-current=page]{background:var(--soft)}button,.button{font:inherit;font-size:16px;cursor:pointer;min-height:48px;padding:12px 20px;border:1px solid var(--line);border-radius:12px;background:var(--white);color:var(--ink);text-decoration:none;text-align:center;touch-action:manipulation}button:disabled{opacity:.45;cursor:default}button:not(:disabled):hover,.button:hover{border-color:var(--green)}:focus-visible{outline:3px solid #b78545;outline-offset:4px}.primary{background:var(--green);color:white;border-color:var(--green)}.soft{background:var(--soft)}.danger{color:#9b453b;border-color:#d9b8ad}.status-line{display:flex;justify-content:space-between;align-items:center;min-height:52px;gap:14px;font-size:12px;color:var(--muted)}#update{font-size:13px;padding:8px 12px;min-height:40px}#notice{background:var(--soft);border-radius:10px;padding:14px 18px;font-size:14px;margin-bottom:16px}#notice.error{background:#fae8df;color:#863e31}main{min-height:65vh;padding:30px 0 40px}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--muted);margin:0 0 15px}h1,h2,p{overflow-wrap:anywhere}h1{font-family:"Songti SC","STSong",Georgia,serif;font-weight:500;font-size:42px;line-height:1.3;margin:0 0 16px}h2{font-size:22px;font-weight:600;margin-top:0}.lead{color:var(--muted);line-height:1.9;max-width:560px;margin:0}.home-intro{padding:20px 0 40px}.tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.tool-card{display:block;background:var(--white);border:1px solid var(--line);border-radius:20px;padding:30px;color:inherit;text-decoration:none;position:relative}.tool-card:hover{border-color:var(--green)}.tool-symbol{font:46px Georgia,serif;color:var(--green);margin-bottom:30px}.tool-card p{font-size:14px;color:var(--muted)}.tool-card .open{display:block;border-top:1px solid var(--line);padding-top:18px;margin-top:30px;font-size:14px}.tool-card .open b{float:right}.small-note{margin-top:28px;font-size:13px;line-height:1.8;color:var(--muted)}.tool-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.tool-heading h1{font-size:32px}.switch{display:flex;gap:9px;align-items:center;min-height:48px;font-size:14px;white-space:nowrap}.switch input{width:20px;height:20px;accent-color:var(--green)}.study-meta{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:var(--muted);margin:16px 0 10px}progress{width:100%;height:5px;display:block;appearance:none;border:0;border-radius:9px;background:var(--line);color:var(--green)}progress::-webkit-progress-bar{background:var(--line);border-radius:9px}progress::-webkit-progress-value{background:var(--green);border-radius:9px}progress::-moz-progress-bar{background:var(--green)}.flashcard{width:100%;min-height:330px;margin-top:24px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:28px 30px;background:var(--white);border:1px solid var(--line);border-radius:22px;box-shadow:0 8px 24px #293d3605}.flashcard.back{background:#edf1e8}.card-label{font-size:11px;color:var(--muted);letter-spacing:2px}.word{font:clamp(32px,6vw,58px)/1.35 Georgia,"Songti SC",serif;overflow-wrap:anywhere;padding:28px 0;max-width:100%}.back .word{font-size:clamp(26px,4vw,40px)}.example{font-size:16px;color:var(--muted);line-height:1.7;max-width:650px}.flip-hint{font-size:13px;color:var(--muted);margin-top:20px}.record-note{text-align:center;font-size:13px;color:var(--muted);min-height:20px}.rating{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:560px;margin:24px auto}.rating button{min-height:56px}.navigation{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:20px}.navigation span{font-size:12px;color:var(--muted);text-align:center}.panel{padding:26px;background:var(--white);border:1px solid var(--line);border-radius:18px;margin:20px 0}.panel p{line-height:1.8;color:var(--muted);font-size:14px}.actions{display:flex;flex-wrap:wrap;gap:12px}.file-label{display:flex;flex-direction:column;gap:12px;margin:20px 0}input[type=file]{font:inherit;width:100%;padding:12px;border:1px dashed var(--line);border-radius:10px}footer{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding:22px 0;font-size:11px;line-height:1.8;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:20px;background:var(--white);padding:28px;max-width:min(480px,90vw);color:var(--ink)}dialog::backdrop{background:#16291e66}dialog p{line-height:1.8;white-space:pre-line}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:26px}[hidden]{display:none!important}@media(min-width:900px){main:has(.flashcard){max-width:780px}.flashcard{min-height:350px}}@media(max-width:600px){body{padding-left:16px;padding-right:16px}header{padding:18px 0}.brand{font-size:20px}nav a{padding:12px 8px;font-size:13px}main{padding-top:15px}h1{font-size:34px}.home-intro{padding:15px 0 28px}.tool-grid{grid-template-columns:1fr}.tool-heading{display:block}.tool-heading h1{font-size:28px}.switch{justify-content:flex-end}.flashcard{min-height:290px;padding:22px 20px;margin-top:18px}.navigation{flex-wrap:wrap}.navigation span{order:3;width:100%}.study-meta{font-size:11px}footer{flex-direction:column;gap:4px}.panel{padding:20px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
