*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--brand: #4f46e5;--brand-dark: #3730a3;--brand-light:#ede9fe;--correct: #16a34a;--correct-bg: #dcfce7;--wrong: #dc2626;--wrong-bg: #fee2e2;--neutral: #6b7280;--bg: #f5f0e8;--surface: #ffffff;--border: #e5e7eb;--text: #111827;--text-soft: #4b5563;--radius: 12px;--shadow: 0 1px 3px rgba(0,0,0,.08), 0 4px 16px rgba(0,0,0,.06);font-family:Inter,system-ui,-apple-system,sans-serif}[data-theme=dark]{--brand: #818cf8;--brand-dark: #6366f1;--brand-light:#1e1b4b;--correct: #4ade80;--correct-bg: #052e16;--wrong: #f87171;--wrong-bg: #450a0a;--neutral: #9ca3af;--bg: #141414;--surface: #1e1e1e;--border: #2e2e2e;--text: #f3f4f6;--text-soft: #9ca3af;--shadow: 0 1px 3px rgba(0,0,0,.4), 0 4px 16px rgba(0,0,0,.3)}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}.app-shell{display:flex;flex-direction:column;min-height:100%}.app-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--border);background:var(--surface)}.logo-btn{background:none;border:none;cursor:pointer;font-family:Dancing Script,cursive;font-size:1.5rem;font-weight:700;color:var(--brand);letter-spacing:0;padding:0}.header-right{display:flex;align-items:center;gap:8px}.theme-toggle-btn{background:none;border:none;cursor:pointer;font-size:1.1rem;padding:4px 8px;border-radius:6px;transition:background .15s;line-height:1}.theme-toggle-btn:hover{background:var(--border)}.quit-btn{background:none;border:none;cursor:pointer;color:var(--neutral);font-size:.85rem;padding:4px 8px;border-radius:6px;transition:background .15s}.quit-btn:hover{background:var(--border)}.app-main{flex:1;display:flex;justify-content:center;align-items:flex-start;padding:32px 16px 48px}.btn{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:10px;cursor:pointer;font-size:.95rem;font-weight:600;padding:12px 24px;transition:background .15s,transform .1s,opacity .15s}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{background:var(--brand);color:#fff}.btn--primary:not(:disabled):hover{background:var(--brand-dark)}.btn--secondary{background:var(--brand-light);color:var(--brand)}.btn--secondary:hover{filter:brightness(.96)}.btn--large{font-size:1.05rem;padding:14px 32px;border-radius:12px}.landing{max-width:540px;width:100%;display:flex;flex-direction:column;align-items:center;text-align:center;gap:20px}.landing-badge{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--brand);background:var(--brand-light);padding:4px 12px;border-radius:99px}.landing-title{font-size:clamp(1.8rem,5vw,2.5rem);font-weight:800;line-height:1.15;letter-spacing:-.03em;color:var(--text)}.landing-sub{font-size:1rem;color:var(--text-soft);max-width:420px}.landing-sub em{font-style:normal;background:#fef3c7;border-radius:4px;padding:0 3px;color:#92400e}.stats-strip{display:flex;align-items:center;gap:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 24px;box-shadow:var(--shadow)}.stat-item{display:flex;flex-direction:column;align-items:center;gap:2px}.stat-value{font-size:1.4rem;font-weight:700;color:var(--brand);line-height:1}.stat-label{font-size:.72rem;color:var(--neutral);text-transform:uppercase;letter-spacing:.05em}.stat-divider{width:1px;height:36px;background:var(--border)}.example-pairs{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.pair-chip{font-size:.8rem;color:var(--text-soft);background:var(--surface);border:1px solid var(--border);border-radius:99px;padding:4px 12px}.question-count-toggle{display:flex;align-items:center;gap:12px}.question-count-label{font-size:.85rem;font-weight:600;color:var(--neutral);text-transform:uppercase;letter-spacing:.06em}.question-count-options{display:flex;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:3px;gap:3px}.count-option-btn{background:none;border:none;cursor:pointer;font-size:.9rem;font-weight:600;color:var(--neutral);padding:6px 18px;border-radius:7px;transition:background .15s,color .15s}.count-option-btn:hover{color:var(--text)}.count-option-btn--active{background:var(--brand);color:#fff}.landing-footer{font-size:.8rem;color:var(--neutral)}.quiz-layout{max-width:560px;width:100%;display:flex;flex-direction:column;gap:20px}.quiz-header{display:flex;align-items:center;gap:12px}.quiz-category-tag{font-size:.75rem;font-weight:600;white-space:nowrap;color:var(--neutral);text-transform:uppercase;letter-spacing:.05em}.progress-wrap{flex:1;display:flex;align-items:center;gap:10px}.progress-track{flex:1;height:8px;background:var(--border);border-radius:99px;overflow:hidden}.progress-fill{height:100%;background:var(--brand);border-radius:99px;transition:width .4s ease}.progress-label{font-size:.78rem;color:var(--neutral);font-weight:600;min-width:36px;text-align:right}.question-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:28px 24px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:20px}.retry-badge{display:inline-flex;align-self:flex-start;font-size:.72rem;font-weight:600;color:#92400e;background:#fef3c7;border-radius:99px;padding:3px 10px}.sentence{font-size:1.2rem;line-height:1.5;color:var(--text);font-weight:500}.blank{display:inline-block;background:var(--brand-light);color:var(--brand);border-radius:6px;padding:0 4px;font-weight:700;letter-spacing:.05em}.sentence--filled{color:var(--text-soft)}.options-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.option-btn{background:var(--bg);border:2px solid var(--border);border-radius:10px;padding:12px 16px;font-size:.95rem;font-weight:600;color:var(--text);cursor:pointer;text-align:left;transition:border-color .15s,background .15s,transform .1s}.option-btn:not(:disabled):hover{border-color:var(--brand);background:var(--brand-light);color:var(--brand)}.option-btn:active{transform:scale(.97)}.option-btn:disabled{cursor:default}.option-btn--selected{border-color:var(--brand)!important;background:var(--brand-light)!important;color:var(--brand)!important}.option-btn--correct{border-color:var(--correct)!important;background:var(--correct-bg)!important;color:var(--correct)!important}.option-btn--wrong{border-color:var(--wrong)!important;background:var(--wrong-bg)!important;color:var(--wrong)!important}.option-btn--dim{opacity:.4}.feedback{display:flex;flex-direction:column;gap:12px}.feedback-badge{display:inline-flex;align-self:flex-start;font-size:.85rem;font-weight:700;border-radius:99px;padding:5px 14px}.feedback-badge--correct{background:var(--correct-bg);color:var(--correct)}.feedback-badge--wrong{background:var(--wrong-bg);color:var(--wrong)}.explanation{font-size:.9rem;color:var(--text-soft);background:var(--bg);border-left:3px solid var(--brand);border-radius:0 8px 8px 0;padding:10px 14px;line-height:1.55}.results{max-width:480px;width:100%;display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px}.results-emoji{font-size:3rem;line-height:1}.results-title{font-size:1.8rem;font-weight:800;letter-spacing:-.03em}.results-sub{color:var(--text-soft);font-size:.95rem}.score-card{display:flex;flex-direction:column;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:28px 40px;box-shadow:var(--shadow);width:100%}.score-ring{display:flex;align-items:baseline;gap:2px}.score-big{font-size:4rem;font-weight:900;color:var(--brand);line-height:1}.score-denom{font-size:1.8rem;font-weight:600;color:var(--neutral)}.score-meta{display:flex;gap:16px;font-size:.85rem;color:var(--text-soft);font-weight:500}.lifetime-strip{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--text-soft);background:var(--surface);border:1px solid var(--border);border-radius:99px;padding:8px 18px}.lifetime-label{color:var(--neutral)}.results-actions{display:flex;flex-direction:column;gap:10px;width:100%}.results-actions .btn{width:100%}.results-tip{font-size:.8rem;color:var(--neutral)}.streak-banner{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:99px;padding:8px 20px;font-size:.88rem;font-weight:600}.streak-badge{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:99px;padding:8px 20px;font-size:.9rem;font-weight:700}.share-section{width:100%;display:flex;flex-direction:column;align-items:center;gap:10px}.share-label{font-size:.82rem;color:var(--neutral);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.share-row{display:flex;gap:10px;width:100%;flex-wrap:wrap}.share-btn{flex:1;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:none;border-radius:10px;cursor:pointer;font-size:.88rem;font-weight:600;padding:11px 14px;transition:filter .15s,transform .1s;white-space:nowrap}.share-btn:active{transform:scale(.97)}.share-btn--wa{background:#25d366;color:#fff}.share-btn--wa:hover{filter:brightness(.92)}.share-btn--li{background:#0a66c2;color:#fff}.share-btn--li:hover{filter:brightness(.9)}.share-btn--copy{background:var(--bg);color:var(--text);border:1px solid var(--border)}.share-btn--copy:hover{background:var(--border)}.star-rating{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow)}.star-rating-label{font-size:.85rem;color:var(--neutral);font-weight:600;text-transform:uppercase;letter-spacing:.06em}.star-rating-buttons{display:flex;gap:6px}.star-btn{background:none;border:none;cursor:pointer;font-size:1.8rem;line-height:1;padding:4px;color:#d1d5db;transition:transform .1s,color .1s}.star-btn:hover{transform:scale(1.15)}.star-btn--filled{color:#f59e0b}.star-thanks{font-size:.95rem;font-weight:600;color:var(--correct);padding:12px 0}.loading-msg{color:var(--neutral);font-size:.95rem}@media(max-width:420px){.options-grid{grid-template-columns:1fr}.question-card{padding:20px 16px}.app-main{padding:20px 12px 40px}}
