: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);--destructive: #b42318;--success: #16a34a;--radius-banner: 1.25rem;--tag-theme-bg: var(--primary-soft);--tag-theme-fg: var(--primary);--tag-theme-border: rgba(130, 10, 209, .2);--tag-category-bg: #fef3e2;--tag-category-fg: #92610a;--tag-category-border: rgba(146, 97, 10, .2);--tag-genre-bg: #e6f6ef;--tag-genre-fg: #0f7a4c;--tag-genre-border: rgba(15, 122, 76, .2);--tag-topic-bg: rgba(255, 255, 255, .84);--tag-topic-fg: var(--text);--tag-topic-border: var(--border);--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):not(.sl-card-cta){min-height:44px}.pill-tag,.outline-tag,.tag-pill,.jcard-tag-colored,.lesson-meta-pill,.asset-dot,.generating-shimmer-tag,.ghost-badge,.sparkline-label,.lang-chart-label,.wave-label,.sl-card-access,.sl-card-cta{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}.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)}.site-header-inner{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)))}.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)}.nav-user-group{display:inline-flex;align-items:center;gap:var(--space-2)}.user-dropdown{position:relative;display:inline-flex}.user-dropdown-trigger{display:inline-flex;align-items:center;gap:var(--space-2);background:none;border:none;cursor:pointer;padding:0 var(--space-3);min-height:44px;font-family:inherit;color:var(--text);font-size:var(--text-sm)}.user-dropdown-name{font-weight:700}.user-dropdown-chevron{font-size:.55rem;color:var(--muted)}.user-dropdown-menu{position:absolute;top:100%;right:0;z-index:100;min-width:220px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-sm);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-1)}.user-dropdown-plan-section{padding:var(--space-2) var(--space-2);text-align:center}.user-dropdown-plan-label{font-size:var(--text-xs);font-weight:800;color:var(--text);display:block;margin-bottom:2px}.user-dropdown-credit-sub{font-size:var(--text-xs);color:var(--muted);display:block}.user-dropdown-credit-plus{color:var(--primary);font-weight:800}.user-dropdown-upgrade{display:inline-flex;align-items:center;justify-content:center;align-self:center;padding:.35rem 1rem;margin-top:var(--space-2);border-radius:999px;background:var(--primary);color:#fff;font-weight:800;font-size:var(--text-xs);text-decoration:none;transition:background .15s ease}.user-dropdown-upgrade:hover{background:var(--primary-dark)}.user-dropdown-divider{height:1px;background:var(--border);margin:var(--space-1) 0}.user-dropdown-link{display:flex;align-items:center;justify-content:center;width:100%;min-height:2rem;padding:var(--space-1) var(--space-2);border-radius:8px;font-size:var(--text-sm);line-height:1.5;color:var(--body);text-decoration:none;background:none;border:none;font-family:inherit;cursor:pointer;transition:background .12s ease}.user-dropdown-link:hover{background:var(--surface-alt)}.plan-badge{display:inline-flex;align-items:center;padding:2px 10px;font-size:var(--text-xs);font-weight:800;text-transform:uppercase;letter-spacing:.05em;border-radius:999px;background:var(--primary-soft);color:var(--primary);border:1px solid rgba(130,10,209,.2)}.credit-bar{display:inline-flex;align-items:center;gap:6px}.credit-bar-track{width:48px;height:6px;background:var(--border);border-radius:3px;overflow:hidden}.credit-bar-fill{height:100%;border-radius:3px;transition:width .3s ease,background-color .3s ease}.credit-bar-label{font-size:var(--text-xs);font-weight:700;font-variant-numeric:tabular-nums}.upgrade-banner{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:.3rem var(--space-3);padding:var(--space-3) var(--space-6);background:linear-gradient(90deg,var(--primary-soft),var(--highlight));border-bottom:1px solid var(--border);font-size:var(--text-sm);line-height:1.5}.upgrade-banner-text{color:var(--text)}.upgrade-banner-credits{display:inline;background:#ffffffb3;padding:.15rem .5rem;border-radius:6px;font-weight:800;color:var(--primary);font-size:var(--text-xs);margin-left:.25rem}.upgrade-banner-actions{display:inline-flex;align-items:baseline;gap:var(--space-2);flex-shrink:0;white-space:nowrap}.upgrade-banner-cta{font-weight:700;color:var(--primary);white-space:nowrap}.upgrade-banner-cta:hover{text-decoration:underline}.upgrade-banner-dismiss{background:none;border:none;font-size:1.25rem;color:var(--muted);padding:0 var(--space-1);line-height:1}.upgrade-banner-dismiss:hover{color:var(--text)}@media(max-width:640px){.site-header-inner{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-6)}.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;padding:.45rem .75rem;border-radius:999px;border:1px solid transparent;background:var(--primary-soft);color:var(--primary);font-size:var(--text-sm);font-weight:800}.pill-tag--theme{background:var(--tag-theme-bg);color:var(--tag-theme-fg);border-color:var(--tag-theme-border)}.pill-tag--category{background:var(--tag-category-bg);color:var(--tag-category-fg);border-color:var(--tag-category-border)}.pill-tag--genre{background:var(--tag-genre-bg);color:var(--tag-genre-fg);border-color:var(--tag-genre-border)}.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:flex;flex-direction:column;min-height:100vh}.auth-page-area{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-5);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-footer{border-top:1px solid var(--border);padding:var(--space-4);display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.auth-footer-legal{font-size:var(--text-xs);font-weight:700;color:var(--muted);opacity:.7;text-align:center;line-height:1.6}.auth-footer-legal a{color:var(--muted);text-decoration:none;transition:color .18s ease}.auth-footer-legal a:hover{color:var(--primary)}.auth-footer-links{display:flex;gap:var(--space-5);list-style:none}.auth-footer-links a{font-size:var(--text-xs);font-weight:800;color:var(--muted);text-decoration:none;opacity:.7;transition:color .18s ease,opacity .18s ease}.auth-footer-links a:hover{color:var(--primary);opacity:1}.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}.option-card.is-locked{opacity:.5;cursor:not-allowed;pointer-events:none;position:relative}.option-card.is-locked:hover{border-color:var(--border);background:var(--surface)}.option-card-lock{position:absolute;top:var(--space-2);right:var(--space-2);font-size:var(--text-sm)}.option-cards-upgrade-hint{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--muted)}.option-cards-upgrade-hint a{color:var(--primary);font-weight:700}.option-cards-upgrade-hint a:hover{text-decoration:underline}.lesson-submit-area{display:flex;align-items:center;gap:var(--space-4)}.credit-cost-hint{font-size:var(--text-sm);color:var(--muted);font-weight:600}.credit-exhaustion-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-8) var(--space-6);border:2px dashed var(--border-strong);border-radius:12px;background:#fdfaff;text-align:center}.credit-exhaustion-icon{font-size:2rem;line-height:1}.credit-exhaustion-title{font-size:var(--text-md);font-weight:700;color:var(--text);margin:0}.credit-exhaustion-desc{font-size:var(--text-sm);color:var(--muted);margin:0;line-height:1.5}.credit-exhaustion-card .primary-button{align-self:center;padding:0 var(--space-8)}.credit-exhaustion-wait{font-size:var(--text-xs);color:var(--muted);margin:0}@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(--muted);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)}.nudge-desc{font-size:.75rem;color:var(--muted);line-height:1.6;max-width:300px}.nudge-cta{display:inline-block;margin-top:.25rem;padding:.55rem 1.25rem;border-radius:999px;min-height:3.2rem;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}.tag-pill{display:inline-flex;align-items:center;min-height:unset;padding:.18rem .65rem;border-radius:999px;font-size:var(--text-sm);font-weight:800;border:1px solid transparent;line-height:1.6}.tag-pill--theme{background:var(--tag-theme-bg);color:var(--tag-theme-fg);border-color:var(--tag-theme-border)}.tag-pill--category{background:var(--tag-category-bg);color:var(--tag-category-fg);border-color:var(--tag-category-border)}.tag-pill--genre{background:var(--tag-genre-bg);color:var(--tag-genre-fg);border-color:var(--tag-genre-border);font-style:italic;font-weight:700}.tag-pill--topic{background:var(--tag-topic-bg);color:var(--tag-topic-fg);border-color:var(--tag-topic-border)}@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:.12em;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)}.audio-lock{display:flex;flex-direction:column;gap:var(--space-2)}.audio-lock-button{opacity:.75}.audio-lock-hint{font-size:var(--text-sm);color:var(--muted);margin:0}.audio-lock-hint a{color:var(--primary);font-weight:700}.audio-lock-hint a:hover{text-decoration:underline}.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)}.past-due-card{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-4) var(--space-6);background:#fff;border:1.5px solid #e8c97a;border-left:4px solid #b7800e;border-radius:var(--radius-banner);margin-bottom:var(--space-6)}.past-due-icon{flex-shrink:0;width:40px;height:40px;border-radius:10px;background:#fef3e2;display:flex;align-items:center;justify-content:center;font-size:1.3rem}.past-due-body{flex:1}.past-due-title{font-size:var(--text-base);font-weight:800;color:#92610a;margin:0 0 var(--space-1)}.past-due-desc{font-size:var(--text-sm);color:var(--muted);margin:0 0 var(--space-3);line-height:1.5}.past-due-cta{display:inline-flex;align-items:center;padding:.5rem 1.25rem;border-radius:999px;min-height:3.2rem;background:#b7800e;color:#fff;font-weight:800;font-size:var(--text-sm);border:none;cursor:pointer;transition:background .15s ease}.past-due-cta:hover{background:#92610a}.past-due-cta:disabled{opacity:.6;cursor:not-allowed}@media(max-width:600px){.past-due-card{flex-direction:column;align-items:flex-start}}.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-shared-badge{padding:var(--space-1) var(--space-3);border-radius:999px;font-size:var(--text-xs);font-weight:800;background:var(--primary-soft);color:var(--primary);border:1px solid var(--tag-theme-border)}.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-tag-colored{display:inline-flex;align-items:center;padding:.15rem .55rem;border-radius:999px;font-size:var(--text-xs);font-weight:700;border:1px solid transparent;min-height:unset}.jcard-tag--theme{background:var(--tag-theme-bg);color:var(--tag-theme-fg);border-color:var(--tag-theme-border);font-weight:800}.jcard-tag--category{background:var(--tag-category-bg);color:var(--tag-category-fg);border-color:var(--tag-category-border)}.jcard-tag--genre{background:var(--tag-genre-bg);color:var(--tag-genre-fg);border-color:var(--tag-genre-border);font-style:italic}.jcard-tag--topic{background:var(--tag-topic-bg);color:var(--tag-topic-fg);border-color:var(--tag-topic-border)}.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);border-radius:1rem;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);margin-bottom:var(--space-6);background:var(--primary-soft);border:1px solid rgba(130,10,209,.25);border-radius:var(--radius-banner);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:3.2rem;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}}.pricing-page{padding-top:var(--space-8);padding-bottom:var(--space-12)}.pricing-header{text-align:center;margin-bottom:2rem}.pricing-title{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:900;color:var(--text);margin:0 0 .5rem}.pricing-subtitle{font-size:clamp(.95rem,2vw,1.1rem);color:var(--muted);margin:0 auto;max-width:560px}.billing-toggle{display:inline-flex;align-items:center;gap:.25rem;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:.3rem;margin:0 auto 2.5rem;display:flex;width:fit-content;margin-left:auto;margin-right:auto}.billing-option{padding:.55rem 1.25rem;border-radius:999px;border:none;background:transparent;color:var(--muted);font:inherit;font-size:.88rem;font-weight:700;cursor:pointer;transition:all .18s ease}.billing-option.is-active{background:var(--primary);color:#fff}.save-badge{display:inline-block;background:#e6f6ef;color:#0f7a4c;font-size:.68rem;font-weight:800;padding:.15rem .5rem;border-radius:999px;margin-left:.35rem;vertical-align:middle}.plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:960px;margin:0 auto}.plan-card{background:var(--surface);border:1px solid var(--border);border-radius:1.25rem;padding:2rem 1.5rem;text-align:left;position:relative;transition:box-shadow .2s ease,border-color .2s ease}.plan-card:hover{box-shadow:var(--shadow-sm)}.plan-card.is-promoted{border-color:var(--primary);box-shadow:var(--shadow-sm)}.plan-card.is-current{border-color:#34c77b}.plan-card.is-lower{opacity:.55}.plan-popular-badge,.plan-current-badge{position:absolute;top:-.7rem;left:50%;transform:translate(-50%);padding:.2rem .85rem;border-radius:999px;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.plan-popular-badge{background:var(--primary);color:#fff}.plan-current-badge{background:#e6f6ef;color:#0f7a4c;border:1px solid #34c77b}.plan-name{font-size:1.1rem;font-weight:900;color:var(--text);margin:0 0 .25rem}.plan-desc{font-size:.82rem;color:var(--muted);margin:0 0 1.25rem;line-height:1.5}.plan-price{display:flex;align-items:baseline;gap:.25rem;margin:0 0 .25rem}.price-amount{font-size:2.5rem;font-weight:900;color:var(--text)}.price-period{font-size:.88rem;color:var(--muted);font-weight:700}.price-savings{font-size:.78rem;color:#0f7a4c;font-weight:700;margin:0 0 .75rem;min-height:1.1rem}.plan-credits{font-size:.82rem;color:var(--body);font-weight:700;margin:0 0 .5rem}.plan-credit-usage{font-size:.78rem;color:#0f7a4c;font-weight:700;margin:0 0 1.25rem}.plan-cta{display:block;width:100%;padding:.85rem;border-radius:999px;font:inherit;font-size:.95rem;font-weight:800;cursor:pointer;text-align:center;text-decoration:none;transition:all .18s ease;border:2px solid var(--primary);margin-bottom:1.5rem}.plan-cta.is-upgrade{background:var(--primary);color:#fff;border-color:var(--primary)}.plan-cta.is-upgrade:hover{background:var(--primary-dark);border-color:var(--primary-dark)}.plan-cta.is-manage{background:transparent;color:var(--primary)}.plan-cta.is-manage:hover{background:var(--highlight)}.plan-cta.is-current-free{background:transparent;color:var(--primary)}.plan-cta.is-current-free:hover{background:var(--highlight)}.plan-cta.is-lower{background:var(--surface-alt);color:var(--muted);border-color:var(--border);cursor:default;opacity:.6}.plan-cta:disabled{cursor:not-allowed;opacity:.6}.plan-feature-list{list-style:none;padding:0;margin:0}.plan-feature-list li{display:flex;align-items:center;gap:.6rem;padding:.5rem 0;font-size:.88rem;color:var(--body);border-top:1px solid var(--border)}.plan-feature-list li.is-locked{color:var(--muted);opacity:.6}.plan-feature-list .icon-check{width:18px;height:18px;border-radius:50%;background:#e6f6ef;color:#0f7a4c;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:900;flex-shrink:0}.plan-feature-list .icon-lock{width:18px;height:18px;border-radius:50%;background:var(--surface-soft);color:var(--muted);display:flex;align-items:center;justify-content:center;font-size:.62rem;flex-shrink:0}@media(max-width:800px){.plans-grid{grid-template-columns:1fr;max-width:400px}}.credit-card{display:flex;align-items:center;gap:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-banner);padding:var(--space-4) var(--space-6);margin-bottom:var(--space-6)}.credit-card-left{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);flex-shrink:0}.credit-card-number{font-size:2.2rem;font-weight:900;color:var(--primary);line-height:1}.credit-card-number.low{color:#92610a}.credit-card-number.zero{color:#9b1c1c}.credit-card-label{font-size:var(--text-xs);color:var(--muted);font-weight:700;white-space:nowrap}.credit-card-center{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.credit-card-renewal-info{font-size:var(--text-sm);color:var(--muted);font-weight:600}.credit-card-renewal-plus{color:var(--primary);font-weight:800}.credit-card-right{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-1);flex-shrink:0}.credit-card-plan-pill{padding:.35rem .65rem;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-weight:800;font-size:var(--text-xs)}@media(max-width:600px){.credit-card{flex-direction:column;align-items:stretch;gap:var(--space-3)}.credit-card-right{align-items:flex-start;flex-direction:row;gap:var(--space-3)}}.cancel-banner{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:var(--radius-banner);flex-wrap:wrap;margin-top:var(--space-8)}.cancel-banner-content{display:flex;align-items:center;gap:var(--space-3);flex:1;min-width:0}.cancel-banner-icon{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}.cancel-banner-text{margin:0;font-size:var(--text-sm);color:var(--text);line-height:1.5}.cancel-banner-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.plan-change-banner{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:color-mix(in srgb,#2e8bc0 8%,transparent);border:1px solid color-mix(in srgb,#2e8bc0 25%,transparent);border-radius:var(--radius-banner);margin-top:var(--space-8)}.plan-change-banner-content{display:flex;align-items:center;gap:var(--space-3);flex:1;min-width:0}.plan-change-banner-icon{flex-shrink:0;width:2.25rem;height:2.25rem;border-radius:50%;background:linear-gradient(135deg,#3a9fd8,#2e8bc0);color:#fff;font-size:var(--text-sm);font-weight:900;display:flex;align-items:center;justify-content:center}.plan-change-banner-text{margin:0;font-size:var(--text-sm);color:var(--text);line-height:1.5}.success-card{position:relative;padding:var(--space-6);background:#fff;border:1.5px solid #a3dfc4;border-left:4px solid #14a060;border-radius:var(--radius-banner);margin-bottom:var(--space-6);transition:opacity .4s ease,max-height .4s ease}.success-eyebrow{font-size:var(--text-xs);font-weight:900;color:#14a060;text-transform:uppercase;letter-spacing:.28em;margin:0 0 var(--space-1)}.success-heading{font-size:var(--text-lg);font-weight:900;color:var(--text);margin:0 0 var(--space-3)}.success-features{list-style:none;padding:0;margin:0 0 var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--text-sm);color:var(--text)}.success-check{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#e6f6ef;color:#0f7a4c;font-size:.6rem;margin-right:.5rem}.success-credit-badge{display:inline-flex;gap:var(--space-2);padding:.5rem 1rem;border-radius:999px;background:#e6f6ef;color:#0f7a4c;font-weight:800;font-size:var(--text-sm);margin-bottom:var(--space-4)}.success-dismiss{position:absolute;top:var(--space-3);right:var(--space-3);background:none;border:none;color:var(--muted);font-size:1.3rem;cursor:pointer;opacity:.5;line-height:1;padding:0}.success-dismiss:hover{opacity:1}.failed-centered-card{border-radius:2rem;padding:var(--space-8) var(--space-6);display:grid;gap:var(--space-5);justify-items:center;text-align:center;max-width:560px;margin-inline:auto}@media(min-width:640px){.failed-centered-card{padding:var(--space-10) var(--space-12)}}.failed-centered-icon{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,var(--primary-soft),var(--highlight));display:flex;align-items:center;justify-content:center}.failed-centered-icon svg{opacity:.7}.failed-centered-title{margin:0;font-size:var(--text-xl);font-weight:900;color:var(--text);line-height:1.2}.failed-centered-body{margin:0;color:var(--muted);line-height:1.7;max-width:36ch}.failed-no-credit{margin:0;font-size:var(--text-sm);font-weight:800;color:var(--primary);background:var(--primary-soft);padding:.35rem 1rem;border-radius:999px;border:1px solid rgba(130,10,209,.2)}.failed-centered-actions{display:grid;gap:var(--space-3);width:100%;max-width:300px}.failed-centered-actions .primary-button,.failed-centered-actions .secondary-button{width:100%}.sl-library-page{padding-top:var(--space-8);padding-bottom:var(--space-12);display:flex;flex-direction:column;gap:var(--space-6)}.sl-library-header h1{font-size:var(--text-2xl);font-weight:900;color:var(--text);margin:.4rem 0 .6rem}.sl-library-filters{display:flex;flex-wrap:wrap;gap:var(--space-3)}.sl-library-filters select{padding:var(--space-2) var(--space-5);border:1px solid var(--border);border-radius:999px;background:var(--surface) url("data:image/svg+xml,%3Csvg width='10' height='6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23725f81'/%3E%3C/svg%3E") no-repeat right 1rem center;color:var(--text);font-weight:800;font-size:var(--text-sm);font-family:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;min-width:160px;padding-right:var(--space-8)}.sl-library-clear-btn{padding:var(--space-2) var(--space-5);border:1px solid var(--border);border-radius:999px;background:transparent;font-size:var(--text-sm);color:var(--muted);font-weight:800;cursor:pointer}.sl-library-clear-btn:hover{background:var(--surface-alt)}.sl-library-count{color:var(--muted);font-size:var(--text-sm);font-weight:700}.sl-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-6)}.sl-library-empty{text-align:center;padding:var(--space-12);color:var(--muted);font-weight:700}.sl-library-pagination{display:flex;justify-content:center;gap:var(--space-2)}.sl-library-page-btn{width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:var(--surface);font-weight:800;font-size:var(--text-sm);color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center}.sl-library-page-btn--active{background:var(--primary);color:#fff;border-color:var(--primary)}.sl-library-page-btn:disabled{opacity:.4;cursor:not-allowed}.sl-card-link{text-decoration:none;color:inherit;display:block}.sl-card{position:relative;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-3);transition:transform .2s ease,box-shadow .2s ease}.sl-card-link:hover .sl-card{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.sl-card--locked{opacity:.55;filter:grayscale(.4)}.sl-card--locked:hover{transform:none;box-shadow:var(--shadow-sm);cursor:default}.sl-card--skeleton{min-height:120px;padding:var(--space-6)}.sl-card-lock{position:absolute;top:var(--space-4);right:var(--space-4);width:36px;height:36px;border-radius:50%;background:var(--surface-soft, var(--surface-alt));display:flex;align-items:center;justify-content:center;font-size:var(--text-md);border:1px solid var(--border)}.sl-card-title{font-size:var(--text-md);font-weight:900;color:var(--text);margin:0;line-height:1.3}.sl-card-native{font-size:var(--text-sm);font-weight:700;color:var(--muted);margin:0}.sl-card-meta,.sl-card-tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.sl-card-meta .pill-tag,.sl-card-tags .pill-tag{margin-bottom:0}.sl-card-footer{margin-top:auto;padding-top:var(--space-3);border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.sl-card-access{font-size:var(--text-xs);font-weight:800}.sl-card-access--full{color:var(--success, #16a34a)}.sl-card-access--locked{color:var(--muted)}.sl-card-cta{padding:var(--space-1) var(--space-4);border-radius:999px;font-size:var(--text-xs);font-weight:800;line-height:1.2;border:1px solid transparent;cursor:pointer;box-sizing:border-box}.sl-card-cta--open{background:var(--primary);color:#fff}.sl-card-cta--upgrade{background:var(--surface-soft);color:var(--primary);border-color:var(--tag-theme-border);text-decoration:none}.lesson-meta-pill--shared,.hero-action--done{background:var(--tag-genre-bg);color:var(--tag-genre-fg);border-color:var(--tag-genre-border)}.sl-share-modal{max-width:480px;position:relative}.sl-share-modal-close{position:absolute;top:var(--space-3);right:var(--space-3);background:none;border:none;font-size:var(--text-xl);color:var(--muted);line-height:1;padding:var(--space-1)}.sl-share-modal-close:hover{color:var(--text)}.sl-share-link-row{display:flex;gap:var(--space-2);margin:var(--space-4) 0}.sl-share-link-input{flex:1;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:1rem;font-size:var(--text-sm);color:var(--text);background:var(--surface-alt)}.sl-share-steps{margin-top:var(--space-4);padding:var(--space-4);background:var(--surface-alt);border-radius:10px}.sl-share-steps-title{font-weight:800;font-size:var(--text-sm);color:var(--text);margin:0 0 var(--space-2)}.sl-share-steps-list{margin:0;padding-left:var(--space-5);font-size:var(--text-sm);color:var(--muted);line-height:1.7}.sl-invite-card{text-align:center;max-width:420px}.sl-invite-card h1{font-size:var(--text-xl);margin-bottom:var(--space-2)}.sl-invite-meta{display:flex;justify-content:center;gap:var(--space-2);margin-bottom:var(--space-4)}.sl-invite-signin-hint{margin-top:var(--space-4);font-size:var(--text-sm);color:var(--muted)}.sl-invite-signin-hint a{color:var(--primary);font-weight:700}.sl-invite-upsell{margin-top:var(--space-4);font-size:var(--text-sm);color:var(--muted)}.sl-invite-upsell a{color:var(--primary);font-weight:700}.jdash-shared-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--surface-alt);border:1px solid var(--border);border-radius:12px;margin-bottom:var(--space-6)}.jdash-shared-banner-title{font-size:var(--text-md);font-weight:800;color:var(--text);margin:0}.jdash-shared-banner-desc{font-size:var(--text-sm);color:var(--muted);margin:var(--space-1) 0 0}.site-footer{background:var(--surface-alt);border-top:1px solid var(--border);margin-top:var(--space-12)}.site-footer-inner{padding-block:var(--space-12) 0}.site-footer-grid{display:grid;grid-template-columns:1fr;gap:var(--space-8);padding-bottom:var(--space-10)}@media(min-width:640px){.site-footer-grid{grid-template-columns:1.4fr 1fr 1fr;gap:var(--space-12)}}.site-footer-brand{display:flex;flex-direction:column;gap:var(--space-4)}.site-footer-brand-row{display:flex;align-items:center;gap:var(--space-3)}.site-footer-badge{width:36px;height:36px;border-radius:999px;background:var(--primary-dark);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px #4c067773;flex-shrink:0}.site-footer-wordmark{font-size:var(--text-md);font-weight:900;letter-spacing:-.01em;line-height:1;color:var(--text)}.site-footer-ai{color:var(--primary)}.site-footer-tagline{font-size:var(--text-sm);font-weight:700;color:var(--muted);line-height:1.6;max-width:280px}.site-footer-col-title{font-size:var(--text-xs);font-weight:900;letter-spacing:.28em;text-transform:uppercase;color:var(--primary);margin-bottom:var(--space-4)}.site-footer-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-3)}.site-footer-links a{font-size:var(--text-sm);font-weight:700;color:var(--body);text-decoration:none;transition:color .18s ease}.site-footer-links a:hover{color:var(--primary)}.site-footer-link-muted{font-size:var(--text-sm);font-weight:700;color:var(--muted)}.site-footer-soon{display:inline-block;font-size:var(--text-xs);font-weight:800;color:var(--primary);background:var(--primary-soft);padding:.1rem .45rem;border-radius:999px;margin-left:var(--space-2);vertical-align:middle}.site-footer-bottom{border-top:1px solid var(--border)}.site-footer-bottom-inner{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-3);padding-block:var(--space-5)}.site-footer-copyright{font-size:var(--text-xs);font-weight:700;color:var(--muted)}.site-footer-copyright a{color:var(--muted);text-decoration:none;transition:color .18s ease}.site-footer-copyright a:hover{color:var(--primary)}.site-footer-social{display:flex;gap:var(--space-4)}.site-footer-social a{color:var(--muted);text-decoration:none;font-size:var(--text-sm);font-weight:800;transition:color .18s ease}.site-footer-social a:hover{color:var(--primary)}
