:root{--ink: #2b2a27;--paper: #faf7f0;--paper-raised: #ffffff;--rule: #ddd6c5;--accent: #2f6f5e;--accent-soft: #e4efe9;--danger: #a4432f;--font-display: Georgia, "Noto Serif TC", serif;--font-body: -apple-system, "PingFang TC", "Segoe UI", sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);line-height:1.5}.app-shell{max-width:640px;margin:0 auto;padding:24px 20px 80px}h1,h2,h3{font-family:var(--font-display);font-weight:600;margin:0 0 12px}.card{background:var(--paper-raised);border:1px solid var(--rule);border-radius:10px;padding:20px;margin-bottom:16px}button{font:inherit;cursor:pointer;border-radius:8px;border:1px solid var(--rule);background:var(--paper-raised);padding:10px 16px}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.rating{flex:1}input,textarea,select{font:inherit;width:100%;padding:10px;border:1px solid var(--rule);border-radius:8px;background:var(--paper-raised);margin-bottom:12px}.eyebrow{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);font-weight:600}.flashcard{text-align:center;padding:48px 24px;cursor:pointer;-webkit-user-select:none;user-select:none}.flashcard .word{font-family:var(--font-display);font-size:32px}.flashcard .definition{margin-top:16px;color:#55534c}.rating-row{display:flex;gap:8px;margin-top:20px}nav{display:flex;gap:16px;margin-bottom:24px;padding-bottom:12px;border-bottom:1px solid var(--rule)}nav a{color:var(--ink);text-decoration:none;font-weight:600}.muted{color:#8a877c;font-size:14px}.error{color:var(--danger);font-size:14px}
