:root{--background: #fcfaff;--surface: rgba(255, 255, 255, .92);--surface-alt: #f7f1fb;--surface-soft: #f2e8fb;--border: #e8dcf5;--border-strong: #d6bceb;--text: #22112e;--muted: #725f81;--body: #5f4d6e;--primary: #820ad1;--primary-dark: #4c0677;--primary-soft: #efe0fb;--highlight: #f6ecff;--shadow-sm: 0 18px 40px rgba(91, 27, 125, .09);--shadow-lg: 0 24px 64px rgba(76, 6, 119, .16);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--text-xs: clamp(.7rem, 1.5vw, .75rem);--text-sm: clamp(.8rem, 1.8vw, .875rem);--text-base: clamp(.9rem, 2vw, 1rem);--text-md: clamp(1rem, 2.2vw, 1.125rem);--text-lg: clamp(1.1rem, 2.5vw, 1.25rem);--text-xl: clamp(1.25rem, 3vw, 1.5rem);--text-2xl: clamp(1.5rem, 4vw, 2rem);--text-3xl: clamp(1.75rem, 5vw, 2.5rem);--text-hero: clamp(2rem, 6vw, 4.75rem);font-family:Nunito Sans,Segoe UI,sans-serif;font-size:var(--text-base);color:var(--body);background:radial-gradient(circle at top left,rgba(130,10,209,.08),transparent 28%),radial-gradient(circle at top right,rgba(159,59,218,.1),transparent 22%),linear-gradient(180deg,#ffffff 0%,var(--background) 38%,#ffffff 100%)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;overflow-x:hidden}body,button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button,[role=button],a:not(.lesson-card-title-link):not(.brand-mark):not(.nav-pill){min-height:44px}.pill-tag,.outline-tag,.lesson-meta-pill,.asset-dot,.generating-shimmer-tag,.ghost-badge,.sparkline-label,.lang-chart-label,.wave-label{min-height:unset}.section-shell{width:100%;max-width:1160px;margin-inline:auto;padding-inline:var(--space-4)}@media(min-width:640px){.section-shell{padding-inline:var(--space-6)}}@media(min-width:1024px){.section-shell{padding-inline:var(--space-8)}}.surface-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.app-shell{min-height:100vh;padding-block-end:var(--space-12)}.site-header{position:sticky;top:0;z-index:100;background:#fcfaffe0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding-block:max(var(--space-5),env(safe-area-inset-top,var(--space-5)));padding-inline:max(var(--space-4),env(safe-area-inset-left,0px))}.brand-mark{display:inline-flex;align-items:center;gap:.55rem;text-decoration:none;min-height:unset}.brand-mark-badge{width:36px;height:36px;border-radius:50%;background:var(--primary-dark);box-shadow:0 2px 10px #4c067773;display:flex;align-items:center;justify-content:center;flex-shrink:0}.brand-mark-wordmark{font-size:var(--text-md);font-weight:900;letter-spacing:-.01em;line-height:1;color:var(--text)}.brand-mark-wordmark span{color:var(--primary)}.site-nav{display:flex;gap:var(--space-3);flex-wrap:wrap}.nav-pill{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 var(--space-5);border-radius:999px;border:1px solid transparent;color:var(--text);font-size:var(--text-sm);transition:transform .18s ease,background .18s ease;white-space:nowrap}.nav-pill:hover{transform:translateY(-1px);background:#ffffffb3}.nav-user{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--space-4);color:var(--muted);font-weight:700}.nav-pill-primary{background:var(--primary-soft);border-color:#820ad14d;color:var(--primary)}@media(max-width:640px){.site-header{flex-direction:column;align-items:flex-start;gap:var(--space-2);padding-block:var(--space-3)}.site-nav{width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;padding-bottom:var(--space-1)}.site-nav::-webkit-scrollbar{display:none}.nav-pill{flex-shrink:0}}.dashboard-page{padding-top:var(--space-4)}.hero,.panel,.auth-panel,.lesson-card,.lesson-form-panel,.detail-hero,.content-block{border-radius:2rem}.hero{display:grid;grid-template-columns:1.7fr .9fr;gap:var(--space-8);padding:var(--space-8)}.hero-actions{display:grid;align-content:center;gap:var(--space-3)}.dashboard-grid{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:var(--space-6);margin-top:var(--space-6)}.panel{padding:var(--space-6)}.lesson-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4)}@media(min-width:900px){.lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.lesson-card{padding:var(--space-4);border-radius:1.25rem;display:grid;gap:var(--space-3)}@media(min-width:768px){.lesson-card{padding:var(--space-5);border-radius:2rem}}.lesson-card-link{display:block}.lesson-card h3,.panel h2,.hero h1,.auth-panel h1,.lesson-form-panel h1,.detail-hero h1,.content-block h2{color:var(--text);margin:0}.hero h1{font-size:var(--text-hero);line-height:1.02}.lead{color:var(--muted);line-height:1.7;font-size:var(--text-md)}.eyebrow{margin:0 0 .6rem;font-size:var(--text-xs);font-weight:900;letter-spacing:.28em;text-transform:uppercase;color:var(--primary)}.pill-tag{display:inline-flex;align-items:center;width:fit-content;margin-bottom:.9rem;padding:.45rem .75rem;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:var(--text-sm);font-weight:800}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:3.2rem;border-radius:999px;border:1px solid transparent;padding:0 var(--space-5);font-weight:800}.primary-button{background:linear-gradient(135deg,var(--primary),#a53ce2);color:#fff;box-shadow:var(--shadow-sm)}.secondary-button{background:#fff;color:var(--text);border-color:var(--border)}.danger-button{display:inline-flex;align-items:center;justify-content:center;min-height:3.2rem;border-radius:999px;border:1px solid transparent;padding:0 var(--space-5);font-weight:800;background:#b42318;color:#fff}.danger-button:disabled{opacity:.6}.danger-zone{border:1px solid #fca5a5;background:#fef2f2;border-radius:2rem;overflow:hidden}.danger-zone-summary{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-6);font-size:var(--text-sm);font-weight:700;color:#b42318;cursor:pointer;-webkit-user-select:none;user-select:none;background:none;border:none;width:100%;text-align:left;transition:background .15s}.danger-zone-summary:hover{background:#b423180d}.danger-zone-summary-chevron{margin-left:auto;color:#b42318;opacity:.6;transition:transform .2s}.danger-zone-summary-chevron--open{transform:rotate(180deg)}.danger-zone-body{padding:0 var(--space-6) var(--space-6);border-top:1px solid #fca5a5;display:grid;gap:var(--space-4)}.danger-zone-description{font-size:var(--text-sm);color:#b42318;opacity:.85;margin-top:var(--space-4)}.danger-zone-confirm-box{background:#fff;border:1px solid #fca5a5;border-radius:1rem;padding:var(--space-4) var(--space-5);display:grid;gap:var(--space-4)}.danger-zone-confirm-question{font-size:var(--text-sm);font-weight:700;color:var(--text)}.danger-zone-actions{display:flex;gap:var(--space-3);flex-wrap:wrap}.danger-ghost-button{display:inline-flex;align-items:center;justify-content:center;min-height:3.2rem;border-radius:999px;border:1.5px solid #fca5a5;padding:0 var(--space-5);font-weight:700;font-size:var(--text-sm);background:transparent;color:#b42318;transition:background .15s}.danger-ghost-button:hover{background:#b4231814}@media(max-width:640px){.danger-zone-summary{padding:var(--space-3) var(--space-4)}.danger-zone-body{padding:0 var(--space-4) var(--space-4)}}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#22112e80;display:grid;place-items:center;z-index:100;padding:max(var(--space-4),env(safe-area-inset-top,var(--space-4))) max(var(--space-4),env(safe-area-inset-right,var(--space-4))) max(var(--space-4),env(safe-area-inset-bottom,var(--space-4))) max(var(--space-4),env(safe-area-inset-left,var(--space-4)))}.confirm-dialog{width:min(480px,100%);padding:var(--space-8);border-radius:2rem;display:grid;gap:var(--space-4)}.button-link{width:100%}.check-list{display:grid;gap:.8rem;padding-left:var(--space-5);margin:var(--space-5) 0 0}.auth-page{display:grid;place-items:center;min-height:100vh;padding:max(var(--space-4),env(safe-area-inset-top,var(--space-4))) max(var(--space-4),env(safe-area-inset-right,var(--space-4))) max(var(--space-4),env(safe-area-inset-bottom,var(--space-4))) max(var(--space-4),env(safe-area-inset-left,var(--space-4)))}.auth-brand-mark{display:flex;flex-direction:column;align-items:center;gap:.6rem}.brand-mark-badge--lg{width:64px;height:64px}.auth-brand-wordmark{font-size:var(--text-xl);font-weight:900;letter-spacing:-.01em;line-height:1;color:var(--text)}.auth-brand-wordmark span{color:var(--primary)}.auth-panel{width:min(460px,100%);padding:var(--space-8);display:grid;gap:1.4rem}@media(max-width:400px){.auth-panel{padding:var(--space-5)}}.auth-form{display:grid;gap:var(--space-4)}.auth-form label{display:grid;gap:.45rem;color:var(--text);font-weight:700}.auth-form input{border-radius:1rem;border:1px solid var(--border);min-height:3.25rem;padding:0 var(--space-4);background:#fff}@media(max-width:640px){.auth-form input,.form-input,.dashboard-search,.lesson-form input,.lesson-form textarea,.lesson-form select{font-size:16px}}.switch-copy{margin:0;color:var(--muted)}.switch-copy a{color:var(--primary);text-decoration:underline;font-weight:600}.form-error{margin:0;color:#b42318;font-weight:700}.form-success{margin:0;color:#166534;font-weight:700;font-size:var(--text-sm)}.composer-layout,.detail-page{display:grid;gap:var(--space-6)}.composer-layout{grid-template-columns:minmax(0,1.45fr) minmax(280px,360px)}.panel-stack{display:grid;gap:var(--space-4);align-content:start}.lesson-form-panel,.detail-hero,.content-block{padding:1.75rem}.lesson-form{display:grid;gap:var(--space-4)}.lesson-form label{display:grid;gap:.45rem;color:var(--text);font-weight:700}.lesson-form input,.lesson-form textarea,.lesson-form select,.title-form input{border-radius:1rem;border:1px solid var(--border);min-height:3.25rem;padding:.9rem var(--space-4);background:#fff;resize:vertical}.lesson-form select{-webkit-appearance:none;-moz-appearance:none;appearance:none}.mode-toggle{display:inline-grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;padding:.35rem;border-radius:1.25rem;background:var(--surface-soft);border:1px solid var(--border);width:100%}.mode-toggle-button{min-height:2.8rem;border:1px solid transparent;border-radius:1rem;background:transparent;color:var(--muted);font-weight:800}.mode-toggle-button.is-active{background:#fff;color:var(--text);border-color:var(--border);box-shadow:var(--shadow-sm)}.option-group-label{font-size:var(--text-sm);font-weight:800;color:var(--text);margin-bottom:.6rem}.option-cards{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.65rem}.option-card{position:relative;display:flex;flex-direction:column;gap:.3rem;padding:.9rem .9rem .9rem 2.6rem;border:2px solid var(--border);border-radius:12px;background:#fff;cursor:pointer;text-align:left;font-family:inherit;transition:border-color .15s,background .15s,box-shadow .15s}.option-card:hover{border-color:var(--border-strong);box-shadow:0 4px 14px #820ad112}.option-card.is-selected{border-color:var(--primary);background:var(--highlight);box-shadow:0 0 0 3px #820ad114}.option-card:before{content:"";position:absolute;left:.9rem;top:1rem;width:1rem;height:1rem;border-radius:50%;border:2px solid var(--border-strong);background:#fff;transition:border-color .15s,background .15s}.option-card.is-selected:before{border-color:var(--primary);background:var(--primary);box-shadow:inset 0 0 0 2px #fff}.option-card--checkbox:before{border-radius:4px;box-shadow:none}.option-card--checkbox.is-selected:before{border-color:var(--primary);background:var(--primary);box-shadow:none}.option-card--checkbox.is-selected:after{content:"✓";position:absolute;left:.9rem;top:.975rem;width:1rem;height:1rem;font-size:.65rem;font-weight:900;color:#fff;display:flex;align-items:center;justify-content:center;line-height:1}.option-card--full{grid-column:1 / -1}.option-card-title{font-size:var(--text-sm);font-weight:800;color:var(--text);line-height:1.3}.option-card.is-selected .option-card-title{color:var(--primary-dark)}.option-card-desc{font-size:var(--text-sm);color:var(--muted);line-height:1.55;font-weight:400}@media(max-width:600px){.option-cards{grid-template-columns:1fr}}.context-ready{display:flex;align-items:center;gap:.6rem;padding:.85rem 1rem;background:#f9f5ff;border:1px solid var(--border);border-radius:10px;font-size:.82rem;color:var(--text-secondary);font-weight:700}.context-ready-icon{font-size:1.2rem;flex-shrink:0}.nudge{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.6rem;padding:1.5rem 1.25rem;border:2px dashed var(--border-strong);border-radius:12px;background:#fdfaff}.nudge-title{font-size:.82rem;font-weight:800;color:var(--text-primary)}.nudge-desc{font-size:.75rem;color:var(--text-secondary);line-height:1.6;max-width:300px}.nudge-cta{display:inline-block;margin-top:.25rem;padding:.55rem 1.25rem;border-radius:8px;background:var(--primary);color:#fff;font-weight:800;font-size:.75rem;border:none;cursor:pointer;font-family:inherit}.nudge-cta:hover{background:var(--primary-dark)}.lesson-form-grid,.detail-grid{display:grid;gap:var(--space-4)}.lesson-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field-hint,.content-copy{margin:0;color:var(--muted);line-height:1.7}.detail-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,320px);gap:var(--space-6)}.detail-grid{grid-template-columns:minmax(0,1.5fr) minmax(280px,340px)}.meta-list{display:grid;gap:.9rem;margin:0}.meta-list div{display:grid;gap:.2rem}.meta-list dt{font-size:var(--text-sm);font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.meta-list dd{margin:0;color:var(--text);font-weight:700}.empty-state{display:grid;gap:var(--space-3);align-content:start}.title-editor{max-width:460px}.transcript-panel{display:grid;gap:1.25rem;padding:1.75rem;border-radius:2rem}.transcript-header{display:flex;justify-content:space-between;gap:var(--space-4);align-items:flex-start}.transcript-body,.transcript-empty{display:grid;gap:var(--space-4)}.transcript-block{padding:1.1rem;border-radius:1.4rem;background:var(--highlight);border:1px solid var(--border)}.preserve-lines{white-space:pre-wrap}.script-inspector{border:1px solid var(--border);border-radius:1.25rem;background:#fff;padding:var(--space-4);overflow:hidden}.script-inspector summary{cursor:pointer;font-weight:800;color:var(--text)}.script-inspector pre{margin:var(--space-4) 0 0;white-space:pre-wrap;word-break:break-all;overflow-wrap:break-word;color:var(--body);font-family:Consolas,Courier New,monospace;font-size:var(--text-sm)}.lesson-audio-player{width:100%}.lesson-meta-pills{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.9rem}.lesson-meta-pill{display:inline-flex;align-items:center;padding:.3rem .75rem;border-radius:999px;font-size:var(--text-sm);font-weight:800;border:1px solid var(--border)}.lesson-meta-pill--lang{background:var(--primary-soft);color:var(--primary);border-color:#820ad140}.lesson-meta-pill--level{background:#fff;color:var(--text)}.lesson-meta-pill--personalised{background:#e6f6ef;color:#0f7a4c;border-color:#0f7a4c40}.hero-media-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-top:1.25rem}.hero-audio-player{flex:1 1 240px;min-width:0}.hero-audio-player .lesson-audio-player{max-width:480px}.audio-player-row{display:flex;align-items:center;gap:var(--space-2)}.audio-player-row .lesson-audio-player{flex:1 1 0;min-width:0}.loop-chip{flex-shrink:0;display:inline-flex;align-items:center;height:32px;width:32px;min-height:unset;border:1.5px solid var(--border-strong);border-radius:999px;overflow:hidden;cursor:pointer;background:none;padding:0;transition:border-color .15s,width .15s;-webkit-user-select:none;user-select:none;font-family:inherit}.loop-chip:hover{border-color:var(--primary)}.loop-chip:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.loop-chip-icon{width:30px;height:100%;display:flex;align-items:center;justify-content:center;font-size:1rem;color:var(--muted);transition:background .15s,color .15s}.loop-chip-count{display:none;font-size:var(--text-xs);font-weight:900;color:var(--primary);padding:0 .6rem 0 0;white-space:nowrap}.loop-chip.loop-chip--active{border-color:var(--primary);width:auto}.loop-chip.loop-chip--active .loop-chip-icon{background:var(--primary);color:#fff}.loop-chip.loop-chip--active .loop-chip-count{display:block}@keyframes loop-chip-pulse{0%{transform:scale(1)}40%{transform:scale(1.18)}to{transform:scale(1)}}.loop-chip.loop-chip--pulse{animation:loop-chip-pulse .28s ease-out}.audio-loop-hint{font-size:var(--text-xs);font-weight:800;color:var(--muted);margin-top:var(--space-1);min-height:1.2em}.audio-loop-hint--active{color:var(--primary)}.edit-audio-panel,.title-form{display:grid;gap:var(--space-4)}.title-form label{display:grid;gap:.45rem;color:var(--text);font-weight:700}.tag-list{display:flex;flex-wrap:wrap;gap:.55rem}.tag-list-compact{gap:.45rem}.outline-tag{display:inline-flex;align-items:center;min-height:2rem;padding:0 .8rem;border-radius:999px;border:1px solid var(--border);background:#ffffffd6;color:var(--text);font-size:var(--text-sm);font-weight:800}@media(max-width:900px){.hero,.dashboard-grid,.detail-hero,.detail-grid,.composer-layout{grid-template-columns:1fr}.composer-sidebar{order:-1}.transcript-header{flex-direction:column;align-items:flex-start}.transcript-header>:last-child{align-self:flex-end}}@media(max-width:640px){.hero,.panel,.auth-panel,.lesson-form-panel,.detail-hero,.content-block{padding:1.4rem}.lesson-form-grid{grid-template-columns:1fr}}.form-field{display:grid;gap:.45rem}.form-field label{color:var(--text);font-weight:700;font-size:var(--text-sm)}.form-input{border-radius:1rem;border:1px solid var(--border);min-height:3.25rem;padding:.9rem var(--space-4);background:#fff;resize:vertical;width:100%;color:var(--text)}.form-input:focus{outline:2px solid var(--primary);outline-offset:2px}.form-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.lesson-lines-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-4)}.lesson-line-item{display:grid;gap:.25rem;padding:var(--space-4) 1.1rem;border-radius:1.1rem;background:#fff;border:1px solid var(--border)}.lesson-line-target{font-size:var(--text-md);font-weight:800;color:var(--text);line-height:1.4}.lesson-line-native{font-size:var(--text-sm);color:var(--muted);line-height:1.4}.lesson-vocab-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3)}.lesson-vocab-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.25rem var(--space-4);padding:.85rem 1.1rem;border-radius:1.1rem;background:#fff;border:1px solid var(--border)}@media(max-width:400px){.lesson-vocab-item{grid-template-columns:1fr}}.lesson-vocab-term{font-weight:800;color:var(--text);font-size:var(--text-base)}.lesson-vocab-translation{font-size:var(--text-sm);color:var(--muted);align-self:center}.lesson-vocab-example{grid-column:1 / -1;font-size:var(--text-sm);color:var(--body);font-style:italic;padding-top:.2rem}.detail-native-title{margin:var(--space-1) 0 0;font-size:var(--text-md);font-weight:700;color:var(--muted);line-height:1.3}.jcard-subtitle{display:block;font-size:var(--text-sm);font-weight:700;color:var(--muted);line-height:1.3;margin-top:.15rem}.content-player-card{margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--highlight);border:1px solid var(--border);border-radius:1.25rem}.speed-row{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.speed-label{font-size:var(--text-xs);font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.speed-pills{display:inline-flex;gap:var(--space-1)}.speed-pill{padding:.3rem .85rem;font-size:var(--text-xs);font-weight:800;color:var(--muted);background:#fff;border:1.5px solid var(--border);border-radius:999px;cursor:pointer;transition:all .15s;font-family:inherit;min-height:unset}.speed-pill:hover{border-color:var(--primary)}.speed-pill--active{background:var(--primary);border-color:var(--primary);color:#fff}.vocab-player-card{margin-bottom:var(--space-3);padding:.75rem var(--space-3);background:var(--highlight);border:1px solid var(--border);border-radius:1rem}.transcript-media-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}@media(max-width:640px){.transcript-media-row{grid-template-columns:1fr}}.transcript-media-card{padding:1.25rem;border-radius:1.5rem;display:grid;gap:var(--space-3)}.sound-wave-wrap{display:flex;align-items:center;gap:.6rem;overflow:hidden;max-width:100%}.wave-bars{display:flex;align-items:center;gap:3px;height:36px;overflow:hidden}.wave-bar{width:4px;border-radius:999px;background:linear-gradient(180deg,var(--primary),#a53ce2);transform-origin:center}@keyframes wave-1{0%,to{height:6px}25%{height:28px}60%{height:14px}}@keyframes wave-2{0%,to{height:18px}30%{height:8px}65%{height:32px}}@keyframes wave-3{0%,to{height:30px}40%{height:10px}70%{height:22px}}@keyframes wave-4{0%,to{height:12px}20%{height:34px}55%{height:16px}}@keyframes wave-5{0%,to{height:22px}35%{height:6px}60%{height:30px}}@keyframes wave-6{0%,to{height:8px}45%{height:26px}75%{height:12px}}@keyframes wave-7{0%,to{height:28px}25%{height:12px}50%{height:36px}}@keyframes wave-8{0%,to{height:14px}40%{height:30px}70%{height:8px}}@keyframes wave-9{0%,to{height:32px}30%{height:14px}65%{height:20px}}@keyframes wave-10{0%,to{height:10px}20%{height:24px}55%{height:34px}}@keyframes wave-11{0%,to{height:20px}45%{height:6px}75%{height:28px}}@keyframes wave-12{0%,to{height:26px}35%{height:18px}60%{height:8px}}@keyframes wave-13{0%,to{height:6px}25%{height:32px}50%{height:16px}}@keyframes wave-14{0%,to{height:16px}40%{height:8px}70%{height:30px}}@keyframes wave-15{0%,to{height:30px}30%{height:20px}65%{height:10px}}@keyframes wave-16{0%,to{height:10px}20%{height:28px}55%{height:22px}}@keyframes wave-17{0%,to{height:24px}45%{height:12px}75%{height:34px}}@keyframes wave-18{0%,to{height:8px}35%{height:26px}60%{height:14px}}@keyframes wave-19{0%,to{height:28px}25%{height:10px}50%{height:20px}}@keyframes wave-20{0%,to{height:18px}40%{height:32px}70%{height:6px}}.wave-bars .wave-bar:nth-child(1){animation:wave-1 1.1s ease-in-out infinite}.wave-bars .wave-bar:nth-child(2){animation:wave-2 1.3s ease-in-out infinite .05s}.wave-bars .wave-bar:nth-child(3){animation:wave-3 .9s ease-in-out infinite .1s}.wave-bars .wave-bar:nth-child(4){animation:wave-4 1.4s ease-in-out infinite .15s}.wave-bars .wave-bar:nth-child(5){animation:wave-5 1s ease-in-out infinite .2s}.wave-bars .wave-bar:nth-child(6){animation:wave-6 1.2s ease-in-out infinite .08s}.wave-bars .wave-bar:nth-child(7){animation:wave-7 1.5s ease-in-out infinite .12s}.wave-bars .wave-bar:nth-child(8){animation:wave-8 .95s ease-in-out infinite .18s}.wave-bars .wave-bar:nth-child(9){animation:wave-9 1.25s ease-in-out infinite .06s}.wave-bars .wave-bar:nth-child(10){animation:wave-10 1.1s ease-in-out infinite .22s}.wave-bars .wave-bar:nth-child(11){animation:wave-11 1.35s ease-in-out infinite .03s}.wave-bars .wave-bar:nth-child(12){animation:wave-12 1.05s ease-in-out infinite .14s}.wave-bars .wave-bar:nth-child(13){animation:wave-13 1.45s ease-in-out infinite .09s}.wave-bars .wave-bar:nth-child(14){animation:wave-14 .85s ease-in-out infinite .17s}.wave-bars .wave-bar:nth-child(15){animation:wave-15 1.2s ease-in-out infinite .25s}.wave-bars .wave-bar:nth-child(16){animation:wave-16 1s ease-in-out infinite .11s}.wave-bars .wave-bar:nth-child(17){animation:wave-17 1.3s ease-in-out infinite .07s}.wave-bars .wave-bar:nth-child(18){animation:wave-18 .9s ease-in-out infinite .19s}.wave-bars .wave-bar:nth-child(19){animation:wave-19 1.15s ease-in-out infinite .04s}.wave-bars .wave-bar:nth-child(20){animation:wave-20 1.4s ease-in-out infinite .13s}.wave-label{font-size:var(--text-xs);font-weight:800;color:var(--primary);letter-spacing:.04em}@keyframes checklist-spin{to{transform:rotate(360deg)}}@keyframes checklist-pulse{0%,to{transform:scale(1);opacity:.9}50%{transform:scale(1.12);opacity:1}}@keyframes checklist-slide-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.generating-checklist-card{padding:var(--space-6);border-radius:2rem;display:grid;gap:1.75rem}@media(min-width:640px){.generating-checklist-card{padding:var(--space-8) var(--space-10)}}.generating-checklist-header{display:flex;align-items:flex-start;gap:1.25rem}.generating-checklist-ring-wrap{position:relative;width:56px;height:56px;flex-shrink:0}.generating-checklist-spinner{width:56px;height:56px;border-radius:50%;border:3px solid var(--primary-soft);border-top-color:var(--primary);animation:checklist-spin .9s linear infinite}.generating-checklist-center-dot{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.generating-checklist-center-dot span{width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,var(--primary),#a53ce2);box-shadow:0 3px 10px #820ad14d;display:flex;align-items:center;justify-content:center;font-size:.7rem;color:#fff;animation:checklist-pulse 1.8s ease-in-out infinite}.generating-checklist-header-text{display:grid;gap:.2rem}.generating-checklist-title{margin:0;font-size:clamp(1.15rem,3vw,1.5rem);font-weight:900;color:var(--text);line-height:1.2}.generating-checklist-lead{margin:0;color:var(--muted);line-height:1.6}.generating-checklist-bar-wrap{height:6px;border-radius:999px;background:var(--primary-soft);overflow:hidden}.generating-checklist-bar{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--primary),#a53ce2);transition:width .6s cubic-bezier(.4,0,.2,1);min-width:4px}.generating-checklist-steps{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.generating-checklist-step{display:flex;align-items:center;gap:.85rem;padding:.7rem var(--space-4);border-radius:1rem;transition:background .3s}.generating-checklist-step--done{background:var(--highlight)}.generating-checklist-step--active{background:var(--primary-soft);animation:checklist-slide-in .35s ease both}.generating-checklist-step--pending{opacity:.42}.generating-checklist-step-icon{width:28px;height:28px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:900}.generating-checklist-step--done .generating-checklist-step-icon{background:var(--primary);color:#fff}.generating-checklist-step--active .generating-checklist-step-icon{border:2px solid var(--primary);animation:checklist-spin 1.2s linear infinite}.generating-checklist-step--pending .generating-checklist-step-icon{background:var(--border);color:var(--muted)}.generating-checklist-step-body{display:grid;gap:.1rem;flex:1;min-width:0}.generating-checklist-step-label{font-weight:800;color:var(--text);font-size:var(--text-sm);word-break:break-word}.generating-checklist-step--pending .generating-checklist-step-label{color:var(--muted)}.generating-checklist-step-sub{font-size:var(--text-xs);color:var(--muted);font-weight:700}.generating-checklist-step-state{margin-left:auto;flex-shrink:0;font-size:var(--text-xs);font-weight:700;color:var(--primary)}.generating-checklist-step--pending .generating-checklist-step-state{color:var(--muted)}.generating-checklist-footer{border-top:1px solid var(--border);padding-top:1.25rem}@keyframes generating-spin{to{transform:rotate(360deg)}}@keyframes generating-pulse-scale{0%,to{transform:scale(1);opacity:.9}50%{transform:scale(1.12);opacity:1}}@keyframes generating-ring-expand{0%{transform:scale(.7);opacity:.8}to{transform:scale(1.6);opacity:0}}@keyframes generating-shimmer{to{background-position:200% center}}.generating-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#22112e8c;display:grid;place-items:center;z-index:200;padding:max(var(--space-4),env(safe-area-inset-top,var(--space-4))) max(var(--space-4),env(safe-area-inset-right,var(--space-4))) max(var(--space-4),env(safe-area-inset-bottom,var(--space-4))) max(var(--space-4),env(safe-area-inset-left,var(--space-4)));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.generating-card{width:min(440px,100%);padding:var(--space-8) var(--space-8);border-radius:2rem;display:flex;flex-direction:column;align-items:center;gap:1.75rem;text-align:center}@media(min-width:480px){.generating-card{padding:var(--space-10) var(--space-8)}}.generating-ring-wrap{position:relative;width:100px;height:100px}.generating-ring-wrap:before,.generating-ring-wrap:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid rgba(130,10,209,.3);animation:generating-ring-expand 2s ease-out infinite}.generating-ring-wrap:after{animation-delay:1s}.generating-spinner{width:100px;height:100px;border-radius:50%;border:3px solid var(--primary-soft);border-top-color:var(--primary);animation:generating-spin 1.1s linear infinite}.generating-center-dot{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.generating-center-dot span{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--primary),#a53ce2);box-shadow:0 4px 16px #820ad159;animation:generating-pulse-scale 1.8s ease-in-out infinite;display:flex;align-items:center;justify-content:center;font-size:1rem;color:#fff}.generating-text{display:grid;gap:.5rem}.generating-title{margin:0;font-size:var(--text-xl);font-weight:900;color:var(--text)}.generating-subtitle{margin:0;color:var(--muted);line-height:1.6;max-width:340px}.generating-shimmer-tag{display:inline-flex;align-items:center;padding:.4rem var(--space-4);border-radius:999px;font-size:var(--text-sm);font-weight:800;background:linear-gradient(90deg,var(--primary-soft) 25%,#d8b4fe 50%,var(--primary-soft) 75%);background-size:200% auto;color:var(--primary);animation:generating-shimmer 2s linear infinite}.generating-dots{display:flex;gap:.5rem;align-items:center}.generating-dot{width:8px;height:8px;border-radius:50%;background:var(--primary-soft);border:2px solid var(--border-strong)}.generating-dot--active{background:var(--primary);border-color:var(--primary);box-shadow:0 0 0 4px #820ad126;animation:generating-pulse-scale 1.2s ease-in-out infinite}.dashboard-action-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-4);padding:var(--space-5) 0 var(--space-2)}.dashboard-action-bar .primary-button{flex-shrink:0}.dashboard-greeting{margin:0;font-size:var(--text-md);font-weight:700;color:var(--text);line-height:1.3}.dashboard-stats-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4);margin-top:var(--space-4)}@media(max-width:900px){.dashboard-stats-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:400px){.dashboard-stats-strip{grid-template-columns:1fr}}.dashboard-stat-tile{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:1.5rem;padding:1.25rem var(--space-6);display:grid;gap:.3rem}.dashboard-stat-tile--loading{gap:.6rem}.dashboard-stat-value{font-size:var(--text-2xl);font-weight:900;color:var(--text);line-height:1}.dashboard-stat-label{font-size:var(--text-xs);font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}@keyframes skeleton-shimmer{to{background-position:200% center}}.stat-skeleton{height:1.6rem;border-radius:8px;background:linear-gradient(90deg,var(--primary-soft) 25%,#e8d4fa 50%,var(--primary-soft) 75%);background-size:200% auto;animation:skeleton-shimmer 1.6s linear infinite}.stat-skeleton--narrow{height:.75rem;width:60%}.stat-skeleton--label{width:60px;margin-bottom:var(--space-3)}.stat-skeleton--title{width:80%;height:1.2rem;margin-bottom:var(--space-2)}.dashboard-filter-bar{display:grid;grid-template-columns:1fr auto auto auto auto;gap:var(--space-3);align-items:center;margin-top:var(--space-4)}@media(max-width:900px){.dashboard-filter-bar{grid-template-columns:1fr 1fr 1fr auto}.dashboard-search{grid-column:1 / -1}}@media(max-width:640px){.dashboard-filter-bar{grid-template-columns:1fr}.dashboard-search{grid-column:unset}}.dashboard-search{min-width:0;border-radius:1rem;border:1px solid var(--border);min-height:2.8rem;padding:0 var(--space-4);background:#fff;font:inherit;color:var(--text)}.dashboard-search:focus{outline:2px solid var(--primary);outline-offset:2px}.dashboard-select{border-radius:1rem;border:1px solid var(--border);min-height:2.8rem;padding:0 var(--space-4);background:#fff;font:inherit;color:var(--text);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.dashboard-select:focus{outline:2px solid var(--primary);outline-offset:2px}.dashboard-filter-clear{background:none;border:1px solid rgba(130,10,209,.3);color:var(--primary);font:inherit;font-weight:800;font-size:var(--text-sm);cursor:pointer;padding:.4rem .75rem;border-radius:999px;min-height:44px}.dashboard-filter-clear:hover{background:var(--primary-soft)}.dashboard-lesson-section{margin-top:var(--space-4)}.dashboard-lesson-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.dashboard-lesson-count{margin:0;font-size:var(--text-xs);font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.dashboard-view-toggle{background:none;border:1px solid var(--border);border-radius:.75rem;padding:.4rem .6rem;min-height:44px;min-width:44px;color:var(--muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:color .18s,border-color .18s}.dashboard-view-toggle:hover{color:var(--primary);border-color:var(--primary)}.lesson-list{display:grid;gap:.5rem}.lesson-row{background:var(--surface);border:1px solid var(--border);border-radius:1.25rem;padding:.9rem 1.1rem;display:grid;grid-template-columns:1fr auto;gap:.5rem var(--space-4);align-items:center;transition:opacity .3s,background .3s}.lesson-row--deleting{opacity:.5;pointer-events:none}.lesson-row-main{display:grid;gap:.35rem;min-width:0}.lesson-row-title{font-weight:800;color:var(--text);font-size:var(--text-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none}.lesson-row-title:hover{color:var(--primary)}.lesson-row-meta{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.lesson-row-date{font-size:var(--text-xs);color:var(--muted);font-weight:700}.lesson-row-actions{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.lesson-row-spinner{width:18px;height:18px;border-radius:50%;border:2px solid var(--primary-soft);border-top-color:var(--primary);animation:generating-spin .9s linear infinite;display:block}.lesson-row-error{grid-column:1 / -1;font-size:var(--text-sm);margin:0}@media(max-width:768px){.lesson-row{grid-template-columns:1fr}.lesson-row-actions{justify-content:flex-end}}.lesson-row-menu-wrap{position:relative}.lesson-row-menu-btn{background:none;border:1px solid var(--border);border-radius:.75rem;padding:0 .6rem;min-height:44px;min-width:44px;color:var(--muted);font-size:1.1rem;cursor:pointer;line-height:1;display:flex;align-items:center;justify-content:center;transition:color .18s,border-color .18s}.lesson-row-menu-btn:hover{color:var(--text);border-color:var(--border-strong)}.lesson-row-menu{position:absolute;top:calc(100% + 4px);right:0;background:#fff;border:1px solid var(--border);border-radius:1rem;box-shadow:var(--shadow-sm);min-width:120px;overflow:hidden;z-index:50}.lesson-row-menu-item{display:block;width:100%;min-height:44px;padding:0 var(--space-4);display:flex;align-items:center;text-align:left;font:inherit;font-weight:700;font-size:var(--text-sm);background:none;border:none;color:var(--text);cursor:pointer;text-decoration:none}.lesson-row-menu-item:hover{background:var(--highlight)}.lesson-row-menu-item--danger{color:#b42318}.lesson-row-menu-item--danger:hover{background:#fff3f2}.asset-indicators{display:flex;gap:4px;align-items:center}.asset-dot{display:inline-flex;align-items:center;justify-content:center;cursor:default}.asset-dot--filled{color:var(--primary)}.asset-dot--empty{color:var(--border-strong)}.lesson-card-title-link{text-decoration:none;color:inherit;min-height:unset}.lesson-card-title-link:hover h3{color:var(--primary)}.lesson-card h3{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:break-word}.lesson-card--deleting{opacity:.5;pointer-events:none}.lesson-card-footer{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;margin-top:.25rem}.lesson-card-delete-btn{background:none;border:none;color:#b42318;font:inherit;font-size:var(--text-sm);font-weight:800;cursor:pointer;padding:0 .4rem;min-height:44px;border-radius:.5rem;display:inline-flex;align-items:center}.lesson-card-delete-btn:hover{background:#fff3f2}.lesson-card-delete-btn:disabled{opacity:.5;cursor:not-allowed}.lesson-card-player{margin-top:.25rem}.lesson-card-audio{width:100%;height:36px;border-radius:.5rem;accent-color:var(--primary)}.lesson-card-footer-actions{display:flex;align-items:center;gap:.5rem;margin-left:auto}.lesson-card-download-btn{display:inline-flex;align-items:center;gap:.3rem;background:none;border:1px solid var(--border);color:var(--muted);font:inherit;font-size:var(--text-xs);font-weight:600;cursor:pointer;padding:0 .5rem;min-height:44px;border-radius:.5rem;text-decoration:none;transition:color .15s,border-color .15s}.lesson-card-download-btn:hover{color:var(--primary);border-color:var(--primary)}.lesson-row-play-btn,.lesson-row-download-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--border);background:none;color:var(--muted);cursor:pointer;text-decoration:none;transition:color .15s,border-color .15s,background .15s;flex-shrink:0}.lesson-row-play-btn:hover,.lesson-row-download-btn:hover,.lesson-row-play-btn--active{color:var(--primary);border-color:var(--primary);background:var(--highlight)}.lesson-row-player{padding:.5rem .75rem .5rem var(--space-4);border-top:1px solid var(--border);background:var(--surface)}.lesson-row-audio{width:100%;height:36px;border-radius:.5rem;accent-color:var(--primary)}.dashboard-empty-state{display:grid;gap:var(--space-8);margin-top:var(--space-4)}.dashboard-empty-hero{display:grid;gap:var(--space-3);max-width:560px}.dashboard-empty-hero h2{color:var(--text);margin:0}.lesson-ghost-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4);opacity:.45;pointer-events:none;-webkit-user-select:none;user-select:none;filter:blur(1.5px)}@media(min-width:640px){.lesson-ghost-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:900px){.lesson-ghost-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.lesson-ghost-card{padding:1.25rem;border-radius:2rem;display:grid;gap:.6rem}.ghost-badge{background:var(--surface-soft);color:var(--muted)}.lesson-ghost-title{margin:0;font-weight:800;color:var(--text);font-size:var(--text-sm)}.lesson-ghost-meta{margin:0;font-size:var(--text-sm);color:var(--muted);font-weight:700}.lesson-ghost-tags{display:flex;flex-wrap:wrap;gap:.4rem}.dashboard-charts-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-4);margin-top:var(--space-4)}@media(max-width:1200px){.dashboard-charts-row{grid-template-columns:1fr 1fr}.dashboard-charts-row>:last-child{grid-column:1 / -1}}@media(max-width:900px){.dashboard-charts-row{grid-template-columns:1fr}.dashboard-charts-row>:last-child{grid-column:unset}}.dashboard-chart-panel{padding:1.25rem var(--space-6);border-radius:1.75rem;display:grid;gap:var(--space-3);align-content:start}.lang-chart{display:grid;gap:.55rem}.lang-chart-row{display:grid;grid-template-columns:80px 1fr 28px;align-items:center;gap:.5rem}.lang-chart-label{font-size:var(--text-sm);font-weight:800;color:var(--body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lang-chart-bar-wrap{background:var(--primary-soft);border-radius:999px;height:8px;overflow:hidden}.lang-chart-bar{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--primary),#a53ce2);transition:width .6s cubic-bezier(.4,0,.2,1);min-width:4px}.lang-chart-count{font-size:var(--text-xs);font-weight:800;color:var(--muted);text-align:right}.sparkline{display:flex;gap:.5rem;align-items:flex-end;height:72px}.sparkline-col{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;min-width:0}.sparkline-bar{width:100%;border-radius:4px 4px 0 0;background:linear-gradient(180deg,#a53ce2,var(--primary));min-height:4px;transition:height .5s ease}.sparkline-label{font-size:.68rem;font-weight:800;color:var(--muted);letter-spacing:.03em}.vocab-heatmap{display:flex;flex-wrap:wrap;gap:.4rem .6rem;align-items:center;overflow:hidden;word-break:break-word}.vocab-word{background:none;border:none;cursor:pointer;color:var(--primary);font:inherit;font-weight:800;padding:.1rem .2rem;min-height:unset;border-radius:.4rem;transition:background .18s,color .18s;line-height:1.3}.vocab-word:hover{background:var(--primary-soft)}.vocab-word--active{background:var(--primary);color:#fff;border-radius:.5rem}.vocab-heatmap-hint{margin-bottom:var(--space-3)}.vocab-heatmap-active{margin-top:var(--space-3)}.progress-summary-bar{background:var(--surface);border:1px solid var(--border);border-radius:1.25rem;padding:1.1rem 1.5rem;margin-bottom:var(--space-6);box-shadow:var(--shadow-sm);display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}@media(max-width:640px){.progress-summary-bar{grid-template-columns:repeat(2,1fr)}}.progress-stat{text-align:center;display:flex;flex-direction:column;gap:.2rem}.progress-stat-num{font-size:var(--text-2xl);font-weight:900;color:var(--primary);line-height:1}.progress-stat-label{font-size:var(--text-xs);color:var(--muted);font-weight:700}.progress-stat--done .progress-stat-num{color:#16a34a}.progress-stat--started .progress-stat-num{color:#b45309}.progress-stat--new .progress-stat-num{color:var(--muted)}.progress-stat-skeleton-num{width:48px;height:1.75rem;margin:0 auto .2rem}.progress-stat-skeleton-label{width:64px;height:.75rem;margin:0 auto}.journey-section{margin-bottom:var(--space-4)}.section-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.75rem}.section-title{margin:0;font-weight:900;font-size:var(--text-xs);color:var(--muted);letter-spacing:.05em;text-transform:uppercase}.section-count{font-size:var(--text-xs);color:var(--muted);font-weight:700}.section-divider{border:none;border-top:1px solid var(--border);margin:var(--space-6) 0 var(--space-4)}.learning-badge{flex-shrink:0;font-size:.7rem;font-weight:800;padding:.25rem .6rem;border-radius:999px;white-space:nowrap}.learning-badge--new{background:var(--surface-soft);color:var(--muted)}.learning-badge--started{background:var(--primary-soft);color:var(--primary)}.learning-badge--done{background:#dcfce7;color:#16a34a}.lcard{background:var(--surface);border:1px solid var(--border);border-radius:1.25rem;box-shadow:var(--shadow-sm);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .18s,transform .18s}.lcard:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.lcard--done{opacity:.78}.lcard--deleting{opacity:.5;pointer-events:none}.lcard-strip{height:4px;width:100%}.lcard-strip--new{background:var(--border-strong)}.lcard-strip--started{background:linear-gradient(90deg,var(--primary),#a53ce2)}.lcard-strip--done{background:#16a34a}.lcard-body{padding:1rem 1.1rem .75rem;flex:1;display:flex;flex-direction:column;gap:.55rem}.lcard-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.lcard-title-link{text-decoration:none;color:inherit;flex:1}.lcard-title-link:hover .lcard-title{color:var(--primary)}.lcard-title{font-weight:900;font-size:var(--text-base);line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0}.lcard-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.lcard-lang-pair{font-weight:800;font-size:.85rem;color:var(--body)}.lcard-level-pill{font-size:.7rem;font-weight:900;padding:.2rem .55rem;border-radius:999px;background:var(--primary-soft);color:var(--primary)}.lcard-date{font-size:var(--text-xs);color:var(--muted);margin-left:auto}.lcard-footer{padding:.6rem 1.1rem .85rem;display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;border-top:1px solid var(--border);background:var(--surface-alt)}.lcard-footer-right{display:flex;align-items:center;gap:.5rem;margin-left:auto}.asset-pill{display:inline-flex;align-items:center;gap:.2rem;font-size:.72rem;font-weight:700;padding:.2rem .55rem;border-radius:999px}.asset-pill--active{background:var(--primary-soft);color:var(--primary)}.asset-pill--inactive{background:var(--surface-soft);color:var(--muted)}.lcard-action{font-size:.8rem;font-weight:800;color:var(--primary);text-decoration:none;white-space:nowrap}.lcard-action:hover{text-decoration:underline}.lcard-done-btn,.lcard-undo-btn{background:none;border:1px solid var(--border);border-radius:999px;font-size:.72rem;font-weight:800;padding:.2rem .6rem;cursor:pointer;color:var(--muted);min-height:unset;transition:background .15s}.lcard-done-btn:hover{background:#dcfce7;color:#16a34a;border-color:#16a34a}.lcard-undo-btn:hover{background:var(--surface-soft)}.lcard-delete-error{font-size:var(--text-xs)}.lcard-menu-wrap{position:relative}.lcard-menu{top:auto;bottom:calc(100% + 4px)}.lcard-asset-dots{display:flex;gap:.35rem;align-items:center}.lrow{background:var(--surface);border:1px solid var(--border);border-radius:1rem;padding:.75rem 1rem;display:grid;grid-template-columns:4px 1fr auto;gap:0 .9rem;align-items:center;transition:background .15s}.lrow:hover{background:var(--highlight)}.lrow--deleting{opacity:.5;pointer-events:none}.lrow-strip{width:4px;border-radius:2px;align-self:stretch;min-height:36px}.lrow-main{display:flex;flex-direction:column;gap:.3rem;overflow:hidden}.lrow-title{font-weight:800;font-size:var(--text-sm);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none}.lrow-title:hover{color:var(--primary)}.lrow-sub{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.lrow-sub .lcard-lang-pair{font-size:.8rem}.lrow-sub .lcard-level-pill{font-size:.68rem}.lrow-right{display:flex;align-items:center;gap:.5rem}.lrow-assets{display:flex;gap:.3rem;align-items:center}.lrow-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.lrow-dot--on{background:var(--primary)}.lrow-dot--off{background:var(--border-strong)}.lrow-date{font-size:var(--text-xs);color:var(--muted);white-space:nowrap}@media(max-width:640px){.lrow{grid-template-columns:4px 1fr}.lrow-right{grid-column:2;justify-content:flex-end;margin-top:.3rem}}.view-tab-btn{padding:.35rem .9rem;border-radius:999px;font-size:var(--text-sm);font-weight:800;border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;min-height:unset;transition:background .15s,color .15s}.view-tab-btn[aria-pressed=true]{background:var(--primary);color:#fff;border-color:var(--primary)}.jdash-page{padding-top:var(--space-6);padding-bottom:var(--space-12)}.jdash-greeting{margin-bottom:var(--space-8)}.jdash-greeting-h1{font-size:clamp(1.5rem,4vw,2rem);font-weight:900;color:var(--text);line-height:1.15;margin:0 0 var(--space-2)}.jdash-greeting-subtitle{font-size:var(--text-md);font-weight:700;color:var(--body);margin:0 0 var(--space-5)}.jdash-greeting-actions{display:flex;align-items:center;gap:var(--space-5);flex-wrap:wrap}.jdash-new-btn{font-size:var(--text-base);padding:0 var(--space-6);min-height:3.5rem}.jdash-stats-sentence{font-size:var(--text-sm);font-weight:700;color:var(--muted)}.jdash-sections{display:flex;flex-direction:column;gap:var(--space-8)}.jdash-section-label{font-size:var(--text-xs);font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 var(--space-3)}.jdash-lesson-list{display:flex;flex-direction:column;gap:var(--space-3)}.jcard{background:var(--surface);border:1px solid var(--border);border-radius:2rem;box-shadow:var(--shadow-sm);display:flex;align-items:stretch;transition:box-shadow .22s ease,transform .18s ease;text-decoration:none}.jcard:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.jcard--deleting{opacity:.55;pointer-events:none}.jcard-icon-col{display:flex;align-items:center;justify-content:center;overflow:visible;padding:0 0 0 var(--space-6);flex-shrink:0}.jcard-icon{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:900;flex-shrink:0;-webkit-user-select:none;user-select:none}.jcard-icon-btn{border:none;cursor:pointer;padding:0;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;position:relative;z-index:1}.jcard-icon-btn:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.jcard-icon-btn:hover{transform:scale(1.12);filter:brightness(1.1)}.jcard-icon-btn:after{content:attr(data-tooltip);position:absolute;left:50%;top:calc(-100% - 6px);transform:translate(-50%);background:var(--text);color:#fff;font-size:var(--text-xs);font-weight:800;padding:.2rem .55rem;border-radius:6px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .14s ease}.jcard-icon-btn:hover:after{opacity:1}.jcard-icon--inprogress{background:linear-gradient(135deg,var(--primary),#c084fc);color:#fff;font-size:.85rem}.jcard-icon--notstarted{background:transparent;border:2.5px solid var(--border-strong);color:var(--muted);font-size:.75rem}.jcard-icon-btn.jcard-icon--notstarted:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.jcard-icon--done{background:#dcfce7;color:#16a34a;font-size:.9rem}.jcard-center{flex:1;padding:var(--space-5) var(--space-4);min-width:0;display:flex;flex-direction:column;gap:var(--space-2)}.jcard-title-link{text-decoration:none;display:block}.jcard-title{font-size:var(--text-md);font-weight:900;color:var(--text);line-height:1.25;display:block}.jcard-title-link:hover .jcard-title{color:var(--primary)}.jcard-meta-line{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.jcard-chip{font-size:var(--text-xs);font-weight:800;color:var(--muted);background:var(--surface-alt);border:1px solid var(--border);border-radius:999px;padding:.18rem .55rem;min-height:unset}.jcard-chip--lang{background:var(--primary-soft);color:var(--primary);border-color:#820ad133}.jcard-meta-sep{color:var(--border-strong);font-size:var(--text-xs)}.jcard-meta-date{font-size:var(--text-xs);font-weight:700;color:var(--muted)}.jcard-tags-row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.jcard-tag-pill{display:inline-flex;align-items:center;padding:.15rem .55rem;border-radius:999px;border:1px solid var(--border);font-size:var(--text-xs);font-weight:700;color:var(--muted);background:#fff9;min-height:unset}.jcard-tags-toggle{font-size:var(--text-xs);font-weight:800;color:var(--primary);background:none;border:none;cursor:pointer;font-family:inherit;padding:0;min-height:unset;transition:opacity .15s}.jcard-tags-toggle:hover{opacity:.7}.jcard-delete-error{font-size:var(--text-xs);margin-top:var(--space-1)}.jcard-right{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;padding:var(--space-5) var(--space-6) var(--space-5) var(--space-3);gap:var(--space-3);flex-shrink:0}.jcard-cta{display:inline-flex;align-items:center;gap:var(--space-1);border-radius:999px;padding:0 var(--space-5);min-height:2.8rem;font-weight:800;font-size:var(--text-sm);white-space:nowrap;transition:opacity .15s,transform .12s;text-decoration:none;min-height:unset}.jcard-cta--resume{background:linear-gradient(135deg,var(--primary),#a53ce2);color:#fff;border:none;min-height:2.8rem}.jcard-cta--resume:hover{opacity:.88;transform:translateY(-1px)}.jcard-cta--start{background:#fff;color:var(--text);border:1px solid var(--border);min-height:2.8rem}.jcard-cta--start:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.jcard-right-footer{display:flex;align-items:center;gap:var(--space-3)}.jcard-asset-dots{display:flex;align-items:center;gap:var(--space-1)}.jcard-dot{width:8px;height:8px;border-radius:50%;display:inline-block;position:relative;min-height:unset;cursor:default}.jcard-dot--audio{background:var(--primary)}.jcard-dot--pdf{background:#ea580c}.jcard-dot--script{background:#16a34a}.jcard-dot--none{background:var(--border-strong)}.jcard-delete-btn{background:none;border:none;color:var(--muted);font-size:.7rem;cursor:pointer;opacity:.4;transition:opacity .15s,color .15s;padding:.2rem;min-height:unset;line-height:1}.jcard-delete-btn:hover{opacity:1;color:#b42318}.jcard-dot:hover:after{content:attr(title);position:absolute;bottom:calc(100% + 5px);right:0;background:var(--text);color:#fff;font-size:.68rem;font-weight:700;font-family:Nunito Sans,sans-serif;padding:.28rem .5rem;border-radius:.4rem;white-space:nowrap;pointer-events:none;z-index:10}.jdash-skeleton-list{display:flex;flex-direction:column;gap:var(--space-3)}.jcard-skeleton{padding:var(--space-5) var(--space-6);pointer-events:none;min-height:80px;align-items:center}.jcard-skeleton-icon{width:40px;height:40px;border-radius:50%;background:var(--surface-alt);flex-shrink:0;margin-right:var(--space-4)}.jcard-skeleton-body{flex:1;display:flex;flex-direction:column;gap:var(--space-2)}.jcard-skeleton-cta{flex-shrink:0;margin-left:var(--space-4)}.stat-skeleton--cta{width:80px;height:2.8rem;border-radius:999px}.jdash-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-4);padding:var(--space-12) var(--space-6)}.jdash-empty-icon{font-size:3rem;line-height:1}.jdash-empty-heading{font-size:var(--text-xl);font-weight:900;color:var(--text);margin:0}.jdash-empty-body{font-size:var(--text-base);color:var(--muted);max-width:400px;line-height:1.7;margin:0}@media(max-width:640px){.jdash-greeting-h1{font-size:1.4rem}.jdash-greeting-subtitle{font-size:var(--text-base)}.jdash-new-btn{min-height:3.2rem}.jcard-icon-col{padding:0 0 0 var(--space-4)}.jcard-icon{width:44px;height:44px;font-size:.85rem}.jcard-center{padding:var(--space-4) var(--space-3)}.jcard-title{font-size:var(--text-base)}.jcard-right{padding:var(--space-4) var(--space-4) var(--space-4) var(--space-2)}.jcard-cta--resume,.jcard-cta--start{font-size:var(--text-xs);padding:0 var(--space-4);min-height:2.4rem}}.ychat-bubble{display:flex;gap:var(--space-3);align-items:flex-start;max-width:88%}.ychat-bubble--user{align-self:flex-end;flex-direction:row-reverse}.ychat-avatar{flex-shrink:0;width:2.25rem;height:2.25rem;border-radius:50%;background:linear-gradient(135deg,var(--primary),#a53ce2);color:#fff;font-size:var(--text-sm);font-weight:900;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.ychat-content{padding:var(--space-3) var(--space-4);border-radius:1.25rem;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.ychat-bubble--yara .ychat-content{border-top-left-radius:.25rem;background:#fff}.ychat-bubble--user .ychat-content{border-top-right-radius:.25rem;background:var(--primary-soft);border-color:#820ad140}.ychat-text{margin:0;font-size:var(--text-base);line-height:1.6;color:var(--text)}.ychat-typing{display:inline-flex;align-items:center;gap:5px;padding-block:var(--space-1)}.ychat-typing span{display:block;width:7px;height:7px;border-radius:50%;background:var(--muted);animation:ychat-bounce 1.2s ease-in-out infinite}.ychat-typing span:nth-child(2){animation-delay:.2s}.ychat-typing span:nth-child(3){animation-delay:.4s}@keyframes ychat-bounce{0%,80%,to{transform:translateY(0);opacity:.5}40%{transform:translateY(-5px);opacity:1}}.ychat-input-form{display:flex;gap:var(--space-3);align-items:flex-end}.ychat-input-textarea{flex:1;resize:none;border:1px solid var(--border-strong);border-radius:1rem;padding:var(--space-3) var(--space-4);font-size:var(--text-base);color:var(--text);background:#fff;line-height:1.5;transition:border-color .15s ease,box-shadow .15s ease}.ychat-input-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #820ad11f}.ychat-input-textarea:disabled{background:var(--surface-alt);color:var(--muted)}.ychat-input-send{flex-shrink:0;align-self:flex-end}.yonboard-page{min-height:100vh;display:flex;flex-direction:column;max-width:720px;margin-inline:auto;padding:var(--space-6) var(--space-4);gap:var(--space-6)}.yonboard-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.yonboard-brand{display:flex;align-items:center;gap:var(--space-4)}.yonboard-avatar{flex-shrink:0;width:3rem;height:3rem;border-radius:50%;background:linear-gradient(135deg,var(--primary),#a53ce2);color:#fff;font-size:var(--text-lg);font-weight:900;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.yonboard-title{margin:0;font-size:var(--text-xl);font-weight:900;color:var(--text);line-height:1.2}.yonboard-skip{white-space:nowrap;flex-shrink:0}.yonboard-chat-area{flex:1;display:flex;flex-direction:column;gap:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:2rem;box-shadow:var(--shadow-sm);padding:var(--space-6)}.yonboard-messages{flex:1;display:flex;flex-direction:column;gap:var(--space-4);min-height:300px;max-height:60vh;overflow-y:auto;scroll-behavior:smooth}.yonboard-input-area{border-top:1px solid var(--border);padding-top:var(--space-4)}.yonboard-complete{border-top:1px solid var(--border);padding-top:var(--space-4);display:flex;flex-direction:column;align-items:center;gap:var(--space-4);text-align:center}.yonboard-complete-text{margin:0;color:var(--muted);font-size:var(--text-base)}.yonboard-error{border-top:1px solid var(--border);padding-top:var(--space-4);display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center;color:var(--destructive);font-size:var(--text-sm)}.yonboard-error p{margin:0}.yonboard-send-error{margin:0 0 var(--space-2) 0;color:var(--destructive);font-size:var(--text-sm);text-align:center}@media(min-width:640px){.yonboard-page{padding:var(--space-8) var(--space-6)}}.yprofile-page{padding-top:var(--space-8);display:flex;flex-direction:column;gap:var(--space-6)}.yprofile-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.yprofile-header h1{margin:.4rem 0 .6rem;font-size:var(--text-2xl);font-weight:900;color:var(--text)}.yprofile-chat-link{flex-shrink:0;text-decoration:none}.yprofile-content{display:flex;flex-direction:column;gap:var(--space-4)}.yprofile-meta-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface-soft);border-radius:1rem;border:1px solid var(--border)}.yprofile-meta-label{font-size:var(--text-sm);font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0}.yprofile-meta-value{font-size:var(--text-base);color:var(--text);font-weight:700}.yprofile-insights{border-radius:2rem;padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-5)}.yprofile-section-title{margin:0;font-size:var(--text-lg);font-weight:900;color:var(--text)}.yprofile-insight-list{display:flex;flex-direction:column;gap:var(--space-2)}.yprofile-insight-row{display:grid;grid-template-columns:minmax(120px,180px) 1fr auto;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:.75rem;background:var(--surface-alt);border:1px solid var(--border)}.yprofile-insight-key{font-size:var(--text-sm);font-weight:800;color:var(--primary);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.yprofile-insight-value{font-size:var(--text-base);color:var(--text);font-weight:700}.yprofile-insight-value-btn{background:none;border:none;padding:var(--space-1) var(--space-2);margin:calc(-1 * var(--space-1)) calc(-1 * var(--space-2));font-size:var(--text-base);font-weight:700;color:var(--text);text-align:left;cursor:text;min-height:unset;width:100%;border-radius:.4rem;transition:background .12s ease}.yprofile-insight-value-btn:hover:not(:disabled){background:#820ad10f}.yprofile-insight-edit-input{width:100%;padding:var(--space-1) var(--space-2);border:1px solid var(--primary);border-radius:.4rem;font-size:var(--text-base);font-weight:700;color:var(--text);background:#fff;box-shadow:0 0 0 3px #820ad11f;outline:none}.yprofile-insight-delete{background:none;border:none;color:var(--muted);font-size:var(--text-lg);font-weight:700;line-height:1;padding:0 var(--space-2);min-height:unset;cursor:pointer;transition:color .15s ease}.yprofile-insight-delete:hover:not(:disabled){color:#b42318}.yprofile-insight-delete:disabled{opacity:.4}.yprofile-add-section{border-top:1px solid var(--border);padding-top:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.yprofile-add-title{margin:0;font-size:var(--text-base);font-weight:900;color:var(--text)}.yprofile-add-form{display:flex;flex-direction:column;gap:var(--space-3)}.yprofile-add-fields{display:grid;grid-template-columns:1fr 2fr;gap:var(--space-3)}.yprofile-add-label{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-sm);font-weight:800;color:var(--muted)}.yprofile-add-input{padding:var(--space-3) var(--space-4);border:1px solid var(--border-strong);border-radius:.75rem;font-size:var(--text-base);color:var(--text);background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.yprofile-add-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #820ad11f}.yprofile-empty-state{border-radius:2rem;padding:var(--space-8);display:flex;flex-direction:column;align-items:center;gap:var(--space-5);text-align:center}.yprofile-empty-text{margin:0;color:var(--muted);font-size:var(--text-md);max-width:36ch;line-height:1.6}.yprofile-empty{color:var(--muted);font-size:var(--text-base)}.yprofile-preferences{border-radius:2rem;padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.toggle-label{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-base);font-weight:600;color:var(--text);cursor:pointer}.toggle-label input[type=checkbox]{width:1.1rem;height:1.1rem;accent-color:var(--primary);cursor:pointer}.toggle-label input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.yara-nudge{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--primary-soft);border:1px solid rgba(130,10,209,.25);border-radius:1.25rem;flex-wrap:wrap}.yara-nudge-content{display:flex;align-items:center;gap:var(--space-3);flex:1;min-width:0}.yara-nudge-avatar{flex-shrink:0;width:2.25rem;height:2.25rem;border-radius:50%;background:linear-gradient(135deg,var(--primary),#a53ce2);color:#fff;font-size:var(--text-sm);font-weight:900;display:flex;align-items:center;justify-content:center}.yara-nudge-text{margin:0;font-size:var(--text-sm);color:var(--text);line-height:1.5}.yara-nudge-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.yara-nudge-cta{text-decoration:none;font-size:var(--text-sm);min-height:2.5rem;padding:0 var(--space-4)}.yara-nudge-dismiss{background:none;border:none;color:var(--muted);font-size:var(--text-xl);font-weight:700;line-height:1;padding:0 var(--space-2);min-height:unset;cursor:pointer;transition:color .15s ease}.yara-nudge-dismiss:hover{color:var(--text)}@media(max-width:640px){.yprofile-add-fields{grid-template-columns:1fr}.yprofile-insight-row{grid-template-columns:1fr auto;grid-template-rows:auto auto}.yprofile-insight-key{grid-column:1;grid-row:1}.yprofile-insight-value{grid-column:1;grid-row:2}.yprofile-insight-delete{grid-column:2;grid-row:1 / 3}}.admin-login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--space-4)}.admin-login-panel{width:min(440px,100%);background:var(--surface);border:1px solid var(--border);border-radius:2rem;padding:var(--space-8);box-shadow:var(--shadow-lg)}.admin-login-panel h1{font-size:var(--text-xl);font-weight:900;color:var(--text);margin:0 0 var(--space-2)}.admin-login-panel .lead{color:var(--muted);margin:0 0 var(--space-6)}.admin-login-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-6)}.admin-login-tab{flex:1;padding:var(--space-2) var(--space-4);border:1px solid var(--border);border-radius:999px;background:none;color:var(--muted);font-size:var(--text-sm);font-weight:700;font-family:inherit;cursor:pointer;transition:all .18s ease}.admin-login-tab.active{background:var(--primary);border-color:var(--primary);color:#fff}.form-group{margin-bottom:var(--space-4)}.form-group label{display:block;font-size:var(--text-sm);font-weight:700;color:var(--text);margin-bottom:var(--space-1)}.form-group input{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:.75rem;font-size:var(--text-base);font-family:inherit;color:var(--text);background:#fff;transition:border-color .18s ease}.form-group input:focus{outline:none;border-color:var(--primary)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:var(--space-3) var(--space-6);background:var(--primary);color:#fff;border:none;border-radius:999px;font-size:var(--text-base);font-weight:800;font-family:inherit;cursor:pointer;transition:background .18s ease}.btn-primary:hover{background:var(--primary-dark)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:var(--space-2) var(--space-5);background:none;color:var(--primary);border:1px solid var(--border);border-radius:999px;font-size:var(--text-sm);font-weight:700;font-family:inherit;cursor:pointer;transition:all .18s ease}.btn-outline:hover{background:var(--highlight);border-color:var(--primary)}.btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:var(--space-2) var(--space-5);background:#e05555;color:#fff;border:none;border-radius:999px;font-size:var(--text-sm);font-weight:700;font-family:inherit;cursor:pointer;transition:background .18s ease}.btn-danger:hover{background:#c53030}.form-error{color:#e05555;font-size:var(--text-sm);font-weight:700;margin-top:var(--space-2)}.form-success{color:#0f7a4c;font-size:var(--text-sm);font-weight:700;margin-top:var(--space-2)}.admin-header{position:sticky;top:0;z-index:100;background:#fcfaffe0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding-block:var(--space-5);padding-inline:max(var(--space-4),env(safe-area-inset-left))}.admin-nav{display:flex;gap:var(--space-3);align-items:center}.admin-nav-pill{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--space-5);border-radius:999px;border:1px solid transparent;color:var(--text);font-size:var(--text-sm);font-weight:700;text-decoration:none;transition:transform .18s ease,background .18s ease;white-space:nowrap}.admin-nav-pill:hover{transform:translateY(-1px);background:#ffffffb3}.admin-nav-pill.active{background:#ffffffd9;border-color:var(--border)}.admin-nav-signout{background:var(--primary-soft);border-color:#820ad14d;color:var(--primary);cursor:pointer;font-family:inherit}.admin-badge{font-size:.65rem;font-weight:800;padding:.15rem .5rem;border-radius:4px;text-transform:uppercase;letter-spacing:.06em;background:var(--primary-soft);color:var(--primary);margin-left:var(--space-2)}.admin-content{width:min(1200px,calc(100% - 2rem));margin:0 auto;padding:var(--space-8) 0}.admin-page-title{font-size:var(--text-2xl);font-weight:900;color:var(--text);margin:0 0 var(--space-6)}.admin-table-wrapper{background:var(--surface);border:1px solid var(--border);border-radius:2rem;overflow:hidden}.admin-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.admin-table th{text-align:left;padding:var(--space-3) var(--space-4);font-weight:800;color:var(--text);border-bottom:1px solid var(--border);background:var(--surface-alt);white-space:nowrap}.admin-table th button{background:none;border:none;font:inherit;color:inherit;cursor:pointer;padding:0;font-weight:800}.admin-table td{padding:var(--space-3) var(--space-4);color:var(--body);border-bottom:1px solid var(--border);vertical-align:middle}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:var(--highlight)}.admin-table a{color:var(--primary);text-decoration:none;font-weight:700}.admin-table a:hover{text-decoration:underline}.status-badge{display:inline-block;padding:.1rem .5rem;border-radius:4px;font-size:var(--text-xs);font-weight:800;text-transform:uppercase;letter-spacing:.04em}.status-badge-enabled{background:#e6f6ef;color:#0f7a4c}.status-badge-disabled{background:#fde8e8;color:#c53030}.status-badge-active{background:#e6f6ef;color:#0f7a4c}.status-badge-inactive{background:#fde8e8;color:#c53030}.status-badge-verified{background:#e6f6ef;color:#0f7a4c}.status-badge-unverified{background:#fef3cd;color:#856404}.admin-search{display:flex;gap:var(--space-3);margin-bottom:var(--space-4)}.admin-search input{flex:1;padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:999px;font-size:var(--text-sm);font-family:inherit;color:var(--text)}.admin-search input:focus{outline:none;border-color:var(--primary)}.admin-pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-4);font-size:var(--text-sm);color:var(--muted)}.admin-pagination button{padding:var(--space-2) var(--space-4);border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--body);font-size:var(--text-xs);font-weight:700;font-family:inherit;cursor:pointer}.admin-pagination button:disabled{opacity:.4;cursor:not-allowed}.admin-detail-section{background:var(--surface);border:1px solid var(--border);border-radius:2rem;padding:var(--space-6);margin-bottom:var(--space-4)}.admin-detail-section h2{font-size:var(--text-lg);font-weight:900;color:var(--text);margin:0 0 var(--space-4)}.admin-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}.admin-detail-field label{display:block;font-size:var(--text-xs);font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-1)}.admin-detail-field span{font-size:var(--text-base);color:var(--text);font-weight:700}.admin-breadcrumb{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--muted);margin-bottom:var(--space-4)}.admin-breadcrumb a{color:var(--primary);text-decoration:none;font-weight:700}.admin-breadcrumb a:hover{text-decoration:underline}.admin-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#22112e80;display:flex;align-items:center;justify-content:center;z-index:200}.admin-dialog{width:min(440px,calc(100% - 2rem));background:var(--surface);border:1px solid var(--border);border-radius:2rem;padding:var(--space-8);box-shadow:var(--shadow-lg)}.admin-dialog h2{font-size:var(--text-lg);font-weight:900;color:var(--text);margin:0 0 var(--space-2)}.admin-dialog p{color:var(--body);margin:0 0 var(--space-6)}.admin-dialog-actions{display:flex;gap:var(--space-3);justify-content:flex-end}.admin-lesson-lines{list-style:none;padding:0;margin:0}.admin-lesson-lines li{padding:var(--space-3) 0;border-bottom:1px solid var(--border)}.admin-lesson-lines li:last-child{border-bottom:none}.admin-lesson-line-target{font-weight:700;color:var(--text)}.admin-lesson-line-native{color:var(--muted);font-size:var(--text-sm)}.admin-lesson-vocab{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-3);margin-top:var(--space-3)}.admin-lesson-vocab-card{background:var(--surface-alt);border:1px solid var(--border);border-radius:1rem;padding:var(--space-3)}.admin-lesson-vocab-term{font-weight:800;color:var(--text)}.admin-lesson-vocab-translation{color:var(--primary);font-size:var(--text-sm)}.admin-lesson-vocab-example{color:var(--muted);font-size:var(--text-xs);font-style:italic;margin-top:var(--space-1)}.curation-eyebrow{font-size:var(--text-xs);font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--primary);margin:0 0 var(--space-1)}.curation-lead{font-size:var(--text-base);color:var(--muted);margin:0 0 var(--space-6)}.curation-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-6)}.curation-filter-group{display:flex;gap:var(--space-2)}.curation-filter{padding:var(--space-2) var(--space-4);border-radius:999px;font-size:var(--text-xs);font-weight:800;font-family:inherit;border:1px solid var(--border);background:#fff;color:var(--text);cursor:pointer;transition:all .15s ease}.curation-filter:hover{border-color:var(--border-strong)}.curation-filter--active{background:var(--primary);color:#fff;border-color:var(--primary)}.curation-count{font-size:var(--text-sm);font-weight:800;color:var(--muted)}.curation-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--space-6)}.curation-card{background:var(--surface);border:1px solid var(--border);border-radius:2rem;box-shadow:var(--shadow-sm);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4);transition:transform .2s ease,box-shadow .2s ease}.curation-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.curation-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3)}.curation-card-title{font-size:var(--text-md);font-weight:900;color:var(--text);margin:0}.curation-card-meta{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.curation-card-tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.curation-pill{display:inline-block;padding:.15rem .55rem;border-radius:4px;font-size:var(--text-xs);font-weight:700;background:var(--surface-alt);color:var(--body)}.curation-pill--theme{background:#e6f0ff;color:#1a5abf}.curation-pill--category{background:#f0e6ff;color:#7a2dbf}.curation-moderation-warning{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);font-weight:800;color:#856404}.curation-card-tier{display:flex;gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border)}.tier-chip{flex:1;padding:var(--space-2);border-radius:.75rem;font-size:var(--text-xs);font-weight:800;font-family:inherit;text-align:center;border:2px solid var(--border);cursor:pointer;background:#fff;transition:all .15s ease}.tier-chip:hover{border-color:var(--border-strong)}.tier-chip--selected{border-color:var(--primary);background:var(--highlight);color:var(--primary)}.curation-card-actions{display:flex;gap:var(--space-3)}.curation-card-date{font-size:var(--text-xs);color:var(--muted);font-weight:700}.section-divider{border:none;border-top:1px solid var(--border);margin:var(--space-6) 0}.plan-chips{display:flex;gap:var(--space-2);margin-bottom:var(--space-4)}.plan-chip{flex:1;max-width:160px;padding:var(--space-3);border-radius:.75rem;font-size:var(--text-sm);font-weight:800;font-family:inherit;text-align:center;border:2px solid var(--border);cursor:pointer;background:#fff;transition:all .15s ease}.plan-chip:hover{border-color:var(--primary);background:var(--highlight)}.plan-chip--selected{border-color:var(--primary);background:var(--highlight);color:var(--primary)}.plan-chip-label{display:block;font-size:var(--text-xs);color:var(--muted);font-weight:700;margin-top:2px}.plan-chip--selected .plan-chip-label{color:var(--primary)}.plan-override-row{display:flex;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-4)}.plan-override-field{display:flex;flex-direction:column;gap:var(--space-1)}.plan-override-field label{font-size:var(--text-xs);font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.plan-override-field input,.plan-override-field textarea{padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:.75rem;font-size:var(--text-base);font-family:inherit;color:var(--text)}.plan-override-field input:focus,.plan-override-field textarea:focus{outline:none;border-color:var(--primary)}.sticky-toggle{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4)}.sticky-toggle input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary);cursor:pointer}.sticky-toggle label{font-size:var(--text-sm);font-weight:700;color:var(--text);cursor:pointer}.sticky-toggle .hint{font-size:var(--text-xs);color:var(--muted);font-weight:400}.plan-override-actions{display:flex;justify-content:flex-end;align-items:center;gap:var(--space-3)}.plan-section-heading{font-size:var(--text-sm);font-weight:900;color:var(--text);margin:0 0 var(--space-3)}@media(max-width:640px){.admin-nav{overflow-x:auto;flex-wrap:nowrap}.admin-table{font-size:var(--text-xs)}.admin-detail-grid{grid-template-columns:1fr}}
