:root{--color-bg: #eaf6fb;--color-primary: #5ec6e8;--color-primary-dark: #3aa6cc;--color-accent: #ffb547;--color-accent-dark: #f5921f;--color-success: #6fcf7c;--color-error: #ff6b6b;--color-text: #2b3a42;--color-text-muted: #6b7f87;--color-surface: #ffffff;--color-surface-soft: #f4fbfe;--radius-lg: 28px;--radius-md: 18px;--radius-sm: 12px;--shadow-card: 0 8px 24px rgba(94, 198, 232, .18);--font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-family);-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}body{min-height:100vh;min-height:100dvh}#root{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}button{font-family:inherit}.btn{border:none;border-radius:var(--radius-md);padding:16px 28px;font-size:20px;font-weight:700;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease;touch-action:manipulation;-webkit-user-select:none;user-select:none}.btn:active{transform:scale(.96)}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:0 6px 0 var(--color-primary-dark)}.btn-accent{background:var(--color-accent);color:#fff;box-shadow:0 6px 0 var(--color-accent-dark)}.btn-disabled,.btn:disabled{background:#cfd8db;color:#8a97a0;box-shadow:none;cursor:not-allowed}.card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:24px}.app-shell{flex:1;display:flex;flex-direction:column;max-width:720px;width:100%;margin:0 auto;padding:20px;padding-bottom:max(20px,env(safe-area-inset-bottom));gap:16px;overflow-x:hidden}.add-to-home-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--color-accent);color:#fff;border-radius:var(--radius-sm);padding:12px 16px;font-size:14px}.add-to-home-dismiss{background:transparent;border:none;color:#fff;font-size:20px;line-height:1;cursor:pointer;padding:0 4px}.home-screen{display:flex;flex-direction:column;gap:16px}.home-header{display:flex;align-items:center;gap:16px}.home-header h1{margin:0;font-size:26px;color:var(--color-primary-dark)}.wordlist-name{margin:4px 0 0;color:var(--color-text-muted);font-size:14px}.today-card h2,.parent-overview-card h2,.units-card h2{margin:0 0 12px;font-size:18px;color:var(--color-text)}.notice-text{color:var(--color-accent-dark);font-size:14px;margin:0 0 12px}.today-stats,.parent-stats{display:flex;gap:16px;margin-bottom:16px;flex-wrap:wrap}.stat{flex:1;min-width:88px;background:var(--color-surface-soft);border-radius:var(--radius-sm);padding:12px;text-align:center}.stat-value{display:block;font-size:24px;font-weight:800;color:var(--color-primary-dark)}.stat-label{display:block;font-size:13px;color:var(--color-text-muted);margin-top:4px}.start-btn{width:100%}.unit-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.unit-item{display:flex;justify-content:space-between;padding:12px 16px;border-radius:var(--radius-sm);background:var(--color-surface-soft)}.unit-locked{opacity:.5}.unit-help{margin:-4px 0 12px;color:var(--color-text-muted);font-size:14px;line-height:1.5}.screen-header,.import-preview-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.screen-header{margin-bottom:12px}.screen-header h2{margin:0}.import-preview-actions{flex-wrap:wrap}.learning-flow-actions{display:flex;align-items:center;gap:12px}.learning-flow{display:flex;flex-direction:column;gap:12px}.learning-flow-empty{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.learning-flow-header{display:flex;justify-content:space-between;align-items:center;padding:0 4px}.phase-badge{background:var(--color-primary);color:#fff;border-radius:999px;padding:4px 14px;font-size:13px;font-weight:700}.progress-text{color:var(--color-text-muted);font-size:14px}.question-card{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.question-mascot{margin-bottom:4px}.question-prompt{display:flex;align-items:center;gap:10px}.question-prompt-text{font-size:28px;font-weight:800;color:var(--color-text)}.speak-btn{background:var(--color-surface-soft);border:none;border-radius:999px;width:40px;height:40px;font-size:18px;cursor:pointer}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}.choice-btn{background:var(--color-surface-soft);color:var(--color-text);box-shadow:none;border:2px solid transparent}.choice-correct{background:var(--color-success);color:#fff}.choice-wrong{background:var(--color-error);color:#fff}.spelling-area{width:100%;display:flex;flex-direction:column;gap:10px}.hint-text{color:var(--color-accent-dark);font-size:15px;margin:0}.spelling-input{width:100%;font-size:20px;padding:14px 16px;border-radius:var(--radius-sm);border:2px solid var(--color-primary);outline:none}.spelling-actions{display:flex;gap:12px}.spelling-actions .btn{flex:1}.feedback-text{font-size:16px;font-weight:700;margin:0}.feedback-wrong{color:var(--color-error)}.feedback-correct{color:var(--color-success)}.save-status{margin:0;text-align:center;font-size:15px;color:var(--color-text-muted, #6b7a90)}.save-error{display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px;border-radius:16px;border:2px solid var(--color-error);background:#fff2f2}.save-error p{margin:0;font-size:16px;font-weight:700;color:var(--color-error);text-align:center}@media (max-width: 480px){.app-shell{padding:12px}.question-prompt-text{font-size:22px}}.auth-screen{display:flex;flex-direction:column;gap:20px}.auth-card{display:flex;flex-direction:column;gap:16px;max-width:520px}.field{display:flex;flex-direction:column;gap:6px;font-size:16px;color:var(--color-text)}.field input{font-size:18px;padding:14px 16px;border-radius:var(--radius-sm);border:2px solid var(--color-primary);background:#fff;color:var(--color-text)}.field input:focus{outline:3px solid var(--color-accent);outline-offset:1px}.auth-error{color:var(--color-error)}.btn-link{background:none;border:none;color:var(--color-primary-dark);text-decoration:underline;padding:8px}.import-card{display:flex;flex-direction:column;gap:14px;align-items:stretch;text-align:left}.import-grade-row{display:flex;gap:12px}.import-grade-row .field{flex:1}.import-errors ul,.import-summary ul{margin:8px 0 0;padding-left:20px;font-size:15px;line-height:1.6}.strategy-group{display:flex;flex-direction:column;gap:12px;border:2px solid var(--color-primary);border-radius:var(--radius-sm);padding:14px;margin:0}.strategy-group legend{font-size:16px;font-weight:700;padding:0 6px;color:var(--color-text)}.strategy-option{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.5;min-height:44px}.strategy-option input[type=radio]{width:24px;height:24px;margin-top:2px;flex-shrink:0}.sync-status{font-size:14px;color:var(--color-text-muted);padding:6px 12px;border-radius:var(--radius-sm);background:var(--color-surface-soft);align-self:flex-start}.loading-text{padding:32px 12px;text-align:center;color:var(--color-text-muted)}
