:root{color-scheme:dark;--bg:#09090b;--surface:#111114;--surface-raised:#17171b;--surface-soft:#1d1d22;--border:#2a2a31;--border-strong:#3b3b46;--text:#f5f5f7;--text-soft:#b4b4bf;--text-muted:#7f7f8d;--primary:#8b7cff;--primary-strong:#a79dff;--primary-soft:rgba(139,124,255,0.12);--success:#49c98b;--success-soft:rgba(73,201,139,0.1);--danger:#ff6b7a;--danger-soft:rgba(255,107,122,0.1);--warning:#f0b35b;--radius-sm:12px;--radius-md:16px;--radius-lg:22px;--radius-xl:28px;--shadow:0 18px 50px rgba(0,0,0,0.26)}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-height:100dvh;background:radial-gradient(circle at 50% -20%,rgba(139,124,255,.12),transparent 32rem),var(--bg);color:var(--text);font-family:var(--font-geist-sans),"Geist",ui-sans-serif,system-ui,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}::selection{background:rgba(139,124,255,.32)}.app-shell{width:100%;max-width:1180px;margin:0 auto;padding:calc(72px + env(safe-area-inset-top)) 16px calc(104px + env(safe-area-inset-bottom))}.page-transition{width:100%}.page{gap:24px}.page,.page-header{display:flex;flex-direction:column}.page-header{gap:10px;padding:24px 0 4px}.page-header.compact{max-width:720px}.hero h1,.page-header h1{margin:0;font-size:clamp(2.25rem,10vw,4.8rem);line-height:.96;letter-spacing:-.055em;font-weight:560}.hero-copy,.page-description{margin:0;max-width:680px;color:var(--text-soft);font-size:.98rem;line-height:1.65}.eyebrow,.muted,.nav-eyebrow,.stat-label{color:var(--text-muted)}.eyebrow,.nav-eyebrow{margin:0;font-family:var(--font-geist-mono),"Geist Mono",monospace;font-size:.68rem;letter-spacing:.12em;font-weight:600}.mobile-header{position:fixed;inset:0 0 auto 0;z-index:50;height:calc(60px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 16px 0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.06);background:rgba(9,9,11,.82);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand{display:inline-flex;align-items:center;gap:9px;font-weight:620;letter-spacing:-.02em}.brand-mark{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(145deg,var(--primary-strong),#6657ee);color:white;box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}.mobile-header-actions{display:flex;gap:8px}.icon-button{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--border);border-radius:13px;background:var(--surface);color:var(--text-soft)}.mobile-add-sheet{position:fixed;z-index:100;inset:0;display:flex;align-items:flex-end}.mobile-add-sheet-backdrop{position:absolute;inset:0;border:0;background:rgba(0,0,0,.58);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.mobile-add-sheet-panel{position:relative;width:100%;max-height:min(88dvh,760px);min-height:60dvh;overflow-y:auto;padding:10px 16px calc(24px + env(safe-area-inset-bottom));border-radius:26px 26px 0 0;background:var(--surface);box-shadow:0 -18px 50px rgba(0,0,0,.36)}.mobile-add-sheet-handle{width:38px;height:4px;margin:0 auto 14px;border-radius:999px;background:var(--border-strong)}.mobile-add-sheet-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.mobile-add-sheet-header h2{margin:4px 0 0;font-size:1.45rem;letter-spacing:-.04em}.mobile-add-sheet-description{margin:10px 0 18px;color:var(--text-soft);font-size:.88rem;line-height:1.5}.mobile-add-sheet-panel .form-panel,.mobile-add-sheet-panel .import-workspace{max-width:none}.desktop-sidebar{display:none}.mobile-bottom-nav{position:fixed;z-index:50;inset:auto 10px max(10px,env(safe-area-inset-bottom)) 10px;display:grid;grid-template-columns:repeat(4,1fr);grid-gap:2px;gap:2px;padding:7px;border:1px solid rgba(255,255,255,.08);border-radius:20px;background:rgba(17,17,20,.92);box-shadow:0 18px 50px rgba(0,0,0,.4);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.mobile-nav-item{min-height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:14px;color:var(--text-muted);font-size:.66rem;transition:background .16s ease,color .16s ease,transform .16s ease}.mobile-nav-item:active{transform:scale(.96)}.mobile-nav-item.is-active{color:var(--text);background:var(--primary-soft)}.mobile-nav-icon{position:relative;display:inline-flex}.mobile-nav-icon .review-nav-badge{position:absolute;top:-8px;left:14px;min-width:16px;height:16px;padding-inline:3px;font-size:.58rem}.review-nav-badge{min-width:20px;height:20px;margin-left:auto;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--primary-strong);color:#111114;font-size:.65rem;font-weight:750;line-height:1}.hero{gap:16px;padding:28px 0 8px}.hero,.hero-actions,.toolbar{display:flex;flex-direction:column}.hero-actions,.toolbar{gap:10px;margin:6px 0 0}.card,.panel,.stat-card{border:1px solid var(--border);background:linear-gradient(180deg,rgba(255,255,255,.025),transparent),var(--surface);border-radius:var(--radius-lg);box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}.card,.panel{padding:18px}.card{transition:border-color .16s ease,transform .16s ease,background .16s ease}a.card:active{transform:scale(.985)}.grid,.stats-grid,.usage-grid{display:grid;grid-template-columns:1fr;grid-gap:12px;gap:12px}.stat-card{padding:17px}.stat-detail,.stat-label{margin:0;font-size:.76rem}.stat-value{margin:8px 0 2px;font-family:var(--font-geist-mono),"Geist Mono",monospace;font-size:1.75rem;line-height:1;letter-spacing:-.05em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat-detail{color:var(--text-muted);margin-top:8px}.button{min-height:48px;width:100%;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 16px;border:1px solid transparent;border-radius:14px;font-weight:600;font-size:.9rem;cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease,opacity .15s ease}.button:active:not(:disabled){transform:scale(.985)}.button:disabled{opacity:.58;cursor:wait}.button-primary{background:var(--text);color:#101014}.button-secondary,.secondary{background:var(--surface-raised);border-color:var(--border);color:var(--text)}.button-success{background:var(--success);color:#07140e}.button-danger{background:var(--danger);color:#19070a}.text-link{color:var(--primary-strong);font-weight:560}.field{display:flex;flex-direction:column;gap:8px}.field label,label{color:var(--text-soft);font-size:.83rem;font-weight:560}input,select,textarea{width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--border);border-radius:14px;outline:none;background:#0d0d10;color:var(--text);transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}textarea{min-height:112px;resize:vertical;line-height:1.55}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(139,124,255,.12);background:#101014}form{display:flex;flex-direction:column;gap:14px}.word{font-size:1.35rem;font-weight:610;letter-spacing:-.03em}.meta-row,.word-meta{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.badge{min-height:26px;display:inline-flex;align-items:center;padding:0 9px;border:1px solid var(--border);border-radius:999px;color:var(--text-soft);background:var(--surface-raised);font-family:var(--font-geist-mono),"Geist Mono",monospace;font-size:.67rem;letter-spacing:.02em}.rtl{direction:rtl;text-align:right}.answer-panel,.answerPanel{margin-top:4px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft)}.status-notice{display:flex;align-items:flex-start;gap:10px;padding:13px 14px;border:1px solid var(--border);border-radius:14px;font-size:.86rem;line-height:1.5}.status-success{color:#b8f2d4;border-color:rgba(73,201,139,.24);background:var(--success-soft)}.status-error{color:#ffc2c9;border-color:rgba(255,107,122,.24);background:var(--danger-soft)}.status-info{color:#cec9ff;border-color:rgba(139,124,255,.24);background:var(--primary-soft)}.spinner{animation:spin .85s linear infinite}.metric-bar{height:7px;overflow:hidden;border-radius:999px;background:var(--surface-soft)}.metric-bar>span{display:block;height:100%;border-radius:inherit;background:var(--primary)}.usage-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--border)}.usage-row:last-child{border-bottom:0}.usage-name{min-width:0}.usage-name span,.usage-name strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.usage-name span{color:var(--text-muted);font-size:.75rem;margin-top:3px}.usage-number{font-family:var(--font-geist-mono),"Geist Mono",monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:.8rem;color:var(--text-soft)}.empty-state{display:flex;flex-direction:column;gap:12px;align-items:flex-start;padding:24px;border:1px dashed var(--border-strong);border-radius:var(--radius-lg);color:var(--text-soft)}.skeleton{border-radius:10px;background:linear-gradient(90deg,#16161a 25%,#202026 50%,#16161a 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}.skeleton-stack{display:flex;flex-direction:column;gap:12px}.skeleton-list{gap:10px}.skeleton-kicker{width:90px;height:12px}.skeleton-title{width:min(88%,560px);height:54px}.skeleton-copy{width:min(96%,620px);height:18px}.skeleton-card{height:112px;border-radius:var(--radius-lg)}details{border:1px solid var(--border);border-radius:14px;padding:12px 14px;background:var(--surface-raised)}summary{cursor:pointer;color:var(--text-soft);font-size:.85rem}@keyframes spin{to{transform:rotate(1turn)}}@keyframes shimmer{to{background-position:-200% 0}}@media (min-width:620px){.app-shell{padding-inline:24px}.grid,.stats-grid,.usage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-actions,.toolbar{flex-direction:row;align-items:center}.hero-actions .button,.toolbar .button{width:auto}}@media (min-width:940px){body{padding-left:242px}.mobile-add-sheet,.mobile-bottom-nav,.mobile-header{display:none}.desktop-sidebar{position:fixed;inset:0 auto 0 0;z-index:50;width:242px;display:flex;flex-direction:column;padding:24px 16px;border-right:1px solid var(--border);background:rgba(13,13,16,.95)}.sidebar-brand{padding:0 8px 24px}.sidebar-nav{display:flex;flex-direction:column;gap:5px}.nav-eyebrow{padding:0 10px 7px}.nav-section-gap{margin-top:20px}.nav-link{min-height:42px;display:flex;align-items:center;gap:11px;padding:0 11px;border-radius:12px;color:var(--text-muted);font-size:.86rem;transition:background .15s ease,color .15s ease}.nav-link:hover{color:var(--text-soft);background:var(--surface)}.nav-link.is-active{color:var(--text);background:var(--primary-soft)}.sidebar-add{min-height:44px;margin-top:auto;justify-content:center;border-radius:13px;background:var(--text);color:#111114;font-size:.84rem;font-weight:650}.sidebar-add,.sidebar-foot{display:flex;align-items:center;gap:8px}.sidebar-foot{padding:18px 7px 0;color:var(--text-muted);font-size:.72rem}.app-shell{padding:28px 36px 64px}.hero,.page-header{padding-top:34px}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.grid,.usage-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.button{width:auto}a.card:hover{transform:translateY(-2px);border-color:var(--border-strong);background:var(--surface-raised)}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.form-panel{width:100%;max-width:680px}.form-help{margin:0;color:var(--text-muted);font-size:.76rem;line-height:1.55}.learning-card{width:100%;max-width:760px;display:flex;flex-direction:column;gap:18px}.dashboard-callout,.learning-card-head,.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.learning-card-head>.muted{font-size:.78rem}.learning-prompt{margin:0;font-size:clamp(1.35rem,6vw,2rem);line-height:1.25;letter-spacing:-.035em;font-weight:560}.grade-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.grade-grid form{display:block}.text-button{min-height:38px;display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--text-muted);cursor:pointer}.feedback-stack{display:flex;flex-direction:column;gap:10px}.dashboard-callout{align-items:flex-end;flex-direction:column}.dashboard-callout h2,.section-heading h2{margin:5px 0 0;font-size:1.1rem;letter-spacing:-.025em}.dashboard-callout .text-link{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.vocabulary-card{display:flex;flex-direction:column;gap:14px;min-height:178px}.translation-stack p{margin:4px 0;color:var(--text-soft);line-height:1.45}.mastery-line{height:4px;margin-top:auto;overflow:hidden;border-radius:999px;background:var(--surface-soft)}.mastery-line span{display:block;height:100%;min-width:3px;border-radius:inherit;background:linear-gradient(90deg,#6657ee,var(--primary-strong))}.section-heading{margin-bottom:12px;color:var(--text-soft)}.usage-hero-number{margin:22px 0 8px;font-family:var(--font-geist-mono),"Geist Mono",monospace;font-size:clamp(2.4rem,12vw,4rem);line-height:.9;letter-spacing:-.07em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.usage-breakdown+.usage-breakdown{margin-top:2px}.usage-breakdown .metric-bar{margin:-6px 0 10px}.usage-event-number{display:flex;align-items:center;gap:7px;color:var(--text-muted)}.usage-error-icon{color:var(--danger)}@media (min-width:620px){.dashboard-callout{flex-direction:row;align-items:center}.grade-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.lesson-grid,.word-detail-grid{display:grid;grid-template-columns:1fr;grid-gap:12px;gap:12px}.intelligence-panel,.lesson-section,.word-detail-card{display:flex;flex-direction:column;gap:14px}.intelligence-panel h2,.lesson-footer-actions h2,.lesson-production h2,.lesson-section h2,.word-detail-card h2{margin:4px 0 0;letter-spacing:-.03em}.meaning-block+.meaning-block,.pattern-block+.pattern-block{padding-top:12px;border-top:1px solid var(--border)}.lesson-meaning{margin:5px 0;font-size:1.1rem;line-height:1.5}.mastery-row{display:flex;flex-direction:column;gap:7px}.mastery-row>div:first-child{display:flex;justify-content:space-between;gap:12px;color:var(--text-soft);font-size:.8rem}.mastery-row strong{font-family:var(--font-geist-mono),"Geist Mono",monospace;font-size:.75rem}.lesson-section h3{margin:0 0 6px;font-size:.98rem;letter-spacing:-.02em}.lesson-section p{line-height:1.58}.generated-meta{margin:0;color:var(--text-muted);font-family:var(--font-geist-mono),"Geist Mono",monospace;font-size:.69rem}.page-section{gap:12px}.example-card,.page-section{display:flex;flex-direction:column}.example-card{gap:10px}.example-card>p,.example-card>strong{margin:0;line-height:1.55}.relation-list{display:flex;flex-wrap:wrap;gap:8px}.relation-chip{min-height:48px;min-width:110px;display:inline-flex;flex-direction:column;justify-content:center;gap:3px;padding:8px 12px;border:1px solid var(--border);border-radius:14px;background:var(--surface-raised)}.relation-chip span{font-weight:600}.relation-chip small{color:var(--text-muted);font-size:.66rem}.compact-empty{padding:17px}.back-link{width:-moz-fit-content;width:fit-content;min-height:40px;display:inline-flex;align-items:center;gap:7px;color:var(--text-muted);font-size:.82rem}.lesson-pattern{padding:13px 0;border-bottom:1px solid var(--border)}.lesson-pattern:last-child{border-bottom:0}.lesson-pattern p{margin:6px 0 0}.lesson-examples{gap:10px}.lesson-example,.lesson-examples{display:flex;flex-direction:column}.lesson-example{gap:5px;padding:13px 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface-raised)}.lesson-example span{color:var(--text-muted);font-size:.8rem;line-height:1.5}.lesson-production{display:flex;flex-direction:column;gap:12px}.lesson-production .learning-card{max-width:none}.lesson-footer-actions{display:flex;flex-direction:column;gap:16px}.lesson-footer-actions p{margin-bottom:0}@media (min-width:700px){.lesson-grid,.word-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-footer-actions{flex-direction:row;align-items:center;justify-content:space-between}}@media (min-width:1040px){.word-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.form-grid{display:grid;grid-template-columns:1fr;grid-gap:12px;gap:12px}.status-link,.text-link{display:inline-flex;align-items:center;gap:6px}.pack-card,.story-card{display:flex;flex-direction:column;gap:12px}.pack-card h3,.pack-item h2,.pack-session-card h2,.story-card h3{margin:0;letter-spacing:-.03em}.pack-card p,.story-card p{margin:0;line-height:1.55}.pack-toolbar{display:flex;flex-direction:column;gap:12px}.pack-global-action,.pack-item-action{display:flex;flex-direction:column;gap:8px}.pack-list{display:flex;flex-direction:column;gap:10px}.pack-item{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:14px;gap:14px;align-items:start}.pack-item-index{font-family:var(--font-geist-mono),"Geist Mono",monospace;color:var(--text-muted);font-size:.72rem;padding-top:3px}.pack-item-copy{min-width:0}.pack-item-copy h2{margin:10px 0 7px;font-size:1.2rem}.pack-item-copy p{margin:4px 0}.pack-item-controls{grid-column:1/-1;display:flex;flex-direction:column;gap:8px}.pack-session-card{display:flex;flex-direction:column;gap:14px}.session-nav{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.target-picker{margin:0;padding:0;border:0}.target-picker legend{margin-bottom:8px;color:var(--text-soft);font-size:.83rem;font-weight:560}.target-option-grid{display:grid;grid-template-columns:1fr;grid-gap:8px;gap:8px;margin-top:12px;max-height:320px;overflow:auto;padding-right:2px}.target-option{min-height:52px;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:14px;background:var(--surface-raised)}.target-option input{width:18px;min-height:auto;height:18px;margin:0;flex:0 0 auto}.target-option span{display:flex;flex-direction:column;gap:3px;min-width:0}.target-option small{color:var(--text-muted);font-size:.7rem}.story-form{width:100%;max-width:780px}.story-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.story-word-search{display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid var(--border);border-radius:14px;background:var(--surface-raised);color:var(--text-muted)}.story-word-search input{min-height:46px;border:0;padding:0;background:transparent}.story-word-search:focus-within{border-color:var(--primary)}.story-search-results{display:grid;grid-gap:6px;gap:6px;margin-top:8px}.story-search-result{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-raised);color:var(--text);text-align:left}.story-search-result>span:first-child{display:grid;grid-gap:2px;gap:2px}.story-picker-hint,.story-search-result small{color:var(--text-muted);font-size:.78rem}.story-result-action{display:inline-flex;align-items:center;gap:4px;color:var(--primary-strong);font-size:.8rem;font-weight:650}.story-search-result:disabled{opacity:.58}.story-pack-add{display:grid;grid-template-columns:auto 1fr;grid-gap:8px 10px;gap:8px 10px;align-items:center;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.story-pack-add label{color:var(--text-soft);font-size:.82rem;font-weight:600}.story-pack-add .activity-select,.story-pack-add .button{grid-column:1/-1}.story-pack-add .button{justify-content:center}.story-selected-targets{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.story-selected-target{display:inline-flex;align-items:center;gap:5px;padding:6px 8px 6px 10px;border-radius:999px;background:var(--primary-soft);color:var(--primary-strong);font-size:.82rem;font-weight:650}.story-selected-target button{display:inline-flex;padding:1px;border:0;background:transparent;color:inherit;cursor:pointer}.story-target-picker .story-picker-hint{margin:10px 0 0}.story-reader{display:flex;flex-direction:column;gap:16px}.story-content{white-space:pre-line;font-size:clamp(1.03rem,3vw,1.18rem);line-height:1.9;color:var(--text-soft)}.story-target{display:inline;padding:1px 3px;margin:0 1px;border-radius:6px;color:var(--primary-strong);background:var(--primary-soft);font-weight:650;text-decoration:underline;-webkit-text-decoration-color:rgba(167,157,255,.35);text-decoration-color:rgba(167,157,255,.35);text-underline-offset:3px;border:0;cursor:pointer;font:inherit;line-height:inherit}.story-word-popover{position:fixed;z-index:60;width:min(320px,calc(100vw - 32px));max-height:min(440px,calc(100dvh - 32px));display:flex;flex-direction:column;gap:12px;overflow-y:auto;padding:16px;border-color:var(--border-strong);box-shadow:0 20px 50px rgba(0,0,0,.48)}.story-word-popover h2{margin:0;font-size:1.25rem;letter-spacing:-.035em}.story-word-meanings p{margin:4px 0;color:var(--text-soft);line-height:1.5}.question-list,.read-story-action{display:flex;flex-direction:column;gap:8px}.question-item summary{display:flex;align-items:center;gap:9px;line-height:1.45}.question-item p{margin:12px 0 2px;line-height:1.6}.story-summary p{line-height:1.65}.discovery-grid{display:grid;grid-template-columns:1fr;grid-gap:12px;gap:12px}.discovery-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:14px;gap:14px;transition:transform .15s ease,border-color .15s ease}.discovery-card h2{margin:5px 0 6px;font-size:1rem;letter-spacing:-.025em}.discovery-card p{margin:0;line-height:1.45}@media (min-width:620px){.form-grid,.target-option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pack-toolbar{flex-direction:row;align-items:flex-start;justify-content:space-between}.pack-item{grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.pack-item-controls{grid-column:auto;min-width:150px}.discovery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:940px){.discovery-card:hover{transform:translateY(-2px);border-color:var(--border-strong)}}.home-focus{padding-top:24px;max-width:720px}.home-kicker{margin:0 0 8px;color:var(--text-muted);font-size:.78rem;font-weight:600}.home-focus h1{margin:0;font-size:clamp(2.35rem,12vw,5.4rem);line-height:.96;letter-spacing:-.07em}.home-focus .hero-actions{margin-top:24px}.home-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.home-metrics a{display:flex;flex-direction:column;gap:2px;padding:16px 10px;color:var(--text-muted)}.home-metrics a+a{border-left:1px solid var(--border)}.home-metrics strong{color:var(--text);font-size:1.25rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.home-metrics span{font-size:.74rem}.discovery-link{min-height:54px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:11px;gap:11px;padding:0 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text-soft);font-weight:600}.library-header{display:flex;flex-direction:column;gap:16px}.library-header h1,.page-header.compact h1{margin-bottom:4px}.collection-list,.mistake-list,.usage-list,.vocabulary-list{display:flex;flex-direction:column}.collection-row,.mistake-row,.pack-row,.vocabulary-row{border-bottom:1px solid var(--border)}.vocabulary-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px 14px;gap:10px 14px;padding:15px 2px 13px}.vocabulary-row:nth-child(2n){background:rgb(22,22,22)}.vocabulary-row-main{min-width:0}.translation-line{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:4px;color:var(--text-muted);font-size:.84rem}.vocabulary-row-meta{display:flex;align-items:flex-start;gap:7px;color:var(--text-muted);font-family:var(--font-geist-mono),"Geist Mono",monospace;font-size:.65rem;text-transform:lowercase}.vocabulary-row-context{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px;margin-top:-2px}.vocabulary-row-context .badge{min-height:23px;font-size:.62rem}.vocabulary-topic{max-width:min(100%,240px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vocabulary-row .mastery-line{grid-column:1/-1;margin-top:1px}.focus-page{width:100%;max-width:780px}.focus-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:40px;color:var(--text-muted);font-size:.78rem}.exercise-type{color:var(--text-muted);font-size:.74rem;text-transform:capitalize}.learning-card .learning-prompt{font-size:clamp(1.55rem,7vw,2.35rem)}.mistake-row,.pack-row{display:flex;flex-direction:column;gap:14px;padding:16px 0}.mistake-copy h2,.pack-row h2{margin:7px 0;font-size:1.12rem;letter-spacing:-.025em}.mistake-copy p{margin:6px 0;line-height:1.5}.usage-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.usage-summary>div{min-width:0;display:flex;flex-direction:column;gap:4px;padding:16px 12px}.usage-summary>div+div{border-left:1px solid var(--border)}.usage-summary small,.usage-summary span{color:var(--text-muted);font-size:.7rem}.usage-summary strong{font-size:clamp(1.2rem,5vw,1.8rem);letter-spacing:-.04em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.usage-section{max-width:760px}.section-title,.usage-section h2{margin:0 0 10px;font-size:1rem;color:var(--text-soft);letter-spacing:-.02em}.collection-row{min-height:64px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;padding:11px 2px}.collection-row span,.collection-row strong{display:block}.collection-row span{margin-top:3px;color:var(--text-muted);font-size:.76rem}.pack-toolbar{padding:0;border:0;background:transparent}.pack-row .pack-item-controls{display:flex;flex-direction:row;flex-wrap:wrap}.pack-row .pack-item-controls>*{flex:1 1 140px}.session-word{margin:0;font-size:clamp(2rem,10vw,4rem);line-height:1;letter-spacing:-.055em}.story-reader{max-width:780px}.story-reader .story-content{font-size:clamp(1.08rem,3.6vw,1.22rem)}@media (min-width:620px){.library-header{flex-direction:row;align-items:end;justify-content:space-between}.library-header .button{width:auto}.mistake-row,.pack-row{flex-direction:row;align-items:center;justify-content:space-between}.mistake-row>.button,.pack-row .pack-item-controls{flex:0 0 auto}}@media (min-width:940px){.home-focus{padding-top:52px}.collection-row:hover,.vocabulary-row:hover{background:var(--surface)}}.activity-select{position:relative;width:100%}.activity-select-trigger{width:100%;min-height:48px;display:flex;align-items:center;gap:12px;padding:11px 13px 11px 14px;border:1px solid var(--border);border-radius:14px;background:#0d0d10;color:var(--text);cursor:pointer;text-align:left;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.activity-select-trigger:hover{border-color:var(--border-strong);background:#101014}.activity-select-trigger:focus-visible{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(139,124,255,.12)}.activity-select-trigger:disabled{opacity:.58;cursor:not-allowed}.activity-select-copy,.activity-select-option-copy{min-width:0;display:flex;flex:1 1;flex-direction:column;gap:2px}.activity-select-option-copy>span,.activity-select-value{font-size:.9rem;font-weight:600;line-height:1.25}.activity-select-description,.activity-select-option-copy small{color:var(--text-muted);font-size:.72rem;line-height:1.35}.activity-select-trigger svg{flex:0 0 auto;color:var(--text-muted);transform:rotate(180deg);transition:transform .28s cubic-bezier(.4,0,.2,1),color .18s ease}.activity-select-trigger svg.is-open{color:var(--primary-strong);transform:rotate(0deg)}.activity-select-menu{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .26s cubic-bezier(.4,0,.2,1),opacity .18s ease}.activity-select-menu.is-open{grid-template-rows:1fr;opacity:1}.activity-select-menu-inner{position:relative;z-index:20;min-height:0;overflow:hidden}.activity-select-menu-inner>div{max-height:min(280px,42dvh);display:flex;flex-direction:column;gap:3px;margin-top:7px;overflow-y:auto;padding:5px;border:1px solid var(--border);border-radius:16px;background:var(--surface-raised);box-shadow:var(--shadow)}.activity-select-option{width:100%;min-height:46px;display:flex;align-items:center;gap:10px;padding:10px 11px;border:0;border-radius:11px;background:transparent;color:var(--text-soft);cursor:pointer;text-align:left;transition:background .16s ease,color .16s ease,transform .16s ease}.activity-select-option:focus-visible,.activity-select-option:hover{outline:none;background:var(--surface-soft);color:var(--text)}.activity-select-option:active{transform:scale(.985)}.activity-select-option.is-selected{background:var(--primary-soft);color:var(--text)}.activity-select-check{flex:0 0 auto;color:var(--primary-strong);font-family:var(--font-geist-mono),"Geist Mono",monospace;font-size:.66rem}.import-preview,.import-workspace,.reading-action-stack,.reading-form{display:flex;flex-direction:column;gap:14px}.import-workspace{width:100%;max-width:820px}.import-tabs{display:flex;gap:4px;padding:4px;width:-moz-fit-content;width:fit-content;border-radius:12px;background:var(--surface-raised);border:1px solid var(--border)}.import-tabs button{padding:8px 18px;border:0;border-radius:9px;background:transparent;color:var(--text-muted);cursor:pointer}.import-tabs button[aria-selected=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 4px rgba(0,0,0,.12)}.import-file-input{display:none}.import-row--saved{padding-inline:12px;border-radius:10px;background:rgba(47,160,102,.12);cursor:default}.import-row-check{color:#23965a;margin-top:2px}.import-row-spinner{flex:none;animation:import-spin .8s linear infinite}@keyframes import-spin{to{transform:rotate(1turn)}}.import-preview-head{display:flex;flex-direction:column;gap:5px}.import-preview-head h2{margin:3px 0 0;font-size:1rem;letter-spacing:-.02em}.import-list{display:flex;flex-direction:column;border-top:1px solid var(--border)}.import-row{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:12px;gap:12px;align-items:start;padding:14px 0;border-bottom:1px solid var(--border);cursor:pointer}.import-row>input{width:18px;height:18px;min-height:auto;margin:3px 0 0}.import-row-copy{min-width:0;display:flex;flex-direction:column;gap:5px}.import-row-copy>small,.import-row-copy>span{color:var(--text-muted);font-size:.78rem;line-height:1.45}.reading-form{width:100%;max-width:760px}.reading-layout{display:grid;grid-template-columns:1fr;grid-gap:14px;gap:14px;align-items:start}.reading-text-panel{min-width:0}.reading-legend{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px;color:var(--text-muted);font-size:.72rem}.reading-legend span{display:inline-flex;align-items:center;gap:6px}.legend-dot{width:8px;height:8px;border-radius:999px;display:inline-block}.legend-dot.known{background:#5e636f}.legend-dot.learning{background:var(--warning)}.legend-dot.unknown{background:var(--primary-strong)}.reading-text{white-space:pre-wrap;color:var(--text-soft);font-size:clamp(1.05rem,3.8vw,1.22rem);line-height:2}.reading-token{display:inline;padding:1px 2px;margin:0 1px;border:0;border-bottom:1px solid transparent;border-radius:4px;background:transparent;color:inherit;cursor:pointer;font:inherit;line-height:inherit;transition:background .14s ease,color .14s ease,border-color .14s ease}.reading-token.known{color:var(--text-soft);border-bottom-color:rgba(180,180,191,.18)}.reading-token.learning{color:#f5c77e;background:rgba(240,179,91,.08);border-bottom-color:rgba(240,179,91,.28)}.reading-token.unknown{color:var(--primary-strong);background:var(--primary-soft);border-bottom-color:rgba(167,157,255,.32)}.reading-token:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.reading-detail{display:flex;flex-direction:column;gap:14px}.reading-detail-desktop{display:none}.reading-detail-mobile{position:fixed;z-index:60;width:min(360px,calc(100vw - 32px));max-height:min(520px,calc(100dvh - 32px));overflow-y:auto;padding:16px;border-color:var(--border-strong);box-shadow:0 20px 50px rgba(0,0,0,.48)}.reading-detail h2{margin:0;font-size:1.35rem;letter-spacing:-.035em}.reading-detail-section p,.reading-meanings p{margin:5px 0;line-height:1.55}.reading-detail-section{padding-top:12px;border-top:1px solid var(--border)}.reading-state-known{color:var(--text-soft)}.reading-state-learning{color:#f5c77e}.reading-state-unknown{color:var(--primary-strong)}@media (min-width:760px){.import-preview-head{flex-direction:row;align-items:center;justify-content:space-between}.reading-layout{grid-template-columns:minmax(0,1.7fr) minmax(250px,.8fr);gap:24px}.reading-detail{position:-webkit-sticky;position:sticky;top:30px}.reading-detail-desktop{display:flex}.reading-detail-mobile{display:none}}.range-tabs{width:-moz-fit-content;width:fit-content;max-width:100%;display:flex;gap:4px;overflow-x:auto;padding:3px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.range-tab{min-width:48px;min-height:38px;display:grid;place-items:center;padding:0 10px;border-radius:9px;color:var(--text-muted);font-size:.76rem;font-weight:600;white-space:nowrap}.range-tab.is-active{background:var(--surface-soft);color:var(--text)}.progress-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.progress-summary>div{min-width:0;display:flex;flex-direction:column;gap:4px;padding:15px 13px;border-bottom:1px solid var(--border)}.progress-summary>div:nth-child(odd){border-right:1px solid var(--border)}.progress-summary>div:nth-last-child(-n+2){border-bottom:0}.progress-summary small,.progress-summary span{color:var(--text-muted);font-size:.7rem;line-height:1.35}.big-metric,.progress-summary strong{font-family:var(--font-geist-mono),"Geist Mono",monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.progress-summary strong{font-size:1.55rem;letter-spacing:-.05em}.progress-grid{display:grid;grid-template-columns:1fr;grid-gap:12px;gap:12px}.progress-panel{min-width:0}.progress-bars{gap:15px}.progress-bars,.progress-bars>div{display:flex;flex-direction:column}.progress-bars>div{gap:7px}.progress-bars span{display:flex;justify-content:space-between;color:var(--text-muted);font-size:.78rem}.progress-bars b{color:var(--text-soft);font-family:var(--font-geist-mono),"Geist Mono",monospace}.analytics-caveat{margin:14px 0 0;color:var(--text-muted);font-size:.7rem;line-height:1.5}.workload-numbers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.workload-numbers>div{min-width:0;display:flex;flex-direction:column;gap:4px;padding:13px 8px}.workload-numbers>div+div{border-left:1px solid var(--border)}.workload-numbers strong{font-size:1.35rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.workload-numbers span{color:var(--text-muted);font-size:.67rem}.big-metric{margin:12px 0 2px;font-size:clamp(2rem,10vw,3.4rem);line-height:.95;letter-spacing:-.07em}.weakness-list{display:flex;flex-direction:column}.weakness-list>div{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border)}.weakness-list>div:last-child{border-bottom:0}.weakness-list span{color:var(--text-soft);text-transform:capitalize}.weakness-list strong{color:var(--text-muted);font-family:var(--font-geist-mono),"Geist Mono",monospace}.trend-chart{height:150px;display:grid;grid-template-columns:repeat(12,minmax(18px,1fr));grid-gap:5px;gap:5px;align-items:end;padding-top:12px;overflow-x:auto}.trend-month{height:100%;min-width:20px;display:grid;grid-template-rows:minmax(0,1fr) auto;grid-gap:6px;gap:6px}.trend-bars{height:100%;display:flex;align-items:end;justify-content:center;gap:2px}.trend-bar{width:min(8px,45%);min-height:3px;border-radius:4px 4px 1px 1px}.trend-bar.learned,.trend-key.learned{background:var(--primary)}.trend-bar.mastered,.trend-key.mastered{background:var(--success)}.trend-month small{color:var(--text-muted);font-size:.58rem;text-align:center}.trend-legend{display:flex;gap:14px;margin-top:10px;color:var(--text-muted);font-size:.68rem}.trend-legend span{display:inline-flex;align-items:center;gap:6px}.trend-key{width:8px;height:8px;border-radius:2px}.heatmap-panel{overflow:hidden}.heatmap-scroll{width:100%;overflow-x:auto;padding:3px 0 8px}.activity-heatmap{width:max-content;display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,11px);grid-auto-columns:11px;grid-gap:3px;gap:3px}.heatmap-cell{width:11px;height:11px;border-radius:2px;background:var(--surface-soft);outline:1px solid transparent;transition:transform .12s ease,outline-color .12s ease}.heatmap-level-1{background:rgba(139,124,255,.24)}.heatmap-level-2{background:rgba(139,124,255,.42)}.heatmap-level-3{background:rgba(139,124,255,.68)}.heatmap-level-4{background:var(--primary-strong)}.heatmap-cell:focus-visible,.heatmap-cell:hover{outline-color:var(--text-soft);transform:scale(1.18)}.heatmap-cell.is-selected{outline:2px solid var(--text);outline-offset:1px}.day-detail{display:flex;flex-direction:column;gap:10px;padding-top:14px;border-top:1px solid var(--border)}.day-detail>div:first-child{display:flex;flex-direction:column;gap:3px}.day-detail>div:first-child span{color:var(--text-muted);font-size:.7rem}.day-detail-metrics{display:flex;flex-wrap:wrap;gap:6px}.day-detail-metrics span{padding:5px 8px;border:1px solid var(--border);border-radius:999px;color:var(--text-muted);font-size:.68rem}.topic-coverage-list{display:flex;flex-direction:column}.topic-coverage-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(80px,.65fr);grid-gap:14px;gap:14px;align-items:center;padding:11px 0;border-bottom:1px solid var(--border)}.topic-coverage-row:last-child{border-bottom:0}.topic-coverage-row span,.topic-coverage-row strong{display:block}.topic-coverage-row span{margin-top:3px;color:var(--text-muted);font-size:.7rem}.progress-actions{display:flex;flex-direction:column;gap:9px}.rescue-card{max-width:760px}.rescue-risk{color:var(--danger);font-family:var(--font-geist-mono),"Geist Mono",monospace;font-size:.7rem}.rescue-reasons{display:flex;flex-wrap:wrap;gap:6px}.rescue-reasons span{padding:5px 8px;border:1px solid rgba(255,107,122,.18);border-radius:999px;background:var(--danger-soft);color:#ffc2c9;font-size:.68rem}.rescue-complete-icon{color:var(--success)}@media (min-width:620px){.progress-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.progress-summary>div,.progress-summary>div:nth-last-child(-n+2){border-bottom:0}.progress-summary>div:nth-child(odd){border-right:0}.progress-summary>div+div{border-left:1px solid var(--border)}.progress-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.day-detail{justify-content:space-between;align-items:center}.day-detail,.progress-actions{flex-direction:row}}.rescue-list{display:flex;flex-direction:column;border-top:1px solid var(--border)}.rescue-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:start;padding:14px 0;border-bottom:1px solid var(--border)}.rescue-rank,.rescue-score{font-family:var(--font-geist-mono),"Geist Mono",monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rescue-rank{padding-top:2px;color:var(--text-muted);font-size:.68rem}.rescue-row-copy{min-width:0;display:flex;flex-direction:column;gap:8px}.rescue-row-copy>div:first-child{display:flex;flex-direction:column;gap:3px}.rescue-row-copy>div:first-child span{color:var(--text-muted);font-size:.72rem}.rescue-score{min-width:34px;text-align:right;color:var(--danger);font-size:.8rem}@media (min-width:620px){.rescue-row{align-items:center}}.translation-switch{display:inline-flex;gap:3px;padding:3px;border:1px solid var(--border);border-radius:11px;background:var(--surface)}.translation-switch button{min-height:36px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer;font-size:.72rem;font-weight:650}.translation-switch button.is-active{background:var(--surface-soft);color:var(--text)}.translation-switch button:disabled{cursor:wait;opacity:.65}.library-header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.library-tools{display:flex;flex-direction:column;gap:10px}.library-search{min-height:48px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:9px;gap:9px;padding:0 8px 0 13px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.library-search>svg{color:var(--text-muted)}.library-search input{min-height:44px;padding:0;border:0;background:transparent}.library-search input:focus{box-shadow:none}.library-filter-grid{display:grid;grid-template-columns:1fr;grid-gap:8px;gap:8px}.filter-builder{position:relative;z-index:10}.filter-chip-row{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.filter-add-anchor{position:relative;display:inline-flex}.filter-add-button,.filter-chip{min-height:36px;display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:11px;background:var(--surface-raised);color:var(--text-soft);font-size:.78rem}.filter-chip{overflow:hidden}.filter-chip-type{align-self:stretch;display:inline-flex;align-items:center;padding:0 9px;border-right:1px solid var(--border);color:var(--text-muted);font-family:var(--font-geist-mono),"Geist Mono",monospace;font-size:.66rem}.filter-chip-value{padding:0 8px;color:var(--text);font-weight:600}.filter-chip button{width:31px;align-self:stretch;display:grid;place-items:center;border:0;border-left:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer}.filter-chip button:hover{color:var(--text);background:var(--surface-soft)}.filter-add-button{gap:7px;padding:0 11px;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.filter-add-button:hover,.filter-add-button[aria-expanded=true]{border-color:rgba(167,157,255,.55);background:var(--primary-soft);color:var(--primary-strong)}.filter-menu{position:absolute;top:calc(100% + 8px);left:0;width:min(300px,calc(100vw - 32px));overflow:hidden;padding:5px;border:1px solid var(--border-strong);border-radius:15px;background:var(--surface-raised);box-shadow:var(--shadow);animation:filter-menu-in .15s ease-out}.filter-menu-back,.filter-menu-option{width:100%;min-height:40px;display:flex;align-items:center;gap:8px;padding:0 10px;border:0;border-radius:10px;background:transparent;color:var(--text-soft);cursor:pointer;font-size:.82rem;text-align:left}.filter-menu-back{border-bottom:1px solid var(--border);border-radius:0;color:var(--text-muted)}.filter-menu-back:focus-visible,.filter-menu-back:hover,.filter-menu-option:focus-visible,.filter-menu-option:hover{outline:none;background:var(--surface-soft);color:var(--text)}.filter-menu-option.is-selected{background:var(--primary-soft);color:var(--text)}.filter-menu-option span{margin-left:auto;color:var(--primary-strong);font-family:var(--font-geist-mono),"Geist Mono",monospace;font-size:.64rem}@keyframes filter-menu-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.library-clear{width:-moz-fit-content;width:fit-content}.word-detail-topline{display:flex;flex-direction:column;gap:10px}.word-history-grid{display:grid;grid-template-columns:1fr;grid-gap:12px;gap:12px}.history-list{display:flex;flex-direction:column}.history-row{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--border)}.history-row:last-child{border-bottom:0}.history-row span{color:var(--text-soft);text-transform:capitalize}.history-row small{color:var(--text-muted);text-align:right}.history-row.stacked{align-items:flex-start;flex-direction:column;gap:3px}.focus-resume{display:flex;flex-direction:column;gap:14px}.focus-resume h2{margin:4px 0 5px;font-size:1.15rem;letter-spacing:-.03em}.focus-options{display:flex;flex-direction:column;border-top:1px solid var(--border)}.focus-option{min-height:72px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:13px;gap:13px;padding:10px 2px;border-bottom:1px solid var(--border)}.focus-option.primary{color:var(--text)}.focus-option>svg{color:var(--text-muted)}.focus-option.primary>svg{color:var(--primary-strong)}.focus-option>div{display:flex;flex-direction:column;gap:4px}.focus-option strong{font-size:.92rem}.focus-option span{color:var(--text-muted);font-size:.72rem}.session-progress{height:4px;overflow:hidden;border-radius:999px;background:var(--surface-soft)}.session-progress span{display:block;height:100%;border-radius:inherit;background:var(--primary);transition:width .22s ease}.session-activity{display:flex;flex-direction:column;gap:16px}.session-activity h1{margin:0;font-size:clamp(1.65rem,7vw,2.55rem);line-height:1.08;letter-spacing:-.05em}.session-target{margin:0;color:var(--text-muted)}.session-actions{display:flex;flex-direction:column;gap:9px}.session-actions .button,.session-actions form{width:100%}.session-plan-list,.session-summary-list{display:flex;flex-direction:column}.session-plan-row,.session-summary-row{min-height:58px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:11px;gap:11px;padding:9px 2px;border-bottom:1px solid var(--border)}.session-plan-row>span{color:var(--text-muted);font-family:var(--font-geist-mono),"Geist Mono",monospace;font-size:.66rem}.session-plan-row>div,.session-summary-row>div{min-width:0;display:flex;flex-direction:column;gap:3px}.session-plan-row strong,.session-summary-row strong{font-size:.84rem}.session-plan-row small,.session-summary-row span{color:var(--text-muted);font-size:.68rem}.session-plan-row.is-complete{opacity:.55}.session-plan-row.is-current{color:var(--primary-strong)}.session-result-metrics{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--border);border-radius:14px;overflow:hidden}.session-result-metrics>div{display:flex;flex-direction:column;gap:3px;padding:12px}.session-result-metrics>div:nth-child(odd){border-right:1px solid var(--border)}.session-result-metrics>div:nth-child(-n+2){border-bottom:1px solid var(--border)}.session-result-metrics strong{font-family:var(--font-geist-mono),"Geist Mono",monospace;font-size:1.2rem}.session-result-metrics span{color:var(--text-muted);font-size:.67rem}@media (min-width:620px){.library-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.word-detail-topline{flex-direction:row;align-items:center;justify-content:space-between}.word-history-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.focus-resume{align-items:center;justify-content:space-between}.focus-resume,.session-actions{flex-direction:row}.session-actions .button,.session-actions form{width:auto;flex:1 1}.session-result-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.session-result-metrics>div,.session-result-metrics>div:nth-child(-n+2),.session-result-metrics>div:nth-child(odd){border-bottom:0;border-right:0}.session-result-metrics>div+div{border-left:1px solid var(--border)}}@media (min-width:900px){.library-filter-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}.translation-switch-wrap{display:inline-flex;flex-direction:column;gap:3px;align-items:flex-end}.translation-switch-status{min-height:12px;color:var(--text-muted);font-size:.62rem;line-height:1}.translation-switch-status.is-error{color:var(--danger)}.focus-option .button{width:auto;min-width:86px}.mistake-cluster-list{display:flex;flex-direction:column;gap:12px}.mistake-cluster{display:flex;flex-direction:column;gap:16px}.mistake-cluster-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.mistake-cluster-head h2{margin:8px 0 0;font-size:1.08rem;letter-spacing:-.025em;text-transform:capitalize}.mistake-cluster-head>svg{color:var(--text-muted);flex:0 0 auto}.mistake-pattern-items{display:flex;flex-direction:column;border-top:1px solid var(--border)}.mistake-pattern-row{display:flex;flex-direction:column;gap:12px;padding:14px 0;border-bottom:1px solid var(--border)}.mistake-copy{min-width:0}.mistake-copy>strong{display:block;margin-bottom:7px}.mistake-copy p{margin:5px 0;line-height:1.45}.mistake-resolve{display:flex;flex-direction:column;gap:7px}@media (min-width:620px){.mistake-pattern-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}}.mistake-refresh{display:flex;flex-direction:column;gap:8px}.conversation-chat,.conversation-messages,.conversation-page,.conversation-result-grid,.conversation-start-form,.conversation-target-results{display:flex;flex-direction:column;gap:14px}.conversation-toggle{min-height:54px;display:flex;align-items:flex-start;gap:10px;padding:11px 0;cursor:pointer}.conversation-toggle input{width:18px;height:18px;margin-top:2px}.conversation-toggle span{display:flex;flex-direction:column;gap:3px}.conversation-toggle small{color:var(--text-muted);line-height:1.4}.mission-objective,.mission-result{display:flex;align-items:flex-start;gap:10px;padding:12px 13px;border:1px solid var(--border);border-radius:13px;background:var(--surface-raised)}.mission-objective>svg,.mission-result>svg{flex:0 0 auto;margin-top:2px}.mission-objective>div,.mission-result>div{display:flex;flex-direction:column;gap:3px}.mission-objective span,.mission-result span{color:var(--text-muted);line-height:1.45}.mission-result.is-success{border-color:rgba(73,201,139,.28);background:rgba(73,201,139,.08)}.mission-result.is-success>svg{color:var(--success)}.mission-result.is-incomplete{border-color:rgba(255,107,122,.24);background:rgba(255,107,122,.06)}.mission-result.is-incomplete>svg{color:var(--danger)}.conversation-targets{display:flex;gap:7px;overflow-x:auto;padding-bottom:3px}.conversation-target{min-width:max-content;display:flex;flex-direction:column;gap:2px;padding:7px 10px;border:1px solid var(--border);border-radius:11px;background:var(--surface)}.conversation-target>span{font-size:.78rem;font-weight:650}.conversation-target small{color:var(--text-muted);font-size:.62rem}.conversation-target.is-used{border-color:rgba(73,201,139,.28);background:rgba(73,201,139,.07)}.secret-target-note{margin:0;color:var(--text-muted);font-size:.75rem}.conversation-chat{min-height:50vh}.conversation-messages{padding:2px 0 8px}.conversation-message{max-width:min(92%,680px);flex-direction:column;gap:4px}.conversation-message>span{color:var(--text-muted);font-size:.62rem;font-weight:650;text-transform:uppercase;letter-spacing:.08em}.conversation-message>p{margin:0;padding:11px 13px;border-radius:14px;line-height:1.55;white-space:pre-wrap}.conversation-message.is-assistant{align-self:flex-start}.conversation-message.is-assistant>p{border:1px solid var(--border);background:var(--surface)}.conversation-message.is-user{align-self:flex-end;align-items:flex-end}.conversation-message.is-user>p{background:var(--primary);color:white}.conversation-composer{bottom:calc(var(--mobile-nav-height) + 8px);z-index:5;display:flex;flex-direction:column;padding:10px;background:color-mix(in srgb,var(--background) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.conversation-composer textarea{min-height:82px;resize:vertical}.conversation-error{margin:0;color:var(--danger);font-size:.75rem}.conversation-finish,.conversation-replay{display:flex;flex-direction:column;gap:8px}.conversation-score-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--border);border-radius:14px;overflow:hidden}.conversation-score-grid>div{display:flex;flex-direction:column;gap:3px;padding:13px}.conversation-score-grid>div:nth-child(odd){border-right:1px solid var(--border)}.conversation-score-grid>div:nth-child(-n+2){border-bottom:1px solid var(--border)}.conversation-score-grid strong{font-family:var(--font-geist-mono),"Geist Mono",monospace;font-size:1.25rem}.conversation-score-grid span{color:var(--text-muted);font-size:.68rem}.conversation-summary>p:last-child{margin-bottom:0;line-height:1.55}.conversation-result-grid ul{margin:8px 0 0;padding-left:18px}.conversation-result-grid li{margin:6px 0;color:var(--text-soft);line-height:1.45}.target-result-row{display:flex;flex-direction:column;gap:9px;padding:12px 0;border-bottom:1px solid var(--border)}.target-result-row:last-child{border-bottom:0}.target-result-row>div:first-child{display:flex;flex-direction:column;gap:3px}.target-result-row>div:first-child span{color:var(--text-muted);line-height:1.4}.target-result-status{display:flex;flex-wrap:wrap;gap:6px}.target-result-status span{padding:4px 7px;border:1px solid var(--border);border-radius:999px;color:var(--text-muted);font-size:.65rem}@media (min-width:620px){.conversation-start-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.conversation-start-form>.button,.conversation-start-form>.conversation-toggle,.conversation-start-form>.field:first-of-type,.conversation-start-form>.status-notice{grid-column:1/-1}.conversation-composer{bottom:16px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end}.conversation-composer textarea{min-height:64px}.conversation-score-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.conversation-score-grid>div,.conversation-score-grid>div:nth-child(-n+2),.conversation-score-grid>div:nth-child(odd){border-right:0;border-bottom:0}.conversation-score-grid>div+div{border-left:1px solid var(--border)}.conversation-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.target-result-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.conversation-replay{flex-direction:row}}.battle-result-list,.battle-runner,.battle-start-form,.writing-comparison,.writing-editor,.writing-feedback-section,.writing-result-grid,.writing-start-form{display:flex;flex-direction:column;gap:14px}.rewrite-score{margin:14px 0 0;color:var(--primary-strong);font-weight:650}.rewrite-reference ul{margin:8px 0 0;padding-left:20px;color:var(--text-soft)}.rewrite-history{gap:12px}.rewrite-history-arrow{transform:rotate(180deg)}.writing-settings-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.battle-hud{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:10px;gap:10px;min-height:42px;padding:0 2px;color:var(--text-muted);font-size:.75rem}.battle-hud strong{color:var(--text);font-family:var(--font-geist-mono),"Geist Mono",monospace;font-size:1rem}.battle-hud>:last-child{justify-self:end}.battle-timer{display:inline-flex;align-items:center;gap:5px}.battle-finished,.battle-question-card{display:flex;flex-direction:column;gap:18px}.battle-finished h2,.battle-question-card h2{margin:0;font-size:clamp(1.3rem,6vw,2rem);line-height:1.25;letter-spacing:-.035em}.battle-options{display:grid;grid-template-columns:1fr;grid-gap:9px;gap:9px}.battle-option{min-height:54px;padding:12px 14px;border:1px solid var(--border);border-radius:13px;background:var(--surface);color:var(--text);text-align:left;cursor:pointer;font:inherit;transition:border-color .14s ease,background .14s ease,transform .14s ease}.battle-option:focus-visible:not(:disabled),.battle-option:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-raised);transform:translateY(-1px)}.battle-option:disabled{cursor:default}.battle-feedback{display:flex;align-items:flex-start;gap:9px;padding:12px;border-radius:12px}.battle-feedback.is-correct{background:rgba(73,201,139,.08);color:var(--success)}.battle-feedback.is-wrong{background:rgba(255,107,122,.07);color:var(--danger)}.battle-feedback>div{display:flex;flex-direction:column;gap:3px}.battle-feedback span{color:var(--text-muted);line-height:1.4}.battle-result-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--border)}.battle-result-row>div{min-width:0;display:flex;flex-direction:column;gap:4px}.battle-result-row span{color:var(--text-muted);font-size:.7rem}.writing-topic-field{grid-column:1/-1}.writing-task{display:flex;flex-direction:column;gap:12px}.writing-task pre{margin:0;white-space:pre-wrap;font:inherit;line-height:1.6;color:var(--text-soft)}.writing-targets{display:flex;flex-wrap:wrap;gap:6px}.writing-targets span{padding:5px 8px;border:1px solid var(--border);border-radius:999px;background:var(--surface-raised);font-size:.7rem}.writing-editor textarea{min-height:44vh;resize:vertical;font-size:1rem;line-height:1.65}.writing-editor-footer{display:flex;flex-direction:column;gap:9px}.writing-editor-footer>span{color:var(--text-muted);font-family:var(--font-geist-mono),"Geist Mono",monospace;font-size:.74rem}.writing-editor-footer>span.is-under{color:var(--warning)}.writing-score-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--border);border-radius:14px;overflow:hidden}.writing-score-grid>div{display:flex;flex-direction:column;gap:3px;padding:12px;border-bottom:1px solid var(--border)}.writing-score-grid>div:nth-child(odd){border-right:1px solid var(--border)}.writing-score-grid strong{font-family:var(--font-geist-mono),"Geist Mono",monospace;font-size:1.15rem}.writing-score-grid span{color:var(--text-muted);font-size:.66rem;text-transform:capitalize}.improved-writing>p:last-child,.writing-comparison article>p:last-child,.writing-summary>p:last-child{margin-bottom:0;white-space:pre-wrap;line-height:1.6}.writing-feedback-section ul,.writing-result-grid ul{margin:8px 0 0;padding-left:18px}.writing-feedback-section li,.writing-result-grid li{margin:6px 0;color:var(--text-soft);line-height:1.45}.writing-correction,.writing-feedback-row{display:flex;flex-direction:column;gap:5px;padding:11px 0;border-bottom:1px solid var(--border)}.writing-correction:last-child,.writing-feedback-row:last-child{border-bottom:0}.writing-feedback-row>div:first-child{display:flex;flex-direction:column;gap:4px}.writing-correction span,.writing-feedback-row span{color:var(--text-muted);line-height:1.45}.writing-correction del{color:var(--danger)}.writing-correction strong{color:var(--success)}.writing-improvement-banner{display:flex;align-items:flex-start;gap:10px;padding:12px 13px;border:1px solid rgba(73,201,139,.28);border-radius:13px;background:rgba(73,201,139,.08)}.writing-improvement-banner>svg{color:var(--success);flex:0 0 auto}.writing-improvement-banner>div{display:flex;flex-direction:column;gap:3px}.writing-improvement-banner span{color:var(--text-muted);font-size:.74rem}@media (min-width:620px){.battle-start-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.battle-start-form>.button,.battle-start-form>.status-notice,.writing-start-form>.button,.writing-start-form>.status-notice{grid-column:1/-1}.battle-options{grid-template-columns:repeat(2,minmax(0,1fr))}.writing-editor-footer{flex-direction:row;align-items:center;justify-content:space-between}.writing-score-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.writing-score-grid>div,.writing-score-grid>div:nth-child(odd){border-right:0}.writing-score-grid>div+div{border-left:1px solid var(--border)}.writing-comparison,.writing-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}.usage-dashboard{--usage-gap:12px}.usage-breakdown-grid,.usage-cost-grid,.usage-summary-grid{display:grid;grid-template-columns:1fr;grid-gap:var(--usage-gap);gap:var(--usage-gap)}.usage-cost-card,.usage-summary-grid>.panel{display:flex;flex-direction:column;gap:7px}.usage-cost-card>span,.usage-summary-grid>.panel>span{color:var(--text-muted);font-size:.74rem}.usage-cost-card>strong,.usage-summary-grid>.panel>strong{font-family:var(--font-geist-mono),"Geist Mono",monospace;font-size:1.55rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.usage-cost-card>small,.usage-summary-grid>.panel>small{color:var(--text-muted);line-height:1.4}.usage-filters{display:grid;grid-template-columns:1fr;grid-gap:10px;gap:10px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.usage-filters label{display:flex;flex-direction:column;gap:6px}.usage-filters .button{align-self:end}.usage-chart-panel{overflow:hidden}.usage-cost-chart{min-height:180px;display:flex;align-items:stretch;gap:5px;overflow-x:auto;padding:8px 0 0}.usage-cost-day{min-width:26px;flex:1 0 26px;display:flex;flex-direction:column;gap:6px;align-items:center}.usage-cost-bar-track{width:100%;height:140px;display:flex;align-items:flex-end;justify-content:center;border-bottom:1px solid var(--border)}.usage-cost-bar{width:min(18px,72%);min-height:3px;border-radius:6px 6px 2px 2px;background:var(--primary)}.usage-cost-day small{color:var(--text-muted);font-size:.6rem;writing-mode:vertical-rl}.usage-analytics-list,.usage-request-list{display:flex;flex-direction:column}.usage-analytics-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:start;padding:12px 0;border-bottom:1px solid var(--border)}.usage-analytics-row:last-child,.usage-request-row:last-child{border-bottom:0}.usage-analytics-numbers,.usage-analytics-row>div:first-child{display:flex;flex-direction:column;gap:4px;min-width:0}.usage-analytics-row span,.usage-request-row span{color:var(--text-muted);font-size:.68rem}.usage-analytics-numbers{text-align:right;align-items:flex-end}.usage-analytics-numbers strong{font-family:var(--font-geist-mono),"Geist Mono",monospace;font-size:.82rem}.usage-request-row{display:flex;flex-direction:column;gap:10px;padding:14px 0;border-bottom:1px solid var(--border)}.usage-request-foot,.usage-request-main{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.usage-request-main>div:first-child{min-width:0;display:flex;flex-direction:column;gap:3px}.usage-request-main>div:first-child span,.usage-request-main>div:first-child strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.usage-request-status{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto}.usage-request-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:6px;gap:6px}.usage-request-metrics span{padding:7px 8px;border:1px solid var(--border);border-radius:10px;background:var(--surface-raised)}.usage-request-metrics b{display:block;color:var(--text-soft);font-family:var(--font-geist-mono),"Geist Mono",monospace;font-size:.72rem}.usage-request-foot{flex-direction:column;gap:3px}@media (min-width:620px){.usage-cost-grid,.usage-filters,.usage-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.usage-filters .button{grid-column:1/-1}.usage-request-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.usage-request-foot{flex-direction:row}}@media (min-width:940px){.usage-cost-grid,.usage-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.usage-breakdown-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.usage-filters{grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end}.usage-filters .button{grid-column:auto;min-height:48px}.usage-request-metrics{grid-template-columns:repeat(8,minmax(0,1fr))}}.sidebar-secondary{margin-top:auto;display:flex;flex-direction:column;gap:5px;padding-top:24px;border-top:1px solid var(--border)}.sidebar-secondary .sidebar-add{margin-top:10px}.section-context-nav{display:none}.ia-tool-strip{display:grid;grid-template-columns:1fr;grid-gap:8px;gap:8px}.ia-tool-link{min-height:58px;display:flex;align-items:center;gap:11px;padding:10px 12px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text-soft);transition:border-color .15s ease,background .15s ease}.ia-tool-link.is-current,.ia-tool-link:focus-visible,.ia-tool-link:hover{border-color:var(--border-strong);background:var(--surface-raised)}.ia-tool-link>svg{flex:0 0 auto;color:var(--primary-strong)}.ia-tool-link>span{min-width:0;display:flex;flex-direction:column;gap:2px}.ia-tool-link strong{color:var(--text);font-size:.82rem}.ia-tool-link small{color:var(--text-muted);font-size:.68rem}.ia-subnav{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px}.ia-subnav a{min-height:38px;flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;padding:0 12px;border:1px solid var(--border);border-radius:999px;color:var(--text-muted);font-size:.75rem}.ia-subnav a.is-active{border-color:var(--primary);background:var(--primary-soft);color:var(--text)}.home-next-grid,.ia-skill-grid{display:grid;grid-template-columns:1fr;grid-gap:12px;gap:12px}.home-next-card,.ia-skill-card{display:flex;flex-direction:column;gap:16px}.home-next-card h2,.home-progress-callout h2,.ia-secondary-panel h2,.ia-skill-card h2{margin:4px 0 0;font-size:1.12rem;letter-spacing:-.025em}.home-next-card p:not(.eyebrow),.home-progress-callout p,.ia-secondary-panel p,.ia-skill-card p:not(.eyebrow){margin:7px 0 0;color:var(--text-muted);line-height:1.5;font-size:.8rem}.ia-card-icon{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--border);border-radius:12px;background:var(--surface-raised);color:var(--primary-strong)}.ia-card-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:auto}.ia-card-link{display:inline-flex;align-items:center;gap:6px;color:var(--primary-strong);font-size:.78rem;font-weight:620}.ia-card-link.secondary-link{color:var(--text-muted)}.home-continue,.home-progress-callout,.ia-secondary-panel{display:flex;flex-direction:column;gap:16px}.ia-empty-actions,.ia-secondary-actions{display:flex;flex-direction:column;gap:8px}.home-next-card{transition:border-color .15s ease,transform .15s ease}.home-next-card:active{transform:scale(.99)}@media (min-width:620px){.home-next-grid,.ia-skill-grid,.ia-tool-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.home-continue,.home-progress-callout,.ia-secondary-panel{flex-direction:row;align-items:center;justify-content:space-between}.ia-empty-actions,.ia-secondary-actions{flex-direction:row;align-items:center}}@media (min-width:940px){.section-context-nav{position:fixed;z-index:40;top:24px;right:36px;display:flex;align-items:center;gap:7px;max-width:calc(100vw - 330px);padding:7px 10px;border:1px solid var(--border);border-radius:999px;background:rgba(17,17,20,.88);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--text-muted);font-size:.68rem}.section-context-nav a{color:var(--primary-strong);font-weight:600}.section-context-nav strong{overflow:hidden;color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap}.home-next-grid,.ia-skill-grid,.ia-tool-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.home-next-card:hover{border-color:var(--border-strong);transform:translateY(-2px)}}.account-links{gap:14px}.account-links,.account-links>div{display:flex;flex-direction:column}.account-links>div{gap:5px}.account-links .muted{font-size:.76rem;line-height:1.5}@media (min-width:620px){.account-links{flex-direction:row;align-items:center;justify-content:space-between}}.auth-shell{min-height:100dvh;width:100%}.login-page{min-height:100dvh;display:grid;place-items:center;padding:24px 16px}.login-card{width:min(100%,420px);display:flex;flex-direction:column;gap:18px}.login-card h1{margin:4px 0 8px;font-size:clamp(1.8rem,8vw,2.6rem);letter-spacing:-.045em}.login-card p{margin:0;line-height:1.5}.login-icon{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--border);border-radius:13px;background:var(--surface-raised);color:var(--primary-strong)}.word-quick-action-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 11px;border:1px solid var(--border);border-radius:12px;background:var(--surface-raised);color:var(--text-soft);cursor:pointer;font:inherit;font-size:.82rem;font-weight:620}.word-quick-action-button:active{transform:scale(.97)}.conjugation-overlay{position:fixed;z-index:100;inset:0;display:flex;align-items:center;justify-content:center;padding:12px}.conjugation-backdrop{position:absolute;inset:0;border:0;background:rgba(0,0,0,.72);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.conjugation-panel{position:relative;width:min(940px,100%);max-height:min(860px,calc(100dvh - 24px));overflow:hidden;overscroll-behavior:contain;border:1px solid var(--border-strong);border-radius:22px;background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.conjugation-sheet-handle{display:none}.conjugation-shell{display:flex;flex-direction:column;min-height:min(720px,calc(100dvh - 24px));max-height:min(860px,calc(100dvh - 24px))}.conjugation-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 18px 14px;border-bottom:1px solid var(--border)}.conjugation-header h2{margin:4px 0 0;font-size:1.45rem}.conjugation-meta{display:flex;flex-wrap:wrap;gap:6px;padding:12px 18px 0}.conjugation-meta span{padding:5px 8px;border:1px solid var(--border);border-radius:999px;color:var(--text-muted);font-size:.68rem}.conjugation-tabs{display:flex;gap:6px;overflow-x:auto;padding:12px 18px;border-bottom:1px solid var(--border)}.conjugation-tabs button{min-height:48px;flex:0 0 auto;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:7px 11px;border:1px solid var(--border);border-radius:11px;background:var(--surface-raised);color:var(--text-soft);cursor:pointer}.conjugation-tabs button small{color:var(--text-muted);font-size:.62rem}.conjugation-tabs button.is-active{border-color:var(--primary);background:var(--primary-soft);color:var(--text)}.conjugation-content{flex:1 1;overflow:auto;padding:18px}.conjugation-tense-heading{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.conjugation-tense-heading span{color:var(--text-muted);font-size:.76rem;line-height:1.5}.conjugation-table{width:100%;border-collapse:collapse}.conjugation-table td,.conjugation-table th{padding:13px 10px;border-bottom:1px solid var(--border);text-align:left}.conjugation-table thead th{color:var(--text-muted);font-size:.7rem;font-weight:550}.conjugation-table tbody th{width:32%;color:var(--text-muted);font-weight:550}.conjugation-table tbody td{font-size:1rem;font-weight:620}.conjugation-reference-grid{display:grid;grid-template-columns:1fr;grid-gap:9px;gap:9px}.conjugation-reference-grid>div{display:flex;flex-direction:column;gap:4px;padding:13px;border:1px solid var(--border);border-radius:12px;background:var(--surface-raised)}.conjugation-reference-grid span{color:var(--text-muted);font-size:.68rem}.conjugation-reference-grid p{grid-column:1/-1;color:var(--text-soft);line-height:1.55}.conjugation-state{flex:1 1;display:flex;flex-direction:column;justify-content:center;gap:12px;padding:24px}.conjugation-state>span{color:var(--text-muted)}@media (min-width:620px){.conjugation-reference-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.conjugation-shell{min-height:640px}}@media (max-width:619px){.conjugation-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border:0;border-radius:0}.conjugation-shell{min-height:100dvh;max-height:100dvh}.conjugation-table td,.conjugation-table th{padding:12px 6px}}.practice-complete,.practice-feedback,.practice-session-card{display:flex;flex-direction:column;gap:16px}.practice-progress{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;grid-gap:10px;gap:10px;color:var(--text-muted);font-size:.72rem}.practice-choice-grid{display:grid;grid-template-columns:1fr;grid-gap:9px;gap:9px}.practice-session-card form{display:flex;flex-direction:column;gap:12px}.practice-session-card input{min-height:50px}.review-flashcard{min-height:min(520px,70dvh);justify-content:space-between}.review-card-flip{display:grid;min-height:180px;padding:20px 0;perspective:1200px}.review-card-face{grid-area:1/1;backface-visibility:hidden;-webkit-backface-visibility:hidden}.review-card-front{display:flex;flex-direction:column;gap:10px}.review-card-back{display:flex;flex-direction:column;gap:8px;transform:rotateY(180deg)}.review-card-back>strong{font-size:clamp(1.9rem,5vw,2.8rem);line-height:1.18;font-weight:700;letter-spacing:-.025em}.review-card-back p{margin:0;color:var(--text-soft);font-size:clamp(.95rem,2.5vw,1.1rem);line-height:1.55}.review-flashcard .review-card-front .learning-prompt{font-size:clamp(1.9rem,5vw,2.8rem);line-height:1.18;font-weight:700}.review-card-face .eyebrow{font-size:.75rem}.review-card-front>.muted{font-size:.95rem}.review-reveal{min-height:52px}.review-grade-grid button{min-height:54px;flex-direction:column;gap:2px}.review-grade-grid button small{opacity:.65;font-size:.62rem}@media (min-width:620px){.practice-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:619px){.conjugation-overlay{align-items:flex-end;padding:0}.conjugation-panel{width:100%;max-height:min(88dvh,760px);border-bottom:0;border-radius:26px 26px 0 0}.conjugation-sheet-handle{display:block;width:38px;height:4px;margin:10px auto 0;border-radius:999px;background:var(--border-strong)}.conjugation-shell{min-height:0;max-height:min(88dvh,760px);padding-bottom:env(safe-area-inset-bottom)}.conjugation-table td,.conjugation-table th{padding:12px 6px}}.practice-session-stage{display:flex;flex-direction:column;gap:12px}.battle-options,.practice-choice-grid{display:grid;grid-template-columns:1fr;grid-gap:10px;gap:10px}.battle-option,.practice-option{min-height:58px;width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);text-align:left;cursor:pointer;transition:transform .14s ease,border-color .14s ease,background .14s ease,opacity .14s ease}.battle-option:focus-visible:not(:disabled),.battle-option:hover:not(:disabled),.practice-option:focus-visible:not(:disabled),.practice-option:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-raised);transform:translateY(-1px)}.battle-option:disabled,.practice-option:disabled{cursor:default}.battle-option.is-selected,.practice-option.is-selected{border-color:var(--border-strong);background:var(--surface-raised)}.battle-option.is-correct,.practice-option.is-correct{border-color:var(--success);background:var(--success-soft)}.battle-option.is-wrong,.practice-option.is-wrong{border-color:var(--danger);background:var(--danger-soft)}.battle-option.is-correct>svg,.practice-option.is-correct>svg{color:var(--success)}.battle-option.is-wrong>svg,.practice-option.is-wrong>svg{color:var(--danger)}.practice-instant-feedback{min-height:42px;display:flex;align-items:center;gap:9px;padding:10px 12px;border-radius:12px;color:var(--text-muted);background:var(--surface-raised)}.practice-instant-feedback.is-correct{color:var(--success);background:var(--success-soft)}.practice-instant-feedback.is-wrong{color:var(--danger);background:var(--danger-soft)}.practice-instant-feedback>span{display:flex;flex-direction:column;gap:2px}.practice-instant-feedback small{color:var(--text-muted)}.battle-feedback.is-pending{color:var(--text-muted);background:var(--surface-raised)}@media (min-width:620px){.battle-options,.practice-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.conversation-chat{width:100%;max-width:860px;margin-inline:auto;min-height:56vh}.conversation-messages{gap:18px;padding:12px 2px 112px}.conversation-message{width:100%;max-width:none;display:flex;flex-direction:row;align-items:flex-start;gap:10px}.conversation-message.is-user{flex-direction:row-reverse;align-items:flex-start}.conversation-avatar{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;border:1px solid var(--border);border-radius:50%;background:var(--surface-raised);color:var(--text-muted)}.conversation-message.is-user .conversation-avatar{border-color:color-mix(in srgb,var(--primary) 42%,var(--border));background:var(--primary-soft);color:var(--primary-strong)}.conversation-bubble{min-width:0;max-width:min(82%,680px);display:flex;flex-direction:column;gap:5px}.conversation-message.is-user .conversation-bubble{align-items:flex-end}.conversation-bubble>span{padding-inline:3px;color:var(--text-muted);font-size:.68rem;font-weight:650}.conversation-bubble>p{margin:0;padding:11px 14px;border:1px solid var(--border);border-radius:18px 18px 18px 6px;background:var(--surface);color:var(--text);line-height:1.58;white-space:pre-wrap}.conversation-message.is-user .conversation-bubble>p{border-color:transparent;border-radius:18px 18px 6px 18px;background:var(--primary);color:white}.conversation-composer{position:-webkit-sticky;position:sticky;bottom:calc(var(--mobile-nav-height) + 10px);z-index:12;display:grid;grid-template-columns:minmax(0,1fr) 44px;grid-gap:8px;gap:8px;align-items:end;padding:8px 8px 6px 14px;border:1px solid var(--border-strong);border-radius:20px;background:color-mix(in srgb,var(--surface-raised) 96%,transparent);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.conversation-composer textarea{min-height:44px;max-height:150px;padding:10px 0 7px;resize:none;border:0;background:transparent;box-shadow:none}.conversation-composer textarea:focus{box-shadow:none}.conversation-send-button{width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:50%;background:var(--primary);color:white;cursor:pointer;transition:transform .14s ease,opacity .14s ease}.conversation-send-button:hover:not(:disabled){transform:translateY(-1px)}.conversation-send-button:disabled{opacity:.42;cursor:not-allowed}.conversation-composer-hint{grid-column:1/-1;padding:0 2px 2px;color:var(--text-muted);font-size:.62rem}.vocabulary-cefr{min-width:28px;text-align:center;color:var(--primary-strong);font-weight:700;text-transform:uppercase}@media (min-width:620px){.conversation-messages{padding-bottom:128px}.conversation-composer{bottom:18px}.conversation-bubble{max-width:min(76%,700px)}}.writing-grammar-observations{display:grid;grid-gap:12px;gap:12px}.writing-grammar-observation{display:grid;grid-gap:10px;gap:10px;padding:14px;border:1px solid var(--border);border-radius:14px}.writing-grammar-observation--error{-webkit-border-start:3px solid var(--text);border-inline-start:3px solid var(--text)}.writing-grammar-observation--opportunity{border-style:dashed}.writing-grammar-observation-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.writing-grammar-observation-head>div{display:grid;grid-gap:6px;gap:6px}.writing-grammar-observation .button-row{display:flex;flex-wrap:wrap;gap:8px}.generated-reading-hub,.generated-reading-page{--reading-measure:68ch}.reading-generation-form{display:grid;grid-gap:18px;gap:18px}.reading-stretch-option{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--border);border-radius:14px}.reading-stretch-option span{display:grid;grid-gap:3px;gap:3px}.reading-stretch-option small{color:var(--text-muted)}.generated-reading-text{max-width:var(--reading-measure);margin-inline:auto;padding:clamp(22px,4vw,40px);font-size:clamp(1.03rem,2vw,1.14rem);line-height:1.8}.generated-reading-text p+p{margin-top:1.15em}.reading-assessment,.reading-language-notes,.reading-language-summary{max-width:860px;margin-inline:auto}.reading-question-list{display:grid;grid-gap:18px;gap:18px}.reading-question{display:grid;grid-gap:12px;gap:12px;padding:14px 0;border:0;border-top:1px solid var(--border)}.reading-question legend{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-weight:650}.reading-question-options{display:grid;grid-gap:8px;gap:8px}.reading-question-options label{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--border);border-radius:12px;cursor:pointer}.reading-answer-correct,.reading-answer-wrong{margin:0;font-size:.88rem}.reading-answer-correct{font-weight:600}.reading-language-notes blockquote{margin:10px 0;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-border-start:2px solid var(--border);border-inline-start:2px solid var(--border);color:var(--text-muted)}.reading-summary-group{display:grid;grid-gap:10px;gap:10px}.reading-summary-group+.reading-summary-group{margin-top:18px}@media (max-width:720px){.generated-reading-text{padding:18px;line-height:1.72}.reading-question-options label{padding:11px}}.grammar-progress-panel{display:grid;grid-gap:18px;gap:18px;margin-bottom:22px}.grammar-progress-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.grammar-progress-status-grid>div{display:grid;grid-gap:3px;gap:3px;padding:12px;border:1px solid var(--border);border-radius:12px}.grammar-progress-status-grid strong{font-size:1.2rem}.grammar-progress-evidence,.grammar-progress-status-grid span{color:var(--text-muted);font-size:.72rem}.grammar-progress-evidence{display:flex;flex-wrap:wrap;gap:12px}.grammar-progress-section{display:grid;grid-gap:10px;gap:10px}.grammar-progress-section h3{margin:0;font-size:.86rem}@media (min-width:620px){.grammar-progress-status-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}.grammar-profile-breakdown{display:grid;grid-gap:8px;gap:8px}.grammar-profile-breakdown>div{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:3px 10px;gap:3px 10px;padding:10px 0;border-top:1px solid var(--border)}.grammar-profile-breakdown strong{text-transform:capitalize}.grammar-profile-breakdown small,.grammar-profile-breakdown span{color:var(--text-muted);font-size:.7rem}.grammar-profile-breakdown small{grid-column:1/-1}.onboarding-page{min-height:100dvh;display:grid;place-items:center;padding:clamp(1rem,4vw,3rem)}.onboarding-shell{width:min(100%,720px);display:grid;grid-gap:1.5rem;gap:1.5rem}.onboarding-progress{display:grid;grid-gap:.6rem;gap:.6rem;font-size:.82rem;color:var(--muted)}.onboarding-progress-track{height:6px;overflow:hidden;border-radius:999px;background:var(--surface-strong,rgba(255,255,255,.08))}.onboarding-progress-track>span{display:block;height:100%;border-radius:inherit;background:currentColor;transition:width .18s ease}.onboarding-step{display:grid;grid-gap:1.25rem;gap:1.25rem}.onboarding-level-grid,.onboarding-options{display:grid;grid-gap:.75rem;gap:.75rem;border:0;padding:0;margin:0}.onboarding-options legend{margin-bottom:.75rem;font-weight:700}.onboarding-level,.onboarding-option{width:100%;min-height:64px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:inherit;text-align:start;padding:.9rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer}.onboarding-level.is-selected,.onboarding-level:focus-visible,.onboarding-level:hover,.onboarding-option.is-selected,.onboarding-option:focus-visible,.onboarding-option:hover{border-color:var(--foreground)}.onboarding-option small{display:block;margin-top:.2rem;color:var(--muted)}.onboarding-level-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.onboarding-level{align-items:flex-start;justify-content:flex-start}.onboarding-level strong{min-width:2.25rem;font-size:1.1rem}.onboarding-level span{color:var(--muted);line-height:1.35}.onboarding-controls{display:flex;justify-content:space-between;gap:.75rem}.onboarding-continue{justify-self:end}.onboarding-loop{display:grid;grid-gap:.65rem;gap:.65rem}.onboarding-loop-item{display:grid;grid-template-columns:auto auto 1fr;align-items:center;grid-gap:.75rem;gap:.75rem;padding:.8rem 0;border-bottom:1px solid var(--border)}.onboarding-loop-item:last-child{border-bottom:0}.onboarding-finish-icon,.onboarding-loop-icon{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--surface-strong,rgba(255,255,255,.08))}.onboarding-loop-number{color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.onboarding-finish{text-align:start}.first-use-guide{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:1rem;gap:1rem;align-items:start;margin-bottom:1rem}.first-use-guide-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--surface-strong,rgba(255,255,255,.08))}.first-use-guide-copy{display:grid;grid-gap:.35rem;gap:.35rem}.first-use-guide-copy p,.first-use-guide-copy ul{margin:0;color:var(--muted)}.first-use-guide-copy ul{-webkit-padding-start:1.15rem;padding-inline-start:1.15rem}.first-use-guide-dismiss{min-height:40px}@media (max-width:640px){.onboarding-page{align-items:start;padding:.75rem}.onboarding-shell{border-radius:18px}.onboarding-level-grid{grid-template-columns:1fr}.first-use-guide{grid-template-columns:auto minmax(0,1fr)}.first-use-guide-dismiss{grid-column:1/-1;width:100%;justify-content:center}}@media (prefers-reduced-motion:reduce){.onboarding-progress-track>span{transition:none}}