.landing{position:relative;min-height:100vh;min-height:100dvh;overflow-x:hidden;color:var(--ink);background:var(--surface-desk-lo);font-family:var(--font-sans)}.landing-desk{position:absolute;inset:0;z-index:0;background:radial-gradient(120% 76% at 50% -8%,var(--surface-desk-hi),transparent 60%),linear-gradient(180deg,var(--surface-desk) 0%,var(--surface-desk-lo) 100%)}.landing-nav{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1280px;margin:0 auto;padding:var(--space-6) var(--space-10)}.landing-brand{display:inline-flex;align-items:center;gap:var(--space-3);font-size:var(--text-2xl);font-weight:var(--weight-bold);letter-spacing:-.01em}.landing-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:var(--radius-control-sm);background:var(--ink);color:var(--ink-contrast);font-size:var(--text-lg);font-weight:var(--weight-extra-bold)}.landing-nav-actions{display:inline-flex;align-items:center;gap:var(--space-2)}.landing-nav-signin{border:0;background:transparent;font:inherit;font-size:var(--text-md);font-weight:var(--weight-medium);color:var(--soft);cursor:pointer;padding:var(--space-2-5) var(--space-3);border-radius:var(--radius-control-sm)}.landing-nav-signin:hover{color:var(--ink);background:var(--surface-hover)}.landing-nav-cta{border:0;border-radius:var(--radius-control-sm);background:var(--ink);color:var(--ink-contrast);font:inherit;font-size:var(--text-md);font-weight:var(--weight-semibold);cursor:pointer;padding:var(--space-2-5) var(--space-5);box-shadow:var(--shadow-button)}.landing-stage{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;width:100%;max-width:1120px;margin:0 auto;padding:var(--space-10) var(--space-10) var(--space-12)}.landing-copy{max-width:40em}.landing-headline{margin:0;font-family:var(--font-serif);font-size:clamp(2.5rem,4.2vw,3.4rem);line-height:1.04;letter-spacing:-.015em;font-weight:540;color:var(--ink)}.landing-sub{margin:var(--space-5) auto 0;max-width:30em;font-size:var(--text-xl);line-height:1.5;font-weight:var(--weight-normal);color:var(--soft)}.landing-cta{margin-top:var(--space-7);border:0;border-radius:var(--radius-control);background:var(--ink);color:var(--ink-contrast);font:inherit;font-size:var(--text-xl);font-weight:var(--weight-semibold);cursor:pointer;padding:16px var(--space-8);box-shadow:var(--shadow-primary)}.landing-fineprint{margin:var(--space-4) 0 0;font-size:var(--text-md);font-weight:var(--weight-medium);color:var(--muted)}.landing-windows{width:100%;margin-top:var(--space-10)}.win{background:var(--surface-card);border:1px solid var(--line);border-radius:var(--radius-dock);box-shadow:var(--shadow-window);overflow:hidden}.win-app{width:100%;max-width:920px;margin:0 auto}.win-bar{display:flex;align-items:center;gap:var(--space-3);height:44px;padding:0 var(--space-4);border-bottom:1px solid var(--line);background:var(--surface-card)}.win-status{margin-left:auto;padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--surface-panel);color:var(--muted);font-size:var(--text-sm);font-weight:var(--weight-medium)}.win-select-root{position:relative}.win-select{display:inline-flex;align-items:center;gap:var(--space-2);border:1px solid var(--line);background:var(--surface-card);font:inherit;font-size:var(--text-sm-plus);font-weight:var(--weight-semibold);color:var(--ink);cursor:pointer;padding:var(--space-1-5) var(--space-3);border-radius:var(--radius-control-sm)}.win-select:hover{background:var(--surface-hover)}.win-chev{color:var(--muted);font-size:var(--text-xs)}.win-menu{position:absolute;top:calc(100% + var(--space-1-5));left:0;z-index:10;min-width:168px;margin:0;padding:var(--space-1);list-style:none;border:1px solid var(--line);border-radius:var(--radius-menu);background:var(--surface-popover);-webkit-backdrop-filter:blur(var(--blur-surface));backdrop-filter:blur(var(--blur-surface));box-shadow:var(--shadow-menu);animation:landing-pop var(--duration-base) var(--ease-out)}.win-menu-item{display:block;width:100%;text-align:left;border:0;border-radius:var(--radius-control-sm);background:transparent;font:inherit;font-size:var(--text-md);font-weight:var(--weight-medium-strong);color:var(--ink);cursor:pointer;padding:var(--space-2-5) var(--space-3)}.win-menu-item:hover{background:var(--surface-hover)}.win-menu-item.is-selected{color:var(--accent);font-weight:var(--weight-semibold)}.win-app-body{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(0,1fr)}.app-pane{padding:var(--space-7) var(--space-8)}.app-pane-practice{border-right:1px solid var(--line)}.app-pane-library{display:flex;flex-direction:column;min-height:0;background:var(--surface-card)}.prac-mastery{display:flex;align-items:center;gap:var(--space-3)}.prac-mastery-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--soft);white-space:nowrap}.prac-track{flex:1;height:6px;border-radius:var(--radius-pill);background:var(--surface-panel);overflow:hidden}.prac-track-fill{display:block;height:100%;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--accent) 72%,var(--surface-card))}.prac-mastery-pct{font-size:var(--text-sm-plus);font-weight:var(--weight-medium);color:var(--soft)}.prac-para{margin:var(--space-7) auto 0;max-width:26em;text-align:center;font-size:var(--text-5xl);line-height:1.85;font-weight:var(--weight-semibold);letter-spacing:.005em;color:var(--ink);padding-bottom:var(--space-3)}.prac-word{position:relative;border:1px solid transparent;border-radius:var(--radius-sm);padding:2px var(--space-1);margin:0 calc(-1 * var(--space-1));cursor:default;transition:background var(--duration-tap) var(--ease-snap),border-color var(--duration-tap) var(--ease-snap),color var(--duration-tap) var(--ease-snap)}.prac-word:hover{background:var(--accent-soft);border-color:var(--accent-ring);color:var(--accent)}.prac-gloss{position:absolute;top:calc(100% + var(--space-1));left:50%;z-index:6;padding:1px var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--accent-ring);background:var(--accent-soft-strong);color:var(--accent);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-semibold);font-style:normal;letter-spacing:0;line-height:1.3;white-space:nowrap;opacity:0;pointer-events:none;transform:translate(-50%,1px);transition:opacity var(--duration-fast) var(--ease-snap),transform var(--duration-fast) var(--ease-snap)}.prac-word:hover .prac-gloss{opacity:1;transform:translate(-50%)}.prac-gap{font-style:italic;font-weight:var(--weight-semibold);color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-ring);border-radius:var(--radius-sm);padding:1px var(--space-2);white-space:nowrap}.prac-gap:hover{background:var(--accent-soft-strong);color:var(--accent)}.prac-controls{display:flex;align-items:center;justify-content:center;gap:var(--space-3-5);margin-top:var(--space-7)}.prac-pill{display:inline-flex;align-items:center;gap:var(--space-2-5);border:1px solid var(--line);border-radius:var(--radius-pill);padding:var(--space-3) var(--space-5);font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--ink);background:var(--surface-card)}.prac-pill-primary{border-color:var(--accent-ring);background:var(--accent-soft);color:var(--accent)}.prac-mic{width:8px;height:8px;border-radius:var(--radius-round);background:var(--accent)}.prac-or{color:var(--muted);font-size:var(--text-sm-plus);font-weight:var(--weight-medium)}.lib-head{flex:0 0 auto}.lib-title{margin:0;font-size:var(--text-lg);font-weight:var(--weight-semibold)}.lib-meta{margin:var(--space-0-5) 0 0;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--muted)}.lib-list{margin-top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);max-height:220px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;padding-right:var(--space-2);-webkit-mask-image:linear-gradient(180deg,#000 88%,transparent 100%);mask-image:linear-gradient(180deg,#000 88%,transparent 100%)}.lib-list::-webkit-scrollbar{width:6px}.lib-list::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:var(--radius-pill)}.lib-item{display:grid;grid-template-columns:24px 1fr;gap:var(--space-3);align-items:start;padding:var(--space-2) var(--space-2-5);margin:0 calc(-1 * var(--space-2-5));border-radius:var(--radius-control-sm);cursor:default;transition:background var(--duration-tap) var(--ease-snap)}.lib-item:hover{background:var(--surface-hover)}.lib-item-locked:hover{background:transparent}.lib-num{display:grid;place-items:center;width:24px;height:24px;border-radius:var(--radius-round);border:1px solid var(--line);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--soft)}.lib-item-body{min-width:0}.lib-text{margin:0;font-size:var(--text-sm-plus);font-weight:var(--weight-medium);line-height:1.45;color:var(--soft)}.lib-bar{display:block;margin-top:var(--space-2-5);height:3px;border-radius:var(--radius-pill);background:var(--surface-panel);overflow:hidden}.lib-bar i{display:block;height:100%;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--accent) 62%,var(--surface-card))}.lib-item-locked .lib-num{border-style:dashed}.lib-item-locked .lib-text{color:var(--muted)}.landing-modal-scrim{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:var(--space-5);background:var(--surface-overlay);-webkit-backdrop-filter:blur(var(--blur-overlay));backdrop-filter:blur(var(--blur-overlay));animation:landing-fade var(--duration-base) var(--ease-out)}.landing-modal{position:relative;width:100%;max-width:380px;padding:var(--space-8) var(--space-7) var(--space-7);border-radius:var(--radius-card);background:var(--surface-card);box-shadow:var(--shadow-modal);text-align:center;animation:landing-pop var(--duration-medium) var(--ease-out)}.landing-modal-close{position:absolute;top:var(--space-3);right:var(--space-3);width:32px;height:32px;border:0;border-radius:var(--radius-control-sm);background:transparent;color:var(--muted);font-size:var(--text-base);cursor:pointer}.landing-modal-close:hover{background:var(--surface-hover)}.landing-modal-title{margin:0;font-size:var(--text-5xl);font-weight:var(--weight-semibold);color:var(--ink)}.landing-modal-lede{margin:var(--space-2) 0 var(--space-6);font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--soft)}.landing-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2-5);width:100%;height:54px;padding:0 var(--space-5-5);border-radius:var(--radius-control);border:1px solid var(--line);background:var(--surface-card);color:var(--ink);font:inherit;font-size:var(--text-lg);font-weight:var(--weight-semibold);cursor:pointer}.landing-btn:disabled{opacity:.6;cursor:default}.landing-text-link{margin-top:var(--space-3);border:0;background:transparent;font:inherit;font-size:var(--text-md);font-weight:var(--weight-medium);color:var(--soft);cursor:pointer;padding:var(--space-1) var(--space-2);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}.landing-email{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2);width:100%}.landing-email input{min-width:0;height:52px;padding:0 var(--space-4);border-radius:var(--radius-control);border:1px solid var(--line);background:var(--surface-card);font:inherit;font-size:var(--text-base);color:var(--ink)}.landing-email input:focus-visible{outline:none;border-color:var(--accent);box-shadow:var(--shadow-focus)}.landing-email button{height:52px;padding:0 var(--space-4-5);border-radius:var(--radius-control);border:1px solid var(--ink);background:var(--ink);font:inherit;font-weight:var(--weight-semibold);color:var(--ink-contrast);cursor:pointer}.landing-email button:disabled{opacity:.5;cursor:default}.landing-error{margin:var(--space-4) 0 0;font-size:var(--text-md);color:var(--danger-muted)}@keyframes landing-fade{0%{opacity:0}}@keyframes landing-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}}.landing-nav-signin:focus-visible,.landing-nav-cta:focus-visible,.landing-cta:focus-visible,.win-select:focus-visible,.landing-btn:focus-visible,.landing-text-link:focus-visible,.landing-email button:focus-visible,.landing-modal-close:focus-visible{outline:2px solid var(--accent);outline-offset:var(--space-0-5)}@media(hover:hover)and (pointer:fine){.landing-nav-cta:hover,.landing-cta:hover,.landing-email button:hover{filter:brightness(1.12)}.landing-btn:hover{background:var(--surface-hover)}}@media(max-width:860px){.landing-stage{padding:var(--space-10) var(--space-6) var(--space-13)}.win-app-body{grid-template-columns:1fr}.app-pane-practice{border-right:0}.app-pane-library{display:none}}@media(max-width:560px){.landing-nav{padding:var(--space-5) var(--space-5)}.landing-nav-signin{display:none}.landing-stage{padding:var(--space-8) var(--space-5) var(--space-12)}.prac-para{font-size:var(--text-3xl)}}.account-wrap{position:fixed;left:0;bottom:0;width:176px;z-index:40;padding:var(--space-2) var(--space-3) var(--space-3);border-top:1px solid color-mix(in srgb,var(--ink-contrast) 7%,transparent);background:var(--ink)}.account-trigger{display:flex;align-items:center;gap:var(--space-2-5);width:100%;padding:var(--space-1-5) var(--space-2);border:0;border-radius:var(--radius-control-sm);background:transparent;color:var(--ink-contrast);font:inherit;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-snap),transform var(--duration-press) var(--ease-out)}.account-trigger:hover,.account-trigger:focus-visible{outline:none;background:#00000038}.account-trigger:active{transform:scale(.99)}.account-trigger-avatar{position:relative;display:grid;place-items:center;width:28px;height:28px;flex:none;overflow:hidden;border-radius:var(--radius-round);background:color-mix(in srgb,var(--ink-contrast) 10%,transparent);color:var(--ink-contrast);font-size:var(--text-sm);font-weight:var(--weight-bold)}.account-trigger-avatar img{width:100%;height:100%;object-fit:cover}.account-trigger-id{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;gap:1px}.account-trigger-name{overflow:hidden;font-size:var(--text-sm-plus);font-weight:var(--weight-medium);line-height:var(--leading-snug);color:color-mix(in srgb,var(--ink-contrast) 92%,transparent);text-overflow:ellipsis;white-space:nowrap}.account-trigger-sub{overflow:hidden;font-size:var(--text-2xs);font-weight:var(--weight-normal);line-height:var(--leading-snug);color:color-mix(in srgb,var(--ink-contrast) 50%,transparent);text-overflow:ellipsis;white-space:nowrap}.account-trigger-caret{display:grid;place-items:center;width:18px;height:18px;flex:none;color:color-mix(in srgb,var(--ink-contrast) 42%,transparent)}.account-caret-glyph{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.account-signin{position:fixed;top:var(--space-5);right:var(--space-5);z-index:40;height:40px;padding:0 var(--space-4);border-radius:var(--radius-panel);font-weight:var(--weight-semibold-strong);color:var(--soft);transition:color var(--duration-fast) var(--ease-standard),transform var(--duration-press) var(--ease-out)}.account-signin:hover{color:var(--ink)}.account-signin:active{transform:scale(.97)}.account-menu{position:absolute;left:0;right:auto;top:auto;bottom:calc(100% + var(--space-3));min-width:200px;padding:var(--space-2);border-radius:var(--radius-popover);border:1px solid color-mix(in srgb,var(--ink-contrast) 11%,transparent);background:color-mix(in srgb,var(--ink) 94%,#2b2a27);color:var(--ink-contrast);box-shadow:0 18px 50px #00000047,0 4px 12px #0000002e;transform-origin:bottom left;animation:accountMenuIn var(--duration-base) var(--ease-out) both}@keyframes accountMenuIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.account-email{margin:0;padding:var(--space-2) var(--space-2-5);font-size:var(--text-sm-plus);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-signout{width:100%;margin-top:var(--space-1);height:38px;border:none;border-radius:var(--radius-control-md);background:var(--surface-panel);font:inherit;font-weight:var(--weight-semibold-strong);color:var(--ink);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard),transform var(--duration-press) var(--ease-out)}.account-signout:hover{background:var(--surface-hover-strong)}.account-signout:active{transform:scale(.98)}.account-menu{width:244px;min-width:244px;padding:var(--space-2)}@media(max-width:640px){.account-wrap{left:auto;right:var(--space-3);top:var(--space-2);bottom:auto;width:auto;padding:0;border-top:0;background:transparent}.account-trigger{padding:0;border-radius:var(--radius-round);background:var(--surface-glass-strong);-webkit-backdrop-filter:blur(var(--blur-surface));backdrop-filter:blur(var(--blur-surface));border:1px solid var(--line);box-shadow:var(--shadow-chip)}.account-trigger-id,.account-trigger-caret{display:none}.account-trigger-avatar{width:40px;height:40px}.account-menu{left:auto;right:0;top:calc(100% + var(--space-2));bottom:auto}}.profile-head{display:flex;align-items:center;gap:var(--space-2-5);padding:var(--space-1) var(--space-1) var(--space-3)}.profile-avatar{width:36px;height:36px;flex:none;border-radius:var(--radius-round);overflow:hidden;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--ink-contrast) 10%,transparent);color:var(--ink-contrast);font-weight:var(--weight-extra-bold);font-size:var(--text-base)}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-id{display:flex;flex-direction:column;min-width:0}.profile-name{font-weight:var(--weight-bold);font-size:var(--text-sm-plus);color:color-mix(in srgb,var(--ink-contrast) 94%,transparent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-sub{font-size:var(--text-xs-plus);color:color-mix(in srgb,var(--ink-contrast) 54%,transparent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-bottom:var(--space-2-5);padding:var(--space-2) 0;border-block:1px solid color-mix(in srgb,var(--ink-contrast) 9%,transparent)}.stat{display:flex;flex-direction:column;align-items:center;gap:var(--space-0-5);min-width:0;padding:0 var(--space-1);background:transparent}.stat+.stat{border-left:1px solid color-mix(in srgb,var(--ink-contrast) 8%,transparent)}.stat-value{font-weight:var(--weight-bold);font-size:var(--text-lg);line-height:1;color:color-mix(in srgb,var(--ink-contrast) 94%,transparent);font-variant-numeric:tabular-nums}.stat-key{display:inline-flex;align-items:center;gap:var(--space-0-5);max-width:100%;font-size:var(--text-2xs);font-weight:var(--weight-medium);color:color-mix(in srgb,var(--ink-contrast) 48%,transparent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat-flame{width:12px;height:12px;flex:none;fill:color-mix(in srgb,var(--warning) 88%,transparent);stroke:none}.goal-block{padding:var(--space-1) var(--space-1) var(--space-1)}.goal-row{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:color-mix(in srgb,var(--ink-contrast) 72%,transparent);margin-bottom:var(--space-1-5)}.goal-count{color:color-mix(in srgb,var(--ink-contrast) 92%,transparent);font-variant-numeric:tabular-nums}.goal-track{height:5px;border-radius:var(--radius-xs);background:color-mix(in srgb,var(--ink-contrast) 10%,transparent);overflow:hidden}.goal-fill{display:block;height:100%;border-radius:var(--radius-xs);background:linear-gradient(90deg,var(--gap),var(--accent-gradient-end));transition:width var(--duration-slow) var(--ease-standard)}.goal-fill.is-met{background:linear-gradient(90deg,var(--good),var(--success-gradient-end))}.goal-hint{display:block;margin-top:var(--space-1-5);font-size:var(--text-xs);color:color-mix(in srgb,var(--ink-contrast) 50%,transparent)}.menu-divider{height:1px;background:color-mix(in srgb,var(--ink-contrast) 9%,transparent);margin:var(--space-2) var(--space-0-5)}.menu-item{width:100%;height:36px;display:flex;align-items:center;gap:var(--space-2-5);padding:0 var(--space-2-5);border:none;border-radius:var(--radius-control-md);background:transparent;font:inherit;font-size:var(--text-sm-plus);font-weight:var(--weight-semibold);color:color-mix(in srgb,var(--ink-contrast) 88%,transparent);cursor:pointer;text-align:left;transition:background var(--duration-fast) var(--ease-standard),transform var(--duration-press) var(--ease-out)}.menu-item:hover{background:color-mix(in srgb,var(--ink-contrast) 7%,transparent)}.menu-item:active{transform:scale(.98)}.menu-item.is-accent{color:var(--gap)}.menu-icon{display:grid;place-items:center;width:18px;height:18px;color:color-mix(in srgb,var(--ink-contrast) 52%,transparent);flex:none}.menu-glyph{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.menu-item:hover .menu-icon{color:color-mix(in srgb,var(--ink-contrast) 82%,transparent)}.menu-item.is-accent .menu-icon{color:var(--gap)}.menu-switch{margin-left:auto;width:32px;height:18px;border-radius:var(--radius-control-md);background:color-mix(in srgb,var(--ink-contrast) 18%,transparent);padding:var(--space-0-5);flex:none;transition:background var(--duration-base) var(--ease-standard)}.menu-switch span{display:block;width:14px;height:14px;border-radius:var(--radius-round);background:var(--ink-contrast);transition:transform var(--duration-base) var(--ease-out)}.menu-switch.is-on{background:var(--gap)}.menu-switch.is-on span{transform:translate(14px)}.settings-overlay{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:var(--space-5);background:var(--surface-overlay);-webkit-backdrop-filter:blur(var(--blur-overlay));backdrop-filter:blur(var(--blur-overlay))}.settings-card{width:100%;max-width:420px;border-radius:var(--radius-popover);border:1px solid var(--line);background:var(--surface-card);box-shadow:var(--shadow-modal);overflow:hidden}.settings-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-4-5);border-bottom:1px solid var(--line)}.settings-head h2{margin:0;font-size:var(--text-xl);color:var(--ink)}.settings-close{border:none;background:transparent;font-size:var(--text-5xl);line-height:1;color:var(--muted);cursor:pointer;transition:color var(--duration-fast) var(--ease-standard),transform var(--duration-press) var(--ease-out)}.settings-close:hover{color:var(--ink)}.settings-close:active{transform:scale(.92)}.settings-body{padding:var(--space-2) var(--space-4-5)}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3-5) 0;border-bottom:1px solid var(--line)}.settings-row:last-child{border-bottom:none}.settings-label{display:block;font-weight:var(--weight-semibold-strong);font-size:var(--text-md);color:var(--ink)}.settings-help{display:block;font-size:var(--text-sm);color:var(--muted);margin-top:var(--space-0-5)}.settings-row input[type=range]{width:130px;accent-color:var(--gap)}.toggle{flex:none;width:44px;height:26px;border-radius:var(--radius-control);border:none;background:var(--line-strong);cursor:pointer;padding:3px;transition:background var(--duration-base) var(--ease-standard)}.toggle span{display:block;width:20px;height:20px;border-radius:var(--radius-round);background:var(--white);transition:transform var(--duration-base) var(--ease-out)}.toggle.is-on{background:var(--gap)}.toggle.is-on span{transform:translate(18px)}.settings-foot{padding:var(--space-3-5) var(--space-4-5);border-top:1px solid var(--line)}.settings-reset{border:none;background:transparent;font:inherit;font-weight:var(--weight-semibold-strong);color:var(--danger);cursor:pointer;padding:0;transition:transform var(--duration-press) var(--ease-out)}.settings-reset:hover{text-decoration:underline}.settings-reset:active{transform:scale(.97)}.settings-confirm{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);font-size:var(--text-sm-plus);color:var(--soft)}.settings-confirm>div{display:flex;gap:var(--space-2);flex:none}.settings-ghost,.settings-danger{height:34px;padding:0 var(--space-3-5);border-radius:var(--radius-control-sm);border:none;font:inherit;font-weight:var(--weight-semibold-strong);cursor:pointer}.settings-ghost{background:var(--surface-panel);color:var(--ink)}.settings-danger{background:var(--danger);color:var(--white)}.settings-danger:disabled,.settings-ghost:disabled{opacity:.6;cursor:default}.mastery-rail{min-width:0;min-height:0;display:flex;flex-direction:column;border-right:1px solid var(--line);background:color-mix(in srgb,var(--surface-panel) 62%,var(--surface-card))}.mastery-rail-head{flex:0 0 auto;min-height:56px;display:flex;flex-direction:column;justify-content:center;padding:0 var(--space-4);border-bottom:1px solid var(--line)}.mastery-rail-head p{margin:var(--space-1) 0 0;color:var(--muted);font-size:var(--text-sm);font-weight:var(--weight-normal);line-height:var(--leading-normal);font-variant-numeric:tabular-nums}.mastery-rail-head h2{margin:0;font-size:var(--text-lg);font-weight:var(--weight-medium);line-height:var(--leading-snug);color:var(--ink)}.mastery-rail-list{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:var(--space-2) var(--space-2);display:flex;flex-direction:column;gap:var(--space-px);scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;-webkit-mask-image:linear-gradient(180deg,#000 94%,transparent 100%);mask-image:linear-gradient(180deg,#000 94%,transparent 100%)}.mastery-rail-list::-webkit-scrollbar{width:4px}.mastery-rail-list::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:var(--radius-pill)}.mastery-section{display:grid;gap:var(--space-1)}.mastery-section+.mastery-section{margin-top:var(--space-2)}.mastery-level-title{display:flex;align-items:baseline;gap:var(--space-1-5);margin:var(--space-5) var(--space-2-5) var(--space-2);padding:0;color:var(--muted);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:var(--leading-snug)}.mastery-level-title span{color:var(--soft)}.mastery-section:first-child .mastery-level-title{margin-top:var(--space-1)}.mastery-section-title{appearance:none;margin:var(--space-2) var(--space-1) var(--space-0-5);padding:var(--space-1) var(--space-1-5);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--soft);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-semibold);line-height:var(--leading-snug);text-align:left;cursor:pointer}.mastery-section-title:hover,.mastery-section-title:focus-visible{outline:none;background:var(--surface-hover);color:var(--ink)}.mastery-item{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:start;column-gap:var(--space-2-5);width:100%;padding:var(--space-2) var(--space-2-5);border:0;border-radius:var(--radius-control-sm);background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-snap),color var(--duration-fast) var(--ease-snap),transform var(--duration-press) var(--ease-out)}.mastery-item:active{transform:scale(.99)}.mastery-item:hover,.mastery-item:focus-visible{outline:none;background:var(--surface-hover)}.mastery-item.is-active{background:var(--surface-hover-strong)}.mastery-item.is-active .mastery-item-num{border-color:var(--line-strong);color:var(--soft)}.mastery-item.is-active .mastery-item-text{color:var(--ink)}.mastery-item-num{display:grid;place-items:center;width:22px;height:22px;border:1px solid var(--line-strong);border-radius:var(--radius-round);color:var(--muted);font-size:var(--text-xs);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums;flex-shrink:0;margin-top:1px}.mastery-item.is-mastered .mastery-item-num{border-color:transparent;background:transparent;color:var(--muted);font-size:var(--text-xs-plus)}.mastery-item-body{min-width:0;display:flex;flex-direction:column;gap:var(--space-1-5)}.mastery-item-text{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:var(--muted);font-size:var(--text-sm-plus);font-weight:var(--weight-normal);line-height:var(--leading-normal)}.mastery-item.is-progress .mastery-item-text{color:var(--soft)}.mastery-item.is-mastered .mastery-item-text{color:var(--muted);text-decoration-line:none}.mastery-item-track{display:block;height:2px;overflow:visible;border-radius:var(--radius-pill)}.mastery-item-track span{display:block;height:100%;border-radius:inherit;background:var(--accent);opacity:.55;transition:width var(--duration-medium) var(--ease-out)}.mastery-view-all{display:block;width:100%;margin-top:var(--space-1);padding:var(--space-2) var(--space-2-5);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--muted);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-normal);text-align:left;cursor:pointer;transition:color var(--duration-fast) var(--ease-standard)}.mastery-view-all:hover,.mastery-view-all:focus-visible{outline:none;color:var(--soft)}.trainer-shell{min-height:100vh;height:100vh;display:grid;grid-template-columns:176px minmax(280px,360px) minmax(0,1fr);overflow:hidden;background:var(--surface-page);color:var(--ink)}.trainer-shell.workspace-mode-review,.trainer-shell.workspace-mode-library,.trainer-shell.workspace-mode-teleprompter,.trainer-shell.workspace-mode-scenes,.trainer-shell.is-empty{grid-template-columns:176px minmax(0,1fr)}.workspace-nav{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-5);padding:var(--space-4-5) var(--space-3) var(--space-4);border-right:1px solid color-mix(in srgb,var(--ink-contrast) 7%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--ink) 98%,var(--ink-contrast)),var(--ink) 42%),var(--ink);color:var(--ink-contrast)}.workspace-nav-top{display:grid;gap:var(--space-4-5);min-width:0}.workspace-mark{display:grid;place-items:center;justify-self:start;width:30px;height:30px;margin-left:var(--space-1);color:color-mix(in srgb,var(--ink-contrast) 82%,transparent);font-family:var(--font-serif);font-size:var(--text-4xl);font-weight:var(--weight-semibold);line-height:1}.workspace-nav .language-portfolio{min-width:0}.workspace-nav-main{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-0-5);width:100%}.workspace-nav-item{position:relative;display:flex;align-items:center;justify-content:flex-start;width:100%;border:0;border-radius:var(--radius-control-sm);background:transparent;color:color-mix(in srgb,var(--ink-contrast) 72%,transparent);font:inherit;font-size:var(--text-sm-plus);font-weight:var(--weight-normal);padding:var(--space-2) var(--space-3);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-snap),color var(--duration-fast) var(--ease-snap),transform var(--duration-press) var(--ease-out)}.workspace-nav-item:active{transform:scale(.985)}.workspace-nav-item:hover,.workspace-nav-item:focus-visible{outline:none;color:color-mix(in srgb,var(--ink-contrast) 88%,transparent);background:#00000038}.workspace-nav-item.is-active{color:var(--ink-contrast);background:#00000052}.workspace-nav-item i{position:absolute;top:50%;right:var(--space-3);transform:translateY(-50%);min-width:18px;height:18px;padding:0 var(--space-1-5);display:grid;place-items:center;border-radius:var(--radius-pill);border:1px solid color-mix(in srgb,var(--accent-gradient-end) 18%,transparent);background:color-mix(in srgb,var(--accent-gradient-end) 10%,transparent);color:color-mix(in srgb,var(--accent-gradient-end) 94%,var(--ink-contrast));font-size:var(--text-2xs);font-style:normal;font-weight:var(--weight-semibold);line-height:1}.workspace-nav-icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}@media(hover:hover)and (min-width:641px){.workspace-nav-item:after{content:attr(data-label);margin-left:var(--space-3);color:currentColor;font-size:var(--text-sm-plus);font-weight:var(--weight-normal);line-height:var(--leading-snug);white-space:nowrap}}.workspace-practice{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:var(--surface-card)}.workspace-practice-body{min-height:0;display:grid;grid-template-rows:minmax(0,1fr);overflow:hidden}.ws-toolbar{display:flex;align-items:center;gap:var(--space-3);min-height:56px;padding:0 var(--space-5);border-bottom:1px solid var(--line);background:var(--surface-card)}.ws-mastery{display:flex;flex:1 1 auto;align-items:center;gap:var(--space-2-5);min-width:0;max-width:320px;margin:0 auto}.ws-mastery-label{flex:0 0 auto;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--muted);white-space:nowrap}.ws-mastery-track{flex:1 1 auto;min-width:40px;height:4px;overflow:hidden;border-radius:var(--radius-pill);background:var(--panel-soft)}.ws-mastery-fill{display:block;height:100%;border-radius:inherit;background:color-mix(in srgb,var(--accent) 75%,var(--card));transition:width var(--duration-medium) var(--ease-out)}.ws-mastery-value{flex:0 0 auto;min-width:30px;text-align:right;color:var(--soft);font-size:var(--text-sm);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.trainer-stage{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:var(--space-5);padding:var(--space-5) var(--space-8) 0}.trainer-subhead{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-5);min-width:0}.trainer-subhead>div:first-child{display:flex;align-items:baseline;gap:var(--space-2);min-width:0}.trainer-title{color:var(--muted);font-size:var(--text-sm);font-weight:var(--weight-medium)}.trainer-pass{color:var(--muted);font-size:var(--text-xs);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:.06em;font-variant-numeric:tabular-nums}.review-queue-stats{display:flex;align-items:baseline;justify-content:flex-end;color:var(--muted);font-size:var(--text-xs);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.review-queue-stats span{display:inline-flex;align-items:baseline;gap:5px;padding:0 var(--space-3);white-space:nowrap}.review-queue-stats span+span{border-left:1px solid var(--line)}.review-queue-stats b{color:var(--ink);font-weight:var(--weight-semibold);font-size:var(--text-sm);line-height:1}.review-queue-stats span:first-child b{color:var(--accent)}.review-queue-stats span:last-child{padding-right:0;color:var(--muted)}.trainer-center{min-height:0;grid-row:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-7);padding:var(--space-6) 0 clamp(var(--space-10),11vh,120px)}.trainer-paragraph{width:min(920px,100%);text-align:center}.trainer-paragraph.is-climax{filter:drop-shadow(0 10px 28px var(--accent-soft))}.trainer-line{margin:.12em 0;color:var(--ink);font-size:clamp(24px,3.1vw,36px);line-height:1.85;font-weight:var(--weight-semibold);letter-spacing:0}.tok-wrap{white-space:nowrap}.tok-space{white-space:normal}.tok{position:relative;appearance:none;display:inline-flex;align-items:baseline;justify-content:center;min-height:1.45em;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--ink);font:inherit;line-height:inherit;padding:1px var(--space-0-5);margin:0;cursor:pointer;vertical-align:baseline}.tok-known:hover,.tok-known:focus-visible,.tok-gap{outline:none;color:var(--accent);border-color:var(--accent-ring);background:var(--accent-soft)}.tok-gap{font-style:italic}.tok-gap.is-current,.tok-gap.is-peeked{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 28%,transparent)}.tok.is-filled{animation:fill-flash var(--duration-flash) var(--ease-standard)}.tok.is-filled .tok-text{color:var(--ink);font-style:normal}.tok-punct{color:var(--ink)}.tok-gloss{position:absolute;top:calc(100% + var(--space-1));left:50%;z-index:5;max-width:220px;padding:2px var(--space-2);border:1px solid var(--accent-ring);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--accent) 12%,var(--surface-card));color:var(--accent);box-shadow:var(--shadow-chip);font-family:var(--font-sans);font-size:var(--text-sm);font-style:normal;font-weight:var(--weight-semibold);line-height:1.25;letter-spacing:0;white-space:nowrap;opacity:0;pointer-events:none;transform:translate(-50%,1px)}.tok:hover .tok-gloss,.tok:focus-visible .tok-gloss{opacity:1;transform:translate(-50%)}@keyframes fill-flash{0%{color:var(--success);background:var(--success-soft);border-color:var(--success-ring)}to{color:var(--ink);background:transparent;border-color:transparent}}.trainer-reference{width:min(620px,100%);margin:0 auto;text-align:center;color:var(--muted);font-size:var(--text-base);line-height:var(--leading-relaxed)}.review-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);text-align:center}.review-gloss{color:var(--ink);font-size:clamp(32px,5vw,52px);font-weight:var(--weight-bold);letter-spacing:0}.review-target{color:var(--muted);font-size:var(--text-2xl);font-style:italic}.review-target.is-shown{color:var(--accent);font-style:normal}.review-progress-text{max-width:min(760px,90vw);color:var(--accent);font-size:var(--text-2xl);font-weight:var(--weight-medium);line-height:var(--leading-snug);text-align:center}.trainer-bar{align-self:center;display:flex;align-items:center;justify-content:center;gap:var(--space-4);flex-wrap:wrap;width:fit-content;max-width:calc(100% - var(--space-8));margin:0 auto;padding:var(--space-1);border:0;border-radius:var(--radius-pill);background:transparent}.trainer-bar.is-review-grading{gap:0;width:min(420px,calc(100% - var(--space-8)));max-width:calc(100% - var(--space-8));padding:0}.trainer-review-actions{display:grid;grid-template-columns:repeat(4,minmax(72px,1fr));align-items:center;width:100%;gap:var(--space-1)}.trainer-review-grade{appearance:none;min-height:38px;padding:0 var(--space-2);border:0;border-radius:var(--radius-control-sm);background:transparent;color:var(--soft);font:inherit;font-size:var(--text-sm-plus);font-weight:var(--weight-semibold);line-height:1;cursor:pointer;transition:background var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.trainer-review-grade:hover,.trainer-review-grade:focus-visible{outline:none;background:var(--surface-hover);color:var(--ink)}.trainer-review-grade.is-good{color:var(--accent)}.trainer-review-grade.is-good:hover,.trainer-review-grade.is-good:focus-visible{background:var(--accent-soft);color:var(--accent)}.trainer-recorder,.trainer-hear{appearance:none;display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--ink);font:inherit;font-size:var(--text-sm-plus);font-weight:var(--weight-medium);padding:0 var(--space-4);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),transform var(--duration-press) var(--ease-out)}.trainer-recorder{min-width:360px;justify-content:space-between;gap:var(--space-3);border-color:color-mix(in srgb,var(--accent) 24%,var(--line));background:linear-gradient(180deg,color-mix(in srgb,var(--surface-card) 94%,var(--accent-soft)) 0%,var(--surface-card) 100%);font-weight:var(--weight-semibold);box-shadow:0 1px #ffffffd1 inset,0 18px 42px -32px color-mix(in srgb,var(--accent) 65%,transparent)}.trainer-recorder:hover,.trainer-recorder:focus-visible,.trainer-hear:focus-visible{outline:none;border-color:color-mix(in srgb,var(--accent) 42%,var(--line-strong))}.trainer-recorder:active,.trainer-hear:active{transform:scale(.98)}.trainer-recorder.is-live{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 48%,var(--line-strong));background:var(--accent-soft-strong)}.trainer-recorder.is-teacher{border-color:color-mix(in srgb,var(--accent) 52%,var(--line-strong))}.trainer-recorder-mark{flex:0 0 auto;width:7px;height:7px;border-radius:var(--radius-round);background:var(--accent)}.trainer-recorder.tone-good .trainer-recorder-mark,.trainer-recorder.tone-done .trainer-recorder-mark{display:grid;place-items:center;width:18px;height:18px;background:var(--accent);color:var(--ink-contrast);font-size:var(--text-xs);line-height:1}.trainer-recorder-label{flex:0 0 auto;min-width:82px;text-align:left}.trainer-wave{flex:1 1 auto;display:flex;align-items:center;justify-content:flex-end;gap:4px;min-width:120px;height:28px}.trainer-wave span{display:block;width:3px;min-height:4px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--accent) 42%,var(--line-strong))}.trainer-recorder.is-live .trainer-wave span{background:var(--accent);transform-origin:center}.trainer-recorder.is-recording .trainer-wave span{animation:trainer-wave-listening .62s var(--ease-standard) infinite}.trainer-recorder.is-recording .trainer-wave span:nth-child(2n){animation-delay:90ms}.trainer-recorder.is-recording .trainer-wave span:nth-child(3n){animation-delay:.17s}.trainer-recorder.is-recording .trainer-wave span:nth-child(4n){animation-delay:.25s}@keyframes trainer-wave-listening{0%,to{transform:scaleY(.46);opacity:.68}45%{transform:scaleY(1.08);opacity:1}}@media(prefers-reduced-motion:reduce){.trainer-recorder.is-recording .trainer-wave span{animation:none}}.trainer-bar-meta{display:flex;align-items:center;justify-content:center;gap:var(--space-5);width:100%}.trainer-status{min-width:0;padding:0 var(--space-1);color:var(--muted);text-align:center;font-size:var(--text-sm-plus);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.trainer-hear{min-height:28px;border-color:transparent;background:transparent;color:var(--soft);padding-inline:var(--space-2)}.trainer-hear:hover,.trainer-hear:focus-visible{color:var(--ink);background:var(--surface-hover);border-color:transparent}.trainer-status.tone-good,.trainer-status.tone-done{color:var(--success)}.trainer-status.tone-listening,.trainer-status.is-teacher{color:var(--accent)}.trainer-heard{min-height:22px;margin:var(--space-2) 0 var(--space-5);color:var(--muted);text-align:center;font-size:var(--text-sm-plus)}.trainer-heard.is-teacher{display:flex;justify-content:center;align-items:baseline;gap:var(--space-2);max-width:min(760px,calc(100% - var(--space-8)));margin-inline:auto;color:var(--soft);line-height:var(--leading-snug)}.trainer-heard-label{flex:0 0 auto;color:var(--accent);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:0}.trainer-heard-text{min-width:0;display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.trainer-explain{appearance:none;display:inline-flex;align-items:center;gap:var(--space-2);min-height:28px;border:1px solid transparent;border-radius:var(--radius-pill);background:transparent;color:var(--soft);font:inherit;font-size:var(--text-sm-plus);font-weight:var(--weight-medium);padding-inline:var(--space-2);cursor:pointer;-webkit-user-select:none;user-select:none}.trainer-explain:hover,.trainer-explain:focus-visible{outline:none;color:var(--ink);background:var(--surface-hover)}.trainer-explain.is-live{color:var(--accent);background:var(--accent-soft)}.trainer-explain:disabled{opacity:.45;cursor:default}.trainer-explain:disabled:hover,.trainer-explain:disabled:focus-visible{color:var(--soft);background:transparent}.trainer-explain-icon{width:15px;height:15px;color:var(--accent)}.trainer-explain-count{color:var(--muted);font-size:var(--text-xs);font-weight:var(--weight-medium)}.trainer-empty{min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-8);text-align:center;color:var(--muted)}.trainer-empty-mark{display:grid;place-items:center;width:52px;height:52px;margin-bottom:var(--space-1);border-radius:var(--radius-round);background:var(--surface-panel);color:var(--soft)}.trainer-empty-mark svg{width:26px;height:26px}.trainer-empty h2{margin:0;color:var(--ink);font-size:var(--text-2xl);font-weight:var(--weight-semibold)}.trainer-empty p{max-width:30em;margin:0;font-size:var(--text-base);line-height:var(--leading-relaxed)}.library{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.library::-webkit-scrollbar{width:4px}.library::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:var(--radius-pill)}.library-head{padding:var(--space-7) var(--space-8) var(--space-5);border-bottom:1px solid var(--line)}.library-head h2{width:min(920px,100%);margin:0 auto;color:var(--ink);font-size:var(--text-xl);font-weight:var(--weight-semibold)}.library-head p{width:min(920px,100%);margin:var(--space-1) auto 0;color:var(--muted);font-size:var(--text-sm-plus);font-variant-numeric:tabular-nums}.library-list{width:min(620px,100%);margin:0;padding:var(--space-4) 0 var(--space-10);list-style:none}.library-study{display:grid;grid-template-columns:minmax(420px,620px) minmax(260px,360px);align-items:start;gap:var(--space-12);width:min(1080px,calc(100% - var(--space-16)));margin-left:var(--space-4)}.library-section-title{margin:var(--space-8) var(--space-2-5) var(--space-2);color:var(--soft);font-size:var(--text-base);font-weight:var(--weight-semibold);line-height:var(--leading-snug)}.library-section-title:first-child{margin-top:var(--space-2)}.library-entry{position:relative;border:1px solid transparent;border-radius:var(--radius-sm)}.library-entry+.library-entry{margin-top:var(--space-1)}.library-entry-select{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:start;column-gap:var(--space-2-5);width:100%;padding:var(--space-2) var(--space-2-5);padding-right:calc(var(--space-2-5) + var(--space-7));border:none;border-radius:inherit;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:var(--transition-surface)}.library-entry-select:hover,.library-entry-select:focus-visible{outline:none;background:var(--surface-hover)}.library-entry.is-active{border-color:transparent;background:var(--accent-soft)}.library-entry.is-active .library-entry-select{background:transparent}.library-entry.is-mastered,.library-entry.is-progress{border-color:transparent}.library-entry.is-new{opacity:.86}.library-entry.is-new:hover,.library-entry.is-new:focus-within{opacity:1}.library-entry.is-active,.library-entry.is-active:hover{opacity:1}.library-entry-num{display:grid;place-items:center;width:22px;height:22px;margin-top:1px;border:1px solid var(--line-strong);border-radius:var(--radius-round);color:var(--muted);font-size:var(--text-xs);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.library-entry.is-active .library-entry-num{border-color:var(--accent-ring);color:var(--accent)}.library-entry.is-mastered .library-entry-num{border-color:transparent;color:var(--muted);font-size:var(--text-xs-plus)}.library-entry-body{min-width:0;display:flex;flex-direction:column;gap:var(--space-0-5)}.library-entry-target{color:var(--ink);font-size:var(--text-sm-plus);font-weight:var(--weight-medium);line-height:var(--leading-normal)}.library-entry-english{color:var(--muted);font-size:var(--text-sm);line-height:var(--leading-normal)}.library-entry-track{display:block;height:2px;width:min(280px,100%);margin-top:var(--space-1-5);border-radius:var(--radius-pill)}.library-entry-track>span{display:block;height:100%;border-radius:inherit;background:var(--accent);opacity:.55;transition:width var(--duration-medium) var(--ease-out)}.library-entry-hear{position:absolute;top:var(--space-1-5);right:var(--space-2);display:grid;place-items:center;width:30px;height:30px;border:none;border-radius:var(--radius-control-sm);background:transparent;color:var(--muted);cursor:pointer;opacity:0;transition:opacity var(--duration-fast) var(--ease-snap),color var(--duration-tap) var(--ease-snap),background-color var(--duration-tap) var(--ease-snap)}.library-inspector{position:sticky;top:var(--space-6);display:grid;gap:var(--space-5);padding-top:var(--space-8);color:var(--soft)}.library-inspector-kicker{display:block;margin-bottom:var(--space-2);color:var(--muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.07em;line-height:var(--leading-snug);text-transform:uppercase}.library-inspector h3{margin:0;color:var(--ink);font-size:var(--text-2xl);font-weight:var(--weight-semibold);line-height:1.45}.library-inspector p{margin:var(--space-2) 0 0;color:var(--muted);font-size:var(--text-base);line-height:var(--leading-relaxed)}.library-inspector-progress{display:grid;gap:var(--space-2);color:var(--muted);font-size:var(--text-sm);font-weight:var(--weight-medium)}.library-inspector-progress .library-entry-track{width:100%;margin:0;background:var(--surface-panel)}.library-grammar{display:grid;gap:var(--space-2);padding-top:var(--space-1)}.library-grammar h4{margin:0;color:var(--soft);font-size:var(--text-sm);font-weight:var(--weight-semibold);line-height:var(--leading-snug)}.library-grammar ul{display:grid;gap:var(--space-2);margin:0;padding-left:var(--space-4)}.library-grammar li{color:var(--muted);font-size:var(--text-sm-plus);line-height:var(--leading-relaxed)}.library-inspector-hear{appearance:none;justify-self:start;display:inline-flex;align-items:center;gap:var(--space-2);min-height:34px;padding:0 var(--space-3);border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--soft);font:inherit;font-size:var(--text-sm-plus);font-weight:var(--weight-medium);cursor:pointer}.library-inspector-hear:hover,.library-inspector-hear:focus-visible{outline:none;color:var(--ink);background:var(--surface-hover);border-color:var(--line-strong)}.library-entry:hover .library-entry-hear,.library-entry-hear:focus-visible{opacity:1}.library-entry-hear:hover,.library-entry-hear:focus-visible{outline:none;color:var(--accent);background:var(--accent-soft)}.library-hear-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}@media(hover:none){.library-entry-hear{opacity:.55}}@media(max-width:960px){.trainer-shell,.trainer-shell.workspace-mode-review,.trainer-shell.workspace-mode-library,.trainer-shell.workspace-mode-teleprompter{grid-template-columns:144px minmax(0,1fr)}.mastery-rail{display:none}.workspace-nav{padding-inline:var(--space-2)}.workspace-nav-item{width:38px;height:38px}.trainer-stage,.library-head{padding-inline:var(--space-5)}.library-study{grid-template-columns:1fr;width:calc(100% - var(--space-10));gap:var(--space-4)}.library-list{width:100%}.library-inspector{position:static;padding:0 0 var(--space-8)}.library-entry-select{padding-inline:var(--space-5);padding-right:calc(var(--space-5) + var(--space-7))}.library-entry-hear{right:var(--space-3)}}@media(max-width:640px){.trainer-shell,.trainer-shell.workspace-mode-review,.trainer-shell.workspace-mode-library,.trainer-shell.workspace-mode-teleprompter{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.workspace-nav{grid-row:1;flex-direction:row;justify-content:space-between;align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-2) var(--space-3);border-right:0;border-bottom:1px solid color-mix(in srgb,var(--ink-contrast) 12%,transparent)}.workspace-nav-top{grid-template-columns:auto minmax(118px,150px);align-items:center;gap:var(--space-2)}.workspace-nav-main{flex-direction:row;justify-content:flex-end;padding-right:52px}.workspace-practice{grid-row:2}.ws-toolbar{padding-inline:var(--space-3)}.ws-mastery{max-width:none;gap:var(--space-2)}.ws-mastery-label,.ws-mastery-value{font-size:var(--text-sm)}.trainer-stage{padding:var(--space-4) var(--space-4) 0}.trainer-line{font-size:clamp(21px,6.1vw,27px);line-height:1.72}.trainer-bar{max-width:calc(100% - var(--space-4))}.trainer-status{order:3;width:100%}}.language-portfolio{display:grid;gap:var(--space-2-5);min-width:0}.language-portfolio-title{margin:0;padding:0 var(--space-3);color:color-mix(in srgb,var(--ink-contrast) 46%,transparent);font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:0;line-height:var(--leading-snug)}.language-portfolio-list{display:grid;gap:var(--space-0-5)}.language-row{position:relative;display:grid;width:100%;gap:var(--space-0-5);padding:var(--space-2) var(--space-3);border:0;border-radius:var(--radius-control-sm);background:transparent;color:color-mix(in srgb,var(--ink-contrast) 72%,transparent);font:inherit;cursor:pointer;text-align:left;transition:background-color var(--duration-fast) var(--ease-snap),color var(--duration-fast) var(--ease-snap),transform var(--duration-press) var(--ease-out)}.language-row:focus-visible{outline:none;border-color:color-mix(in srgb,var(--accent) 42%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 13%,transparent)}@media(hover:hover)and (pointer:fine){.language-row:hover{background:#00000038;color:color-mix(in srgb,var(--ink-contrast) 88%,transparent)}}.language-row:active{transform:scale(.985)}.language-row.is-active{background:#00000052;color:var(--ink-contrast)}.language-row-top{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.language-row-name{overflow:hidden;font-size:var(--text-sm-plus);font-weight:var(--weight-normal);line-height:var(--leading-snug);text-overflow:ellipsis;white-space:nowrap}.language-row.is-active .language-row-name{font-weight:var(--weight-medium)}.language-row-due{flex:0 0 auto;display:inline-grid;place-items:center;min-height:18px;padding:0 var(--space-1-5);border:1px solid color-mix(in srgb,var(--accent-gradient-end) 18%,transparent);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--accent-gradient-end) 10%,transparent);color:color-mix(in srgb,var(--accent-gradient-end) 94%,var(--ink-contrast));font-size:var(--text-2xs);font-weight:var(--weight-semibold);line-height:1;white-space:nowrap}.language-row-meta{color:color-mix(in srgb,var(--ink-contrast) 48%,transparent);font-size:var(--text-sm);font-weight:var(--weight-normal);font-variant-numeric:tabular-nums;letter-spacing:0}.language-row.is-active .language-row-meta{color:color-mix(in srgb,var(--ink-contrast) 62%,transparent)}.language-row.is-empty .language-row-name{color:color-mix(in srgb,var(--ink-contrast) 56%,transparent)}.language-row.is-empty .language-row-meta{color:color-mix(in srgb,var(--ink-contrast) 38%,transparent)}.language-row-track{display:block;height:3px;width:96px;max-width:72%;margin-top:var(--space-1-5);overflow:hidden;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--ink-contrast) 5%,transparent)}.language-row-track span{display:block;height:100%;border-radius:inherit;background:color-mix(in srgb,var(--accent-gradient-end) 58%,transparent);transition:width var(--duration-medium) var(--ease-standard)}.language-row.is-active .language-row-track span{background:linear-gradient(90deg,var(--accent),var(--accent-gradient-end))}.teleprompter{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:var(--space-5) var(--space-8) var(--space-8);background:var(--surface-card)}.tp-head{display:flex;align-items:baseline;gap:var(--space-3)}.tp-kicker{font-size:var(--text-sm);font-weight:var(--weight-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--soft)}.tp-counter{font-size:var(--text-sm);color:var(--muted);font-variant-numeric:tabular-nums}.tp-rung{margin-left:auto;padding:var(--space-0-5) var(--space-2);border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.01em;background:var(--panel-soft);color:var(--soft)}.tp-rung.is-recall{background:var(--accent-soft);color:var(--accent)}.tp-rung.is-translate{background:var(--accent);color:var(--accent-contrast)}.tp-stage{min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-6);padding:var(--space-6) 0}.tp-sentence{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;column-gap:var(--space-3);row-gap:var(--space-5);width:min(960px,100%);margin:0;text-align:center}.tp-word{display:inline-flex;flex-direction:column;align-items:center;gap:var(--space-1)}.tp-word-target{display:inline-flex;align-items:baseline;font-size:clamp(28px,3.4vw,44px);line-height:1.1;font-weight:var(--weight-semibold);color:var(--ink);transition:color var(--duration-medium) var(--ease-out)}.tp-word-punct{color:var(--muted)}.tp-word-gloss{min-height:1.2em;font-size:clamp(13px,1.15vw,16px);font-weight:var(--weight-medium);line-height:1.2;color:var(--accent);opacity:0;transform:translateY(-4px);transition:opacity var(--duration-medium) var(--ease-out),transform var(--duration-medium) var(--ease-overshoot)}.tp-word.is-revealed .tp-word-gloss{opacity:1;transform:translateY(0)}.tp-word.is-revealed .tp-word-target{color:color-mix(in srgb,var(--ink) 88%,var(--accent))}.tp-word.is-fixed .tp-word-gloss{color:var(--muted)}.tp-word.is-gap:not(.is-revealed) .tp-word-target{color:var(--soft);font-style:italic;font-weight:var(--weight-medium);border-bottom:2px dashed color-mix(in srgb,var(--accent) 45%,var(--line));padding-bottom:2px}.tp-translation{min-height:1.5em;margin:0;max-width:min(760px,100%);text-align:center;font-size:clamp(16px,1.7vw,21px);font-weight:var(--weight-medium);color:var(--soft);opacity:0;transform:translateY(6px);transition:opacity var(--duration-slow) var(--ease-out),transform var(--duration-slow) var(--ease-out)}.tp-translation.is-shown{opacity:1;transform:translateY(0)}.tp-sentence.is-complete .tp-word-target{color:color-mix(in srgb,var(--ink) 80%,var(--accent))}.tp-controls{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.tp-recorder{min-width:min(420px,100%)}.tp-actions{display:flex;align-items:center;gap:var(--space-4)}.tp-hint{margin:0;font-size:var(--text-sm);color:var(--muted)}.tp-action{appearance:none;border:0;background:transparent;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);color:var(--soft);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.tp-action:hover,.tp-action:focus-visible{outline:none;background:var(--panel-soft);color:var(--ink)}.tp-done{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center;color:var(--ink)}.tp-done-mark{display:grid;place-items:center;width:56px;height:56px;border-radius:var(--radius-round);background:var(--accent-soft);color:var(--accent);font-size:var(--text-xl)}.tp-done h2{margin:0;font-size:var(--text-lg);font-weight:var(--weight-semibold)}.tp-done p{margin:0;color:var(--muted)}.tp-done-restart{margin-top:var(--space-2);appearance:none;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--ink);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);padding:var(--space-2) var(--space-4);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-standard)}.tp-done-restart:hover,.tp-done-restart:focus-visible{outline:none;border-color:color-mix(in srgb,var(--accent) 42%,var(--line))}@media(prefers-reduced-motion:reduce){.tp-word-gloss,.tp-translation{transition:opacity var(--duration-fast) var(--ease-standard);transform:none}}.conversation-scenes{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:var(--space-3);padding:var(--space-5) clamp(var(--space-5),4vw,var(--space-10)) var(--space-6);background:var(--surface-card)}.cs-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-5);min-height:56px}.cs-head-titles{min-width:0}.cs-kicker{display:inline-flex;color:color-mix(in srgb,var(--muted) 84%,transparent);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.08em;text-transform:uppercase}.cs-head h1{margin:2px 0 0;color:color-mix(in srgb,var(--ink) 92%,transparent);font-size:clamp(20px,1.85vw,28px);line-height:var(--leading-tight);font-weight:var(--weight-semibold)}.cs-situation{margin:2px 0 0;color:var(--muted);font-size:var(--text-sm)}.cs-meta{color:var(--muted);font-size:var(--text-sm);text-align:right;font-variant-numeric:tabular-nums}.cs-stage-area{min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;align-items:center;gap:var(--space-4)}.cs-dialogue{width:min(860px,100%);height:min(500px,58vh);min-height:360px;margin:0 auto;overflow:hidden;display:flex;align-items:center}.cs-thread{width:100%;display:flex;flex-direction:column;gap:clamp(var(--space-5),4vh,var(--space-8));transition:transform var(--duration-slow) var(--ease-snap);will-change:transform}.cs-turn{display:flex;flex-direction:column;gap:var(--space-1);max-width:min(66%,560px);padding:0;opacity:.28;transform:scale(.985);transition:opacity var(--duration-medium) var(--ease-snap),transform var(--duration-medium) var(--ease-snap)}.cs-turn[data-side=partner]{align-self:flex-start;align-items:flex-start;text-align:left}.cs-turn[data-side=you]{align-self:flex-end;align-items:flex-end;text-align:right}.cs-turn.is-focus{opacity:1;transform:scale(1)}.cs-turn.is-past{opacity:.46}.cs-role{color:color-mix(in srgb,var(--muted) 68%,transparent);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.05em;text-transform:uppercase}.cs-turn[data-side=you] .cs-role{color:color-mix(in srgb,var(--accent) 64%,transparent)}.cs-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-1-5);margin:0;color:var(--ink);font-size:clamp(21px,2.15vw,34px);line-height:1.52;font-weight:var(--weight-semibold);letter-spacing:0}.cs-turn[data-side=you] .cs-line{justify-content:flex-end}.cs-chunk{display:inline-flex;align-items:baseline;min-height:1.24em;border:1px solid transparent;border-radius:var(--radius-sm);padding:0 var(--space-0-5);transition:background-color var(--duration-fast) var(--ease-snap),border-color var(--duration-fast) var(--ease-snap),box-shadow var(--duration-fast) var(--ease-snap),color var(--duration-fast) var(--ease-snap)}.cs-chunk.is-speaking,.cs-chunk.is-filled{color:var(--ink);font-style:normal}.cs-chunk.is-gap{background:color-mix(in srgb,var(--accent) 8%,transparent);border-color:color-mix(in srgb,var(--accent) 22%,transparent);color:color-mix(in srgb,var(--accent) 88%,var(--ink));font-style:italic}.cs-chunk.is-current{border-color:color-mix(in srgb,var(--accent) 50%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 16%,transparent),0 8px 22px -18px var(--accent)}.cs-chunk.is-current .cs-chunk-text:after{content:"";display:inline-block;width:2px;height:.95em;margin-left:3px;vertical-align:-.12em;background:var(--accent);border-radius:1px;animation:cs-caret 1.05s steps(2,jump-none) infinite}@keyframes cs-caret{0%,45%{opacity:1}55%,to{opacity:0}}.cs-punct{color:inherit}.cs-english{min-height:1.25em;margin:0;color:var(--muted);font-size:clamp(13px,1.1vw,15px);line-height:var(--leading-snug);opacity:0;transform:translateY(-3px);transition:opacity var(--duration-medium) var(--ease-snap),transform var(--duration-medium) var(--ease-snap)}.cs-english.is-shown{opacity:1;transform:translateY(0)}.cs-teacher{width:min(780px,100%);min-height:54px;margin:0 auto;display:grid;gap:var(--space-2);place-items:center;text-align:center}.cs-teacher p{margin:0}.cs-guide{color:var(--soft);font-size:clamp(15px,1.35vw,18px);line-height:var(--leading-relaxed)}.cs-question{display:grid;gap:var(--space-1);max-width:min(620px,100%);color:var(--soft)}.cs-question span{color:var(--muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.05em;text-transform:uppercase}.cs-question .cs-question-user,.cs-question .cs-question-answer{color:var(--soft);font-size:var(--text-sm-plus);line-height:var(--leading-snug)}.cs-controls{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.cs-instruction{min-height:1.35em;color:color-mix(in srgb,var(--ink) 82%,transparent);font-size:var(--text-sm-plus);font-weight:var(--weight-medium);text-align:center}.cs-recorder{min-width:min(380px,100%)}.cs-playing{min-width:min(300px,100%);height:44px;display:flex;align-items:center;justify-content:center;gap:var(--space-3);color:var(--accent)}.cs-playing-dot{width:7px;height:7px;border-radius:var(--radius-round);background:currentColor}.cs-playing-wave{display:inline-flex;align-items:center;gap:4px}.cs-playing-wave span{width:3px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--accent) 66%,transparent)}.cs-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-2);opacity:.42;transition:opacity var(--duration-fast) var(--ease-snap)}.cs-actions:hover,.cs-actions:focus-within{opacity:.9}.cs-actions button,.cs-primary-action{appearance:none;border:1px solid transparent;border-radius:var(--radius-pill);background:transparent;color:var(--soft);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);padding:var(--space-1) var(--space-2);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-snap),border-color var(--duration-fast) var(--ease-snap),color var(--duration-fast) var(--ease-snap)}.cs-actions button:hover,.cs-actions button:focus-visible,.cs-primary-action:hover,.cs-primary-action:focus-visible{outline:none;background:var(--panel-soft);border-color:var(--line);color:var(--ink)}.cs-primary-action{border-color:color-mix(in srgb,var(--accent) 24%,var(--line));background:var(--accent-soft);color:var(--accent);padding:var(--space-2) var(--space-5)}.cs-done,.cs-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);min-height:min(500px,58vh);text-align:center;color:var(--ink)}.cs-done-mark{display:grid;place-items:center;width:56px;height:56px;border-radius:var(--radius-round);background:var(--accent-soft);color:var(--accent);font-size:var(--text-xl)}.cs-done h2,.cs-empty h2{margin:0;font-size:var(--text-lg);font-weight:var(--weight-semibold)}.cs-done p,.cs-empty p{margin:0;color:var(--muted)}@media(max-width:960px){.conversation-scenes{padding:var(--space-4) var(--space-4) var(--space-6)}.cs-dialogue{height:50vh;min-height:330px}.cs-turn{max-width:78%}}@media(max-width:640px){.cs-head{min-height:46px}.cs-situation{display:none}.cs-turn{max-width:92%}.cs-line{font-size:clamp(20px,6.2vw,30px)}}@media(prefers-reduced-motion:reduce){.cs-thread,.cs-turn,.cs-chunk,.cs-english,.cs-actions button,.cs-primary-action{transition:none}.cs-chunk.is-current .cs-chunk-text:after{animation:none}}:root{color-scheme:light;--bg: #f7f7f5;--ink: #1d1d1b;--ink-contrast: #ffffff;--muted: #908f89;--soft: #62615c;--line: rgba(30, 24, 15, .08);--line-strong: rgba(30, 24, 15, .14);--good: var(--accent);--gap: #2f6df0;--card: #ffffff;--panel-soft: #f0f0ec;--voice-accent: var(--accent);--white: #ffffff;--accent: var(--gap);--accent-contrast: var(--ink-contrast);--accent-gradient-end: #5b8bff;--success: var(--accent);--success-contrast: var(--white);--success-gradient-end: var(--accent-gradient-end);--warning: #f97316;--danger: #dc2626;--danger-muted: #c0392b;--accent-soft: color-mix(in srgb, var(--accent) 7%, transparent);--accent-soft-strong: color-mix(in srgb, var(--accent) 12%, transparent);--accent-ring: color-mix(in srgb, var(--accent) 34%, transparent);--success-soft: color-mix(in srgb, var(--accent) 7%, transparent);--success-soft-strong: color-mix(in srgb, var(--accent) 12%, transparent);--success-text: var(--accent);--success-ring: color-mix(in srgb, var(--accent) 34%, transparent);--selected-line: color-mix(in srgb, var(--line-strong) 72%, transparent);--surface-page: var(--bg);--surface-card: var(--card);--surface-panel: var(--panel-soft);--surface-hover: #f2f2ef;--surface-hover-strong: #ececea;--surface-popover: rgba(255, 255, 255, .97);--surface-glass: rgba(255, 255, 255, .82);--surface-glass-strong: rgba(255, 255, 255, .9);--surface-overlay: rgba(24, 22, 18, .4);--surface-desk: #e3e9f1;--surface-desk-hi: #f0f4f8;--surface-desk-lo: #d5dee9;--font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif: "Fraunces", Georgia, serif;--type-caption: 11px;--type-label: 13px;--type-body: 15px;--type-title: 18px;--type-display: 24px;--text-2xs: var(--type-caption);--text-xs: var(--type-caption);--text-xs-plus: var(--type-caption);--text-sm: var(--type-label);--text-sm-plus: var(--type-label);--text-md: var(--type-body);--text-base: var(--type-body);--text-lg: var(--type-title);--text-xl: var(--type-title);--text-2xl: var(--type-title);--text-3xl: var(--type-display);--text-4xl: var(--type-display);--text-5xl: var(--type-display);--text-display-sm: 36px;--text-display-md: 44px;--text-display: 64px;--weight-normal: 400;--weight-medium: 500;--weight-medium-strong: 540;--weight-semibold-soft: 560;--weight-semibold: 600;--weight-semibold-strong: 640;--weight-bold: 700;--weight-bold-strong: 720;--weight-extra-bold: 760;--weight-display: 780;--weight-black: 800;--leading-tight: 1.05;--leading-snug: 1.15;--leading-normal: 1.4;--leading-relaxed: 1.5;--leading-copy: 1.58;--leading-reading: 1.62;--space-0: 0;--space-px: 1px;--space-0-5: 2px;--space-1: 4px;--space-1-5: 6px;--space-2: 8px;--space-2-5: 10px;--space-3: 12px;--space-3-5: 14px;--space-4: 16px;--space-4-5: 18px;--space-5: 20px;--space-5-5: 22px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-13: 52px;--space-14: 56px;--space-15: 60px;--space-16: 64px;--radius-2xs: 2px;--radius-xs: 4px;--radius-sm: 7px;--radius-control-sm: 9px;--radius-control-md: 10px;--radius-panel: 12px;--radius-control: 13px;--radius-menu: 14px;--radius-surface: 16px;--radius-popover: 18px;--radius-card: 20px;--radius-dock: 22px;--radius-pill: 999px;--radius-round: 50%;--blur-overlay: 4px;--blur-surface: 16px;--blur-surface-strong: 18px;--shadow-chip: 0 6px 18px rgba(28, 26, 22, .05);--shadow-segmented: 0 8px 24px rgba(28, 26, 22, .05);--shadow-menu: 0 12px 30px rgba(28, 26, 22, .09);--shadow-popover: 0 16px 44px rgba(28, 26, 22, .1), 0 3px 10px rgba(28, 26, 22, .05);--shadow-card: 0 1px 0 rgba(255, 255, 255, .6) inset, 0 22px 48px -34px rgba(28, 26, 22, .26);--shadow-window: 0 1px 0 rgba(255, 255, 255, .6) inset, 0 1px 4px rgba(28, 26, 22, .04), 0 24px 56px -30px rgba(28, 26, 22, .25);--shadow-window-back: 0 1px 0 rgba(255, 255, 255, .5) inset, 0 14px 36px -28px rgba(28, 26, 22, .2);--shadow-dock: 0 12px 34px rgba(28, 26, 22, .08), 0 2px 6px rgba(28, 26, 22, .04);--shadow-drawer: -20px 0 48px rgba(28, 26, 22, .13);--shadow-modal: 0 18px 50px rgba(20, 18, 14, .24);--shadow-primary: 0 10px 22px -12px rgba(28, 26, 22, .42);--shadow-progress: 0 0 10px color-mix(in srgb, var(--accent) 40%, transparent);--shadow-button: 0 1px 2px rgba(24, 33, 48, .06);--shadow-focus: 0 0 0 2px var(--accent-ring);--duration-tap: 60ms;--duration-press: 80ms;--duration-fast: .12s;--duration-base: .16s;--duration-medium: .24s;--duration-slow: .4s;--duration-slower: .5s;--duration-flash: .65s;--ease-standard: ease;--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-out-strong: cubic-bezier(.22, 1, .36, 1);--ease-snap: cubic-bezier(.4, 0, .2, 1);--ease-overshoot: cubic-bezier(.22, .9, .3, 1.3);--ease-in-out: cubic-bezier(.77, 0, .175, 1);--transition-color: color var(--duration-fast) var(--ease-standard);--transition-surface: background var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard)}:root[data-theme=dark]{color-scheme:dark;--bg: #18181a;--ink: #ededf0;--ink-contrast: #18181a;--muted: #82828a;--soft: #a6a6ae;--line: rgba(255, 255, 255, .09);--line-strong: rgba(255, 255, 255, .16);--good: var(--accent);--gap: #5b8bff;--card: #1f1f22;--panel-soft: #27272b;--voice-accent: var(--accent);--success-soft-strong: color-mix(in srgb, var(--accent) 16%, transparent);--success-text: var(--accent);--surface-hover: rgba(255, 255, 255, .05);--surface-hover-strong: var(--panel-soft);--surface-popover: rgba(24, 28, 34, .96);--surface-glass: rgba(24, 28, 34, .72);--surface-glass-strong: rgba(24, 28, 34, .86);--surface-overlay: rgba(0, 0, 0, .54);--shadow-chip: 0 8px 24px rgba(0, 0, 0, .28);--shadow-segmented: 0 10px 32px rgba(0, 0, 0, .26);--shadow-menu: 0 16px 40px rgba(0, 0, 0, .34);--shadow-popover: 0 22px 58px rgba(0, 0, 0, .42), 0 4px 14px rgba(0, 0, 0, .24);--shadow-card: 0 1px 0 rgba(255, 255, 255, .04) inset, 0 30px 60px -34px rgba(0, 0, 0, .65);--shadow-dock: 0 16px 44px rgba(0, 0, 0, .4), 0 2px 8px rgba(0, 0, 0, .3);--shadow-drawer: -24px 0 60px rgba(0, 0, 0, .42);--shadow-button: 0 1px 2px rgba(0, 0, 0, .24)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:var(--duration-fast)!important;scroll-behavior:auto!important}}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}button,a,[role=button],input,textarea,select,summary{transition:color var(--duration-tap) var(--ease-snap),background-color var(--duration-tap) var(--ease-snap),border-color var(--duration-tap) var(--ease-snap),fill var(--duration-tap) var(--ease-snap),stroke var(--duration-tap) var(--ease-snap),box-shadow var(--duration-fast) var(--ease-snap),opacity var(--duration-fast) var(--ease-snap),transform var(--duration-fast) var(--ease-snap)}button:active,[role=button]:active{transform:scale(.97)}
