:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh;width:100%}#root{width:100%;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.level-chips{display:flex;gap:.75rem;flex-wrap:wrap}.level-chip{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#fff;border:2px solid #e5e7eb;border-radius:9999px;cursor:pointer;transition:all .15s ease}.level-chip:hover{border-color:#a855f7}.level-chip.current{border-color:#7c3aed;background:#faf5ff}.level-name{font-weight:600;color:#1f2937;font-size:.875rem}.level-chip.current .level-name{color:#7c3aed}.level-status{font-size:.65rem;color:#6b7280;text-transform:uppercase;font-weight:500;letter-spacing:.025em}.level-chip.status-not-started .level-status{color:#9ca3af}.level-chip.status-in-progress .level-status{color:#3b82f6}.level-chip.status-proficient .level-status{color:#a855f7}.level-chip.status-mastered .level-status{color:#22c55e}.level-chip.current .level-status{font-weight:600}.level-chip.current.status-not-started .level-status{color:#7c3aed}.level-chip.current.status-in-progress .level-status{color:#2563eb}.level-chip.current.status-proficient .level-status{color:#7c3aed}.level-chip.current.status-mastered .level-status{color:#16a34a}.level-chip-skeleton .skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px}.mode-card,.mode-card[data-mode=vocab]{--mode-color: #7c3aed;--mode-color-light: rgba(124, 58, 237, .15);--mode-color-lighter: rgba(124, 58, 237, .1)}.mode-card[data-mode=conjugation]{--mode-color: #f97316;--mode-color-light: rgba(249, 115, 22, .15);--mode-color-lighter: rgba(249, 115, 22, .1)}.mode-card[data-mode=grammar]{--mode-color: #14b8a6;--mode-color-light: rgba(20, 184, 166, .15);--mode-color-lighter: rgba(20, 184, 166, .1)}.mode-card[data-mode=numbers]{--mode-color: #f59e0b;--mode-color-light: rgba(245, 158, 11, .15);--mode-color-lighter: rgba(245, 158, 11, .1)}.mode-card[data-mode=reading]{--mode-color: #3b82f6;--mode-color-light: rgba(59, 130, 246, .15);--mode-color-lighter: rgba(59, 130, 246, .1)}.mode-card[data-mode=speaking]{--mode-color: #0891b2;--mode-color-light: rgba(8, 145, 178, .15);--mode-color-lighter: rgba(8, 145, 178, .1)}.mode-card[data-mode=pronunciation]{--mode-color: #ec4899;--mode-color-light: rgba(236, 72, 153, .15);--mode-color-lighter: rgba(236, 72, 153, .1)}.mode-card{display:flex;flex-direction:column;align-items:flex-start;padding:1.25rem;background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;cursor:pointer;transition:all .15s ease;text-align:left;position:relative;min-height:120px}.mode-card:hover:not(:disabled){border-color:var(--mode-color);box-shadow:0 4px 12px var(--mode-color-light);transform:translateY(-2px)}.mode-card:active:not(:disabled){transform:scale(.98)}.mode-card.locked{opacity:.6;cursor:not-allowed}.mode-card.recommended{border-color:var(--mode-color);box-shadow:0 0 0 2px var(--mode-color-lighter),0 4px 12px var(--mode-color-lighter)}.mode-card.recommended:hover:not(:disabled){box-shadow:0 0 0 2px var(--mode-color-light),0 6px 16px var(--mode-color-light)}.mode-recommended-badge{position:absolute;top:-.5rem;left:50%;transform:translate(-50%);font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;color:#fff;background:var(--mode-color);padding:.2rem .5rem;border-radius:.25rem;white-space:nowrap}.mode-label{font-size:1rem;font-weight:600;color:#1f2937;margin:0 0 .25rem}.mode-core-question{font-size:.75rem;color:#9ca3af;margin-bottom:.5rem}.mode-health{margin-bottom:.75rem}.health-display{font-size:1rem;font-weight:600;color:var(--mode-color)}.mode-progress-bar{width:100%;height:6px;background:#f3f4f6;border-radius:3px;overflow:hidden;margin-bottom:.5rem}.mode-progress-fill{height:100%;background:var(--mode-color);border-radius:3px;transition:width .3s ease}.mode-action{font-size:.75rem;color:#6b7280;margin-top:auto}.mode-action.recommended-reason{color:var(--mode-color);font-weight:500}.mode-locked-badge{position:absolute;top:-.5rem;left:50%;transform:translate(-50%);font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;color:#9ca3af;background:#f3f4f6;border:1px solid #e5e7eb;padding:.2rem .5rem;border-radius:.25rem;white-space:nowrap}.mode-beta-badge{position:absolute;bottom:-.5rem;left:50%;transform:translate(-50%);font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;color:#d97706;background:#fef3c7;border:1px solid #fcd34d;padding:.2rem .5rem;border-radius:.25rem;white-space:nowrap}.mode-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;width:100%}@media(min-width:640px){.mode-grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:1024px){.mode-grid{grid-template-columns:repeat(5,1fr)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px}.mode-card-skeleton{display:flex;flex-direction:column;align-items:flex-start;padding:1.25rem;background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;min-height:120px}.mode-card-skeleton .skeleton-label{width:70%;height:1rem;margin-bottom:.5rem}.mode-card-skeleton .skeleton-health{width:50%;height:1rem;margin-bottom:.75rem}.mode-card-skeleton .skeleton-progress{width:100%;height:6px;margin-bottom:.5rem}.mode-card-skeleton .skeleton-action{width:60%;height:.75rem;margin-top:auto}.level-chip-skeleton{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#fff;border:2px solid #e5e7eb;border-radius:9999px}.level-chip-skeleton .skeleton-name{width:1.5rem;height:.875rem}.level-chip-skeleton .skeleton-status{width:4rem;height:.65rem}.mode-setup-panel{--mode-color: #7c3aed;--mode-color-light: rgba(124, 58, 237, .15);--mode-color-lighter: rgba(124, 58, 237, .1);--mode-gradient: linear-gradient(135deg, #a855f7, #7c3aed)}.mode-setup-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.mode-setup-panel{background:#fff;border-radius:1rem;width:100%;max-width:480px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 40px #0003}.mode-setup-header{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid #e5e7eb}.back-button{background:none;border:none;color:#6b7280;font-size:.875rem;cursor:pointer;padding:.25rem}.back-button:hover{color:#1f2937}.mode-setup-header h3{margin:0;font-size:1.125rem;font-weight:600;color:var(--mode-color)}.mode-setup-content{flex:1;overflow-y:auto;padding:1.5rem}.mode-setup-loading{text-align:center;color:#6b7280;padding:2rem}.setup-section{margin-bottom:1.5rem}.setup-section:last-child{margin-bottom:0}.setup-section label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.75rem}.setup-chips{display:flex;flex-wrap:wrap;gap:.5rem}.setup-chip{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .75rem;background:#f3f4f6;border:2px solid transparent;border-radius:9999px;font-size:.875rem;color:#374151;cursor:pointer;transition:all .15s ease}.setup-chip:hover:not(:disabled){background:#e5e7eb}.setup-chip.selected{background:var(--mode-color-lighter);border-color:var(--mode-color);color:var(--mode-color)}.setup-chip:disabled{opacity:.5;cursor:not-allowed}.chip-accuracy{font-size:.75rem;opacity:.7}.duration-control{display:flex;align-items:center;gap:1rem}.duration-slider{flex:1;height:6px;-webkit-appearance:none;appearance:none;background:#e5e7eb;border-radius:3px;outline:none}.duration-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;background:var(--mode-color);border-radius:50%;cursor:pointer;box-shadow:0 2px 4px #0003}.duration-slider::-moz-range-thumb{width:20px;height:20px;background:var(--mode-color);border:none;border-radius:50%;cursor:pointer;box-shadow:0 2px 4px #0003}.duration-value{font-size:1rem;font-weight:600;color:var(--mode-color);min-width:60px;text-align:right}.mode-setup-footer{padding:1rem 1.5rem;border-top:1px solid #e5e7eb}.start-button{width:100%;padding:.875rem 1.5rem;background:var(--mode-gradient);color:#fff;border:none;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .15s ease}.start-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px var(--mode-color-light)}.start-button:active:not(:disabled){transform:scale(.98)}.start-button:disabled{opacity:.5;cursor:not-allowed}.tense-chip-wrapper{position:relative;display:inline-flex;flex-direction:column;align-items:flex-start}.setup-chip.not-learned{border-style:dashed;border-color:#d1d5db}.setup-chip.not-learned.selected{border-style:solid;border-color:var(--mode-color);background:var(--mode-color-lighter)}.not-learned-indicator{color:#9ca3af;font-size:.75rem;margin-left:.125rem}.setup-chip.selected .not-learned-indicator{color:var(--mode-color)}.tense-tooltip{position:absolute;top:calc(100% + .5rem);left:0;right:auto;min-width:200px;max-width:280px;padding:.625rem .75rem;background:#1f2937;color:#f9fafb;font-size:.75rem;line-height:1.4;border-radius:.5rem;box-shadow:0 4px 12px #00000026;z-index:10;animation:tooltipFadeIn .15s ease}.tense-tooltip:before{content:"";position:absolute;top:-6px;left:12px;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #1f2937}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.setup-hint{margin-top:.75rem;margin-bottom:0;font-size:.75rem;color:#6b7280;font-style:italic}@media(max-width:480px){.mode-setup-overlay{padding:0;align-items:flex-end}.mode-setup-panel{border-radius:1rem 1rem 0 0;max-height:85vh}.tense-tooltip{min-width:180px;max-width:220px}}.pico-ask-button{position:fixed;top:70px;right:24px;width:100px;height:100px;border-radius:50%;background:#fff;border:4px solid #7c3aed;box-shadow:0 4px 20px #7c3aed4d;cursor:pointer;z-index:1000;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;align-items:center;justify-content:center;padding:0;animation:picoButtonPulse 3s ease-in-out infinite}@keyframes picoButtonPulse{0%,to{box-shadow:0 4px 16px #7c3aed4d}50%{box-shadow:0 4px 20px #7c3aed80,0 0 0 4px #7c3aed1a}}.pico-ask-button:hover{transform:scale(1.08);box-shadow:0 6px 20px #7c3aed73;border-color:#6d28d9;animation:none}.pico-ask-button:active{transform:scale(.98)}.pico-ask-button-img{width:86px;height:86px;border-radius:50%;object-fit:cover}.pico-ask-button:after{content:"?";position:absolute;bottom:0;right:0;width:28px;height:28px;background:#7c3aed;color:#fff;border-radius:50%;font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center;border:3px solid white}.pico-ask-overlay{position:fixed;inset:0;z-index:1001;display:flex;align-items:flex-end;justify-content:flex-end}.pico-ask-backdrop{position:absolute;inset:0;background:#0000004d;animation:picoAskFadeIn .2s ease-out}@keyframes picoAskFadeIn{0%{opacity:0}to{opacity:1}}.pico-ask-drawer{position:relative;width:100%;max-width:400px;height:70vh;max-height:600px;margin:16px;background:#fff;border-radius:16px;box-shadow:0 8px 32px #0003;display:flex;flex-direction:column;overflow:hidden;animation:picoAskSlideUp .3s ease-out}@keyframes picoAskSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.pico-ask-header{display:flex;align-items:center;justify-content:space-between;padding:16px;background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff}.pico-ask-header-title{display:flex;align-items:center;gap:12px;font-weight:600;font-size:1.1rem}.pico-ask-header-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover}.pico-ask-header-actions{display:flex;align-items:center;gap:4px}.pico-ask-clear-btn{background:none;border:none;color:#ffffffb3;cursor:pointer;padding:6px;border-radius:4px;transition:background .2s,color .2s;display:flex;align-items:center;justify-content:center}.pico-ask-clear-btn:hover{background:#fff3;color:#fff}.pico-ask-close-btn{background:none;border:none;color:#fff;font-size:24px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .2s}.pico-ask-close-btn:hover{background:#fff3}.pico-ask-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.pico-ask-welcome{text-align:center;padding:24px;color:#64748b}.pico-ask-welcome p:first-child{font-size:1.1rem;color:#334155;margin-bottom:8px}.pico-ask-welcome-hint{font-size:.9rem}.pico-ask-message{display:flex;gap:8px;max-width:85%}.pico-ask-message.user{align-self:flex-end;flex-direction:row-reverse}.pico-ask-message.assistant{align-self:flex-start}.pico-ask-message-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;flex-shrink:0}.pico-ask-message-content{padding:10px 14px;border-radius:16px;line-height:1.5;font-size:.95rem;white-space:pre-wrap;word-break:break-word}.pico-ask-message.user .pico-ask-message-content{background:#7c3aed;color:#fff;border-bottom-right-radius:4px}.pico-ask-message.assistant .pico-ask-message-content{background:#f1f5f9;color:#334155;border-bottom-left-radius:4px}.pico-ask-message-content p{margin:0 0 .75em}.pico-ask-message-content p:last-child{margin-bottom:0}.pico-ask-message-content strong{font-weight:600;color:#1e293b}.pico-ask-message-content em{font-style:italic;color:#6366f1}.pico-ask-message-content ul,.pico-ask-message-content ol{margin:.5em 0;padding-left:1.5em}.pico-ask-message-content li{margin:.25em 0}.pico-ask-message-content code{background:#e0e7ff;padding:.1em .3em;border-radius:4px;font-family:monospace;font-size:.9em}.pico-ask-message-content hr{border:none;border-top:1px solid #cbd5e1;margin:1em 0}.pico-ask-message-content h1,.pico-ask-message-content h2,.pico-ask-message-content h3{font-size:1em;font-weight:600;margin:.75em 0 .5em;color:#1e293b}.pico-ask-typing{display:flex;gap:4px;padding:14px 18px!important}.pico-ask-typing span{width:8px;height:8px;border-radius:50%;background:#94a3b8;animation:picoAskBounce 1.4s infinite ease-in-out}.pico-ask-typing span:nth-child(1){animation-delay:-.32s}.pico-ask-typing span:nth-child(2){animation-delay:-.16s}@keyframes picoAskBounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.pico-ask-error{background:#fef2f2;color:#dc2626;padding:10px 14px;border-radius:8px;font-size:.9rem;text-align:center}.pico-ask-input-form{display:flex;gap:8px;padding:12px 16px;border-top:1px solid #e2e8f0;background:#f8fafc}.pico-ask-input{flex:1;padding:10px 14px;border:1px solid #e2e8f0;border-radius:20px;font-size:.95rem;outline:none;transition:border-color .2s,box-shadow .2s}.pico-ask-input:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.pico-ask-input:disabled{background:#f1f5f9;color:#94a3b8}.pico-ask-send-btn{padding:10px 20px;background:#7c3aed;color:#fff;border:none;border-radius:20px;font-weight:600;cursor:pointer;transition:background .2s}.pico-ask-send-btn:hover:not(:disabled){background:#6d28d9}.pico-ask-send-btn:disabled{background:#c4b5fd;cursor:not-allowed}.pico-ask-disclaimer{padding:8px 16px;text-align:center;font-size:.75rem;color:#94a3b8;background:#f8fafc;border-top:1px solid #e2e8f0}@media(max-width:640px){.pico-ask-button{right:16px;width:56px;height:56px;border-width:3px}.pico-ask-button .pico-ask-button-img{width:46px;height:46px}.pico-ask-button:after{width:20px;height:20px;font-size:12px;border-width:2px}.pico-ask-drawer{margin:0;max-width:100%;height:80vh;max-height:none;border-radius:16px 16px 0 0}.pico-ask-overlay{align-items:flex-end}.pico-ask-message{max-width:90%}}.dashboard-page .dashboard-content{max-width:900px}@media(min-width:1024px){.dashboard-page .dashboard-content{max-width:1000px}}.dashboard-loading,.dashboard-error{text-align:center;padding:3rem;color:#6b7280}.dashboard-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.dashboard-greeting{margin:0;font-size:1.25rem;font-weight:600;color:#1f2937}.streak-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .75rem;background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;font-size:.875rem;font-weight:600;border-radius:9999px}.streak-badge:before{content:"🔥";font-size:.875rem}.streak-badge.streak-updated{animation:streak-pop .6s ease-out}@keyframes streak-pop{0%{transform:scale(1)}30%{transform:scale(1.15);box-shadow:0 0 12px #fbbf2499}to{transform:scale(1);box-shadow:none}}.knowledge-section,.skill-section{background:#fff;border-radius:1rem;padding:1.25rem;margin-bottom:1.5rem;box-shadow:0 1px 3px #0000001a}.section-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:1rem}.section-header h3{margin:0;font-size:1rem;font-weight:600;color:#1f2937}.section-hint{font-size:.75rem;color:#9ca3af}.knowledge-section .level-chips{margin-bottom:1rem}.knowledge-section .mode-grid,.skill-section .mode-grid{margin-top:.75rem}.grammar-lessons-link{display:flex;align-items:center;gap:.75rem;margin-top:1rem;padding:.875rem 1rem;background:linear-gradient(135deg,#dbeafe,#e0e7ff);border-radius:.75rem;text-decoration:none;transition:all .15s ease}.grammar-lessons-link:hover{background:linear-gradient(135deg,#bfdbfe,#c7d2fe);transform:translateY(-1px)}.grammar-lessons-link .link-icon{font-size:1.25rem}.grammar-lessons-link .link-text{flex:1;font-weight:500;color:#1e40af}.grammar-lessons-link .link-arrow{color:#3b82f6;font-size:1.125rem}.vocab-practice{min-height:100vh;display:flex;flex-direction:column;background-color:var(--bg-primary, #f9fafb)}.loading-container,.error-container{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.error-container h2{color:#dc2626;margin-bottom:1rem}.error-container p{color:#6b7280;margin-bottom:1.5rem}.header-left .back-link{color:#6b7280;text-decoration:none;font-size:.875rem}.header-left .back-link:hover{color:#374151}.header-stats{display:flex;gap:1rem}.header-stats .stat{font-weight:600;color:#374151}.header-stats .new-words{color:#059669}.header-stats .timer{background:#3b82f6;color:#fff;padding:.25rem .75rem;border-radius:1rem;font-variant-numeric:tabular-nums}.header-stats .timer-warning{background:#ef4444;animation:pulse 1s ease-in-out infinite}.header-right .end-btn{background:none;border:1px solid #e5e7eb;padding:.5rem 1rem;border-radius:.375rem;color:#6b7280;cursor:pointer;font-size:.875rem}.header-right .end-btn:hover{background:#f3f4f6;color:#374151}.timer-suggestion{background:#fef3c7;border-bottom:1px solid #fcd34d;padding:1rem 1.5rem;text-align:center}.timer-suggestion p{margin-bottom:.75rem;color:#92400e}.timer-actions{display:flex;gap:.5rem;justify-content:center}.practice-main{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem;width:100%}.trial-card{background:#fff;border-radius:1rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;padding:2rem;width:100%;max-width:560px}.trial-badge{margin-bottom:1.5rem}.badge{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.badge-new{background:#dbeafe;color:#1d4ed8}.badge-review{background:#f3f4f6;color:#6b7280}.cue-section{margin-bottom:2rem;text-align:center}.cue-label{color:#6b7280;font-size:.875rem;margin-bottom:.5rem}.cue-text{font-size:1.5rem;font-weight:600;color:#111827;margin-bottom:.5rem}.cue-hint{font-size:.875rem;color:#9ca3af}.cue-hint .pos{font-style:italic}.answer-section{display:flex;flex-direction:column;gap:1rem}.answer-input{width:100%;padding:1rem;border:2px solid #e5e7eb;border-radius:.5rem;font-size:1.125rem;text-align:center;outline:none;transition:border-color .2s}.answer-input:focus{border-color:#3b82f6}.answer-input::placeholder{color:#9ca3af}.trial-actions{display:flex;gap:.75rem}.no-idea-btn{flex:1}.check-btn{flex:2}.feedback-card{background:#fff;border-radius:1rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;padding:2rem;width:100%;max-width:560px;text-align:center}.feedback-card.correct{border-top:4px solid #10b981}.feedback-card.mostly-correct{border-top:4px solid #f59e0b}.feedback-card.incorrect{border-top:4px solid #ef4444}.feedback-card.revealed{border-top:4px solid #6b7280}.result-indicator{margin-bottom:1.5rem}.result-icon{font-size:1.25rem;font-weight:700}.correct-icon{color:#10b981}.mostly-correct-icon{color:#f59e0b}.incorrect-icon{color:#ef4444}.revealed-icon{color:#6b7280}.answer-comparison{margin-bottom:1.5rem}.user-answer,.correct-answer,.also-accepted{margin-bottom:.75rem}.also-accepted .value{font-size:1rem;font-weight:400;color:#6b7280}.answer-comparison .label{display:block;font-size:.75rem;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.answer-comparison .value{display:block;font-size:1.25rem;font-weight:600}.answer-comparison .value.correct{color:#10b981}.answer-comparison .value.mostly-correct{color:#f59e0b}.answer-comparison .value.incorrect{color:#ef4444;text-decoration:line-through}.accent-hint,.typo-hint,.gender-hint{font-size:.875rem;color:#d97706;background:#fef3c7;padding:.5rem 1rem;border-radius:.375rem;margin-top:.75rem}.article-highlight{color:#6366f1;font-weight:600}.audio-btn-inline{background:none;border:1px solid #e5e7eb;border-radius:50%;width:1.75rem;height:1.75rem;font-size:.875rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .2s;margin-left:.5rem;vertical-align:middle}.audio-btn-inline:hover{background:#f3f4f6;border-color:#d1d5db}.audio-btn-inline:active{transform:scale(.95)}.audio-btn-inline.diff-audio{border-radius:.375rem;width:auto;padding:.5rem .75rem;margin-left:0;margin-top:.75rem;font-size:.875rem;gap:.375rem}.word-diff-display{margin-bottom:1rem}.diff-row{margin-bottom:.75rem}.diff-row .label{display:block;font-size:.75rem;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.diff-words{display:flex;flex-wrap:wrap;gap:.375rem;font-size:1.125rem;font-weight:600}.diff-word{padding:.125rem .375rem;border-radius:.25rem;transition:all .15s}.diff-word.correct,.diff-word.matched{color:#10b981;background:#ecfdf5}.diff-word.extra{color:#ef4444;background:#fef2f2;text-decoration:line-through}.diff-word.missing{color:#3b82f6;background:#eff6ff;border:1px dashed #3b82f6}.diff-hint{font-size:.875rem;padding:.5rem .75rem;border-radius:.375rem;margin-top:.5rem}.diff-hint.missing{color:#1d4ed8;background:#eff6ff}.diff-hint.extra{color:#dc2626;background:#fef2f2}.status-change{margin-bottom:1.5rem;padding:.75rem;background:#f0fdf4;border-radius:.375rem;color:#166534;font-size:.875rem}.status-change .streak{color:#6b7280}.feedback-actions{display:flex;gap:.75rem;align-items:center}.btn-flag{display:flex;align-items:center;gap:.25rem;background:none;border:1px solid #e5e7eb;padding:.75rem 1rem;border-radius:.5rem;color:#6b7280;cursor:pointer;font-size:.875rem;transition:all .2s}.btn-flag:hover{background:#fef2f2;border-color:#fca5a5;color:#dc2626}.flag-icon{font-size:1rem}.btn-know{background:none;border:1px dashed #d1d5db;padding:.75rem 1rem;border-radius:.5rem;color:#6b7280;cursor:pointer;font-size:.875rem;transition:all .2s}.btn-know:hover:not(:disabled){background:#f0fdf4;border-color:#86efac;color:#16a34a}.btn-know:disabled{opacity:.5;cursor:not-allowed}.marked-known-badge{padding:.5rem .75rem;background:#f0fdf4;border:1px solid #86efac;border-radius:.5rem;color:#16a34a;font-size:.8125rem;font-weight:500}.continue-btn{flex:1;padding:1rem;font-size:1rem}.flag-context small{font-size:.75rem}.modal-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.5rem}.flag-success .success-icon{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;background:#10b981;color:#fff;border-radius:50%;font-size:1.5rem;margin-bottom:.75rem}.summary-container{background:#fff;border-radius:1rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;padding:2rem;width:100%;max-width:560px;margin:2rem auto;text-align:center}.summary-container h2{margin-bottom:1.5rem;color:#111827}.summary-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:2rem}.stat-item{padding:1rem;background:#f9fafb;border-radius:.5rem}.stat-value{display:block;font-size:1.5rem;font-weight:700;color:#111827}.stat-label{display:block;font-size:.75rem;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.words-practiced{margin-bottom:2rem;text-align:left}.words-practiced h3{font-size:.875rem;color:#6b7280;margin-bottom:.75rem}.word-chips{display:flex;flex-wrap:wrap;gap:.5rem}.word-chip{background:#e5e7eb;color:#374151;padding:.25rem .75rem;border-radius:9999px;font-size:.875rem}.summary-actions{display:flex;flex-direction:column;gap:.75rem}.vocab-practice .btn-primary{background:#7c3aed;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;cursor:pointer;transition:background .2s,transform .1s ease}.vocab-practice .btn-primary:active:not(:disabled){transform:scale(.96)}.vocab-practice .btn-primary:hover{background:#6d28d9}.vocab-practice .btn-primary:disabled{background:#c4b5fd;cursor:not-allowed}.vocab-practice .btn-primary.loading{background:#8b5cf6;position:relative;pointer-events:none}.vocab-practice .btn-primary.loading:after{content:"";position:absolute;width:1rem;height:1rem;top:50%;right:.75rem;margin-top:-.5rem;border:2px solid transparent;border-top-color:#fff;border-radius:50%;animation:button-spin .6s linear infinite}.btn-secondary{background:#fff;color:#374151;border:1px solid #e5e7eb;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;cursor:pointer;transition:background .2s;text-decoration:none;display:inline-block;text-align:center}.btn-secondary:hover{background:#f3f4f6}.audio-toggle{margin-top:1rem;padding-top:1rem;border-top:1px solid #e5e7eb;display:flex;justify-content:center}.toggle-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem;color:#6b7280;-webkit-user-select:none;user-select:none}.toggle-label input[type=checkbox]{width:1rem;height:1rem;cursor:pointer;accent-color:#2563eb}.toggle-text{color:#6b7280}@media(max-width:640px){.practice-header{position:sticky;top:0;z-index:100;padding:.75rem 1rem}.practice-main{padding:1rem}.trial-card,.feedback-card,.summary-container{padding:1.5rem}.cue-text{font-size:1.25rem}.trial-actions{flex-direction:column}.no-idea-btn,.check-btn{flex:none;width:100%}.vocab-practice.keyboard-visible .practice-main{padding:.5rem;align-items:flex-start}.vocab-practice.keyboard-visible .trial-card,.vocab-practice.keyboard-visible .feedback-card{padding:1rem}.vocab-practice.keyboard-visible .cue-section{margin-bottom:.75rem}.vocab-practice.keyboard-visible .cue-text{font-size:1.125rem}.vocab-practice.keyboard-visible .cue-hint{display:none}.vocab-practice.keyboard-visible .answer-section{gap:.75rem}.vocab-practice.keyboard-visible .answer-input{padding:.75rem;font-size:1rem}}.conjugation-practice{min-height:100vh;display:flex;flex-direction:column;background-color:var(--bg-primary, #f9fafb)}.conjugation-practice .loading-container,.conjugation-practice .error-container{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.conjugation-practice .error-container h2{color:#dc2626;margin-bottom:1rem}.conjugation-practice .error-container p{color:#6b7280;margin-bottom:1.5rem}.conjugation-practice .practice-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:#fff;border-bottom:1px solid #e5e7eb}.conjugation-practice .header-left .back-link{color:#6b7280;text-decoration:none;font-size:.875rem}.conjugation-practice .header-left .back-link:hover{color:#374151}.conjugation-practice .header-stats{display:flex;gap:1rem}.conjugation-practice .header-stats .stat{font-weight:600;color:#374151}.conjugation-practice .header-stats .new-forms{color:#f97316}.conjugation-practice .header-stats .timer{background:#3b82f6;color:#fff;padding:.25rem .75rem;border-radius:1rem;font-variant-numeric:tabular-nums}.conjugation-practice .header-stats .timer-warning{background:#ef4444;animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.conjugation-practice .header-right .end-btn{background:none;border:1px solid #e5e7eb;padding:.5rem 1rem;border-radius:.375rem;color:#6b7280;cursor:pointer;font-size:.875rem}.conjugation-practice .header-right .end-btn:hover{background:#f3f4f6;color:#374151}.conjugation-practice .timer-suggestion{background:#fef3c7;border-bottom:1px solid #fcd34d;padding:1rem 1.5rem;text-align:center}.conjugation-practice .timer-suggestion p{margin-bottom:.75rem;color:#92400e}.conjugation-practice .timer-actions{display:flex;gap:.5rem;justify-content:center}.conjugation-practice .practice-main{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem;width:100%}.conjugation-practice .trial-card{background:#fff;border-radius:1rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;padding:2rem;width:100%;max-width:600px}.conjugation-practice .trial-badge{margin-bottom:1.5rem}.conjugation-practice .badge{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.conjugation-practice .badge-new{background:#fff7ed;color:#f97316}.conjugation-practice .badge-review{background:#f3f4f6;color:#6b7280}.conjugation-practice .cue-section{margin-bottom:1.5rem;text-align:center}.conjugation-practice .cue-label{color:#6b7280;font-size:.875rem;margin-bottom:.5rem}.conjugation-practice .cue-text{font-size:1.25rem;font-weight:600;color:#111827;margin-bottom:.5rem;line-height:1.6}.conjugation-practice .cue-translation{font-size:.875rem;color:#9ca3af;font-style:italic}.conjugation-practice .hint-section{margin-bottom:1.5rem;text-align:center}.conjugation-practice .hint-toggle{background:none;border:1px dashed #d1d5db;padding:.5rem 1rem;border-radius:.5rem;color:#6b7280;cursor:pointer;font-size:.875rem;transition:all .2s}.conjugation-practice .hint-toggle:hover{border-color:#9ca3af;color:#374151}.conjugation-practice .hint-content{background:#f9fafb;border:1px solid #e5e7eb;padding:.75rem 1rem;border-radius:.5rem;font-size:.875rem;color:#4b5563}.conjugation-practice .hint-content p{margin:.25rem 0}.conjugation-practice .hint-content strong{color:#111827}.conjugation-practice .answer-section{display:flex;flex-direction:column;gap:1rem}.conjugation-practice .answer-input{width:100%;padding:1rem;border:2px solid #e5e7eb;border-radius:.5rem;font-size:1.125rem;text-align:center;outline:none;transition:border-color .2s}.conjugation-practice .answer-input:focus{border-color:#f97316}.conjugation-practice .answer-input::placeholder{color:#9ca3af}.conjugation-practice .trial-actions{display:flex;gap:.75rem}.conjugation-practice .no-idea-btn{flex:1}.conjugation-practice .check-btn{flex:2}.conjugation-practice .feedback-card{background:#fff;border-radius:1rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;padding:2rem;width:100%;max-width:600px;text-align:center}.conjugation-practice .feedback-card.correct{border-top:4px solid #10b981}.conjugation-practice .feedback-card.mostly-correct{border-top:4px solid #f59e0b}.conjugation-practice .feedback-card.incorrect{border-top:4px solid #ef4444}.conjugation-practice .result-indicator{margin-bottom:1.5rem}.conjugation-practice .result-icon{font-size:1.25rem;font-weight:700}.conjugation-practice .correct-icon{color:#10b981}.conjugation-practice .mostly-correct-icon{color:#f59e0b}.conjugation-practice .incorrect-icon{color:#ef4444}.conjugation-practice .revealed-icon{color:#6b7280}.conjugation-practice .feedback-sentence{margin-bottom:1.5rem;padding:1.25rem;background:#fff7ed;border-radius:.75rem}.conjugation-practice .sentence-complete{font-size:1.25rem;color:#1f2937;margin:0 0 .5rem;line-height:1.6}.conjugation-practice .answer-highlight{font-weight:700;color:#f97316;background:#ffedd5;padding:.125rem .375rem;border-radius:.25rem}.conjugation-practice .feedback-card.correct .answer-highlight{color:#059669;background:#d1fae5}.conjugation-practice .feedback-card.mostly-correct .answer-highlight{color:#d97706;background:#fef3c7}.conjugation-practice .feedback-card.incorrect .answer-highlight{color:#dc2626;background:#fee2e2}.conjugation-practice .sentence-with-audio{display:flex;align-items:center;justify-content:center;gap:.75rem}.conjugation-practice .audio-btn{background:none;border:1px solid #e5e7eb;border-radius:50%;width:2.5rem;height:2.5rem;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.conjugation-practice .audio-btn:hover{background:#f3f4f6;border-color:#d1d5db}.conjugation-practice .audio-btn:active{transform:scale(.95)}.conjugation-practice .sentence-translation{font-size:.9375rem;color:#6b7280;margin:0;font-style:italic}.conjugation-practice .answer-comparison{margin-bottom:1.5rem;padding-top:1rem;border-top:1px solid #e5e7eb}.conjugation-practice .user-answer,.conjugation-practice .correct-answer,.conjugation-practice .also-accepted{margin-bottom:.75rem}.conjugation-practice .also-accepted .value{font-size:1rem;font-weight:400;color:#6b7280}.conjugation-practice .answer-comparison .label{display:block;font-size:.75rem;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.conjugation-practice .answer-comparison .value{display:block;font-size:1.25rem;font-weight:600}.conjugation-practice .answer-comparison .value.correct{color:#10b981}.conjugation-practice .answer-comparison .value.mostly-correct{color:#f59e0b}.conjugation-practice .answer-comparison .value.incorrect{color:#ef4444;text-decoration:line-through}.conjugation-practice .accent-hint,.conjugation-practice .typo-hint{font-size:.875rem;color:#d97706;background:#fef3c7;padding:.5rem 1rem;border-radius:.375rem;margin-top:.75rem}.conjugation-practice .status-change{margin-bottom:1.5rem;padding:.75rem;background:#f0fdf4;border-radius:.375rem;color:#166534;font-size:.875rem}.conjugation-practice .feedback-actions{display:flex;gap:.75rem;align-items:center}.conjugation-practice .btn-flag{display:flex;align-items:center;gap:.25rem;background:none;border:1px solid #e5e7eb;padding:.75rem 1rem;border-radius:.5rem;color:#6b7280;cursor:pointer;font-size:.875rem;transition:all .2s}.conjugation-practice .btn-flag:hover{background:#fef2f2;border-color:#fca5a5;color:#dc2626}.conjugation-practice .flag-icon{font-size:1rem}.conjugation-practice .continue-btn{flex:1;padding:1rem;font-size:1rem}.conjugation-practice .modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.conjugation-practice .modal-content{background:#fff;border-radius:1rem;padding:1.5rem;width:100%;max-width:400px;box-shadow:0 20px 25px -5px #0000001a}.conjugation-practice .modal-content h3{margin:0 0 1rem;color:#111827}.conjugation-practice .flag-form{display:flex;flex-direction:column;gap:1rem}.conjugation-practice .flag-form label{display:flex;flex-direction:column;gap:.375rem;font-size:.875rem;color:#374151}.conjugation-practice .flag-form select,.conjugation-practice .flag-form textarea{padding:.625rem;border:1px solid #e5e7eb;border-radius:.375rem;font-size:.875rem;font-family:inherit}.conjugation-practice .flag-form select:focus,.conjugation-practice .flag-form textarea:focus{outline:none;border-color:#f97316}.conjugation-practice .flag-form textarea{resize:vertical;min-height:80px}.conjugation-practice .flag-context{padding:.5rem;background:#f9fafb;border-radius:.375rem;color:#6b7280}.conjugation-practice .flag-context small{font-size:.75rem}.conjugation-practice .modal-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.5rem}.conjugation-practice .modal-actions .btn-secondary,.conjugation-practice .modal-actions .btn-primary{padding:.5rem 1rem;font-size:.875rem}.conjugation-practice .flag-success{text-align:center;padding:2rem 1rem}.conjugation-practice .flag-success .success-icon{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;background:#10b981;color:#fff;border-radius:50%;font-size:1.5rem;margin-bottom:.75rem}.conjugation-practice .flag-success p{margin:0;color:#374151;font-weight:500}.conjugation-practice .summary-container{background:#fff;border-radius:1rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;padding:2rem;width:100%;max-width:600px;margin:2rem auto;text-align:center}.conjugation-practice .summary-container h2{margin-bottom:1.5rem;color:#111827}.conjugation-practice .summary-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:2rem}.conjugation-practice .stat-item{padding:1rem;background:#f9fafb;border-radius:.5rem}.conjugation-practice .stat-value{display:block;font-size:1.5rem;font-weight:700;color:#111827}.conjugation-practice .stat-label{display:block;font-size:.75rem;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.conjugation-practice .verbs-practiced,.conjugation-practice .tenses-practiced{margin-bottom:1.5rem;text-align:left}.conjugation-practice .verbs-practiced h3,.conjugation-practice .tenses-practiced h3{font-size:.875rem;color:#6b7280;margin-bottom:.75rem}.conjugation-practice .verb-chips,.conjugation-practice .tense-chips-summary{display:flex;flex-wrap:wrap;gap:.5rem}.conjugation-practice .verb-chip,.conjugation-practice .tense-chip-summary{background:#e5e7eb;color:#374151;padding:.25rem .75rem;border-radius:9999px;font-size:.875rem}.conjugation-practice .tense-chip-summary{background:#ffedd5;color:#ea580c}.conjugation-practice .summary-actions{display:flex;flex-direction:column;gap:.75rem}.conjugation-practice .btn-primary{background:#f97316;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;cursor:pointer;transition:background .2s,transform .1s ease}.conjugation-practice .btn-primary:active:not(:disabled){transform:scale(.96)}.conjugation-practice .btn-primary:hover{background:#ea580c}.conjugation-practice .btn-primary:disabled{background:#fdba74;cursor:not-allowed}.conjugation-practice .btn-primary.loading{background:#fb923c;position:relative;pointer-events:none}.conjugation-practice .btn-primary.loading:after{content:"";position:absolute;width:1rem;height:1rem;top:50%;right:.75rem;margin-top:-.5rem;border:2px solid transparent;border-top-color:#fff;border-radius:50%;animation:button-spin .6s linear infinite}.conjugation-practice .btn-secondary{background:#fff;color:#374151;border:1px solid #e5e7eb;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;cursor:pointer;transition:background .2s;text-decoration:none;display:inline-block;text-align:center}.conjugation-practice .btn-secondary:hover{background:#f3f4f6}.conjugation-practice .audio-toggle{margin-top:1rem;padding-top:1rem;border-top:1px solid #e5e7eb;display:flex;justify-content:center}.conjugation-practice .toggle-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem;color:#6b7280;-webkit-user-select:none;user-select:none}.conjugation-practice .toggle-label input[type=checkbox]{width:1rem;height:1rem;cursor:pointer;accent-color:#2563eb}.conjugation-practice .toggle-text{color:#6b7280}@media(max-width:640px){.conjugation-practice .practice-header{position:sticky;top:0;z-index:100;padding:.75rem 1rem}.conjugation-practice .practice-main{padding:1rem}.conjugation-practice .trial-card,.conjugation-practice .feedback-card,.conjugation-practice .summary-container{padding:1.5rem}.conjugation-practice .cue-text{font-size:1.125rem}.conjugation-practice .trial-actions{flex-direction:column}.conjugation-practice .no-idea-btn,.conjugation-practice .check-btn{flex:none;width:100%}.conjugation-practice.keyboard-visible .practice-main{padding:.5rem;align-items:flex-start}.conjugation-practice.keyboard-visible .trial-card,.conjugation-practice.keyboard-visible .feedback-card{padding:1rem}.conjugation-practice.keyboard-visible .cue-section{margin-bottom:.75rem}.conjugation-practice.keyboard-visible .cue-text{font-size:1rem}.conjugation-practice.keyboard-visible .trial-badge{display:none}.conjugation-practice.keyboard-visible .hint-section{margin-bottom:.5rem}.conjugation-practice.keyboard-visible .answer-section{gap:.75rem}.conjugation-practice.keyboard-visible .answer-input{padding:.75rem;font-size:1rem}}.number-practice{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#fef3c7,#fde68a)}.number-practice .practice-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#fff;box-shadow:0 2px 4px #0000001a}.number-practice .back-link{color:#6b7280;text-decoration:none;font-weight:500}.number-practice .back-link:hover{color:#374151}.number-practice .session-stats{display:flex;gap:1rem;align-items:center}.number-practice .timer{font-size:1.25rem;font-weight:700;color:#d97706;font-variant-numeric:tabular-nums}.number-practice .timer.times-up{color:#ef4444;animation:pulse-red 1s ease-in-out infinite}@keyframes pulse-red{0%,to{opacity:1}50%{opacity:.6}}.number-practice .score{font-size:1.125rem;font-weight:600;color:#374151}.number-practice .btn-end{padding:.5rem 1rem;border:1px solid #d1d5db;border-radius:.375rem;background:#fff;color:#6b7280;cursor:pointer}.number-practice .btn-end:hover{background:#f3f4f6}.number-practice .practice-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem}.number-practice .loading-container,.number-practice .error-container,.number-practice .complete-container{text-align:center;padding:2rem;background:#fff;border-radius:1rem;box-shadow:0 4px 12px #0000001a;max-width:400px;width:100%;margin:auto}.number-practice .spinner{width:40px;height:40px;border:3px solid #f3f4f6;border-top-color:#d97706;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.number-practice .trial-card{background:#fff;border-radius:1rem;box-shadow:0 4px 12px #0000001a;padding:2rem;width:100%;max-width:400px;text-align:center}.number-practice .category-badge{display:inline-block;padding:.25rem .75rem;background:#fef3c7;color:#92400e;border-radius:9999px;font-size:.875rem;font-weight:500;text-transform:capitalize;margin-bottom:1.5rem}.number-practice .audio-section{margin-bottom:2rem;display:flex;flex-direction:column;align-items:center}.number-practice .play-button{width:80px;height:80px;border-radius:50%;border:none;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-size:2rem;cursor:pointer;box-shadow:0 4px 12px #d977064d;transition:transform .2s,box-shadow .2s;display:flex;align-items:center;justify-content:center}.number-practice .play-icon{font-size:1.5rem;font-weight:700}.number-practice .play-button:hover:not(:disabled){transform:scale(1.05);box-shadow:0 6px 16px #d9770666}.number-practice .play-button:disabled{opacity:.7;cursor:not-allowed}.number-practice .play-button.playing{animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.number-practice .audio-hint{color:#6b7280;font-size:.875rem;margin-top:.75rem}.number-practice .input-section{margin-bottom:1.5rem}.number-practice .input-section label{display:block;font-weight:500;color:#374151;margin-bottom:.5rem}.number-practice .input-section input{width:100%;padding:1rem;font-size:1.5rem;text-align:center;border:2px solid #e5e7eb;border-radius:.5rem;letter-spacing:.25em;font-variant-numeric:tabular-nums}.number-practice .input-section input:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b33}.number-practice .input-section input::placeholder{color:#d1d5db;letter-spacing:.15em}.number-practice .action-buttons{display:flex;gap:1rem}.number-practice .btn-primary{flex:1;padding:.875rem 1.5rem;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s,transform .1s ease}.number-practice .btn-primary:active:not(:disabled){transform:scale(.96)}.number-practice .btn-primary:hover:not(:disabled){opacity:.9}.number-practice .btn-primary:disabled{opacity:.5;cursor:not-allowed}.number-practice .btn-primary.loading{background:linear-gradient(135deg,#fbbf24,#f59e0b);position:relative;pointer-events:none}.number-practice .btn-primary.loading:after{content:"";position:absolute;width:1rem;height:1rem;top:50%;right:.75rem;margin-top:-.5rem;border:2px solid transparent;border-top-color:#fff;border-radius:50%;animation:button-spin .6s linear infinite}.number-practice .btn-secondary{flex:1;padding:.875rem 1.5rem;background:#fff;color:#6b7280;border:1px solid #e5e7eb;border-radius:.5rem;font-size:1rem;font-weight:500;cursor:pointer}.number-practice .btn-secondary:hover:not(:disabled){background:#f9fafb}.number-practice .feedback-card{background:#fff;border-radius:1rem;box-shadow:0 4px 12px #0000001a;padding:2rem;width:100%;max-width:400px;text-align:center}.number-practice .feedback-card.correct{border:3px solid #10b981}.number-practice .feedback-card.incorrect{border:3px solid #ef4444}.number-practice .result-indicator{margin-bottom:1.5rem}.number-practice .result-icon{font-size:1.5rem;font-weight:700;padding:.5rem 1.5rem;border-radius:9999px}.number-practice .correct-icon{color:#065f46;background:#d1fae5}.number-practice .incorrect-icon{color:#991b1b;background:#fee2e2}.number-practice .revealed-icon{color:#6b7280;background:#f3f4f6}.number-practice .answer-display{margin-bottom:1.5rem;text-align:left;padding:1rem;background:#f9fafb;border-radius:.5rem}.number-practice .correct-answer,.number-practice .spoken-form,.number-practice .user-answer{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #e5e7eb}.number-practice .correct-answer:last-child,.number-practice .spoken-form:last-child,.number-practice .user-answer:last-child{border-bottom:none}.number-practice .answer-label,.number-practice .spoken-label{color:#6b7280;font-size:.875rem}.number-practice .answer-value{font-weight:600;font-size:1.125rem}.number-practice .answer-value.wrong{color:#dc2626;text-decoration:line-through}.number-practice .spoken-value{font-style:italic;color:#374151}.number-practice .cultural-note{margin-top:1rem;padding:.75rem 1rem;background:#f0fdf4;border-left:4px solid #22c55e;border-radius:0 .375rem .375rem 0;display:flex;align-items:flex-start;gap:.5rem}.number-practice .note-icon{flex-shrink:0;font-size:1rem}.number-practice .note-text{font-size:.875rem;color:#166534;line-height:1.5}.number-practice .feedback-actions{display:flex;gap:.75rem;align-items:center}.number-practice .replay-button{display:flex;align-items:center;gap:.25rem;background:none;border:1px solid #e5e7eb;padding:.75rem 1rem;border-radius:.5rem;color:#6b7280;cursor:pointer;font-size:.875rem;transition:all .2s}.number-practice .replay-button:hover{background:#fef3c7;border-color:#fcd34d;color:#92400e}.number-practice .btn-flag{display:flex;align-items:center;gap:.25rem;background:none;border:1px solid #e5e7eb;padding:.75rem 1rem;border-radius:.5rem;color:#6b7280;cursor:pointer;font-size:.875rem;transition:all .2s}.number-practice .btn-flag:hover{background:#fef2f2;border-color:#fca5a5;color:#dc2626}.number-practice .flag-icon{font-size:1rem}.number-practice .continue-btn{flex:1;padding:1rem;font-size:1rem}.number-practice .modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.number-practice .modal-content{background:#fff;border-radius:1rem;padding:1.5rem;width:100%;max-width:400px;box-shadow:0 20px 25px -5px #0000001a}.number-practice .modal-content h3{margin:0 0 1rem;color:#111827}.number-practice .flag-form{display:flex;flex-direction:column;gap:1rem}.number-practice .flag-form label{display:flex;flex-direction:column;gap:.375rem;font-size:.875rem;color:#374151}.number-practice .flag-form select,.number-practice .flag-form textarea{padding:.625rem;border:1px solid #e5e7eb;border-radius:.375rem;font-size:.875rem;font-family:inherit}.number-practice .flag-form select:focus,.number-practice .flag-form textarea:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 2px #f59e0b33}.number-practice .flag-form textarea{resize:vertical;min-height:80px}.number-practice .flag-context{padding:.5rem;background:#f9fafb;border-radius:.375rem;color:#6b7280}.number-practice .flag-context small{font-size:.75rem}.number-practice .modal-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.5rem}.number-practice .modal-actions .btn-secondary,.number-practice .modal-actions .btn-primary{padding:.5rem 1rem;font-size:.875rem}.number-practice .flag-success{text-align:center;padding:2rem 1rem}.number-practice .flag-success .success-icon{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;background:#10b981;color:#fff;border-radius:50%;font-size:1.5rem;margin-bottom:.75rem}.number-practice .flag-success p{margin:0;color:#374151;font-weight:500}.number-practice .category-accuracy{color:#6b7280;font-size:.875rem;margin-bottom:1.5rem}.number-practice .continue-btn{width:100%}.number-practice .summary-card{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin:1.5rem 0}.number-practice .summary-stat{padding:1rem;background:#fef3c7;border-radius:.5rem;text-align:center}.number-practice .stat-value{display:block;font-size:1.5rem;font-weight:700;color:#92400e}.number-practice .stat-label{font-size:.75rem;color:#78716c;text-transform:uppercase;letter-spacing:.05em}.number-practice .complete-container .btn-primary{margin-top:1rem}.number-practice .continue-btn.loading{background:#60a5fa;position:relative;pointer-events:none}.number-practice .continue-btn.loading:after{content:"";position:absolute;width:1rem;height:1rem;top:50%;right:.75rem;margin-top:-.5rem;border:2px solid transparent;border-top-color:#fff;border-radius:50%;animation:button-spin .6s linear infinite}@keyframes button-spin{to{transform:rotate(360deg)}}@media(max-width:640px){.number-practice .practice-header{position:sticky;top:0;z-index:100}.number-practice .trial-card,.number-practice .feedback-card{padding:1.5rem;border-radius:.75rem}.number-practice .play-button{width:70px;height:70px;font-size:1.75rem}.number-practice .input-section input{font-size:1.25rem;padding:.875rem}.number-practice.keyboard-visible .practice-content{padding:.5rem;justify-content:flex-start}.number-practice.keyboard-visible .trial-card,.number-practice.keyboard-visible .feedback-card{padding:1rem}.number-practice.keyboard-visible .category-badge{margin-bottom:.75rem}.number-practice.keyboard-visible .audio-section{margin-bottom:1rem}.number-practice.keyboard-visible .play-button{width:60px;height:60px}.number-practice.keyboard-visible .audio-hint{display:none}.number-practice.keyboard-visible .input-section{margin-bottom:1rem}.number-practice.keyboard-visible .input-section input{font-size:1.125rem;padding:.75rem}}.reading-practice{max-width:900px;margin:0 auto;padding:1rem}.reading-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color, #e5e7eb)}.reading-header h1{font-size:1.5rem;margin:0;color:var(--text-primary, #1f2937)}.back-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid var(--border-color, #e5e7eb);border-radius:.375rem;background:#fff;color:var(--text-secondary, #6b7280);font-size:.875rem;cursor:pointer;transition:all .15s}.back-button:hover{background:var(--bg-secondary, #f9fafb);color:var(--text-primary, #1f2937)}.article-list{display:grid;gap:1rem}.article-card{display:flex;flex-direction:column;padding:1.25rem;background:#fff;border:1px solid var(--border-color, #e5e7eb);border-radius:.5rem;cursor:pointer;transition:all .15s}.article-card:hover{border-color:var(--primary-color, #3b82f6);box-shadow:0 2px 8px #3b82f61a}.article-card.completed{opacity:.7;background:var(--bg-secondary, #f9fafb)}.article-meta{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.article-category{display:inline-flex;align-items:center;padding:.25rem .5rem;background:var(--primary-light, #eff6ff);color:var(--primary-color, #3b82f6);font-size:.75rem;font-weight:500;border-radius:9999px;text-transform:capitalize}.article-source{font-size:.75rem;color:var(--text-secondary, #6b7280)}.article-status{font-size:.625rem;font-weight:600;padding:.125rem .375rem;border-radius:9999px;text-transform:uppercase;letter-spacing:.025em;margin-left:auto}.article-status.new{background:var(--success-light, #ecfdf5);color:var(--success-color, #10b981)}.article-status.completed{background:var(--bg-secondary, #f3f4f6);color:var(--text-secondary, #6b7280)}.article-title{font-size:1.125rem;font-weight:600;color:var(--text-primary, #1f2937);margin:0;line-height:1.4}.tier-selector{display:flex;gap:.5rem;margin-bottom:1rem}.tier-button{flex:1;padding:.75rem;border:2px solid var(--border-color, #e5e7eb);border-radius:.5rem;background:#fff;cursor:pointer;transition:all .15s;text-align:center}.tier-button:hover{border-color:var(--primary-color, #3b82f6)}.tier-button.selected{border-color:var(--primary-color, #3b82f6);background:var(--primary-light, #eff6ff)}.tier-label{font-size:1rem;font-weight:600;color:var(--text-primary, #1f2937)}.tier-desc{font-size:.75rem;color:var(--text-secondary, #6b7280);margin-top:.25rem}.tier-indicator{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--primary-light, #eff6ff);border-radius:.5rem;margin-bottom:1rem;font-size:.875rem;color:var(--text-secondary, #6b7280)}.tier-indicator strong{color:var(--primary-color, #3b82f6)}.change-tier-link{margin-left:auto;background:none;border:none;color:var(--primary-color, #3b82f6);cursor:pointer;font-size:.875rem;text-decoration:underline}.article-detail{background:#fff;border:1px solid var(--border-color, #e5e7eb);border-radius:.5rem;overflow:hidden}.article-detail-header{padding:1.25rem;border-bottom:1px solid var(--border-color, #e5e7eb)}.article-detail-header h2{font-size:1.25rem;font-weight:600;margin:0 0 .5rem;color:var(--text-primary, #1f2937)}.article-detail-meta{display:flex;align-items:center;gap:1rem;font-size:.875rem;color:var(--text-secondary, #6b7280)}.article-content{padding:1.5rem;line-height:1.8;font-size:1.0625rem;color:var(--text-primary, #1f2937);background:var(--bg-secondary, #f9fafb);max-height:400px;overflow-y:auto}.article-content p{margin:0 0 1rem}.article-content p:last-child{margin-bottom:0}.questions-section{padding:1.25rem;border-top:1px solid var(--border-color, #e5e7eb)}.questions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.questions-header h3{font-size:1rem;font-weight:600;margin:0;color:var(--text-primary, #1f2937)}.question-progress{font-size:.875rem;color:var(--text-secondary, #6b7280)}.question-card{background:#fff;border:1px solid var(--border-color, #e5e7eb);border-radius:.5rem;padding:1.25rem}.question-tier{display:inline-flex;align-items:center;padding:.25rem .5rem;background:var(--bg-secondary, #f3f4f6);color:var(--text-secondary, #6b7280);font-size:.75rem;font-weight:500;border-radius:9999px;margin-bottom:.75rem}.question-text{font-size:1rem;font-weight:500;color:var(--text-primary, #1f2937);margin-bottom:1rem}.question-options{display:flex;flex-direction:column;gap:.5rem}.option-button{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:#fff;border:2px solid var(--border-color, #e5e7eb);border-radius:.5rem;text-align:left;cursor:pointer;transition:all .15s}.option-button:hover:not(:disabled){border-color:var(--primary-color, #3b82f6);background:var(--primary-light, #eff6ff)}.option-button:active:not(:disabled){transform:scale(.98)}.option-button.selected{border-color:var(--primary-color, #3b82f6);background:var(--primary-light, #eff6ff)}.option-button.correct{border-color:var(--success-color, #10b981);background:#ecfdf5}.option-button.incorrect{border-color:var(--error-color, #ef4444);background:#fef2f2}.option-button:disabled{cursor:default}.option-letter{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background:var(--bg-secondary, #f3f4f6);border-radius:9999px;font-size:.75rem;font-weight:600;color:var(--text-secondary, #6b7280);flex-shrink:0}.option-button.selected .option-letter,.option-button:hover:not(:disabled) .option-letter{background:var(--primary-color, #3b82f6);color:#fff}.option-button.correct .option-letter{background:var(--success-color, #10b981);color:#fff}.option-button.incorrect .option-letter{background:var(--error-color, #ef4444);color:#fff}.option-text{font-size:.9375rem;color:var(--text-primary, #1f2937)}.original-article-link{display:block;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border-color, #e5e7eb);font-size:.875rem;color:var(--text-secondary, #6b7280);text-decoration:none;transition:color .15s}.original-article-link:hover{color:var(--primary-color, #3b82f6)}.question-feedback{margin-top:1rem;padding:.75rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:500}.question-feedback.correct{background:#ecfdf5;color:var(--success-color, #10b981)}.question-feedback.incorrect{background:#fef2f2;color:var(--error-color, #ef4444)}.question-actions{display:flex;gap:.75rem;margin-top:1rem;align-items:center}.question-actions .next-question-button{flex:1;margin-top:0}.next-question-button{margin-top:1.25rem;padding:.75rem;background:var(--primary-color, #3b82f6);color:#fff;border:none;border-radius:.5rem;font-size:.9375rem;font-weight:500;cursor:pointer;transition:background .15s,transform .1s ease}.next-question-button:active:not(:disabled){transform:scale(.96)}.next-question-button:hover{background:var(--primary-dark, #2563eb)}.btn-flag{display:flex;align-items:center;gap:.25rem;padding:.5rem .75rem;background:#fff;border:1px solid var(--border-color, #e5e7eb);border-radius:.375rem;font-size:.8125rem;color:var(--text-secondary, #6b7280);cursor:pointer;transition:all .15s;white-space:nowrap}.btn-flag:hover{background:var(--bg-secondary, #f9fafb);border-color:var(--text-secondary, #9ca3af);color:var(--text-primary, #1f2937)}.modal-content{background:#fff;border-radius:.5rem;padding:1.5rem;max-width:400px;width:100%;box-shadow:0 20px 25px -5px #0000001a}.modal-content h3{font-size:1.125rem;font-weight:600;margin:0 0 1rem;color:var(--text-primary, #1f2937)}.flag-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem;font-weight:500;color:var(--text-primary, #1f2937)}.flag-form select,.flag-form textarea{padding:.5rem;border:1px solid var(--border-color, #e5e7eb);border-radius:.375rem;font-size:.875rem;font-family:inherit}.flag-form select:focus,.flag-form textarea:focus{outline:none;border-color:var(--primary-color, #3b82f6);box-shadow:0 0 0 2px #3b82f61a}.flag-context{padding:.75rem;background:var(--bg-secondary, #f9fafb);border-radius:.375rem}.flag-context small{color:var(--text-secondary, #6b7280);font-size:.75rem;line-height:1.5}.modal-actions .btn-secondary{padding:.5rem 1rem;background:#fff;border:1px solid var(--border-color, #e5e7eb);border-radius:.375rem;font-size:.875rem;color:var(--text-secondary, #6b7280);cursor:pointer;transition:all .15s}.modal-actions .btn-secondary:hover{background:var(--bg-secondary, #f9fafb)}.modal-actions .btn-primary{padding:.5rem 1rem;background:var(--primary-color, #3b82f6);border:none;border-radius:.375rem;font-size:.875rem;color:#fff;cursor:pointer;transition:background .15s}.modal-actions .btn-primary:hover{background:var(--primary-dark, #2563eb)}.modal-actions button:disabled{opacity:.6;cursor:not-allowed}.flag-success{text-align:center;padding:1.5rem}.flag-success .success-icon{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;background:#ecfdf5;color:var(--success-color, #10b981);border-radius:50%;font-size:1.5rem;margin-bottom:.75rem}.flag-success p{margin:0;color:var(--text-primary, #1f2937);font-weight:500}.session-complete{text-align:center;padding:2rem}.session-complete h2{font-size:1.5rem;margin-bottom:.5rem;color:var(--text-primary, #1f2937)}.session-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin:1.5rem 0}.stat-card{padding:1rem;background:var(--bg-secondary, #f9fafb);border-radius:.5rem}.stat-value{font-size:1.5rem;font-weight:700;color:var(--primary-color, #3b82f6)}.stat-label{font-size:.75rem;color:var(--text-secondary, #6b7280);margin-top:.25rem}.translation-comparison{margin:1.5rem 0;text-align:left}.translation-comparison h3{font-size:1rem;font-weight:600;margin:0 0 1rem;color:var(--text-primary, #1f2937);text-align:center}.translation-columns{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:768px){.translation-columns{grid-template-columns:1fr}}.translation-column{padding:1rem;background:var(--bg-secondary, #f9fafb);border:1px solid var(--border-color, #e5e7eb);border-radius:.5rem}.translation-column.portuguese{border-left:3px solid var(--primary-color, #3b82f6)}.translation-column.english{border-left:3px solid var(--success-color, #10b981)}.translation-column-header{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary, #6b7280);margin-bottom:.75rem}.translation-title{font-size:1rem;color:var(--text-primary, #1f2937);margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color, #e5e7eb)}.translation-summary{font-size:.875rem;line-height:1.6;color:var(--text-primary, #1f2937)}.translation-summary p{margin:0 0 .5rem}.translation-summary p:last-child{margin-bottom:0}.complete-actions{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.primary-button{padding:.75rem 1.5rem;background:var(--primary-color, #3b82f6);color:#fff;border:none;border-radius:.5rem;font-size:.9375rem;font-weight:500;cursor:pointer;transition:background .15s,transform .1s ease}.primary-button:hover{background:var(--primary-dark, #2563eb)}.primary-button:active{transform:scale(.96)}.secondary-button{padding:.75rem 1.5rem;background:#fff;color:var(--text-primary, #1f2937);border:1px solid var(--border-color, #e5e7eb);border-radius:.5rem;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .15s,transform .1s ease}.secondary-button:hover{background:var(--bg-secondary, #f9fafb)}.secondary-button:active{transform:scale(.96)}.loading-message{text-align:center;padding:3rem;color:var(--text-secondary, #6b7280)}.loading-subtext{font-size:.8rem;opacity:.6;margin-top:.75rem;line-height:1.5}.loading-spinner{width:2rem;height:2rem;border:2px solid var(--border-color, #e5e7eb);border-top-color:var(--primary-color, #3b82f6);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 1rem}.empty-state{text-align:center;padding:3rem;background:var(--bg-secondary, #f9fafb);border-radius:.5rem}.empty-state-icon{font-size:3rem;margin-bottom:1rem}.empty-state h3{font-size:1.125rem;color:var(--text-primary, #1f2937);margin-bottom:.5rem}.empty-state p{color:var(--text-secondary, #6b7280);font-size:.875rem}.error-message{padding:1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;color:var(--error-color, #ef4444);text-align:center}@media(max-width:640px){.reading-practice{padding:.75rem}.reading-header{flex-direction:column;align-items:flex-start;gap:.75rem}.tier-selector{flex-direction:column}.session-stats{grid-template-columns:1fr}.complete-actions{flex-direction:column}}.pico-chat{display:flex;flex-direction:column;height:100%;min-height:400px;max-height:600px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-background);overflow:hidden}.pico-chat-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem}.pico-chat-message{display:flex;align-items:flex-start;gap:.75rem;max-width:85%}.pico-chat-message-assistant{align-self:flex-start}.pico-chat-message-user{align-self:flex-end;flex-direction:row-reverse}.pico-chat-avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;overflow:hidden;background:var(--color-surface);border:2px solid var(--color-border)}.pico-chat-avatar img{width:100%;height:100%;object-fit:cover}.pico-chat-bubble{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:.75rem 1rem;box-shadow:var(--shadow)}.pico-chat-message-assistant .pico-chat-bubble{border-top-left-radius:4px}.pico-chat-message-user .pico-chat-bubble{background:var(--color-primary);color:#fff;border-color:var(--color-primary);border-top-right-radius:4px}.pico-chat-content{font-size:.9375rem;line-height:1.5}.pico-chat-content strong{font-weight:600}.pico-chat-content em{font-style:italic}.pico-chat-typing{display:flex;gap:4px;padding:.25rem 0}.pico-chat-typing span{width:8px;height:8px;background:var(--color-secondary);border-radius:50%;animation:pico-chat-bounce 1.4s infinite ease-in-out both}.pico-chat-typing span:nth-child(1){animation-delay:-.32s}.pico-chat-typing span:nth-child(2){animation-delay:-.16s}@keyframes pico-chat-bounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.pico-chat-input-area{display:flex;gap:.75rem;padding:1rem;background:var(--color-surface);border-top:1px solid var(--color-border)}.pico-chat-input{flex:1;padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius);font-size:.9375rem;font-family:inherit;resize:none;min-height:44px;max-height:120px;background:var(--color-background);color:var(--color-text)}.pico-chat-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #3b82f61a}.pico-chat-input:disabled{background:var(--color-surface);opacity:.6;cursor:not-allowed}.pico-chat-input::placeholder{color:var(--color-text-muted)}.pico-chat-send{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius);cursor:pointer;transition:background .2s}.pico-chat-send:hover:not(:disabled){background:var(--color-primary-hover)}.pico-chat-send:disabled{background:var(--color-border);cursor:not-allowed}.pico-chat-send svg{width:20px;height:20px}.pico-chat-disclaimer{padding:.5rem 1rem;text-align:center;font-size:.75rem;color:var(--color-text-muted, #94a3b8);background:var(--color-surface, #f8fafc);border-top:1px solid var(--color-border, #e2e8f0)}.pico-chat-continue-card{align-self:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem 1.5rem;text-align:center;margin:.5rem 0;box-shadow:var(--shadow)}.pico-chat-continue-card p{margin:0 0 .75rem;font-weight:500;color:var(--color-text)}.pico-chat-continue-actions{display:flex;gap:.75rem;justify-content:center}.pico-chat-continue-btn,.pico-chat-end-btn{padding:.5rem 1rem;border-radius:var(--radius);font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s,transform .1s}.pico-chat-continue-btn{background:var(--color-primary);color:#fff;border:none}.pico-chat-continue-btn:hover:not(:disabled){background:var(--color-primary-hover)}.pico-chat-end-btn{background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border)}.pico-chat-end-btn:hover:not(:disabled){background:var(--color-surface);border-color:var(--color-text-muted)}.pico-chat-continue-btn:disabled,.pico-chat-end-btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:480px){.pico-chat{min-height:350px}.pico-chat-messages{padding:.75rem}.pico-chat-message{max-width:90%}.pico-chat-avatar{width:32px;height:32px}.pico-chat-bubble{padding:.5rem .75rem}.pico-chat-input-area{padding:.75rem}}.grammar-practice-container{max-width:800px;margin:0 auto;padding:1rem;min-height:100vh}.grammar-practice-container.practice-mode{display:flex;flex-direction:column;height:100vh;padding-bottom:0}.grammar-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.grammar-header h1{flex:1;margin:0;font-size:1.25rem;font-weight:600}.grammar-header-center{flex:1;display:flex;flex-direction:column;align-items:center;gap:.25rem}.grammar-header-center h1{flex:none;font-size:1.125rem}.grammar-progress-indicator{display:flex;align-items:center;gap:.5rem}.progress-text{font-size:.75rem;color:var(--color-text-muted)}.progress-bar-mini{width:60px;height:4px;background:var(--color-border);border-radius:2px;overflow:hidden}.progress-bar-mini .progress-fill{height:100%;background:var(--color-primary);border-radius:2px;transition:width .3s}.grammar-focus-indicator{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:.5rem;font-size:.875rem}.focus-label{color:var(--color-text-muted)}.focus-structure{font-weight:600;color:var(--color-primary)}.grammar-flag-btn{background:none;border:1px solid var(--color-border);border-radius:var(--radius);padding:.4rem .6rem;font-size:1rem;color:var(--color-text-muted);cursor:pointer;transition:all .2s}.grammar-flag-btn:hover{border-color:var(--color-text-muted);color:var(--color-text)}.grammar-back-link{color:var(--color-text-muted);text-decoration:none;font-size:.875rem;background:none;border:none;cursor:pointer;padding:.5rem;margin:-.5rem}.grammar-back-link:hover{color:var(--color-text)}.grammar-back-link:disabled{opacity:.5;cursor:not-allowed}.grammar-loading,.grammar-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;text-align:center}.grammar-spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.grammar-error h2{margin-bottom:.5rem}.grammar-error p{color:var(--color-text-muted);margin-bottom:1rem}.pico-intro{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1.5rem}.pico-intro.large{margin-bottom:2rem}.pico-intro-avatar{flex-shrink:0;width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid var(--color-border)}.pico-intro.large .pico-intro-avatar{width:56px;height:56px}.pico-intro-bubble{flex:1;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);border-top-left-radius:4px;padding:1rem;box-shadow:var(--shadow)}.pico-intro-bubble p{margin:0}.pico-intro-bubble p+p{margin-top:.5rem}.grammar-structures-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.grammar-structure-card{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;transition:all .2s;text-align:left}.grammar-structure-card:hover:not(:disabled){border-color:var(--color-primary);box-shadow:var(--shadow)}.grammar-structure-card:disabled{opacity:.6;cursor:not-allowed}.grammar-structure-card.due-for-review{border-color:#f59e0b}.structure-name{font-weight:600;font-size:1rem;color:var(--color-text)}.structure-category{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.structure-status{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.status-badge{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600}.status-unseen{background:#f3f4f6;color:#6b7280}.status-introduced{background:#dbeafe;color:#1d4ed8}.status-practicing{background:#fef3c7;color:#d97706}.status-developing{background:#d1fae5;color:#059669}.status-proficient{background:#c7d2fe;color:#4338ca}.status-mastered{background:#fce7f3;color:#db2777}.due-badge{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600;background:#fef3c7;color:#d97706}.structure-mastery{height:4px;background:var(--color-border);border-radius:2px;overflow:hidden;margin-top:.25rem}.mastery-bar{height:100%;background:var(--color-primary);border-radius:2px;transition:width .3s}.grammar-introduction{display:flex;flex-direction:column;gap:2rem}.intro-content{flex:1}.intro-message{line-height:1.6}.intro-message strong{color:var(--color-primary)}.common-errors{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem;margin-top:1.5rem}.common-errors h3{margin:0 0 1rem;font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.error-example{padding:.75rem;background:var(--color-background);border-radius:var(--radius);margin-bottom:.75rem}.error-example:last-child{margin-bottom:0}.error-wrong{color:#dc2626;margin-bottom:.25rem}.error-correct{color:#16a34a;margin-bottom:.5rem}.error-label,.correct-label{font-weight:600;margin-right:.25rem}.error-explanation{font-size:.875rem;color:var(--color-text-muted)}.intro-actions{display:flex;justify-content:center;padding:1rem 0}.start-practice-btn{padding:1rem 2rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius);font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s,transform .1s ease}.start-practice-btn:active:not(:disabled){transform:scale(.96)}.start-practice-btn:hover:not(:disabled){background:var(--color-primary-hover)}.start-practice-btn:disabled{opacity:.6;cursor:not-allowed}.grammar-chat-container{flex:1;min-height:0;margin:-1rem;margin-top:0}.grammar-suggestion{padding:1rem;background:#fef3c7;border-top:1px solid #f59e0b;display:flex;align-items:center;justify-content:space-between;gap:1rem}.grammar-suggestion p{margin:0;font-size:.875rem;color:#92400e}.end-session-btn{padding:.5rem 1rem;background:#d97706;color:#fff;border:none;border-radius:var(--radius);font-size:.875rem;font-weight:500;cursor:pointer}.end-session-btn:hover:not(:disabled){background:#b45309}.end-session-btn:disabled{opacity:.6;cursor:not-allowed}.grammar-complete{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2rem 0}.complete-avatar{width:80px;height:80px;border-radius:50%;object-fit:cover;border:3px solid var(--color-border);margin-bottom:1rem}.complete-header h2{margin:0}.complete-stats{display:flex;gap:2rem;margin-bottom:1.5rem}.stat{display:flex;flex-direction:column;align-items:center}.stat-value{font-size:2rem;font-weight:700;color:var(--color-primary)}.stat-label{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.progress-change{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#d1fae5;border-radius:var(--radius);margin-bottom:1rem}.progress-label{font-weight:600}.old-status{color:var(--color-text-muted)}.arrow{color:#059669}.new-status{color:#059669;font-weight:600}.mastery-change{display:flex;align-items:center;gap:.5rem;font-size:.875rem;margin-bottom:2rem}.mastery-change .positive{color:#16a34a;font-weight:600}.mastery-change .negative{color:#dc2626;font-weight:600}.structures-updated{width:100%;max-width:400px;margin-bottom:2rem;text-align:left}.structures-updated h3{font-size:.875rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .75rem;text-align:center}.structure-updates-list{display:flex;flex-direction:column;gap:.5rem}.structure-update-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius)}.structure-update-item .structure-name{font-size:.875rem;font-weight:500}.structure-update-item .mastery-change{margin:0;font-size:.875rem}.structure-update-item .mastery-change.positive{color:#16a34a;font-weight:600}.structure-update-item .mastery-change.negative{color:#dc2626;font-weight:600}.complete-actions{display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:300px}.practice-again-btn{padding:.75rem 1.5rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius);font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s,transform .1s ease}.practice-again-btn:active{transform:scale(.96)}.practice-again-btn:hover{background:var(--color-primary-hover)}.back-btn{padding:.75rem 1.5rem;background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius);font-size:1rem;cursor:pointer;transition:all .2s,transform .1s ease}.back-btn:active{transform:scale(.96)}.back-btn:hover{border-color:var(--color-text-muted);color:var(--color-text)}.modal-content{background:#fff;border-radius:1rem;padding:1.5rem;width:100%;max-width:400px;box-shadow:0 20px 25px -5px #0000001a}.modal-content h3{margin:0 0 1rem;color:#111827}.flag-form select,.flag-form textarea{padding:.625rem;border:1px solid #e5e7eb;border-radius:.375rem;font-size:.875rem;font-family:inherit}.flag-form select:focus,.flag-form textarea:focus{outline:none;border-color:#3b82f6}.flag-context{font-size:.75rem;color:#6b7280;padding:.5rem;background:#f9fafb;border-radius:.25rem}.modal-actions .btn-secondary,.modal-actions .btn-primary{padding:.5rem 1rem;font-size:.875rem;border-radius:var(--radius);cursor:pointer}.modal-actions .btn-secondary{background:transparent;border:1px solid var(--color-border);color:var(--color-text-muted)}.modal-actions .btn-primary{background:var(--color-primary);border:none;color:#fff}.modal-actions .btn-primary:disabled,.modal-actions .btn-secondary:disabled{opacity:.6;cursor:not-allowed}.flag-success{text-align:center;padding:2rem 1rem}.flag-success .success-icon{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;background:#d1fae5;color:#059669;border-radius:50%;font-size:1.5rem;margin-bottom:.75rem}@media(max-width:640px){.grammar-practice-container{padding:.75rem}.grammar-header{position:sticky;top:0;z-index:100;background:var(--color-background, #f9fafb)}.grammar-structures-grid{grid-template-columns:1fr}.complete-stats{gap:1rem}.stat-value{font-size:1.5rem}}.grammar-lessons-page{min-height:100vh;display:flex;flex-direction:column;background-color:#f9fafb}.lessons-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:#fff;border-bottom:1px solid #e5e7eb}.lessons-header h1{font-size:1.25rem;font-weight:600;color:#111827;margin:0}.back-link{color:#6b7280;text-decoration:none;font-size:.875rem;display:flex;align-items:center;gap:.25rem}.progress-summary{font-size:.875rem;color:#059669;font-weight:500;background:#d1fae5;padding:.25rem .75rem;border-radius:9999px}.lessons-content{flex:1;padding:1rem 1.5rem;max-width:640px;margin:0 auto;width:100%}.lessons-list{display:flex;flex-direction:column;gap:.75rem}.lesson-card{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;cursor:pointer;transition:all .15s ease;text-align:left;width:100%}.lesson-card:hover{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f61a}.lesson-card.status-completed{border-left:4px solid #059669}.lesson-card.status-in-progress{border-left:4px solid #3b82f6}.lesson-card.status-not-started{border-left:4px solid #e5e7eb}.lesson-order{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#f3f4f6;border-radius:.375rem;font-size:.8125rem;font-weight:600;color:#6b7280;flex-shrink:0}.lesson-card.status-completed .lesson-order{background:#d1fae5;color:#059669}.lesson-card.status-in-progress .lesson-order{background:#dbeafe;color:#3b82f6}.lesson-content{flex:1;min-width:0}.lesson-title{font-size:.9375rem;font-weight:500;color:#111827;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lesson-meta{display:flex;align-items:center;gap:.75rem;font-size:.75rem;color:#6b7280}.lesson-score{color:#059669;font-weight:500}.lesson-status{flex-shrink:0}.status-icon{font-size:1.25rem;color:#d1d5db}.status-completed .status-icon{color:#059669}.status-in-progress .status-icon{color:#3b82f6}.lesson-card.skeleton{cursor:default;pointer-events:none}.btn-primary{background:#3b82f6;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;text-decoration:none;display:inline-block}@media(max-width:640px){.lessons-header{flex-wrap:wrap;gap:.5rem}.lessons-header h1{order:-1;width:100%;text-align:center}.back-link{order:0}.progress-summary{order:1}.lessons-content{padding:1rem}.lesson-card{padding:.875rem}.lesson-title{font-size:.9375rem}}.grammar-lesson-page{min-height:100vh;display:flex;flex-direction:column;background-color:#f9fafb}.lesson-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:#fff;border-bottom:1px solid #e5e7eb}.lesson-header .back-link{color:#6b7280;text-decoration:none;font-size:.875rem}.lesson-header .back-link:hover{color:#374151}.lesson-header .lesson-title{font-size:1.125rem;font-weight:600;color:#111827;margin:0;flex:1;text-align:center;padding:0 1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.progress-indicator{font-size:.875rem;color:#6b7280;font-weight:500}.progress-bar-container{height:4px;background:#e5e7eb;width:100%}.progress-bar-fill{height:100%;background:#3b82f6;transition:width .3s ease}.lesson-content{flex:1;padding:1.5rem;max-width:720px;margin:0 auto;width:100%}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center}.spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}.instruction-view{background:#fff;border-radius:1rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.instruction-section{margin-bottom:2rem}.instruction-section:last-of-type{margin-bottom:1.5rem}.instruction-section h2{font-size:1.125rem;font-weight:600;color:#111827;margin:0 0 .75rem;padding-bottom:.5rem;border-bottom:2px solid #3b82f6}.instruction-section h3{font-size:.9375rem;font-weight:600;color:#374151;margin:1rem 0 .5rem}.hook-section{background:linear-gradient(135deg,#dbeafe,#ede9fe);border-radius:.75rem;padding:1.25rem;margin-bottom:1.5rem}.hook-text{font-size:1rem;line-height:1.6;color:#1e40af;margin:0}.concept-what{font-size:1rem;line-height:1.6;color:#374151;margin:0 0 1rem}.concept-list{margin:0 0 .5rem;padding-left:1.25rem}.concept-list li{margin-bottom:.5rem;line-height:1.5;color:#4b5563}.when-to-use li::marker{color:#059669}.when-not-to-use li::marker{color:#dc2626}.key-insight{background:#fef3c7;border-left:4px solid #f59e0b;padding:.75rem 1rem;border-radius:0 .5rem .5rem 0;margin-top:1rem;color:#92400e}.comparison-list{margin:0 0 .5rem;padding-left:1.25rem}.comparison-list li{margin-bottom:.5rem;line-height:1.5;color:#4b5563}.similarities li::marker{color:#059669}.differences li::marker{color:#f59e0b}.false-friends li::marker{color:#dc2626}.conjugation-table{width:100%;border-collapse:collapse;margin-bottom:.75rem}.conjugation-table td{padding:.625rem .75rem;border:1px solid #e5e7eb}.conjugation-table .person{background:#f9fafb;font-weight:500;color:#6b7280;width:40%}.conjugation-table .form{font-weight:600;color:#111827}.conjugation-pattern{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:.375rem;padding:.625rem .75rem;margin-bottom:.75rem;font-size:.9375rem;color:#166534}.conjugation-notes{font-size:.875rem;color:#6b7280;margin:0;padding-left:1.25rem}.conjugation-notes li{margin-bottom:.25rem}.examples-list{display:flex;flex-direction:column;gap:1rem}.example-item{background:#f9fafb;border-radius:.5rem;padding:1rem;border-left:4px solid #3b82f6}.example-portuguese{font-size:1.0625rem;font-weight:500;color:#111827;margin-bottom:.25rem}.example-english{font-size:.9375rem;color:#6b7280;margin-bottom:.5rem}.example-breakdown{font-size:.875rem;color:#4b5563;font-style:italic;padding-top:.5rem;border-top:1px dashed #d1d5db}.mistakes-list{display:flex;flex-direction:column;gap:1rem}.mistake-item{background:#fef2f2;border-radius:.5rem;padding:1rem}.mistake-wrong,.mistake-correct{margin-bottom:.375rem}.mistake-wrong .label{color:#dc2626;font-weight:600}.mistake-correct .label{color:#059669;font-weight:600}.mistake-explanation{font-size:.875rem;color:#4b5563;margin-top:.5rem;padding-top:.5rem;border-top:1px dashed #fecaca}.tips-list li{margin-bottom:.5rem;line-height:1.5;color:#4b5563}.tips-list li::marker{color:#3b82f6}.instruction-actions{display:flex;gap:.75rem;justify-content:center;padding-top:1rem;border-top:1px solid #e5e7eb;margin-top:1.5rem}.question-view{background:#fff;border-radius:1rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.question-number{font-size:.875rem;color:#6b7280;font-weight:500}.back-to-material{background:none;border:none;color:#3b82f6;font-size:.875rem;cursor:pointer;padding:.25rem .5rem}.back-to-material:hover{text-decoration:underline}.question-prompt{margin-bottom:1.5rem}.question-sentence{background:#f3f4f6;padding:1rem;border-radius:.5rem;margin-bottom:1rem;font-size:1.0625rem;font-weight:500;color:#111827;text-align:center}.question-text{font-size:1rem;color:#374151;line-height:1.6;margin:0}.options-list{display:flex;flex-direction:column;gap:.75rem}.option-button{display:flex;align-items:flex-start;gap:.75rem;width:100%;padding:1rem;background:#fff;border:2px solid #e5e7eb;border-radius:.75rem;cursor:pointer;text-align:left;transition:all .15s ease}.option-button:hover:not(:disabled){border-color:#3b82f6;background:#eff6ff}.option-button.selected{border-color:#3b82f6;background:#dbeafe}.option-button:disabled{cursor:not-allowed;opacity:.6}.option-letter{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#f3f4f6;border-radius:.375rem;font-weight:600;color:#6b7280;flex-shrink:0}.option-button:hover:not(:disabled) .option-letter{background:#dbeafe;color:#3b82f6}.option-button.selected .option-letter{background:#3b82f6;color:#fff}.option-text{flex:1;line-height:1.5;color:#374151}.feedback-view{background:#fff;border-radius:1rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a;text-align:center}.feedback-view.correct{border-top:4px solid #059669}.feedback-view.incorrect{border-top:4px solid #dc2626}.feedback-header{margin-bottom:1.5rem}.feedback-icon{font-size:2.5rem;display:block;margin-bottom:.5rem}.feedback-icon.correct{color:#059669}.feedback-icon.incorrect{color:#dc2626}.feedback-title{font-size:1.5rem;font-weight:600;margin:0}.feedback-view.correct .feedback-title{color:#059669}.feedback-view.incorrect .feedback-title{color:#dc2626}.feedback-details{text-align:left;margin-bottom:1.5rem}.feedback-sentence{background:#f3f4f6;padding:.75rem;border-radius:.5rem;margin-bottom:.75rem;font-weight:500;text-align:center}.feedback-question{color:#374151;margin:0 0 1rem}.feedback-answer,.feedback-correct-answer{display:flex;gap:.5rem;margin-bottom:.5rem;align-items:flex-start}.answer-label{color:#6b7280;font-size:.875rem;flex-shrink:0}.answer-text{font-weight:500}.answer-text.correct{color:#059669}.answer-text.incorrect{color:#dc2626}.feedback-explanation{background:#f9fafb;padding:1rem;border-radius:.5rem;margin-top:1rem;font-size:.9375rem;line-height:1.6;color:#4b5563}.complete-view{background:#fff;border-radius:1rem;padding:2rem;box-shadow:0 1px 3px #0000001a;text-align:center}.complete-header{margin-bottom:2rem}.complete-title{font-size:1.5rem;font-weight:600;color:#111827;margin:0 0 .25rem}.complete-subtitle{color:#6b7280;margin:0}.complete-score{margin-bottom:1.5rem}.score-circle{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,#dbeafe,#c7d2fe);display:flex;align-items:center;justify-content:center;margin:0 auto .75rem}.score-number{font-size:2rem;font-weight:700;color:#3b82f6}.score-details{color:#6b7280;font-size:.9375rem}.complete-message{color:#374151;margin-bottom:1.5rem;line-height:1.5}.pico-hint{display:flex;align-items:center;justify-content:center;gap:.5rem;background:#f0f9ff;border:1px solid #bae6fd;border-radius:.5rem;padding:.75rem 1rem;margin-bottom:1.5rem;font-size:.875rem;color:#0369a1}.complete-actions{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;width:100%}.complete-actions .btn-primary,.complete-actions .btn-secondary{width:auto;max-width:400px}.btn-primary{background:#3b82f6;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;font-size:.9375rem;font-weight:500;cursor:pointer;transition:background .15s ease}.btn-primary:hover{background:#2563eb}.btn-primary.btn-large{padding:1rem 2rem;font-size:1rem}.btn-secondary{background:#fff;color:#374151;border:1px solid #d1d5db;padding:.75rem 1.5rem;border-radius:.5rem;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-secondary:hover{background:#f3f4f6;border-color:#9ca3af}.btn-flag{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .625rem;background:none;border:1px solid #d1d5db;border-radius:.375rem;font-size:.75rem;color:#6b7280;cursor:pointer;transition:all .15s ease}.btn-flag:hover:not(:disabled){border-color:#f59e0b;color:#d97706;background:#fffbeb}.btn-flag:disabled{opacity:.6;cursor:not-allowed}.flag-icon{font-size:.875rem}.feedback-details .btn-flag{margin-top:1rem}.instruction-flag{display:flex;justify-content:center;padding-top:1rem;margin-top:.5rem;border-top:1px dashed #e5e7eb}.question-header-actions{display:flex;align-items:center;gap:.75rem}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000}.modal-content{background:#fff;border-radius:.75rem;padding:1.5rem;max-width:400px;width:100%;box-shadow:0 4px 6px #0000001a}.modal-content h3{margin:0 0 1rem;font-size:1.125rem;color:#111827}.flag-form label{display:flex;flex-direction:column;gap:.375rem;font-size:.875rem;color:#374151;font-weight:500}.flag-form select,.flag-form textarea{padding:.625rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;font-family:inherit}.flag-form select:focus,.flag-form textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.flag-form textarea{resize:vertical;min-height:80px}.flag-context{background:#f9fafb;padding:.75rem;border-radius:.375rem;font-size:.8125rem;color:#6b7280}.flag-context strong{color:#374151}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:.5rem}.modal-actions .btn-secondary,.modal-actions .btn-primary{padding:.5rem 1rem;font-size:.875rem}.flag-success{text-align:center;padding:1.5rem 0}.flag-success .success-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#dcfce7;color:#059669;border-radius:50%;font-size:1.5rem;margin:0 auto .75rem}.flag-success p{margin:0;color:#374151;font-weight:500}@media(max-width:640px){.lesson-header{flex-wrap:wrap;gap:.5rem}.lesson-header .lesson-title{order:-1;width:100%;font-size:1rem}.lesson-content,.instruction-view,.question-view,.feedback-view,.complete-view{padding:1rem}.hook-text{font-size:.9375rem}.instruction-actions{flex-direction:column}.complete-actions{width:100%;align-items:center}.complete-actions .btn-primary,.complete-actions .btn-secondary{width:auto;max-width:100%}}.speaking-scenarios-page{min-height:100vh;display:flex;flex-direction:column;background-color:#f9fafb}.scenarios-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:#fff;border-bottom:1px solid #e5e7eb}.scenarios-header h1{font-size:1.25rem;font-weight:600;color:#111827;margin:0}.scenarios-header .back-link{color:#6b7280;text-decoration:none;font-size:.875rem;display:flex;align-items:center;gap:.25rem}.scenarios-header .back-link:hover{color:#374151}.scenarios-header .progress-summary{font-size:.875rem;color:#0891b2;font-weight:500;background:#cffafe;padding:.25rem .75rem;border-radius:9999px}.scenarios-intro{padding:1rem 1.5rem;max-width:640px;margin:0 auto;width:100%}.scenarios-intro p{font-size:.875rem;color:#6b7280;margin:0;line-height:1.5}.scenarios-content{flex:1;padding:0 1.5rem 1.5rem;max-width:640px;margin:0 auto;width:100%}.scenarios-list{display:flex;flex-direction:column;gap:.75rem}.scenario-card{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;cursor:pointer;transition:all .15s ease;text-align:left;width:100%;border-left:4px solid #e5e7eb}.scenario-card:hover{border-color:#0891b2;border-left-color:#0891b2;box-shadow:0 2px 8px #0891b21a}.scenario-card.practiced{border-left-color:#0891b2}.scenario-order{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#f3f4f6;border-radius:.375rem;font-size:.8125rem;font-weight:600;color:#6b7280;flex-shrink:0}.scenario-card.practiced .scenario-order{background:#cffafe;color:#0891b2}.scenario-content{flex:1;min-width:0}.scenario-title{font-size:.9375rem;font-weight:500;color:#111827;margin:0 0 .25rem}.scenario-description{font-size:.8125rem;color:#6b7280;margin:0 0 .5rem;line-height:1.4}.scenario-meta{display:flex;align-items:center;gap:.75rem;font-size:.75rem;color:#9ca3af;margin-top:.5rem}.scenario-practiced{color:#0891b2;font-weight:500}.scenario-status{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:28px;height:28px}.status-check{color:#0891b2;font-size:1.25rem;font-weight:700}.status-arrow{color:#d1d5db;font-size:1.5rem}.scenario-card:hover .status-arrow{color:#0891b2}.scenario-card.skeleton{cursor:default;pointer-events:none}.skeleton-text{background:linear-gradient(90deg,#e5e7eb 25%,#f3f4f6,#e5e7eb 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;border-radius:.25rem}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.error-container,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center}.error-message{color:#dc2626;margin-bottom:1rem}.empty-state p{color:#6b7280;margin-bottom:1rem}.btn-primary{background:#0891b2;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;text-decoration:none;display:inline-block}@media(max-width:640px){.scenarios-header{flex-wrap:wrap;gap:.5rem}.scenarios-header h1{order:-1;width:100%;text-align:center}.scenarios-header .back-link{order:0}.scenarios-header .progress-summary{order:1}.scenarios-intro,.scenarios-content{padding-left:1rem;padding-right:1rem}.scenario-card{padding:.875rem}.scenario-title{font-size:.9375rem}}.speaking-scenario-page{min-height:100vh;display:flex;flex-direction:column;background-color:#f9fafb}.loading-container{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.loading-spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#0891b2;border-radius:50%;animation:spin .8s linear infinite}.error-container{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem}.error-message{color:#dc2626;text-align:center}.preview-phase{display:flex;flex-direction:column;min-height:100vh}.scenario-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:#fff;border-bottom:1px solid #e5e7eb}.back-link{color:#6b7280;text-decoration:none;font-size:.875rem}.back-link:hover{color:#374151}.scenario-badge{font-size:.75rem;color:#0891b2;background:#cffafe;padding:.25rem .75rem;border-radius:9999px;font-weight:500}.preview-content{flex:1;padding:1.5rem;max-width:640px;margin:0 auto;width:100%}.preview-title{font-size:1.5rem;font-weight:600;color:#111827;margin:0 0 .5rem}.preview-cefr{font-size:.875rem;color:#6b7280;margin:0 0 1.5rem;font-style:italic}.preview-section{margin-bottom:1.5rem}.preview-section h2{font-size:.875rem;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .75rem}.preview-section p{font-size:.9375rem;color:#4b5563;line-height:1.5;margin:0}.role-cards{display:flex;gap:1rem;margin-top:1rem}.role-card{flex:1;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:.75rem;display:flex;flex-direction:column;gap:.25rem}.role-label{font-size:.75rem;color:#9ca3af}.role-value{font-size:.9375rem;font-weight:500;color:#111827}.goal-highlight{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #93c5fd;border-radius:12px;padding:1.25rem;text-align:center}.goal-highlight h2{color:#1e40af}.goal-icon{font-size:2rem;margin-bottom:.5rem}.goal-text{font-size:1.125rem;font-weight:600;color:#1e3a8a;margin-bottom:.25rem}.goal-pt{font-size:.9375rem;color:#3b82f6;font-style:italic}.goal-pt{font-size:.875rem;color:#0891b2;font-style:italic;margin-top:.5rem!important}.phrases-list{display:flex;flex-direction:column;gap:.5rem}.phrase-item{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:.75rem;display:flex;flex-direction:column;gap:.25rem}.phrase-pt{font-size:.9375rem;font-weight:500;color:#111827}.phrase-en{font-size:.8125rem;color:#6b7280}.vocab-chips{display:flex;flex-wrap:wrap;gap:.5rem}.vocab-chip{font-size:.8125rem;padding:.375rem .75rem;background:#cffafe;color:#0e7490;border-radius:9999px;cursor:help}.vocab-chip.success{background:#d1fae5;color:#059669}.vocab-chip.missed{background:#fef3c7;color:#d97706}.preview-footer{padding:1rem 1.5rem;background:#fff;border-top:1px solid #e5e7eb;position:sticky;bottom:0}.btn-start{width:100%;padding:.875rem;background:linear-gradient(135deg,#06b6d4,#0891b2);color:#fff;border:none;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .15s ease}.btn-start:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0891b24d}.practice-phase{display:flex;flex-direction:column;height:100vh}.practice-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:#fff;border-bottom:1px solid #e5e7eb}.practice-header h1{font-size:1rem;font-weight:500;color:#111827;margin:0}.end-button{font-size:.875rem;color:#6b7280;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:.375rem;cursor:pointer;padding:.5rem .75rem;transition:all .15s}.end-button:hover{background:#e5e7eb;color:#374151}.end-button.complete{background:linear-gradient(135deg,#06b6d4,#0891b2);color:#fff;border-color:transparent;font-weight:500}.end-button.complete:hover{background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff}.end-button:disabled{opacity:.7;cursor:not-allowed}.turn-count{font-size:.75rem;color:#9ca3af}.conversation-container{flex:1;overflow-y:auto;padding:1rem 1.5rem;display:flex;flex-direction:column;gap:.75rem}.message{display:flex}.message.assistant{justify-content:flex-start}.message.user{justify-content:flex-end}.message-bubble{max-width:80%;padding:.75rem 1rem;border-radius:1rem}.message.assistant .message-bubble{background:#fff;border:1px solid #e5e7eb;border-bottom-left-radius:.25rem}.message.user .message-bubble{background:#0891b2;color:#fff;border-bottom-right-radius:.25rem}.message-text{font-size:.9375rem;margin:0;line-height:1.4}.message-translation{font-size:.8125rem;color:#9ca3af;margin:.25rem 0 0;font-style:italic}.message.user .message-translation{color:#ffffffb3}.replay-btn{position:absolute;bottom:.375rem;right:.375rem;background:none;border:none;cursor:pointer;font-size:.875rem;opacity:.6;padding:.25rem;transition:opacity .15s}.replay-btn:hover{opacity:1}.message-bubble{position:relative}.thinking-dots{display:inline-block;animation:pulse 1s infinite}.conversation-complete-message{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;margin:.75rem 0;background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1px solid #a7f3d0;border-radius:.75rem;color:#047857;font-size:.875rem;text-align:center}.complete-icon{font-size:1.25rem;color:#10b981}.input-area{padding:1rem 1.5rem;background:#fff;border-top:1px solid #e5e7eb}.input-area.disabled{background:#f9fafb}.input-disabled-message{text-align:center;color:#6b7280;font-size:.875rem;margin:0;padding:.5rem 0}.input-instructions{font-size:.75rem;color:#9ca3af;margin:0 0 .75rem;text-align:center}.text-input-form{display:flex;gap:.5rem}.text-input-form input{flex:1;padding:.75rem 1rem;border:1px solid #e5e7eb;border-radius:.5rem;font-size:.9375rem}.text-input-form input:focus{outline:none;border-color:#0891b2}.text-input-form button{padding:.75rem 1.25rem;background:#0891b2;color:#fff;border:none;border-radius:.5rem;font-weight:500;cursor:pointer}.text-input-form button:disabled{opacity:.5;cursor:not-allowed}.input-mode-toggle{display:flex;justify-content:center;gap:.5rem;margin-bottom:1rem}.mode-btn{padding:.5rem 1rem;font-size:.8125rem;font-weight:500;color:#6b7280;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:.375rem;cursor:pointer;transition:all .15s}.mode-btn:hover{background:#e5e7eb}.mode-btn.active{color:#0891b2;background:#cffafe;border-color:#0891b2}.input-error{background:#fef2f2;color:#dc2626;padding:.75rem 2.5rem .75rem .75rem;border-radius:.5rem;font-size:.875rem;text-align:center;margin-bottom:1rem;position:relative}.error-dismiss{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:none;color:#dc2626;font-size:1.25rem;cursor:pointer;padding:.25rem;line-height:1}.error-dismiss:hover{color:#991b1b}.voice-input{display:flex;flex-direction:column;align-items:center;gap:.75rem}.push-to-talk-btn{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#06b6d4,#0891b2);border:none;color:#fff;font-size:2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;box-shadow:0 4px 12px #0891b24d;user-select:none;-webkit-user-select:none;touch-action:none}.push-to-talk-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:0 6px 16px #0891b266}.push-to-talk-btn:active:not(:disabled),.push-to-talk-btn.recording{transform:scale(1.1);background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 0 0 4px #dc262633,0 6px 20px #dc262666}.push-to-talk-btn.preparing{opacity:.7}.push-to-talk-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.recording-indicator{font-size:2.5rem;animation:pulse .8s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.9)}}.transcribing-spinner{width:28px;height:28px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.mic-icon{font-size:2rem}.debrief-phase{display:flex;flex-direction:column;min-height:100vh}.debrief-header{padding:1.5rem;background:linear-gradient(135deg,#06b6d4,#0891b2);color:#fff;text-align:center}.debrief-header h1{font-size:1.25rem;font-weight:600;margin:0 0 .25rem}.debrief-subtitle{font-size:.875rem;opacity:.9;margin:0}.debrief-content{flex:1;padding:1.5rem;max-width:640px;margin:0 auto;width:100%}.debrief-stats{display:flex;gap:1rem;margin-bottom:1.5rem}.stat-card{flex:1;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem;text-align:center;display:flex;flex-direction:column;gap:.25rem}.stat-value{font-size:1.25rem;font-weight:600;color:#0891b2}.stat-label{font-size:.75rem;color:#6b7280}.speech-analysis{background:#f8fafc;border-radius:.75rem;padding:1.25rem;margin-bottom:1.5rem}.speech-analysis h2{margin-bottom:1rem}.speech-scores{display:flex;flex-direction:column;gap:.75rem}.speech-score-card{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:.75rem 1rem}.score-header{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.25rem}.score-value{font-size:1.25rem;font-weight:600;color:#0891b2}.score-name{font-size:.9375rem;font-weight:500;color:#374151}.score-description{font-size:.75rem;color:#6b7280;margin:0;line-height:1.4}.pico-feedback{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:.75rem;padding:1.25rem}.pico-feedback h2{margin-bottom:.75rem}.pico-feedback-content{display:flex;gap:.75rem;align-items:flex-start}.pico-feedback-avatar{width:40px;height:40px;border-radius:50%;flex-shrink:0}.pico-feedback-content p{margin:0;font-size:.9375rem;color:#1e40af;line-height:1.5}.pico-cta{font-size:.75rem;color:#6b7280;margin:.75rem 0 0;text-align:center}.debrief-section{margin-bottom:1.5rem}.debrief-section h2{font-size:.875rem;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .75rem}.task-completion{text-align:center;padding:1.5rem;border-radius:12px;margin-bottom:1.5rem}.task-completion.success{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border:1px solid #86efac}.task-completion.incomplete{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fcd34d}.task-completion-badge{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:.5rem}.task-icon{font-size:1.5rem;font-weight:700}.task-completion.success .task-icon{color:#16a34a}.task-completion.incomplete .task-icon{color:#d97706}.task-status{font-size:1.25rem;font-weight:600}.task-completion.success .task-status{color:#166534}.task-completion.incomplete .task-status{color:#92400e}.task-reason{font-size:.875rem;color:#4b5563;margin:0}.tips-list{margin:0;padding-left:1.25rem}.tips-list li{font-size:.875rem;color:#4b5563;line-height:1.5;margin-bottom:.5rem}.transcript-cards{display:flex;flex-direction:column;gap:1rem;max-height:400px;overflow-y:auto;padding:.25rem}.transcript-card{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1rem;transition:box-shadow .15s}.transcript-card:hover{box-shadow:0 2px 8px #0000000d}.transcript-card.user{border-left:3px solid #0891b2}.transcript-card.assistant{border-left:3px solid #6b7280;background:#fafafa}.transcript-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.turn-role-badge{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;background:#f3f4f6;padding:.25rem .5rem;border-radius:.25rem}.transcript-card.user .turn-role-badge{color:#0891b2;background:#cffafe}.transcript-card-text{font-size:.9375rem;color:#111827;line-height:1.5;margin:0}.grammar-correction{margin-top:.5rem;padding:.5rem .75rem;background:#fef3c7;border-radius:.375rem;font-size:.8125rem;display:flex;flex-wrap:wrap;gap:.25rem}.correction-label{color:#92400e;font-weight:500}.correction-text{color:#78350f;font-style:italic}.transcript-translation{font-size:.8125rem;color:#6b7280;font-style:italic;margin:.5rem 0 0;padding-top:.5rem;border-top:1px dashed #e5e7eb}.transcript-card-actions{display:flex;gap:.375rem}.turn-scores{display:flex;gap:.75rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid #f3f4f6}.turn-score{display:flex;align-items:baseline;gap:.25rem}.turn-score .score-label{font-size:.625rem;color:#9ca3af;text-transform:uppercase;letter-spacing:.02em}.turn-score .score-value{font-size:.75rem;font-weight:500;color:#6b7280}.vocab-highlight{background:#cffafe;color:#0e7490;padding:.125rem .25rem;border-radius:.25rem;font-weight:500}.transcript-replay-btn{background:#f3f4f6;border:none;cursor:pointer;font-size:.875rem;padding:.375rem .5rem;border-radius:.375rem;transition:all .15s}.transcript-replay-btn:hover{background:#e5e7eb}.debrief-footer{padding:1rem 1.5rem;background:#fff;border-top:1px solid #e5e7eb;display:flex;gap:.75rem}.btn-secondary,.btn-primary{flex:1;padding:.875rem;border-radius:.5rem;font-size:.9375rem;font-weight:500;cursor:pointer;text-align:center;text-decoration:none}.btn-secondary{background:#fff;color:#374151;border:1px solid #e5e7eb}.btn-secondary:hover{background:#f9fafb}.btn-primary{background:#0891b2;color:#fff;border:none}.btn-primary:hover{background:#0e7490}.transcript-flag-btn{background:transparent;border:none;cursor:pointer;font-size:.875rem;padding:.375rem .5rem;border-radius:.375rem;color:#9ca3af;transition:all .15s}.transcript-flag-btn:hover{background:#fef2f2;color:#dc2626}.btn-flag-session{padding:.75rem 1rem;background:#fff;color:#6b7280;border:1px solid #e5e7eb;border-radius:.5rem;font-size:.875rem;cursor:pointer;transition:all .15s}.btn-flag-session:hover{background:#fef2f2;color:#dc2626;border-color:#fecaca}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:.75rem;padding:1.5rem;max-width:400px;width:100%;box-shadow:0 20px 25px -5px #0000001a}.modal-content h3{font-size:1.125rem;font-weight:600;margin:0 0 1rem;color:#111827}.flag-form{display:flex;flex-direction:column;gap:1rem}.flag-form label{display:flex;flex-direction:column;gap:.375rem;font-size:.875rem;color:#374151}.flag-form select,.flag-form textarea{padding:.5rem .75rem;border:1px solid #e5e7eb;border-radius:.375rem;font-size:.875rem}.flag-form select:focus,.flag-form textarea:focus{outline:none;border-color:#0891b2}.flag-context{padding:.5rem;background:#f9fafb;border-radius:.375rem;color:#6b7280}.flag-buttons{display:flex;gap:.75rem;margin-top:.5rem}.flag-success{text-align:center;padding:1rem}.flag-success .success-icon{display:block;font-size:2rem;color:#10b981;margin-bottom:.5rem}.flag-success p{margin:0;color:#374151}@media(max-width:640px){.role-cards{flex-direction:column}.debrief-stats{flex-wrap:wrap}.stat-card{min-width:calc(50% - .5rem)}.turn-scores{flex-wrap:wrap}}.pronunciation-page{min-height:100vh;background:var(--color-bg);display:flex;flex-direction:column}.pronunciation-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.pronunciation-header h1{font-size:1.25rem;font-weight:600;margin:0}.pronunciation-header .back-link{color:var(--color-primary);text-decoration:none;font-size:.9rem}.pronunciation-header .trial-count{font-size:.85rem;color:var(--color-text-secondary)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem}.loading-spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem}.error-message{color:var(--color-error);text-align:center}.practice-content{flex:1;display:flex;flex-direction:column;align-items:center;padding:2rem 1rem;gap:2rem}.sentence-card{background:var(--color-surface);border-radius:12px;padding:1.5rem;text-align:center;max-width:500px;width:100%;box-shadow:0 2px 8px #0000000f}.sentence-text{font-size:1.5rem;font-weight:500;margin:0 0 .75rem;line-height:1.4}.sentence-translation{font-size:.95rem;color:var(--color-text-secondary);margin:0;font-style:italic}.audio-controls{display:flex;gap:1rem}.reference-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:var(--color-primary);color:#fff;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:opacity .2s}.reference-btn:hover:not(:disabled){opacity:.9}.reference-btn:disabled{background:var(--color-border);cursor:not-allowed}.loading-dots{animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.recording-area{display:flex;flex-direction:column;align-items:center;gap:1rem}.input-error{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--color-error-bg);color:var(--color-error);border-radius:8px;font-size:.9rem}.error-dismiss{background:none;border:none;color:var(--color-error);cursor:pointer;font-size:1.25rem;line-height:1;padding:0}.recording-instructions{font-size:.95rem;color:var(--color-text-secondary);text-align:center;margin:0}.push-to-talk-btn{width:80px;height:80px;border-radius:50%;background:var(--color-primary);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff;transition:all .2s;box-shadow:0 4px 12px #3b82f64d}.push-to-talk-btn:hover:not(:disabled){transform:scale(1.05)}.push-to-talk-btn:active,.push-to-talk-btn.recording{transform:scale(.95);background:var(--color-error);box-shadow:0 4px 12px #ef444466}.push-to-talk-btn.preparing{background:var(--color-border)}.push-to-talk-btn:disabled{cursor:not-allowed;opacity:.6}.recording-indicator{color:#fff;animation:blink .5s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.processing-spinner{width:24px;height:24px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.skip-btn{background:none;border:none;color:var(--color-text-secondary);font-size:.85rem;cursor:pointer;padding:.5rem 1rem;text-decoration:underline}.skip-btn:hover:not(:disabled){color:var(--color-text)}.skip-btn:disabled{opacity:.5;cursor:not-allowed}.feedback-content{flex:1;display:flex;flex-direction:column;padding:1.5rem 1rem;gap:1.5rem;overflow-y:auto}.sentence-card.feedback-mode{margin:0 auto}.overall-scores{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.score-card{background:var(--color-surface);border-radius:8px;padding:1rem 1.5rem;text-align:center;min-width:80px}.score-label{display:block;font-size:.75rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.score-value{display:block;font-size:1.5rem;font-weight:600}.audio-playback{display:flex;justify-content:center;gap:1rem}.playback-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:8px;font-size:.9rem;cursor:pointer;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);transition:all .2s}.playback-btn:hover:not(:disabled){background:var(--color-bg)}.playback-btn:disabled{opacity:.5;cursor:not-allowed}.playback-btn.reference{border-color:var(--color-primary);color:var(--color-primary)}.word-feedback-section{max-width:600px;width:100%;margin:0 auto}.word-feedback-section h3{font-size:.9rem;color:var(--color-text-secondary);margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.05em}.word-feedback-grid{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.word-feedback-card{position:relative;background:var(--color-surface);border-radius:8px;padding:.5rem .75rem;border:2px solid transparent}.word-feedback-card.good{border-color:var(--color-success)}.word-feedback-card.medium{border-color:var(--color-warning)}.word-feedback-card.poor{border-color:var(--color-error)}.word-feedback-card.has-issue{background:var(--color-error-bg)}.word-text{font-weight:600;font-size:1rem}.word-score{position:absolute;top:-.4rem;right:.5rem;font-size:.6rem;font-weight:700;padding:.1rem .3rem;border-radius:4px}.word-feedback-card.good .word-score{color:#fff;background:var(--color-success)}.word-feedback-card.medium .word-score{color:#fff;background:var(--color-warning)}.word-feedback-card.poor .word-score{color:#fff;background:var(--color-error)}.phoneme-list{display:flex;flex-wrap:wrap;gap:.25rem}.phoneme-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .4rem;border-radius:4px;font-size:.75rem;background:var(--color-bg)}.phoneme-chip.good{background:#22c55e26;color:var(--color-success)}.phoneme-chip.medium{background:#fbbf2426;color:var(--color-warning)}.phoneme-chip.poor{background:#ef444426;color:var(--color-error)}.phoneme-symbol{font-family:Times New Roman,serif;font-style:italic}.phoneme-score{font-weight:500}.error-type{display:block;font-size:.7rem;color:var(--color-error);margin-top:.25rem;text-transform:uppercase}.pico-hint{text-align:center;padding:1rem;background:var(--color-primary-bg);border-radius:8px;max-width:400px;margin:0 auto}.pico-hint p{margin:0;font-size:.9rem;color:var(--color-primary)}.feedback-actions{display:flex;justify-content:center;gap:1rem;padding:1rem 0}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;cursor:pointer;border:none;font-weight:500;transition:all .2s}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{opacity:.9}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-bg)}@media(max-width:480px){.sentence-text{font-size:1.25rem}.overall-scores{gap:.5rem}.score-card{padding:.75rem 1rem;min-width:70px}.score-value{font-size:1.25rem}.word-feedback-grid{gap:.5rem}.word-feedback-card{padding:.5rem;min-width:85px}}.btn-flag{padding:.75rem 1rem;border-radius:8px;font-size:.9rem;cursor:pointer;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);transition:all .2s}.btn-flag:hover{background:var(--color-bg);color:var(--color-text)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.modal-content{background:var(--color-surface);border-radius:12px;padding:1.5rem;max-width:400px;width:100%;box-shadow:0 4px 20px #00000026}.modal-content h3{margin:0 0 1rem;font-size:1.1rem}.flag-form{display:flex;flex-direction:column;gap:.75rem}.flag-form select,.flag-form textarea{padding:.5rem;border:1px solid var(--color-border);border-radius:6px;font-size:.9rem;font-family:inherit}.flag-form textarea{resize:vertical;min-height:60px}.flag-context{font-size:.8rem;color:var(--color-text-secondary);padding:.5rem;background:var(--color-bg);border-radius:4px}.flag-buttons{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.5rem}.flag-success{text-align:center;padding:1rem;color:var(--color-success);font-weight:500}.analytics-page{min-height:100vh;background:var(--bg-primary);padding:1.5rem;max-width:1400px;margin:0 auto}.analytics-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.analytics-header h1{margin:0;font-size:1.75rem;color:var(--text-primary)}.period-selector{display:flex;gap:.5rem}.period-selector button{padding:.5rem 1rem;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);border-radius:6px;cursor:pointer;font-size:.875rem;transition:all .2s}.period-selector button:hover{background:var(--bg-tertiary)}.period-selector button.active{background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.analytics-loading,.analytics-error{text-align:center;padding:4rem 2rem;color:var(--text-secondary);font-size:1.125rem}.analytics-error{color:var(--error-color)}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:2rem}.summary-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:1.25rem;text-align:center}.card-value{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.card-label{font-size:.875rem;color:var(--text-secondary)}.chart-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.chart-section h2{margin:0 0 1rem;font-size:1.125rem;color:var(--text-primary)}.chart-container{width:100%;min-height:300px}.pico-section .pico-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.pico-chart h3{margin:0 0 .5rem;font-size:1rem;color:var(--text-secondary);text-align:center}.users-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.users-section h2{margin:0 0 1rem;font-size:1.125rem;color:var(--text-primary)}.users-table-wrapper{overflow-x:auto}.users-table{width:100%;border-collapse:collapse;font-size:.875rem}.users-table th,.users-table td{padding:.75rem .5rem;text-align:left;border-bottom:1px solid var(--border-color)}.users-table th{color:var(--text-secondary);font-weight:600;white-space:nowrap}.users-table td{color:var(--text-primary)}.users-table .user-cell{font-weight:500;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.users-table tbody tr:hover{background:var(--bg-tertiary)}.analytics-footer{text-align:center;padding:1rem;color:var(--text-muted);font-size:.75rem}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:var(--border-color)}.recharts-text{fill:var(--text-secondary)}.recharts-legend-item-text{color:var(--text-secondary)!important}.recharts-tooltip-wrapper .recharts-default-tooltip{background:var(--bg-secondary)!important;border:1px solid var(--border-color)!important;border-radius:8px}@media(max-width:768px){.analytics-page{padding:1rem}.analytics-header{flex-direction:column;align-items:flex-start}.period-selector{width:100%;justify-content:flex-start}.period-selector button{flex:1;padding:.5rem .25rem}.summary-cards{grid-template-columns:repeat(2,1fr)}.card-value{font-size:1.5rem}.users-table{font-size:.75rem}.users-table th,.users-table td{padding:.5rem .25rem}}*{box-sizing:border-box}:root{--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-secondary: #64748b;--color-success: #22c55e;--color-error: #ef4444;--color-bg: #f8fafc;--color-surface: #ffffff;--color-text: #1e293b;--color-text-muted: #64748b;--color-border: #e2e8f0;--radius: 8px;--shadow: 0 1px 3px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .1)}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--color-bg);color:var(--color-text);line-height:1.5}#root{min-height:100vh;width:100%}h1,h2,h3,h4{margin:0 0 .5rem;font-weight:600;line-height:1.2}h1{font-size:1.75rem}h2{font-size:1.25rem}h3{font-size:1.1rem}p{margin:0 0 1rem}.subtitle{color:var(--color-text-muted);margin-bottom:1.5rem}.hint{font-size:.875rem;color:var(--color-text-muted);margin:.25rem 0}button{font-family:inherit;cursor:pointer;transition:transform .1s ease}button:active:not(:disabled){transform:scale(.96)}.btn-primary{display:block;width:100%;padding:.75rem 1.5rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius);font-size:1rem;font-weight:500;transition:background .2s,transform .1s ease}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{padding:.5rem 1rem;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius);font-size:.875rem;transition:background .2s,border-color .2s,transform .1s ease}.btn-secondary:hover:not(:disabled){background:var(--color-bg);border-color:var(--color-secondary)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-link{background:none;border:none;color:var(--color-primary);font-size:inherit;padding:0}.btn-link:hover{text-decoration:underline}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}input,select{display:block;width:100%;padding:.75rem;border:1px solid var(--color-border);border-radius:var(--radius);font-size:1rem;font-family:inherit;transition:border-color .2s,box-shadow .2s}input:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}input:disabled{background:var(--color-bg);cursor:not-allowed}.error-message{padding:.75rem 1rem;background:#fef2f2;color:var(--color-error);border-radius:var(--radius);margin-bottom:1rem;font-size:.875rem}.success-message{padding:.75rem 1rem;background:#f0fdf4;color:var(--color-success);border-radius:var(--radius);margin-bottom:1rem;font-size:.875rem}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:100vh}.loading-content{text-align:center}.loading-content h1{color:var(--color-primary)}.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:1rem}.auth-container{width:100%;max-width:420px;background:var(--color-surface);padding:2.5rem;border-radius:var(--radius);box-shadow:var(--shadow-lg)}@media(min-width:768px){.auth-container{padding:3rem}}.auth-container h1,.auth-container .subtitle{text-align:center}.auth-footer{text-align:center;margin-top:1.5rem;font-size:.875rem;color:var(--color-text-muted)}.auth-footer a{color:var(--color-primary);text-decoration:none}.auth-footer a:hover{text-decoration:underline}.onboarding-page{min-height:100vh;padding:2rem 1rem;display:flex;justify-content:center;align-items:flex-start}.onboarding-container{width:100%;max-width:640px;margin:2rem auto;background:var(--color-surface);padding:2.5rem;border-radius:var(--radius);box-shadow:var(--shadow-lg)}@media(min-width:768px){.onboarding-container{padding:3rem}}.onboarding-container h1,.onboarding-container .subtitle{text-align:center}.form-section{margin-bottom:2rem}.form-section h2{margin-bottom:.5rem}.contact-section{padding:1rem;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.checkbox-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;font-size:.9rem;color:#4b5563;line-height:1.4}.checkbox-label input[type=checkbox]{margin-top:.2rem;width:18px;height:18px;cursor:pointer;accent-color:#3b82f6}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}@media(max-width:500px){.form-row{grid-template-columns:1fr}}.language-grid{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.language-chip,.level-chip{padding:.5rem 1rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:20px;font-size:.875rem;color:var(--color-text);cursor:pointer;transition:all .2s}.language-chip:hover,.level-chip:hover{border-color:var(--color-primary)}.language-chip.selected,.level-chip.selected{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.level-buttons{display:flex;gap:.5rem;margin-top:.5rem}.progress-bar-container{margin-top:1rem}.progress-bar-track{display:flex;height:12px;background:var(--color-bg);border-radius:6px;overflow:hidden;border:1px solid var(--color-border)}.progress-bar-track.loading{position:relative;overflow:hidden}.progress-bar-loading-indicator{position:absolute;top:0;left:-50%;width:50%;height:100%;background:linear-gradient(90deg,transparent,var(--color-primary),transparent);animation:loading-sweep 1.5s infinite}@keyframes loading-sweep{0%{left:-50%}to{left:100%}}.progress-bar-segment{height:100%;transition:width .3s ease}.progress-bar-segment.mastered{background:var(--color-success)}.progress-bar-segment.recalled{background:var(--color-primary)}.progress-bar-segment.learned{background:#8b5cf6}.progress-bar-segment.learning{background:#f59e0b}.progress-bar-segment.introduced{background:#06b6d4}.progress-bar-segment.unseen{background:var(--color-border)}.progress-bar-legend{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.75rem;font-size:.75rem}.legend-item{display:flex;align-items:center;gap:.25rem}.legend-dot{width:8px;height:8px;border-radius:50%}.legend-dot.mastered{background:var(--color-success)}.legend-dot.recalled{background:var(--color-primary)}.legend-dot.learned{background:#8b5cf6}.legend-dot.learning{background:#f59e0b}.legend-dot.introduced{background:#06b6d4}.legend-dot.unseen{background:var(--color-border)}.legend-label{color:var(--color-text-muted)}.legend-count{font-weight:600;color:var(--color-text)}.loading-text{color:var(--color-text-muted);font-style:italic}.dashboard-page{min-height:100vh;width:100%}.dashboard-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.dashboard-header h1{margin:0;color:var(--color-primary)}.dashboard-header nav{display:flex;gap:1.5rem;align-items:center}.dashboard-header nav a{color:var(--color-text);text-decoration:none}.dashboard-header nav a:hover{color:var(--color-primary)}.dashboard-content{padding:2rem;max-width:800px;margin:0 auto;width:100%}@media(min-width:1024px){.dashboard-content{max-width:900px}}@media(min-width:1400px){.dashboard-content{max-width:1100px}}.welcome-section{background:var(--color-surface);padding:2rem;border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:2rem}.welcome-section h2{margin-bottom:1rem}.profile-summary p{margin:.25rem 0;color:var(--color-text-muted)}.profile-summary strong{color:var(--color-text)}.profile-summary-row{display:flex;align-items:center;gap:.75rem}.streak-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.8rem;font-weight:500;color:#b45309;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:1rem;cursor:default}.streak-badge:before{content:"🔥";font-size:.9rem}.level-selection{margin-top:1rem}.level-selection label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem;color:var(--color-text-muted)}.onboarding-prompt{text-align:center;padding:1rem 0}.onboarding-prompt .btn-primary{width:auto;display:inline-block;margin-top:.5rem}.activities-section h3{margin-bottom:1rem}.activity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.activity-card{background:var(--color-surface);padding:1.5rem;border-radius:var(--radius);box-shadow:var(--shadow)}.activity-card h4{color:var(--color-primary);margin-bottom:.5rem}.activity-card p{font-size:.875rem;color:var(--color-text-muted);margin-bottom:1rem}.activity-card.vocabulary-card{grid-column:span 2}.activity-card.vocabulary-card .progress-bar-container{margin-bottom:1rem}.pos-selector{margin:1rem 0}.pos-selector label{display:block;font-size:.875rem;color:var(--color-text-muted);margin-bottom:.5rem}.pos-chips{display:flex;flex-wrap:wrap;gap:.5rem}.pos-chip{padding:.375rem .75rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:20px;font-size:.8rem;color:var(--color-text);cursor:pointer;transition:all .2s,transform .1s ease}.pos-chip:hover:not(:disabled){border-color:var(--color-primary);background:#3b82f60d}.pos-chip.selected{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.pos-chip:disabled{opacity:.5;cursor:not-allowed}.pos-chip:active:not(:disabled){transform:scale(.96)}.duration-selector{margin:1rem 0}.duration-selector label{display:block;font-size:.875rem;color:var(--color-text);margin-bottom:.5rem}.duration-slider{width:100%;height:6px;border-radius:3px;background:var(--color-border);outline:none;-webkit-appearance:none;appearance:none;cursor:pointer}.duration-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--color-primary);cursor:pointer}.duration-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--color-primary);cursor:pointer;border:none}.duration-labels{display:flex;justify-content:space-between;font-size:.75rem;color:var(--color-text-muted);margin-top:.25rem}.activity-card.conjugation-card{grid-column:span 2}.activity-card.conjugation-card .progress-bar-container{margin-bottom:1rem}.duration-selector.shared-duration{background:var(--color-surface);padding:1rem 1.5rem;border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1rem}.tense-selector{margin:1rem 0}.tense-selector label{display:block;font-size:.875rem;color:var(--color-text-muted);margin-bottom:.5rem}.tense-chips{display:flex;flex-wrap:wrap;gap:.5rem}.tense-chip{padding:.375rem .75rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:20px;font-size:.8rem;color:var(--color-text);cursor:pointer;transition:all .2s}.tense-chip:hover:not(:disabled){border-color:var(--color-primary)}.tense-chip.selected{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.tense-chip:disabled{opacity:.5;cursor:not-allowed}.activity-card.numbers-card{grid-column:span 2}.activity-card.numbers-card h4{color:#d97706}.category-selector{margin:1rem 0}.category-selector label{display:block;font-size:.875rem;color:var(--color-text-muted);margin-bottom:.5rem}.category-chips{display:flex;flex-wrap:wrap;gap:.5rem}.category-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:20px;font-size:.8rem;color:var(--color-text);cursor:pointer;transition:all .2s}.category-chip:hover:not(:disabled){border-color:#d97706}.category-chip.selected{background:#d97706;border-color:#d97706;color:#fff}.category-chip:disabled{opacity:.5;cursor:not-allowed}.category-accuracy{font-size:.7rem;padding:.125rem .375rem;background:#0000001a;border-radius:10px}.category-chip.selected .category-accuracy{background:#fff3}.btn-primary.disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.activity-card.grammar-card h4{color:#8b5cf6}.grammar-stats-summary{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1rem;font-size:.875rem}.grammar-stats-summary .stat-item{color:var(--color-text-muted)}.grammar-stats-summary .stat-item.due{color:#f59e0b;font-weight:500}.activity-card.reading-card h4{color:#10b981}.reading-progress{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.875rem}.reading-progress-text{color:var(--color-text-muted)}.reading-complete-badge{color:#10b981;font-weight:500}@media(max-width:640px){.activity-card.vocabulary-card,.activity-card.conjugation-card,.activity-card.numbers-card{grid-column:span 1}}.settings-page{min-height:100vh;background:var(--color-bg)}.settings-header{max-width:640px;margin:0 auto;padding:1.5rem 2rem;background:var(--color-bg)}.back-link{display:inline-block;color:var(--color-text-muted);text-decoration:none;font-size:.875rem;margin-bottom:.5rem}.back-link:hover{color:var(--color-primary)}.settings-header h1{margin:0}.settings-content{max-width:640px;margin:0 auto;padding:2rem}@media(min-width:768px){.settings-content{padding:2.5rem}}.settings-section{background:var(--color-surface);padding:1.5rem;border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1.5rem}.settings-section h2{margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border)}.form-actions{display:flex;gap:1rem;margin-top:1rem}.form-actions .btn-primary{width:auto;flex:1}.form-actions .btn-secondary{flex:1}.feedback-page{min-height:100vh;background:var(--color-bg)}.feedback-header{max-width:640px;margin:0 auto;padding:1.5rem 2rem;background:var(--color-bg)}.feedback-header h1{margin:0}.feedback-content{max-width:640px;margin:0 auto;padding:2rem}@media(min-width:768px){.feedback-content{padding:2.5rem}}.feedback-section{background:var(--color-surface);padding:1.5rem;border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1.5rem}.feedback-section h2{margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border)}.feedback-type-grid{display:grid;gap:.75rem}.feedback-type-card{display:flex;flex-direction:column;align-items:flex-start;padding:1rem;background:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius);text-align:left;transition:all .2s}.feedback-type-card:hover{border-color:var(--color-primary)}.feedback-type-card.selected{border-color:var(--color-primary);background:#2563eb0d}.feedback-type-card .type-label{font-weight:600;color:var(--color-text)}.feedback-type-card .type-description{font-size:.875rem;color:var(--color-text-muted);margin-top:.25rem}.feedback-content textarea{display:block;width:100%;padding:.75rem;border:1px solid var(--color-border);border-radius:var(--radius);font-size:1rem;font-family:inherit;resize:vertical;transition:border-color .2s,box-shadow .2s}.feedback-content textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.feedback-success{background:var(--color-surface);padding:3rem 2rem;border-radius:var(--radius);box-shadow:var(--shadow);text-align:center}.feedback-success .success-icon{width:4rem;height:4rem;background:var(--color-success);color:#fff;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:2rem;margin-bottom:1.5rem}.feedback-success h2{margin-bottom:.5rem}.feedback-success p{color:var(--color-text-muted);margin-bottom:2rem}.success-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.success-actions .btn-primary{width:auto}.success-actions .btn-secondary{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}@media(max-width:640px){.dashboard-header{flex-direction:column;gap:1rem;text-align:center}.dashboard-content,.settings-content,.feedback-content{padding:1rem}}
