.app-layout{min-height:100vh;display:flex;flex-direction:column}.nav-bar{display:flex;align-items:center;gap:var(--sp-lg);padding:var(--sp-sm) var(--sp-lg);background:var(--card);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}.nav-logo{font-size:var(--fs-xl);font-weight:800;color:var(--primary);letter-spacing:-.5px;text-decoration:none;margin-right:var(--sp-md)}.nav-tabs{display:flex;gap:var(--sp-xs);flex:1}.nav-tab{display:flex;align-items:center;gap:var(--sp-xs);padding:var(--sp-sm) var(--sp-md);border-radius:var(--r-md);color:var(--text-secondary);text-decoration:none;font-size:var(--fs-md);font-weight:500;transition:background .15s,color .15s}.nav-tab:hover{background:var(--bg);color:var(--text)}.nav-tab.active{background:var(--bg);color:var(--primary);font-weight:600}.nav-actions{display:flex;align-items:center;gap:var(--sp-sm)}.nav-cta{display:inline-flex;align-items:center;gap:var(--sp-xs);padding:var(--sp-sm) var(--sp-md);background:var(--primary);color:#fff;border-radius:var(--r-md);font-size:var(--fs-md);font-weight:600;text-decoration:none;transition:background .15s,transform .1s}.nav-cta:hover{background:var(--primary-hover);color:#fff}.nav-cta:active{transform:scale(.97)}.theme-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--r-sm);color:var(--text-secondary);transition:background .15s,color .15s}.theme-toggle:hover{background:var(--bg);color:var(--text)}.main-content{flex:1;max-width:960px;width:100%;margin:0 auto;padding:var(--sp-lg)}@media(max-width:768px){.nav-bar{flex-wrap:wrap;padding:var(--sp-sm)}.nav-tabs{order:3;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.nav-tab span,.nav-cta span{display:none}.main-content{padding:var(--sp-md)}}.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--sp-md)}.auth-card{width:100%;max-width:400px;padding:var(--sp-xl)}.auth-logo{text-align:center;font-size:var(--fs-xxl);font-weight:800;color:var(--primary);letter-spacing:-.5px;margin-bottom:var(--sp-xs)}.auth-subtitle{text-align:center;color:var(--text-secondary);font-size:var(--fs-md);margin-bottom:var(--sp-lg)}.auth-error{background:var(--error-light);color:var(--error);padding:var(--sp-sm) var(--sp-md);border-radius:var(--r-sm);font-size:var(--fs-md);margin-bottom:var(--sp-md);text-align:center}.auth-form{display:flex;flex-direction:column;gap:var(--sp-md)}.auth-input-group{position:relative;display:flex;align-items:center}.auth-input-icon{position:absolute;left:var(--sp-md);color:var(--text-tertiary);pointer-events:none}.auth-input-group input{width:100%;padding-left:44px;height:44px}.auth-submit{width:100%;height:44px;font-size:var(--fs-lg)}.auth-divider{display:flex;align-items:center;gap:var(--sp-md);margin:var(--sp-lg) 0;color:var(--text-tertiary);font-size:var(--fs-sm)}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.auth-google-btn{display:flex;align-items:center;justify-content:center;gap:var(--sp-sm);width:100%;height:44px;border:1px solid var(--border);border-radius:var(--r-md);color:var(--text);font-size:var(--fs-md);font-weight:500;transition:background .15s}.auth-google-btn:hover{background:var(--bg)}.auth-footer{text-align:center;margin-top:var(--sp-lg);color:var(--text-secondary);font-size:var(--fs-md)}.auth-footer a{font-weight:600}.xp-bar{width:100%}.xp-bar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sp-xs)}.xp-bar-level{font-weight:700;font-size:var(--fs-md);color:var(--xp-gold)}.xp-bar-text{font-size:var(--fs-sm);color:var(--text-secondary)}.xp-bar-track{height:8px;background:var(--border);border-radius:var(--r-pill);overflow:hidden}.xp-bar-fill{height:100%;background:linear-gradient(90deg,var(--xp-gold),#f59e0b);border-radius:var(--r-pill);transition:width .5s ease}.streak-counter{display:flex;align-items:center;gap:var(--sp-xs);color:var(--text-tertiary);font-weight:700;font-size:var(--fs-xl)}.streak-counter.active{color:var(--streak-orange)}.streak-calendar{display:flex;gap:var(--sp-sm);justify-content:space-between}.streak-day{display:flex;flex-direction:column;align-items:center;gap:var(--sp-xs)}.streak-dot{width:28px;height:28px;border-radius:50%;background:var(--border);transition:background .2s}.streak-dot.active{background:var(--primary)}.streak-day-label{font-size:var(--fs-xs);color:var(--text-tertiary);font-weight:500}.achievement-card{display:flex;align-items:center;gap:var(--sp-sm);padding:var(--sp-sm) var(--sp-md);border-radius:var(--r-md);background:var(--card);border:1px solid var(--border)}.achievement-card.locked{opacity:.5}.achievement-icon{font-size:24px;flex-shrink:0}.achievement-info{display:flex;flex-direction:column;min-width:0}.achievement-name{font-weight:600;font-size:var(--fs-md);color:var(--text)}.achievement-desc{font-size:var(--fs-sm);color:var(--text-secondary)}.modal-dialog{border:none;padding:0;background:transparent;max-width:480px;width:90vw}.modal-dialog::backdrop{background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{padding:var(--sp-lg)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sp-lg)}.modal-title{font-size:var(--fs-xl);font-weight:700;color:var(--text)}.modal-close{color:var(--text-tertiary);padding:var(--sp-xs);border-radius:var(--r-sm)}.modal-close:hover{background:var(--bg);color:var(--text)}.deck-picker-list{display:flex;flex-direction:column;gap:var(--sp-xs);max-height:300px;overflow-y:auto}.deck-picker-item{display:flex;align-items:center;gap:var(--sp-sm);padding:var(--sp-sm) var(--sp-md);border:none;background:var(--bg);border-radius:var(--r-md);cursor:pointer;text-align:left;color:var(--text);font-size:var(--fs-md);transition:background .15s}.deck-picker-item:hover:not(:disabled){background:var(--border)}.deck-picker-item.in-deck{opacity:.5}.deck-picker-icon{font-size:1.2em}.deck-picker-name{flex:1;font-weight:500}.deck-picker-check{color:var(--success)}.deck-picker-new{color:var(--primary);border:1px dashed var(--border);background:transparent}.deck-picker-create{display:flex;gap:var(--sp-xs)}.deck-picker-create input{flex:1;padding:var(--sp-sm) var(--sp-md);border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg);color:var(--text);font-size:var(--fs-md)}.deck-picker-create input:focus{outline:none;border-color:var(--primary)}.page{max-width:100%}.page-title{font-size:var(--fs-xxl);font-weight:700;color:var(--text);letter-spacing:-.3px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sp-md)}.section{margin-top:var(--sp-lg)}.section-title{font-size:var(--fs-xl);font-weight:700;color:var(--text);margin-bottom:var(--sp-sm)}.empty-state{text-align:center;padding:var(--sp-xxl) var(--sp-lg);color:var(--text-secondary);font-size:var(--fs-lg)}.stats-card{padding:var(--sp-md);margin-top:var(--sp-md)}.stats-row{display:flex;justify-content:space-around}.stat-col{display:flex;flex-direction:column;align-items:center}.stat-number{font-size:24px;font-weight:700;color:var(--primary)}.stat-label{font-size:var(--fs-sm);color:var(--text-secondary);margin-top:var(--sp-xs)}.review-header{display:flex;justify-content:space-between;align-items:flex-start}.review-greeting{font-size:24px;font-weight:700;color:var(--text);letter-spacing:-.3px}.review-subtitle{font-size:var(--fs-md);color:var(--text-secondary);margin-top:var(--sp-xs)}.review-cta{display:flex;align-items:center;justify-content:center;gap:var(--sp-sm);margin-top:var(--sp-md);height:64px;background:var(--primary);color:#fff;border-radius:var(--r-lg);font-size:var(--fs-lg);font-weight:700;text-decoration:none;box-shadow:0 4px 12px color-mix(in srgb,var(--primary) 30%,transparent);transition:transform .1s}.review-cta:hover{color:#fff;transform:scale(1.01)}.review-cta:active{transform:scale(.98)}.due-words-scroll{display:flex;gap:var(--sp-sm);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:var(--sp-xs)}.due-word-card{min-width:140px;padding:var(--sp-md);display:flex;flex-direction:column;gap:var(--sp-sm);scroll-snap-align:start;text-decoration:none;color:inherit;transition:transform .15s}.due-word-card:hover{transform:translateY(-2px)}.due-word-text{font-size:var(--fs-lg);font-weight:600;color:var(--text)}.due-word-date{font-size:var(--fs-xs);color:var(--text-tertiary)}.mistake-card{padding:var(--sp-md);margin-bottom:var(--sp-sm)}.mistake-word{font-size:var(--fs-lg);font-weight:600;color:var(--text)}.mistake-question{font-size:var(--fs-sm);color:var(--text-secondary);display:block;margin-top:var(--sp-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mistake-answers{display:flex;gap:var(--sp-md);margin-top:var(--sp-xs)}.mistake-wrong{font-size:var(--fs-md);font-weight:500;color:var(--error);text-decoration:line-through}.mistake-correct{font-size:var(--fs-md);font-weight:600;color:var(--success)}.explore-search{position:relative;margin-top:var(--sp-lg)}.explore-search-icon{position:absolute;left:var(--sp-md);top:50%;transform:translateY(-50%);color:var(--text-tertiary);pointer-events:none}.explore-search-input{width:100%;padding-left:44px;height:48px}.definition-card{padding:var(--sp-md);margin-top:var(--sp-sm)}.def-word{font-size:var(--fs-xl);font-weight:700;color:var(--text)}.def-meta{display:flex;align-items:center;gap:var(--sp-sm);margin-top:var(--sp-xs)}.def-pos{font-size:var(--fs-sm);font-weight:600;font-style:italic;color:var(--primary)}.def-pron{font-size:var(--fs-sm);color:var(--text-tertiary)}.def-text{font-size:var(--fs-md);color:var(--text-secondary);line-height:1.6;margin-top:var(--sp-sm)}.stage-section{border-bottom:1px solid var(--border);padding-bottom:var(--sp-xs);margin-bottom:var(--sp-xs)}.stage-header{display:flex;justify-content:space-between;align-items:center;width:100%;padding:var(--sp-sm) 0;color:var(--text)}.stage-header-left{display:flex;align-items:center;gap:var(--sp-sm);color:var(--text-secondary)}.stage-name{font-size:var(--fs-lg);font-weight:600;color:var(--text)}.stage-count{padding:2px 10px;border-radius:var(--r-pill);background:var(--border);font-size:var(--fs-sm);font-weight:600;color:var(--text-secondary)}.stage-word-list{padding-left:var(--sp-lg);display:flex;flex-direction:column;gap:var(--sp-xs);padding-bottom:var(--sp-sm)}.stage-word-card{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-sm);text-decoration:none;color:inherit;transition:transform .15s}.stage-word-card:hover{transform:translate(4px)}.stage-word-text{font-size:var(--fs-md);font-weight:500;color:var(--text)}.stage-word-meta{display:flex;align-items:center;gap:var(--sp-sm)}.mistake-badge{display:inline-flex;align-items:center;gap:2px;font-size:var(--fs-xs);font-weight:600;color:var(--error)}.deck-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--sp-md)}.deck-card{padding:var(--sp-md);text-decoration:none;color:inherit;transition:transform .15s}.deck-card:hover{transform:translateY(-2px)}.deck-card-header{display:flex;justify-content:space-between;align-items:center}.deck-icon{font-size:28px}.deck-name{font-size:var(--fs-lg);font-weight:600;color:var(--text);margin-top:var(--sp-sm)}.deck-meta{display:flex;align-items:center;gap:var(--sp-sm);margin-top:var(--sp-xs);font-size:var(--fs-sm);color:var(--text-secondary)}.deck-system-badge{padding:1px 6px;border-radius:var(--r-pill);background:var(--primary);color:#fff;font-size:var(--fs-xs);font-weight:600}.create-deck-form{display:flex;flex-direction:column}.profile-header{display:flex;flex-direction:column;align-items:center;gap:var(--sp-xs);margin-bottom:var(--sp-md)}.profile-avatar{width:64px;height:64px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700}.profile-name{font-size:var(--fs-xl);font-weight:700;color:var(--text)}.profile-email{font-size:var(--fs-md);color:var(--text-secondary)}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--sp-sm)}.lang-stat-card{padding:var(--sp-md);margin-bottom:var(--sp-sm)}.lang-stat-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sp-sm)}.lang-code{font-weight:700;font-size:var(--fs-lg);color:var(--text)}.lang-accuracy{font-size:var(--fs-sm);color:var(--text-secondary)}.lang-stat-bar{height:6px;background:var(--border);border-radius:var(--r-pill);overflow:hidden}.lang-stat-fill{height:100%;background:var(--primary);border-radius:var(--r-pill);transition:width .5s ease}.lang-stat-text{font-size:var(--fs-sm);color:var(--text-secondary);margin-top:var(--sp-xs);display:block}.profile-actions{display:flex;flex-direction:column;gap:var(--sp-sm);margin-top:var(--sp-xl)}.profile-action-btn{display:flex;align-items:center;gap:var(--sp-sm);padding:var(--sp-md);border-radius:var(--r-md);background:var(--card);border:1px solid var(--border);color:var(--text);font-size:var(--fs-md);font-weight:500;text-decoration:none;cursor:pointer;transition:background .15s}.profile-action-btn:hover{background:var(--bg)}.profile-action-btn.danger{color:var(--error)}.back-link{display:inline-flex;align-items:center;gap:var(--sp-xs);color:var(--text-secondary);font-size:var(--fs-md);font-weight:500;text-decoration:none;margin-bottom:var(--sp-md)}.back-link:hover{color:var(--text)}.word-detail-header{display:flex;align-items:center;gap:var(--sp-md);margin-bottom:var(--sp-md)}.word-detail-word{font-size:var(--fs-xxl);font-weight:700;color:var(--text)}.word-detail-meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-sm);margin-bottom:var(--sp-md)}.word-badge{padding:2px 10px;border-radius:var(--r-pill);background:var(--border);font-size:var(--fs-xs);font-weight:600;color:var(--text-secondary)}.word-section{padding:var(--sp-md);margin-bottom:var(--sp-sm)}.word-section.mnemonic{border-left:3px solid var(--xp-gold)}.word-section-title{font-size:var(--fs-md);font-weight:700;color:var(--text);margin-bottom:var(--sp-sm);text-transform:uppercase;letter-spacing:.5px}.word-section-text{font-size:var(--fs-md);line-height:1.6;color:var(--text)}.word-section-text.secondary{color:var(--text-secondary);margin-top:var(--sp-xs)}.word-example{padding:var(--sp-sm) 0;border-bottom:1px solid var(--border)}.word-example:last-child{border-bottom:none}.word-example-sentence{font-size:var(--fs-md);font-style:italic;color:var(--text);line-height:1.5}.word-example-translation{font-size:var(--fs-sm);color:var(--text-secondary);margin-top:var(--sp-xs)}.word-chips{display:flex;flex-wrap:wrap;gap:var(--sp-xs)}.word-chip{padding:4px 12px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary);font-size:var(--fs-sm);font-weight:500}.word-chip.antonym{background:color-mix(in srgb,var(--error) 12%,transparent);color:var(--error)}.word-chip.neutral{background:var(--border);color:var(--text-secondary)}.word-srs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-md)}.word-srs-label{display:block;font-size:var(--fs-sm);color:var(--text-secondary);margin-bottom:var(--sp-xs)}.word-srs-value{font-weight:600;color:var(--text)}.word-srs-value.error{color:var(--error)}.deck-detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--sp-md)}.deck-word-list{display:flex;flex-direction:column;gap:var(--sp-xs)}.settings-lang-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--sp-sm)}.settings-lang-btn{padding:var(--sp-sm) var(--sp-md);border-radius:var(--r-md);border:1.5px solid var(--border);background:var(--card);color:var(--text);font-size:var(--fs-md);font-weight:500;transition:border-color .15s,background .15s}.settings-lang-btn:hover{border-color:var(--primary)}.settings-lang-btn.active{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--primary);font-weight:600}.settings-info-row{display:flex;justify-content:space-between;padding:var(--sp-sm) 0;border-bottom:1px solid var(--border)}.settings-info-row:last-child{border-bottom:none}.settings-info-label{font-size:var(--fs-md);color:var(--text-secondary)}.settings-info-value{font-size:var(--fs-md);font-weight:500;color:var(--text)}.flashcard-container{width:100%;max-width:520px;height:520px;perspective:1000px;cursor:pointer;margin:0 auto}.flashcard-inner{display:grid;width:100%;height:100%;transition:transform .5s;transform-style:preserve-3d}.flashcard-inner.flipped{transform:rotateY(180deg)}.flashcard-face{grid-area:1 / 1;backface-visibility:hidden;padding:var(--sp-lg);display:flex;align-items:center;justify-content:center}.flashcard-back{transform:rotateY(180deg);overflow-y:auto;align-items:stretch;justify-content:flex-start}.flashcard-front-content{text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--sp-md)}.flashcard-word{font-size:var(--fs-xxxl);font-weight:700;color:var(--text)}.flashcard-hint{font-size:var(--fs-sm);color:var(--text-tertiary)}.flashcard-back-content{display:flex;flex-direction:column;gap:var(--sp-sm);width:100%}.flashcard-no-def{color:var(--text-tertiary);text-align:center}.fc-back-header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-sm)}.fc-back-word{font-size:var(--fs-xl);font-weight:800;color:var(--text);flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fc-badge-row{display:flex;gap:var(--sp-xs);flex-shrink:0}.fc-cefr-badge{padding:2px 8px;border-radius:var(--r-pill);color:#fff;font-size:var(--fs-xs);font-weight:700}.fc-register-badge{padding:2px 8px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--primary);font-size:var(--fs-xs);font-weight:600}.fc-pos-chip{display:inline-block;width:fit-content;padding:2px 10px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--primary);font-size:var(--fs-sm);font-weight:600}.fc-pronunciation-row{display:flex;gap:var(--sp-md);flex-wrap:wrap}.fc-pronunciation-item{display:flex;align-items:center;gap:var(--sp-xs)}.fc-pronunciation-label{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;color:var(--text-tertiary)}.fc-pronunciation-text{font-size:var(--fs-md);font-style:italic;color:var(--text-secondary)}.fc-divider{height:1px;background:var(--border);width:100%}.fc-translation{font-size:var(--fs-md);font-style:italic;color:var(--text-secondary)}.fc-definition{font-size:var(--fs-lg);line-height:1.5;color:var(--text)}.fc-example-card{padding:var(--sp-sm) var(--sp-md);border-radius:var(--r-md);background:var(--bg)}.fc-example-text{font-size:var(--fs-md);font-style:italic;line-height:1.4;color:var(--text-secondary)}.fc-example-translation{font-size:var(--fs-sm);margin-top:var(--sp-xs);line-height:1.4;color:var(--text-tertiary)}.fc-chip-section{display:flex;flex-direction:column;gap:var(--sp-xs)}.fc-section-label{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-tertiary)}.fc-chip-row{display:flex;flex-wrap:wrap;gap:var(--sp-sm)}.fc-chip{padding:3px 10px;border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:600}.fc-chip-synonym{background:color-mix(in srgb,var(--success) 12%,transparent);color:var(--success)}.fc-chip-antonym{background:color-mix(in srgb,var(--error) 12%,transparent);color:var(--error)}.fc-mnemonic-card{padding:var(--sp-sm) var(--sp-md);border-radius:var(--r-md);background:color-mix(in srgb,var(--warning) 12%,transparent)}.fc-mnemonic-label{display:block;font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--warning);margin-bottom:var(--sp-xs)}.fc-mnemonic-text{font-size:var(--fs-sm);line-height:1.4;color:var(--text)}.flashcard-stack{display:flex;flex-direction:column;height:100%;gap:var(--sp-md)}.flashcard-stack-cards{flex:1;position:relative;display:flex;align-items:center;justify-content:center}.flashcard-stack-bg{position:absolute;width:100%;max-width:520px;height:520px;opacity:.5}.flashcard-stack-top{position:relative;z-index:10;transition:transform .3s ease,opacity .3s ease}.flashcard-stack-top.exit-left{transform:translate(-120%) rotate(-10deg);opacity:0}.flashcard-stack-top.exit-right{transform:translate(120%) rotate(10deg);opacity:0}.flashcard-progress{display:flex;flex-direction:column;align-items:center;gap:var(--sp-xs)}.flashcard-progress-bar{width:100%;max-width:520px;height:4px;background:var(--border);border-radius:var(--r-pill);overflow:hidden}.flashcard-progress-fill{height:100%;background:var(--primary);border-radius:var(--r-pill);transition:width .3s ease}.flashcard-progress-text{font-size:var(--fs-md);font-weight:600;color:var(--text-secondary)}.flashcard-actions{display:flex;gap:var(--sp-md);justify-content:center;padding-bottom:var(--sp-md)}.flashcard-btn{padding:var(--sp-md) var(--sp-xl);border-radius:var(--r-lg);font-size:var(--fs-lg);font-weight:700;color:#fff;transition:transform .1s,opacity .1s;min-width:140px}.flashcard-btn:hover{transform:scale(1.03)}.flashcard-btn:active{transform:scale(.97)}.flashcard-btn.learning{background:var(--warning)}.flashcard-btn.known{background:var(--success)}.session-page{min-height:100vh;display:flex;flex-direction:column;background:var(--bg);position:relative}.session-header{position:absolute;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:var(--sp-md)}.session-close{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text);transition:background .15s;flex-shrink:0}.session-close:hover{background:var(--border)}.session-stats-row{display:flex;gap:var(--sp-md)}.session-stat{font-size:var(--fs-sm);font-weight:600;color:var(--text-secondary)}.session-centered{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:var(--sp-lg)}.session-loading-text{margin-top:var(--sp-lg);font-size:var(--fs-lg);font-weight:500;color:var(--text-secondary)}.session-phase{flex:1;display:flex;flex-direction:column;padding:var(--sp-xxl) var(--sp-md) var(--sp-md);padding-top:calc(var(--sp-xxl) + var(--sp-lg));max-width:640px;width:100%;margin:0 auto;animation:fade-in .2s ease}.session-phase-title{font-size:var(--fs-xl);font-weight:700;color:var(--text)}.session-progress-label{text-align:center;font-size:var(--fs-md);font-weight:600;color:var(--text-secondary);padding-bottom:var(--sp-lg)}.flashcard-single-stack{flex:1;display:flex;align-items:center;justify-content:center}.quiz-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sp-md)}.quiz-counter{font-size:var(--fs-md);font-weight:600;color:var(--text-secondary)}.quiz-word-badge{display:inline-block;align-self:flex-start;padding:4px 12px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--primary) 15%,transparent);color:var(--primary);font-size:var(--fs-sm);font-weight:700;margin-bottom:var(--sp-md)}.quiz-progress-bar{height:4px;background:var(--border);border-radius:var(--r-pill);margin-bottom:var(--sp-lg);overflow:hidden}.quiz-progress-fill{height:100%;background:var(--primary);border-radius:var(--r-pill);transition:width .3s ease}.quiz-question-area{flex:1;display:flex;flex-direction:column;gap:var(--sp-lg);animation:fade-in .3s ease}@keyframes fade-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.quiz-question-card{padding:var(--sp-lg)}.quiz-question-text{font-size:var(--fs-lg);font-weight:500;line-height:1.6;color:var(--text)}.quiz-options{display:flex;flex-direction:column;gap:10px}.quiz-option{display:flex;align-items:center;gap:var(--sp-md);padding:var(--sp-md);border-radius:var(--r-md);border:1.5px solid var(--border);background:var(--card);text-align:left;transition:border-color .15s,background .15s}.quiz-option:not(:disabled):hover{border-color:var(--primary)}.quiz-option.correct{background:var(--success-light);border-color:var(--success)}.quiz-option.correct .quiz-option-text{color:var(--success)}.quiz-option.wrong{background:var(--error-light);border-color:var(--error)}.quiz-option.wrong .quiz-option-text{color:var(--error)}.quiz-option-label{font-size:var(--fs-sm);font-weight:700;color:var(--text-tertiary);width:24px;flex-shrink:0}.quiz-option-text{font-size:var(--fs-md);font-weight:500;color:var(--text);line-height:1.4}.quiz-explanation{padding:var(--sp-md);border:1px solid var(--border);animation:fade-in .3s ease}.quiz-explanation p{font-size:var(--fs-md);font-style:italic;color:var(--text-secondary);line-height:1.5}.results-content{display:flex;flex-direction:column;align-items:center;gap:var(--sp-md)}.results-score{font-size:48px;font-weight:800;animation:scale-in .4s ease}@keyframes scale-in{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.results-subtitle{font-size:var(--fs-lg);font-weight:500;color:var(--text-secondary)}.results-xp-card{padding:var(--sp-md) var(--sp-xl);border-radius:var(--r-lg);background:var(--warning-light);margin-top:var(--sp-md);animation:fade-in .4s ease .3s both}.results-xp{font-size:var(--fs-xxl);font-weight:800;color:var(--xp-gold)}.results-motivation{font-size:var(--fs-md);font-weight:500;color:var(--text-tertiary);text-align:center;margin-top:var(--sp-sm)}.results-done-btn{width:100%;max-width:320px;height:56px;font-size:var(--fs-lg);font-weight:700;margin-top:var(--sp-xl);animation:fade-in .4s ease .5s both}.session-fetching{position:absolute;bottom:100px;left:50%;transform:translate(-50%)}:root{font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg: #f9fafb;--text: #1f2937;--text-secondary: #6b7280;--text-tertiary: #9ca3af;--card: #ffffff;--border: #e5e7eb;--primary: #4f46e5;--primary-hover: #4338ca;--success: #059669;--success-light: #ecfdf5;--error: #dc2626;--error-light: #fee2e2;--warning: #f59e0b;--warning-light: #fef3c7;--xp-gold: #eab308;--streak-orange: #f97316;--shadow: rgba(0, 0, 0, .06);--sp-xs: 4px;--sp-sm: 8px;--sp-md: 16px;--sp-lg: 24px;--sp-xl: 32px;--sp-xxl: 48px;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 24px;--r-pill: 9999px;--fs-xs: .625rem;--fs-sm: .75rem;--fs-md: .875rem;--fs-lg: 1rem;--fs-xl: 1.25rem;--fs-xxl: 1.75rem;--fs-xxxl: 2.5rem}:root.dark{--bg: #111827;--text: #f9fafb;--text-secondary: #9ca3af;--text-tertiary: #6b7280;--card: #1f2937;--border: #374151;--primary: #818cf8;--primary-hover: #6366f1;--success: #10b981;--success-light: #064e3b;--error: #ef4444;--error-light: #7f1d1d;--warning: #f59e0b;--warning-light: #78350f;--xp-gold: #facc15;--streak-orange: #fb923c;--shadow: rgba(0, 0, 0, .3)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;background:var(--bg);color:var(--text);transition:background .2s,color .2s}#root{min-height:100vh}a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-hover)}button{font-family:inherit;cursor:pointer;border:none;background:none}input,textarea{font-family:inherit;font-size:var(--fs-md);color:var(--text);background:var(--card);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-sm) var(--sp-md);outline:none;transition:border-color .2s}input:focus,textarea:focus{border-color:var(--primary)}.card{background:var(--card);border-radius:var(--r-lg);box-shadow:0 2px 8px var(--shadow)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-sm);padding:var(--sp-sm) var(--sp-lg);background:var(--primary);color:#fff;border-radius:var(--r-md);font-weight:600;font-size:var(--fs-md);transition:background .2s,transform .1s}.btn-primary:hover{background:var(--primary-hover)}.btn-primary:active{transform:scale(.97)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.spinner{width:24px;height:24px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{opacity:.3}50%{opacity:.7}to{opacity:.3}}.toast{position:fixed;bottom:var(--sp-lg);right:var(--sp-lg);padding:var(--sp-sm) var(--sp-lg);border-radius:var(--r-md);color:#fff;font-weight:500;font-size:var(--fs-md);z-index:9999;animation:slide-in .3s ease-out}.toast-success{background:var(--success)}.toast-error{background:var(--error)}.toast-info{background:var(--primary)}@keyframes slide-in{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}
