.app-crash{position:fixed;inset:0;z-index:var(--z-notify);display:flex;align-items:center;justify-content:center;padding:var(--space-5);background:var(--surface-page)}.app-crash-card{max-width:400px;padding:var(--space-6);border-radius:var(--radius-card, 20px);background:var(--surface-card);box-shadow:var(--shadow-card);text-align:center}.app-crash-title{margin:0 0 var(--space-2);font-family:var(--font-serif);font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--ink)}.app-crash-body{margin:0 0 var(--space-5);font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--soft)}.app-crash-action{padding:var(--space-2-5) var(--space-5);border:0;border-radius:var(--radius-button, 12px);background:var(--accent);color:var(--white);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer}.app-crash-action:hover{filter:brightness(1.05)}.notify-stack{position:fixed;bottom:var(--space-5);right:var(--space-5);z-index:var(--z-notify);display:flex;flex-direction:column;gap:var(--space-2);width:min(380px,calc(100vw - var(--space-6)));pointer-events:none}.notify-card{pointer-events:auto;display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-3-5);border-radius:var(--radius-popover);background:var(--surface-popover);box-shadow:var(--shadow-popover);border-left:3px solid var(--notify-accent, var(--soft));color:var(--ink);animation:notify-in var(--duration-medium) var(--ease-out)}.notify-error{--notify-accent: var(--danger)}.notify-success{--notify-accent: var(--success)}.notify-info{--notify-accent: var(--soft)}.notify-message{flex:1;min-width:0;font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:var(--leading-snug)}.notify-close{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin:-2px -2px 0 0;padding:0;border:0;border-radius:var(--radius-xs);background:transparent;color:var(--muted);cursor:pointer;transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.notify-close:hover,.notify-close:focus-visible{color:var(--ink);background:var(--panel-soft)}@keyframes notify-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:480px){.notify-stack{top:var(--space-4);bottom:auto;left:50%;right:auto;transform:translate(-50%);width:calc(100vw - var(--space-5))}}.landing-modal-scrim{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:var(--space-5);background:#1a1b197a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:landing-fade var(--duration-base) var(--ease-out)}.landing-modal{position:relative;width:100%;max-width:760px;display:grid;grid-template-columns:1.02fr 1fr;border:1px solid var(--line);border-radius:20px;background:var(--surface-card);box-shadow:0 1px #ffffffb8 inset,0 18px 50px #14120e38,0 4px 16px #14120e14;text-align:left;overflow:hidden;animation:landing-pop var(--duration-medium) var(--ease-out)}.landing-modal-aside{display:flex;flex-direction:column;padding:var(--space-8) var(--space-7);background:radial-gradient(120% 80% at 12% -8%,var(--surface-desk-hi),transparent 58%),linear-gradient(180deg,var(--surface-desk) 0%,var(--surface-desk-lo) 100%);border-right:1px solid var(--line)}.landing-modal-eyebrow{align-self:flex-start;display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2-5);border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--gap);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.02em;text-transform:uppercase}.landing-modal-aside-title{margin:var(--space-4) 0 0;font-family:var(--font-serif);font-size:28px;font-weight:540;letter-spacing:-.015em;line-height:1.08;color:var(--ink)}.landing-modal-aside-lede{margin:var(--space-3) 0 0;font-size:var(--text-sm-plus);line-height:1.5;color:var(--soft)}.landing-modal-perks{list-style:none;margin:var(--space-6) 0 0;padding:0;display:grid;gap:var(--space-3-5)}.landing-modal-perks li{display:flex;align-items:flex-start;gap:var(--space-2-5);font-size:var(--text-sm-plus);font-weight:var(--weight-medium-strong);line-height:1.35;color:var(--ink)}.landing-modal-check{flex:none;width:18px;height:18px;margin-top:1px;fill:none;stroke:var(--gap);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.landing-modal-main{display:flex;flex-direction:column;justify-content:center;padding:var(--space-8) var(--space-7)}.landing-modal-sent{display:flex;flex-direction:column}@media(max-width:720px){.landing-modal{grid-template-columns:1fr;max-width:420px}.landing-modal-aside{padding:var(--space-7) var(--space-6) var(--space-6);border-right:none;border-bottom:1px solid var(--line)}.landing-modal-perks{display:none}.landing-modal-main{padding:var(--space-6)}}.landing-modal-close{position:absolute;top:var(--space-3);right:var(--space-3);display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:var(--radius-round);background:transparent;color:var(--muted);font-size:20px;line-height:1;cursor:pointer;transition:background var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),transform var(--duration-press) var(--ease-out)}.landing-modal-close:hover{background:var(--surface-hover);color:var(--ink)}.landing-modal-close:active{transform:scale(.94)}.landing-modal-title{margin:0;font-family:var(--font-serif);font-size:22px;font-weight:560;letter-spacing:-.01em;line-height:1.2;color:var(--ink)}.landing-modal-lede{margin:var(--space-2) 0 var(--space-6);font-size:var(--text-md);font-weight:var(--weight-medium);line-height:1.48;color:var(--soft)}.landing-modal-lede strong{color:var(--ink);font-weight:var(--weight-semibold)}.landing-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3);width:100%;height:50px;padding:0 var(--space-4);border-radius:var(--radius-control);border:1px solid var(--line-strong);background:var(--surface-card);color:var(--ink);font:inherit;font-size:var(--text-md);font-weight:var(--weight-semibold);cursor:pointer;box-shadow:var(--shadow-button);transition:background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),transform var(--duration-press) var(--ease-out)}.landing-btn:active{transform:scale(.98)}.landing-btn:disabled{opacity:.6;cursor:default}.landing-divider{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-4) 0;color:var(--muted);font-size:var(--text-sm);font-weight:var(--weight-medium)}.landing-divider:before,.landing-divider:after{content:"";flex:1;height:1px;background:var(--line)}.landing-email{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-2-5);width:100%;text-align:left}.landing-email label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--soft)}.landing-email input{min-width:0;height:48px;padding:0 var(--space-4);border-radius:var(--radius-control);border:1px solid var(--line-strong);background:var(--surface-card);font:inherit;font-size:var(--text-base);color:var(--ink);transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.landing-email input::placeholder{color:var(--muted)}.landing-email input:focus-visible{outline:none;border-color:var(--accent);box-shadow:var(--shadow-focus)}.landing-email button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);margin-top:var(--space-1);height:48px;padding:0 var(--space-5);border-radius:var(--radius-control);border:0;background:var(--surface-panel);font:inherit;font-weight:var(--weight-semibold);font-size:var(--text-md);color:var(--ink);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard),transform var(--duration-press) var(--ease-out)}.landing-email button:active{transform:scale(.98)}.landing-email button:disabled{color:var(--muted);cursor:default}.landing-email-arrow{font-size:var(--text-sm);color:var(--muted);transition:transform var(--duration-fast) var(--ease-out)}.landing-email button:not(:disabled):hover .landing-email-arrow{transform:translate(2px)}.landing-modal-switch{margin:var(--space-5) 0 0;color:var(--muted);font-size:var(--text-sm);line-height:1.5;text-align:center}.landing-modal-switch button{padding:0;border:0;background:none;color:var(--soft);font:inherit;font-weight:var(--weight-medium);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:2px;cursor:pointer;transition:color var(--duration-fast) var(--ease-standard)}.landing-modal-switch button:hover{color:var(--ink)}.landing-modal-legal{margin:var(--space-7) calc(-1 * var(--space-8)) calc(-1 * var(--space-8));padding:var(--space-4) var(--space-7);border-top:1px solid var(--line);background:var(--surface-panel);color:var(--muted);font-size:var(--text-sm);line-height:1.5;text-align:center}.landing-modal-legal a{color:var(--soft);font-weight:var(--weight-medium);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:2px;transition:color var(--duration-fast) var(--ease-standard)}.landing-modal-legal a:hover{color:var(--ink)}.landing-modal-error{margin:var(--space-4) 0 0;font-size:var(--text-md);line-height:var(--leading-normal);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-brand:focus-visible,.landing-cta:focus-visible,.win-select:focus-visible,.landing-btn:focus-visible,.landing-email button:focus-visible,.landing-modal-legal a:focus-visible,.landing-modal-close:focus-visible,.landing-footer-cta:focus-visible,.landing-footer-col a:focus-visible,.landing-footer-col button: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{filter:brightness(1.12)}.landing-btn:hover{background:var(--surface-hover);border-color:var(--soft)}.landing-email button:not(:disabled):hover{background:var(--surface-hover-strong)}.landing-footer-cta:hover{background:#fff;color:#18181a}}.landing{position:relative;min-height:100dvh;overflow-x:clip;padding-top:var(--space-5);color:var(--ink);background:var(--surface-desk-lo);font-family:var(--font-sans);zoom:.9}.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:sticky;top:var(--space-4);z-index:20;display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);width:calc(100% - clamp(var(--space-8),5vw,var(--space-16)));max-width:1180px;margin:0 auto;padding:var(--space-1-5) var(--space-1-5) var(--space-1-5) var(--space-4);border:1px solid var(--nav-edge);border-radius:var(--radius-pill);background:linear-gradient(135deg,color-mix(in srgb,var(--surface-glass-strong) 96%,var(--accent) 4%),color-mix(in srgb,var(--surface-glass) 90%,var(--surface-card) 10%));-webkit-backdrop-filter:blur(var(--blur-surface)) saturate(1.04);backdrop-filter:blur(var(--blur-surface)) saturate(1.04);box-shadow:0 12px 32px #1c243414,0 1px 4px #1c24340a;animation:landing-enter-down .52s var(--ease-out-strong) 40ms both}.landing-brand{display:inline-flex;align-items:center;gap:var(--space-3);min-height:38px;padding:0 var(--space-2);font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--ink);text-decoration:none}.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;min-height:38px;padding:0 var(--space-3);border-radius:var(--radius-pill);transition:background var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.landing-nav-signin:hover{color:var(--ink);background:var(--surface-hover)}.landing-nav-cta{border:0;border-radius:var(--radius-pill);background:var(--ink);color:var(--ink-contrast);font:inherit;font-size:var(--text-md);font-weight:var(--weight-semibold);cursor:pointer;min-height:40px;padding:0 var(--space-4-5);box-shadow:var(--shadow-button);transition:filter var(--duration-fast) var(--ease-standard),transform var(--duration-press) var(--ease-out)}.landing-nav-cta:hover{filter:brightness(1.12)}.landing-nav-cta:active{transform:scale(.98)}.landing-stage{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;width:100%;max-width:1240px;margin:0 auto;padding:var(--space-5) var(--space-10) var(--space-3);box-sizing:border-box}.landing-copy{max-width:40em;animation:landing-enter-up .62s var(--ease-out-strong) .12s both}.landing-headline{margin:0;font-size:clamp(2.35rem,4vw,3.15rem);line-height:1.04;letter-spacing:-.015em;font-weight:540;color:var(--ink);text-wrap:balance}.landing-sub{margin:var(--space-3) auto 0;max-width:32em;font-size:var(--text-md);line-height:1.45;font-weight:var(--weight-normal);color:var(--soft)}.landing-cta{margin-top:var(--space-4);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);transition:filter var(--duration-fast) var(--ease-standard),transform var(--duration-press) var(--ease-out)}.landing-cta:hover{filter:brightness(1.12)}.landing-cta:active{transform:scale(.98)}.landing-fineprint{scroll-margin-top:96px;margin:var(--space-3) 0 0;font-size:var(--text-sm-plus);font-weight:var(--weight-medium);color:var(--soft)}.win{background:var(--surface-card);border:1px solid var(--line);border-radius:var(--radius-dock);box-shadow:var(--shadow-window);overflow:hidden;text-align:left;box-sizing:border-box}.landing-composer-zone{width:100%;max-width:980px;margin-top:var(--space-5);animation:landing-window-in .72s var(--ease-out-strong) .26s both}.ldx-composer{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-4) var(--space-4) var(--space-5);border-radius:26px;transition:border-color .3s var(--ease-snap),box-shadow .3s var(--ease-snap)}.ldx-composer.is-live{border-color:color-mix(in srgb,var(--accent) 36%,var(--line));box-shadow:var(--shadow-window),0 0 0 4px color-mix(in srgb,var(--accent) 7%,transparent)}.ldx-mic{position:relative;flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:var(--radius-round);background:var(--surface-panel);color:var(--soft);transition:background .3s var(--ease-snap),color .3s var(--ease-snap)}.ldx-mic svg{width:17px;height:17px;fill:currentColor}.ldx-mic .ldx-stop{display:none;width:13px;height:13px;border-radius:4px;background:currentColor}.ldx-composer.is-live .ldx-mic{background:var(--accent);color:#fff}.ldx-composer.is-live .ldx-mic svg{display:none}.ldx-composer.is-live .ldx-mic .ldx-stop{display:block}.ldx-composer.is-live .ldx-mic:after{content:"";position:absolute;inset:-5px;border-radius:var(--radius-round);border:2px solid var(--accent-ring);animation:ldx-pulse 1.6s var(--ease-standard) infinite}@keyframes ldx-pulse{0%{transform:scale(.92);opacity:.9}70%{transform:scale(1.18);opacity:0}to{transform:scale(1.18);opacity:0}}.ldx-composer-text{flex:1;min-width:0;min-height:52px;display:flex;align-items:center;margin:0;text-align:left;font-size:var(--text-md);line-height:1.45;font-weight:var(--weight-medium);color:var(--ink)}.ldx-composer-text .inner{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.ldx-composer-text.is-placeholder{color:var(--muted);font-weight:var(--weight-normal)}.ldx-caret{display:inline-block;width:2px;height:1.05em;margin-left:2px;border-radius:1px;background:var(--accent);vertical-align:text-bottom;animation:ldx-caret 1.1s steps(1) infinite}@keyframes ldx-caret{50%{opacity:0}}.ldx-packnew{flex:none;display:inline-flex;gap:var(--space-2);border-radius:var(--radius-pill);background:var(--accent);color:#fff;font-size:var(--text-sm-plus);font-weight:var(--weight-semibold);min-height:40px;padding:0 var(--space-4-5);align-items:center;transition:opacity .26s var(--ease-snap),transform var(--duration-press) var(--ease-out),filter var(--duration-fast) var(--ease-standard)}.ldx-packnew.is-disabled{opacity:.42}.ldx-packnew.is-press{transform:scale(.95);filter:brightness(1.15)}.composer-ideas{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.composer-ideas-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--soft);margin-right:var(--space-1)}.idea-chip{display:inline-flex;align-items:center;border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:transparent;color:var(--soft);font:inherit;font-size:var(--text-sm-plus);font-weight:var(--weight-medium);min-height:34px;padding:0 var(--space-3-5);cursor:pointer;transition:color .18s var(--ease-snap),border-color .18s var(--ease-snap),background .18s var(--ease-snap)}.idea-chip:hover{color:var(--ink);border-color:color-mix(in srgb,var(--accent) 40%,var(--line-strong));background:color-mix(in srgb,var(--accent-soft) 70%,transparent)}.idea-refresh{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line-strong);border-radius:var(--radius-round);color:var(--soft);font-size:var(--text-md)}.composer-caption{margin:var(--space-2-5) 0 0;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--soft)}.landing-band{position:relative;z-index:1;width:100%;max-width:1240px;margin:0 auto;padding:var(--space-4) var(--space-10) var(--space-10);box-sizing:border-box;text-align:center}.landing-band-eyebrow{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2-5);border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--gap);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.02em;text-transform:uppercase}.landing-band-title{margin:var(--space-2-5) auto 0;font-size:clamp(1.45rem,2.2vw,1.85rem);line-height:1.1;letter-spacing:-.015em;font-weight:540;color:var(--ink);text-wrap:balance}.landing-band-line{margin:var(--space-2-5) auto 0;max-width:34em;font-size:var(--text-sm-plus);line-height:1.45;color:var(--soft)}.ldx-pack{max-width:780px;margin:var(--space-4) auto 0;padding:var(--space-5) var(--space-6)}.ldx-pack-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);min-height:24px}.ldx-pack-title{margin:0;font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--ink);transition:color .24s var(--ease-snap)}.ldx-pack-title.is-writing{color:var(--soft);font-weight:var(--weight-medium)}.ldx-pack-count{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--muted);opacity:0;transition:opacity .3s var(--ease-snap)}.ldx-pack-count.is-on{opacity:1}.ldx-pack-helper{margin:var(--space-2) 0 0;font-size:var(--text-sm-plus);color:var(--soft)}.ldx-pack-lines{margin-top:var(--space-5);min-height:220px;display:flex;flex-direction:column;gap:var(--space-3-5)}.ldx-line{display:grid;grid-template-columns:22px 1fr 26px;gap:var(--space-3);align-items:baseline}.ldx-line-num{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--muted);text-align:right}.ldx-line-rule{display:block;height:1px;margin-top:12px;background:var(--line-strong);border-radius:1px}.ldx-line-target{margin:0;font-size:var(--text-md);font-weight:var(--weight-medium-strong);color:var(--ink);transition:opacity .24s var(--ease-snap),transform .24s var(--ease-snap)}.ldx-line-target.pre{opacity:0;transform:translateY(4px)}.ldx-line-en{margin:var(--space-0-5) 0 0;font-size:var(--text-sm-plus);color:var(--soft);opacity:0;transition:opacity .26s var(--ease-snap)}.ldx-line-en.on{opacity:1}.ldx-line-x{align-self:center;display:grid;place-items:center;width:24px;height:24px;border-radius:var(--radius-round);color:var(--muted);font-size:var(--text-sm);opacity:0;transition:opacity .26s var(--ease-snap)}.ldx-line-x.on{opacity:1}.ldx-pack-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-7)}.ldx-pack-again{display:inline-flex;gap:var(--space-2);border:1px solid var(--line-strong);border-radius:var(--radius-control-sm);color:var(--ink);font-size:var(--text-sm-plus);font-weight:var(--weight-semibold);min-height:40px;padding:0 var(--space-4);align-items:center}.ldx-pack-actions-right{display:inline-flex;align-items:center;gap:var(--space-4)}.ldx-pack-back{font-size:var(--text-md);font-weight:var(--weight-medium);color:var(--soft)}.ldx-pack-save{display:inline-flex;align-items:center;border-radius:var(--radius-control-sm);background:var(--accent);color:#fff;font-size:var(--text-md);font-weight:var(--weight-semibold);min-height:40px;padding:0 var(--space-5);opacity:.42;transition:opacity .3s var(--ease-snap)}.ldx-pack-save.is-ready{opacity:1}.ldx-belt{max-width:1000px;margin:var(--space-8) auto 0;padding:var(--space-7) var(--space-8) var(--space-8)}.ldx-belt-head{display:flex;flex-direction:column;align-items:center;gap:var(--space-2-5)}.ldx-belt-label{font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:.09em;text-transform:uppercase;color:var(--soft)}.ldx-belt-segments{display:flex;align-items:center;gap:var(--space-2)}.ldx-belt-segments span{display:block;width:34px;height:4px;border-radius:var(--radius-pill);background:var(--line-strong);transition:background .4s var(--ease-snap)}.ldx-belt-segments span.is-done{background:var(--accent);opacity:.85}.ldx-belt-segments span.is-live{background:color-mix(in srgb,var(--accent) 55%,var(--line-strong))}.ldx-belt-stream{display:flex;flex-direction:column;align-items:center;gap:var(--space-6);margin-top:var(--space-7);min-height:260px;justify-content:center}.ldx-belt-row{display:flex;flex-direction:column;align-items:center;gap:var(--space-2-5);transition:opacity .45s var(--ease-snap)}.ldx-belt-row.is-far{opacity:.34}.ldx-belt-row.is-near{opacity:.55}.ldx-belt-row.is-gone{opacity:0}.ldx-belt-translation{margin:0 0 var(--space-1);max-width:36em;text-align:center;color:var(--muted);font-family:var(--font-serif, var(--font-sans));font-size:var(--text-md);font-weight:var(--weight-normal);line-height:1.35;transition:opacity .36s var(--ease-out),transform .36s var(--ease-out)}.ldx-belt-translation.is-past{font-size:var(--text-sm);opacity:.85}.ldx-belt-translation.is-hidden{opacity:0;transform:translateY(-2px);pointer-events:none}.ldx-belt-sentence{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;column-gap:var(--space-3-5);row-gap:var(--space-4)}.ldx-belt-word{display:inline-flex;flex-direction:column;align-items:center;gap:5px}.ldx-recall-token{display:inline-flex;flex-direction:column;align-items:center;gap:0;min-width:1.2em;position:relative;padding-bottom:22px}.ldx-recall-target-row{display:inline-flex;align-items:baseline;gap:0}.ldx-belt-word-text{font-size:21px;font-weight:var(--weight-medium-strong);letter-spacing:-.01em;color:var(--soft);line-height:1.15;border-bottom:2px solid transparent;transition:color .28s var(--ease-out),border-color .28s var(--ease-out)}.ldx-belt-word-text.is-earned,.ldx-belt-word-text.is-said{color:var(--accent)}.ldx-belt-word-text.is-hidden{color:transparent;border-bottom-color:color-mix(in srgb,var(--ink) 22%,transparent);border-radius:1px;padding-bottom:2px}.ldx-recall-punct{color:var(--soft);font-size:inherit;font-weight:inherit;transition:color .28s var(--ease-out),opacity .28s var(--ease-out)}.ldx-belt-row.is-active .ldx-recall-punct{color:var(--ink)}.ldx-recall-token.is-cue .ldx-recall-punct{opacity:0}.ldx-recall-token.is-spoken .ldx-recall-punct{color:var(--accent);opacity:1}.ldx-recall-gloss,.ldx-recall-token>.ldx-belt-dots{position:absolute;left:50%;top:calc(100% - 18px);transform:translate(-50%)}.ldx-recall-gloss{max-width:12ch;color:var(--muted);font-size:var(--text-sm);font-weight:var(--weight-normal);line-height:1.15;text-align:center;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .28s var(--ease-out),transform .28s var(--ease-out);transform:translate(-50%) translateY(3px)}.ldx-recall-token.is-cue .ldx-recall-gloss{opacity:1;transform:translate(-50%) translateY(0)}.ldx-recall-token.is-spoken .ldx-recall-gloss{opacity:0;transform:translate(-50%) translateY(-2px)}.ldx-belt-dots{display:inline-flex;gap:3px;height:5px;opacity:0;transition:opacity .24s var(--ease-out)}.ldx-belt-word .ldx-belt-dots{opacity:1;position:static;transform:none}.ldx-recall-token.is-reading .ldx-belt-dots,.ldx-recall-token.is-spoken .ldx-belt-dots{opacity:1}.ldx-recall-token.is-cue .ldx-belt-dots{opacity:0}.ldx-belt-dots i{width:4px;height:4px;border-radius:var(--radius-round);background:color-mix(in srgb,var(--ink) 14%,transparent);transition:background .24s var(--ease-out)}.ldx-belt-dots i.on{background:var(--accent)}.ldx-belt-dots.is-gained{animation:ldx-pips-pop .48s var(--ease-out) both}.ldx-belt-dots.is-gained i.on{animation:ldx-pip-light .48s var(--ease-out) both}@keyframes ldx-pips-pop{0%{transform:scale(.7);opacity:.4}60%{transform:scale(1.1);opacity:1}to{transform:scale(1);opacity:1}}@keyframes ldx-pip-light{0%{transform:scale(.5)}55%{transform:scale(1.2)}to{transform:scale(1)}}.ldx-belt-check{color:var(--accent);font-size:16px;line-height:1;margin-top:var(--space-1)}.ldx-belt-inline-check{display:inline-flex;align-items:center;align-self:flex-start;margin-left:var(--space-2);margin-top:.15em;opacity:0;transform:scale(.7);transition:opacity .22s var(--ease-out),transform .22s var(--ease-out)}.ldx-belt-inline-check.is-on{opacity:1;transform:scale(1)}.ldx-belt-inline-check-icon{width:.9em;height:.9em;fill:none;stroke:var(--accent);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.ldx-belt-inline-check.is-on .ldx-belt-inline-check-icon{animation:ldx-belt-check-pop .4s var(--ease-out) both}@keyframes ldx-belt-check-pop{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.ldx-belt-row.is-active .ldx-belt-word-text{font-size:28px;font-weight:var(--weight-semibold);color:var(--ink)}.ldx-belt-row.is-active .ldx-belt-word-text.is-said{color:var(--accent)}.ldx-belt-row.is-active .ldx-belt-word-text.is-hidden{color:transparent}.ldx-belt-row.is-active .ldx-belt-dots i{width:5px;height:5px}.ldx-belt-hud{margin-top:var(--space-8)}.ldx-hud-bar{display:flex;align-items:center;justify-content:center;gap:var(--space-4);flex-wrap:wrap;width:fit-content;margin:0 auto;padding:var(--space-1)}.ldx-recorder{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-width:360px;min-height:44px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));border-radius:var(--radius-pill);background:linear-gradient(180deg,color-mix(in srgb,var(--surface-card) 94%,var(--accent-soft)) 0%,var(--surface-card) 100%);color:var(--ink);font-size:var(--text-sm-plus);font-weight:var(--weight-semibold);padding:0 var(--space-4);box-shadow:0 18px 42px -32px color-mix(in srgb,var(--accent) 65%,transparent);box-sizing:border-box;transition:color .26s var(--ease-snap),border-color .26s var(--ease-snap),background .26s var(--ease-snap)}.ldx-recorder.is-live{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 48%,var(--line-strong));background:var(--accent-soft-strong)}.ldx-recorder-mark{flex:0 0 auto;width:7px;height:7px;border-radius:var(--radius-round);background:var(--accent)}.ldx-recorder-label{flex:0 0 auto;min-width:82px;text-align:left}.ldx-wave{flex:1 1 auto;display:flex;align-items:center;justify-content:flex-end;gap:4px;min-width:120px;height:28px}.ldx-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))}.ldx-recorder.is-live .ldx-wave span{background:var(--accent);animation:ldx-wave .62s var(--ease-standard) infinite;transform-origin:center}.ldx-recorder.is-live .ldx-wave span:nth-child(2n){animation-delay:90ms}.ldx-recorder.is-live .ldx-wave span:nth-child(3n){animation-delay:.17s}.ldx-recorder.is-live .ldx-wave span:nth-child(4n){animation-delay:.25s}@keyframes ldx-wave{0%,to{transform:scaleY(.46);opacity:.68}45%{transform:scaleY(1.08);opacity:1}}.ldx-hud-meta{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--space-5);width:100%;margin-top:var(--space-3)}.ldx-hud-status{color:var(--soft);text-align:center;font-size:var(--text-sm-plus);font-weight:var(--weight-medium)}.ldx-hud-hear{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--soft);font-size:var(--text-sm-plus);font-weight:var(--weight-medium)}.ldx-hud-hear-source{color:var(--muted);font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:.03em;text-transform:uppercase}.ldx-hud-teacher{display:inline-flex;align-items:center;gap:var(--space-2);min-height:36px;padding:0 var(--space-3-5);border:1px solid color-mix(in srgb,var(--accent) 38%,var(--line));border-radius:var(--radius-pill);background:var(--surface-card);color:var(--accent);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.ldx-hud-teacher svg{width:14px;height:14px;fill:currentColor}.ldx-hud-teacher kbd{font-family:inherit;font-size:var(--text-2xs);font-weight:var(--weight-semibold);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 40%,var(--line));border-radius:5px;padding:1px 5px}.landing-langs-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-3);max-width:1000px;margin:var(--space-8) auto 0}.lang-tile{display:flex;flex-direction:column;align-items:center;gap:var(--space-1-5);padding:var(--space-5) var(--space-3) var(--space-4-5);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-card);box-shadow:var(--shadow-button);font:inherit;color:inherit;cursor:pointer;transition:border-color .2s var(--ease-snap),box-shadow .2s var(--ease-snap),transform .18s var(--ease-out)}.lang-tile:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 42%,var(--line));box-shadow:var(--shadow-button),0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent)}.lang-tile:active:not(:disabled){transform:scale(.98)}.lang-tile.is-active{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));box-shadow:var(--shadow-button),0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}.lang-tile:disabled{cursor:default;opacity:.55}.lang-tile-name{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--soft)}.lang-tile-script{font-size:var(--text-4xl);font-weight:var(--weight-medium-strong);letter-spacing:-.01em;color:var(--ink);line-height:1.15}.lang-tile-sub{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--soft)}.lang-tile-sub.is-roman{color:var(--accent);font-weight:var(--weight-semibold)}.landing-course-strip{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--space-2-5);max-width:800px;margin:var(--space-6) auto 0}.landing-course-strip-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--soft);margin-right:var(--space-1)}.course-chip{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--soft);font-size:var(--text-sm);font-weight:var(--weight-medium);min-height:30px;padding:0 var(--space-3)}.landing-footer{position:relative;z-index:1;padding:0 var(--space-10) var(--space-8)}.landing-footer-panel{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(var(--space-8),6vw,72px);width:100%;max-width:1440px;margin:0 auto;padding:clamp(var(--space-7),4vw,var(--space-12));border:1px solid rgba(255,255,255,.09);border-radius:clamp(var(--radius-card),2.4vw,30px);color:#ffffffeb;background:var(--footer-panel);box-shadow:0 28px 70px -44px #0009;overflow:hidden;box-sizing:border-box;text-align:left}.landing-footer-brand{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.landing-footer-mark{display:inline-flex;align-items:center;gap:var(--space-3);font-size:var(--text-md);font-weight:var(--weight-semibold);color:#ffffffd1}.landing-footer-mark .landing-mark{background:#fff;color:#2f6df0}.landing-footer-word{margin:var(--space-7) 0 0;font-size:clamp(3rem,7vw,5.4rem);line-height:.92;font-weight:var(--weight-black);color:#f4f4f6}.landing-footer-line{max-width:25em;margin:var(--space-5) 0 0;color:#ffffffa3;font-size:var(--text-lg);line-height:1.5;font-weight:var(--weight-medium)}.landing-footer-cta{margin-top:var(--space-6);min-height:46px;padding:0 var(--space-5);border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-pill);background:#f4f4f4;color:#18181a;font:inherit;font-size:var(--text-md);font-weight:var(--weight-semibold);cursor:pointer;box-shadow:0 12px 24px #0000002e}.landing-footer-cta:hover{background:#fff}.landing-footer-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(var(--space-6),4vw,var(--space-12));align-content:center;min-width:0}.landing-footer-col h3{margin:0 0 var(--space-4);color:#ffffffe0;font-size:var(--text-md);font-weight:var(--weight-semibold)}.landing-footer-col a,.landing-footer-col button,.landing-footer-col span{display:block;width:fit-content;margin:0;padding:var(--space-1-5) 0;border:0;background:transparent;color:#ffffff94;font:inherit;font-size:var(--text-md);font-weight:var(--weight-medium);text-align:left;text-decoration:none;cursor:pointer}.landing-footer-col span{cursor:default}.landing-footer-col a:hover,.landing-footer-col button:hover{color:#ffffffeb}@keyframes landing-enter-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes landing-enter-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes landing-window-in{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:860px){.landing-nav{width:calc(100% - var(--space-12))}.landing-stage{padding:var(--space-10) var(--space-6) var(--space-8)}.landing-band{padding-left:var(--space-6);padding-right:var(--space-6)}.landing-langs-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.landing-footer{padding:0 var(--space-6) var(--space-7)}.landing-footer-panel{grid-template-columns:1fr}}@media(max-width:560px){.landing{padding-top:var(--space-3)}.landing-nav{top:var(--space-3);width:calc(100% - var(--space-6));margin-top:0}.landing-nav-signin{display:none}.landing-stage{padding:var(--space-8) var(--space-5) var(--space-8)}.ldx-composer{flex-wrap:wrap;padding:var(--space-4)}.ldx-composer-text{flex-basis:100%;order:3;min-height:88px;align-items:flex-start}.ldx-packnew{margin-left:auto}.ldx-pack{padding:var(--space-6) var(--space-5)}.ldx-pack-lines{min-height:0}.ldx-pack-actions{flex-wrap:wrap;gap:var(--space-3)}.ldx-belt{padding:var(--space-6) var(--space-4) var(--space-7)}.ldx-belt-stream{min-height:0}.ldx-belt-row.is-active .ldx-belt-word-text{font-size:24px}.ldx-recorder{min-width:0;width:100%}.landing-langs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-footer-links{grid-template-columns:1fr 1fr}.landing-footer-word{font-size:clamp(2.6rem,14vw,4rem)}}@media(prefers-reduced-motion:reduce){.landing-nav,.landing-copy,.landing-composer-zone{animation:none}.ldx-composer.is-live .ldx-mic:after,.ldx-caret,.ldx-recorder.is-live .ldx-wave span,.ldx-belt-dots.is-gained,.ldx-belt-dots.is-gained i.on,.ldx-belt-inline-check.is-on .ldx-belt-inline-check-icon{animation:none}.ldx-belt-translation,.ldx-belt-word-text,.ldx-recall-gloss,.ldx-belt-dots,.ldx-belt-inline-check,.ldx-recall-punct{transition:none}}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.legal{position:relative;min-height:100vh;min-height:100dvh;overflow-x:hidden;color:var(--ink);background:var(--surface-desk-lo);font-family:var(--font-sans)}.legal-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%)}.legal-nav{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);width:100%;max-width:760px;margin:0 auto;padding:var(--space-6) var(--space-6) 0}.legal-brand{display:inline-flex;align-items:center;gap:var(--space-3);font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--ink);text-decoration:none}.legal-mark{display:grid;place-items:center;width:28px;height:28px;border-radius:var(--radius-control-sm);background:var(--ink);color:var(--ink-contrast);font-size:var(--text-md);font-weight:var(--weight-extra-bold)}.legal-back{font-size:var(--text-md);font-weight:var(--weight-medium);color:var(--soft);text-decoration:none;padding:var(--space-1-5) var(--space-3);border-radius:var(--radius-pill);transition:color var(--duration-fast) var(--ease-standard),background var(--duration-fast) var(--ease-standard)}.legal-back:hover{color:var(--ink);background:var(--surface-hover)}.legal-doc{position:relative;z-index:1;width:100%;max-width:760px;margin:var(--space-8) auto var(--space-16);padding:clamp(var(--space-8),5vw,var(--space-14));background:var(--surface-card);border:1px solid var(--line);border-radius:var(--radius-dock);box-shadow:var(--shadow-window)}.legal-eyebrow{margin:0;font-size:var(--text-sm);font-weight:var(--weight-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.legal-title{margin:var(--space-2) 0 0;font-family:var(--font-serif);font-size:clamp(2rem,4vw,2.75rem);line-height:1.08;letter-spacing:-.015em;font-weight:540;color:var(--ink)}.legal-updated{margin:var(--space-3) 0 0;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--muted)}.legal-body{margin-top:var(--space-8);font-size:var(--text-md);line-height:var(--leading-reading);color:var(--soft)}.legal-body>p:first-child{font-size:var(--text-lg);line-height:var(--leading-relaxed);color:var(--ink)}.legal-section{margin-top:var(--space-10)}.legal-h2{margin:0 0 var(--space-3);font-family:var(--font-serif);font-size:var(--text-2xl);line-height:var(--leading-snug);letter-spacing:-.01em;font-weight:var(--weight-semibold);color:var(--ink)}.legal-body p{margin:0 0 var(--space-4)}.legal-body ul{margin:0 0 var(--space-4);padding-left:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2-5)}.legal-body li{padding-left:var(--space-1)}.legal-body li::marker{color:var(--muted)}.legal-body strong{color:var(--ink);font-weight:var(--weight-semibold)}.legal-body a{color:var(--accent);text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--accent-ring)}.legal-body a:hover{text-decoration-color:var(--accent)}.legal-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-12);padding-top:var(--space-6);border-top:1px solid var(--line);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--muted)}.legal-footer a{color:var(--soft);text-decoration:none}.legal-footer a:hover{color:var(--ink)}.legal-brand:focus-visible,.legal-back:focus-visible,.legal-body a:focus-visible,.legal-footer a:focus-visible{outline:2px solid var(--accent);outline-offset:var(--space-0-5);border-radius:var(--radius-xs)}@media(max-width:560px){.legal-nav{padding:var(--space-5) var(--space-4) 0}.legal-doc{margin:var(--space-6) var(--space-3) var(--space-12);width:auto;padding:var(--space-6) var(--space-5)}.legal-footer{flex-direction:column;align-items:flex-start;gap:var(--space-2)}}.account-wrap{--ink: #1d1d1b;--ink-contrast: #ffffff;position:fixed;left:0;bottom:0;width:var(--rail-width);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-item:disabled{opacity:.55;cursor:default}.menu-item:disabled:active{transform:none}.menu-item.is-pro .menu-icon{color:var(--gap)}.menu-item.is-billing{height:auto;padding-top:var(--space-1-5);padding-bottom:var(--space-1-5)}.menu-item-lines{display:flex;flex-direction:column;gap:1px;min-width:0}.menu-item-sub{font-size:var(--text-xs);font-weight:var(--weight-medium);color:color-mix(in srgb,var(--ink-contrast) 48%,transparent)}.menu-error{margin:var(--space-0-5) var(--space-2) 0;padding:0 var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:var(--leading-snug);color:var(--danger)}.menu-item.is-static:disabled{opacity:1;cursor:default}.menu-item.is-static:hover{background:transparent}.menu-badge{margin-left:auto;padding:1px var(--space-1-5);border-radius:var(--radius-control-sm);background:color-mix(in srgb,var(--gap) 18%,transparent);color:var(--gap);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.02em}.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)}.sub-card{padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-control);background:var(--panel-soft)}.sub-card-head{display:flex;align-items:center;gap:var(--space-2)}.sub-plan{font-family:var(--font-serif);font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--ink)}.sub-badge{padding:2px var(--space-2);border-radius:var(--radius-xs);background:var(--success-soft-strong);color:var(--success-text);font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:.04em}.sub-badge-danger{background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger)}.sub-badge-muted{background:var(--line-strong);color:var(--soft)}.sub-price{margin:var(--space-3) 0 0;font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--ink)}.sub-meta{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--muted)}.sub-explainer,.sub-actions{margin-top:var(--space-4)}.sub-manage{padding:var(--space-2-5) var(--space-4);border:none;border-radius:var(--radius-control);background:var(--accent);color:var(--white);font:inherit;font-size:var(--text-md);font-weight:var(--weight-semibold);cursor:pointer;transition:filter var(--duration-fast) var(--ease-standard)}.sub-manage:hover{filter:brightness(1.05)}.sub-manage:disabled{opacity:.6;cursor:default}.menu-badge-alert{background:color-mix(in srgb,var(--danger) 16%,transparent);color:var(--danger)}.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)}.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-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}.settings-confirm-delete{flex-direction:column;align-items:stretch}.settings-confirm-delete>div{justify-content:flex-end}.settings-delete-input{height:34px;padding:0 var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius-control-sm);background:var(--surface-page);color:var(--ink);font:inherit;letter-spacing:.04em}.settings-delete-input:focus-visible{outline:2px solid var(--danger);outline-offset:0}.settings-delete-error{color:var(--danger);font-size:var(--text-sm)}.onboard{position:fixed;inset:0;z-index:50;display:grid;grid-template-columns:1.05fr 1fr;background:var(--bg);overflow-y:auto}.onboard-close{position:fixed;z-index:52;top:var(--space-5);right:var(--space-5);display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid var(--line-strong);border-radius:var(--radius-control-md);background:var(--surface-glass-strong);color:var(--soft);font:inherit;font-size:24px;line-height:1;cursor:pointer}.onboard-pitch{position:relative;display:flex;align-items:center;padding:var(--space-12) var(--space-10);color:var(--ink);background:radial-gradient(120% 80% at 14% -6%,var(--surface-desk-hi),transparent 58%),linear-gradient(180deg,var(--surface-desk) 0%,var(--surface-desk-lo) 100%);border-right:1px solid var(--line)}.onboard-pitch-inner{width:100%;max-width:30rem;margin-left:auto}.onboard-brand{display:inline-block;font-size:var(--text-sm);font-weight:var(--weight-bold);letter-spacing:.04em;text-transform:uppercase;color:var(--soft)}.onboard-headline{margin:var(--space-5) 0 0;font-family:var(--font-serif);font-size:clamp(2rem,3.2vw,2.75rem);line-height:1.05;letter-spacing:-.015em;font-weight:540;color:var(--ink)}.onboard-lede{margin:var(--space-4) 0 0;max-width:26em;font-size:var(--text-lg);line-height:1.5;font-weight:var(--weight-normal);color:var(--soft)}.onboard-perks{list-style:none;margin:var(--space-9) 0 0;padding:0;display:grid;gap:var(--space-5)}.onboard-perks li{display:flex;align-items:flex-start;gap:var(--space-3)}.onboard-perk-text{display:flex;flex-direction:column;gap:var(--space-1)}.onboard-perk-title{font-size:var(--text-md);font-weight:var(--weight-semibold-strong);color:var(--ink)}.onboard-perk-body{font-size:var(--text-sm-plus);line-height:1.45;color:var(--soft)}.onboard-check{flex:none;width:20px;height:20px;margin-top:1px;fill:none;stroke:var(--gap);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.onboard-trust{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-10) 0 0;font-size:var(--text-sm);color:var(--muted)}.onboard-lock{flex:none;width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.onboard-panel{display:flex;align-items:center;justify-content:center;padding:var(--space-12) var(--space-8);background:var(--bg)}.onboard-card{width:100%;max-width:25rem}.onboard-eyebrow{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2-5);border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--gap);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.02em;text-transform:uppercase}.onboard-title{margin:var(--space-3) 0 0;font-family:var(--font-serif);font-size:var(--text-display-sm);line-height:1.1;letter-spacing:-.018em;font-weight:var(--weight-semibold);color:var(--ink)}.onboard-sub{margin:var(--space-2-5) 0 0;font-size:var(--text-sm-plus);line-height:1.5;color:var(--soft)}.onboard-toggle{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-1);margin:var(--space-6) 0 0;padding:var(--space-1);background:var(--surface-panel);border-radius:var(--radius-control)}.onboard-toggle-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:40px;border:none;border-radius:var(--radius-control-md);background:transparent;color:var(--soft);font:inherit;font-size:var(--text-sm-plus);font-weight:var(--weight-semibold);cursor:pointer;transition:background var(--duration-fast) var(--ease-snap),color var(--duration-fast) var(--ease-snap),box-shadow var(--duration-fast) var(--ease-snap)}.onboard-toggle-btn:hover:not(.is-active):not(:disabled){color:var(--ink)}.onboard-toggle-btn.is-active{background:var(--card);color:var(--ink);box-shadow:var(--shadow-button)}.onboard-toggle-btn:disabled{cursor:default;opacity:.6}.onboard-toggle-badge{padding:1px var(--space-1-5);border-radius:var(--radius-pill);background:var(--accent-soft-strong);color:var(--gap);font-size:var(--text-xs);font-weight:var(--weight-bold)}.onboard-price{display:flex;flex-direction:column;gap:var(--space-1);min-height:58px;margin:var(--space-5) 0 0}.onboard-price-amount{font-family:var(--font-serif);font-size:var(--text-display-sm);font-weight:var(--weight-bold);line-height:1;color:var(--ink)}.onboard-price-cadence{margin-left:var(--space-1);font-family:var(--font-sans);font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--muted)}.onboard-price-detail{font-size:var(--text-sm);color:var(--soft)}.onboard-price-error{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:var(--soft)}.onboard-retry{border:1px solid var(--line-strong);border-radius:var(--radius-control-sm);padding:var(--space-1) var(--space-2-5);background:var(--card);color:var(--ink);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;transition:var(--transition-surface)}.onboard-retry:hover{background:var(--surface-hover)}.onboard-skeleton{display:block;border-radius:var(--radius-xs);background:color-mix(in srgb,var(--ink) 9%,transparent);animation:onboard-pulse 1.2s var(--ease-standard) infinite}.onboard-skeleton-price{width:38%;height:34px}.onboard-skeleton-detail{width:64%;height:14px}@keyframes onboard-pulse{50%{opacity:.5}}.onboard-timeline{list-style:none;margin:var(--space-6) 0 0;padding:var(--space-5) 0 0;border-top:1px solid var(--line);display:grid;gap:var(--space-4)}.onboard-timeline li{position:relative;display:grid;grid-template-columns:auto auto 1fr;align-items:baseline;gap:var(--space-3)}.onboard-timeline li:not(:last-child) .onboard-dot:after{content:"";position:absolute;left:50%;top:12px;width:1.5px;height:calc(100% + var(--space-4) - 12px);transform:translate(-50%);background:var(--line)}.onboard-dot{position:relative;flex:none;width:10px;height:10px;margin-top:1px;border-radius:var(--radius-round);background:var(--line-strong)}.onboard-dot.is-now{background:var(--gap);box-shadow:0 0 0 4px var(--accent-soft)}.onboard-step-label{font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--ink);white-space:nowrap}.onboard-step-body{font-size:var(--text-sm);line-height:1.4;color:var(--soft)}.onboard-error{margin:var(--space-4) 0 0;font-size:var(--text-sm);color:var(--danger)}.onboard-cta{width:100%;height:48px;margin:var(--space-6) 0 0;border:none;border-radius:var(--radius-control);background:var(--gap);color:var(--white);font:inherit;font-size:var(--text-md);font-weight:var(--weight-semibold-strong);cursor:pointer;box-shadow:var(--shadow-primary);transition:filter var(--duration-fast) var(--ease-snap),transform var(--duration-press) var(--ease-out)}.onboard-cta:hover:not(:disabled){filter:brightness(1.05)}.onboard-cta:active:not(:disabled){transform:scale(.99)}.onboard-cta:disabled{opacity:.6;cursor:default;box-shadow:none}.onboard-fineprint{margin:var(--space-3) 0 0;font-size:var(--text-xs);line-height:1.45;color:var(--muted);text-align:center}.onboard-account{margin:var(--space-5) 0 0;font-size:var(--text-xs);color:var(--muted);text-align:center}.onboard-signout{border:none;background:none;padding:0;font:inherit;font-size:var(--text-xs);color:var(--soft);text-decoration:underline;cursor:pointer}.onboard-signout:hover{color:var(--ink)}@media(max-width:860px){.onboard{grid-template-columns:1fr}.onboard-pitch{padding:var(--space-10) var(--space-6) var(--space-8);border-right:none;border-bottom:1px solid var(--line)}.onboard-pitch-inner{max-width:32rem;margin:0 auto}.onboard-perks{margin-top:var(--space-7);gap:var(--space-4)}.onboard-trust{margin-top:var(--space-7)}.onboard-panel{padding:var(--space-8) var(--space-6) var(--space-10)}}@media(max-width:480px){.onboard-perk-body{display:none}}.paywall-scrim{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:var(--space-4);background:#08090c47;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.paywall-modal{width:min(470px,100%);max-height:calc(100vh - var(--space-8));overflow-y:auto;padding:var(--space-6);border:1px solid var(--line-strong);border-radius:var(--radius-popover);background:var(--surface-popover);box-shadow:var(--shadow-modal)}.paywall-head{display:flex;align-items:start;justify-content:space-between;gap:var(--space-5)}.paywall-head>div{display:grid;gap:var(--space-1)}.paywall-head span{color:var(--accent);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.08em;text-transform:uppercase}.paywall-head h2{margin:0;color:var(--ink);font-family:var(--font-serif);font-size:var(--text-2xl);line-height:1.15}.paywall-head>button{flex:none;width:30px;height:30px;border:0;border-radius:var(--radius-round);background:var(--surface-hover);color:var(--muted);font:inherit;font-size:20px;cursor:pointer}.paywall-head>button:disabled{opacity:.5;cursor:default}.paywall-body{margin:var(--space-3) 0 0;color:var(--soft);font-size:var(--text-sm-plus);line-height:1.5}.paywall-benefits{display:grid;gap:var(--space-2-5);margin:var(--space-5) 0 0;padding:0;list-style:none;color:var(--soft);font-size:var(--text-sm);line-height:1.45}.paywall-benefits li{display:flex;align-items:start;gap:var(--space-2)}.paywall-benefits strong{color:var(--ink);font-weight:var(--weight-semibold)}.paywall-benefits svg{width:16px;height:16px;flex:none;margin-top:1px;fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.paywall-plans{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);margin-top:var(--space-5)}.paywall-plans>button{display:grid;gap:var(--space-3);min-width:0;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface-card);color:var(--ink);font:inherit;text-align:left;cursor:pointer}.paywall-plans>button:hover:not(:disabled){border-color:var(--line-strong);background:var(--surface-hover)}.paywall-plans>button.is-active{border-color:var(--accent-ring);box-shadow:0 0 0 2px var(--accent-soft)}.paywall-plans>button:disabled{cursor:default;opacity:.7}.paywall-plans>button>span{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.paywall-plans>button>span:last-child{display:grid;justify-content:start;gap:2px}.paywall-plans strong{font-size:var(--text-sm);font-style:normal}.paywall-plans>button>span:last-child strong{font-family:var(--font-serif);font-size:var(--text-lg)}.paywall-plans em{padding:2px 6px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);font-size:var(--text-2xs);font-style:normal;font-weight:var(--weight-bold)}.paywall-plans small{color:var(--muted);font-size:var(--text-2xs);font-weight:var(--weight-normal)}.paywall-price-skeleton{display:block;width:70%;height:20px;border-radius:var(--radius-xs);background:var(--surface-hover)}.paywall-continue{width:100%;min-height:44px;margin-top:var(--space-5);border:0;border-radius:var(--radius-control);background:var(--accent);color:#fff;font:inherit;font-weight:var(--weight-semibold);cursor:pointer}.paywall-continue:hover:not(:disabled){filter:brightness(1.05)}.paywall-continue:disabled{opacity:.55;cursor:default}.paywall-not-now{display:block;margin:var(--space-2) auto 0;padding:var(--space-2) var(--space-3);border:0;background:transparent;color:var(--muted);font:inherit;font-size:var(--text-sm);cursor:pointer}.paywall-not-now:hover{color:var(--ink)}.paywall-trust{margin:var(--space-3) 0 0;color:var(--muted);font-size:var(--text-2xs);line-height:1.45;text-align:center}.paywall-error,.paywall-load-error{margin:var(--space-3) 0 0;color:var(--danger-muted, #d56d72);font-size:var(--text-xs)}.paywall-load-error button{padding:0;border:0;background:transparent;color:var(--accent);font:inherit;font-weight:var(--weight-semibold);cursor:pointer}@media(max-width:520px){.paywall-modal{padding:var(--space-5)}.paywall-plans{grid-template-columns:1fr}}.welcome{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8) var(--space-5);background:radial-gradient(120% 70% at 50% -10%,var(--surface-desk-hi),transparent 55%),var(--bg)}.welcome-card{width:100%;max-width:30rem;text-align:center;animation:welcome-rise var(--duration-slow) var(--ease-out) both}.welcome-progress{display:flex;justify-content:center;gap:var(--space-1-5);margin-bottom:var(--space-5)}.welcome-progress span{width:28px;height:3px;border-radius:var(--radius-pill);background:var(--line-strong);transition:background var(--duration-medium) var(--ease-standard)}.welcome-progress span.is-active{background:var(--gap)}.welcome-step{animation:welcome-step-in var(--duration-medium) var(--ease-out) both}@keyframes welcome-step-in{0%{opacity:0;transform:translateY(6px)}}.welcome-eyebrow{margin:var(--space-5) 0 calc(-1 * var(--space-2));color:var(--gap);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.08em;text-transform:uppercase}.welcome-method{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:var(--space-2);margin-top:var(--space-8);padding:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-card)}.welcome-method span{display:grid;gap:var(--space-1)}.welcome-method strong{color:var(--ink);font-family:var(--font-serif);font-size:var(--text-lg)}.welcome-method small{color:var(--muted);font-size:var(--text-xs)}.welcome-method i{color:var(--gap);font-style:normal}.welcome-pack-demo{display:grid;gap:var(--space-2);margin-top:var(--space-7);text-align:left}.welcome-pack-demo>div{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface-card)}.welcome-pack-demo>div>span{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:var(--radius-round);background:var(--accent-soft);color:var(--gap);font-size:var(--text-xs);font-weight:var(--weight-bold)}.welcome-pack-demo p{display:grid;gap:2px;margin:0}.welcome-pack-demo strong{color:var(--ink);font-size:var(--text-sm-plus)}.welcome-pack-demo small{color:var(--muted);font-size:var(--text-xs);line-height:1.4}.welcome-actions{display:grid;grid-template-columns:auto 1fr;gap:var(--space-3);align-items:center;margin-top:var(--space-7)}.welcome-actions .welcome-cta{margin-top:0}.welcome-back{height:48px;padding:0 var(--space-4);border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface-card);color:var(--soft);font:inherit;font-weight:var(--weight-semibold);cursor:pointer}.welcome-back:hover{border-color:var(--line-strong);color:var(--ink)}@keyframes welcome-rise{0%{opacity:0;transform:translateY(12px)}}.welcome-badge{display:inline-flex;align-items:center;gap:var(--space-1-5);padding:var(--space-1) var(--space-2-5) var(--space-1) var(--space-2);border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--gap);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.02em;text-transform:uppercase}.welcome-badge-check{width:14px;height:14px;fill:none;stroke:var(--gap);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.welcome-title{margin:var(--space-4) 0 0;font-family:var(--font-serif);font-size:var(--text-display-md);line-height:1.05;letter-spacing:-.02em;font-weight:var(--weight-semibold);color:var(--ink)}.welcome-sub{margin:var(--space-3) auto 0;max-width:26em;font-size:var(--text-md);line-height:1.5;color:var(--soft)}.welcome-langs{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin:var(--space-7) 0 0}.welcome-lang{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3-5) var(--space-4);border:1.5px solid var(--line);border-radius:var(--radius-control);background:var(--surface-card);cursor:pointer;text-align:left;transition:border-color var(--duration-fast) var(--ease-snap),background var(--duration-fast) var(--ease-snap),transform var(--duration-press) var(--ease-out)}.welcome-lang-text{display:flex;flex-direction:column;gap:var(--space-0-5);min-width:0}.welcome-lang-tick{flex:none;display:grid;place-items:center;width:22px;height:22px;border-radius:var(--radius-round);border:1.5px solid var(--line-strong);transition:background var(--duration-fast) var(--ease-snap),border-color var(--duration-fast) var(--ease-snap)}.welcome-lang-tick.is-on{border-color:var(--gap);background:var(--gap)}.welcome-lang-tick svg{width:13px;height:13px;fill:none;stroke:var(--white);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.welcome-lang.is-disabled{opacity:.45;cursor:default}.welcome-lang:hover{border-color:var(--line-strong)}.welcome-lang:active{transform:scale(.99)}.welcome-lang.is-selected{border-color:var(--gap);background:var(--accent-soft)}.welcome-lang-native{font-family:var(--font-serif);font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--ink)}.welcome-lang-label{font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}.welcome-lang.is-selected .welcome-lang-label{color:var(--gap)}.welcome-cta{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;height:48px;margin:var(--space-7) 0 0;border:none;border-radius:var(--radius-control);background:var(--gap);color:var(--white);font:inherit;font-size:var(--text-md);font-weight:var(--weight-semibold-strong);cursor:pointer;box-shadow:var(--shadow-primary);transition:filter var(--duration-fast) var(--ease-snap),transform var(--duration-press) var(--ease-out)}.welcome-cta:hover{filter:brightness(1.05)}.welcome-cta:active{transform:scale(.99)}.welcome-cta-arrow{transition:transform var(--duration-fast) var(--ease-out)}.welcome-cta:hover .welcome-cta-arrow{transform:translate(3px)}.welcome-cta:disabled{opacity:.5;cursor:default;box-shadow:none;filter:none}.welcome-cta:disabled .welcome-cta-arrow{transform:none}.welcome-foot{margin:var(--space-3) auto 0;max-width:32em;font-size:var(--text-xs);line-height:1.5;color:var(--muted)}.welcome-account{margin:var(--space-4) 0 0;font-size:var(--text-xs);color:var(--muted);text-align:center}.welcome-account strong{font-weight:500;color:var(--ink)}.welcome-account-signout{margin-left:var(--space-2);padding:0;border:0;background:none;font:inherit;color:var(--muted);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.welcome-account-signout:hover{color:var(--ink)}.welcome-error{margin:var(--space-3) 0 0;color:var(--danger);font-size:var(--text-sm);text-align:center}.welcome-mictip{position:fixed;top:var(--space-3);left:var(--space-4);z-index:2;display:flex;align-items:flex-start;gap:var(--space-2);max-width:17rem;padding:var(--space-2-5) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface-popover);box-shadow:var(--shadow-popover);font-size:var(--text-xs);line-height:1.4;color:var(--soft);animation:welcome-mictip-in var(--duration-slow) var(--ease-out) both}.welcome-mictip strong{color:var(--ink);font-weight:var(--weight-semibold)}.welcome-mictip-arrow{flex:none;width:18px;height:18px;fill:none;stroke:var(--gap);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}@keyframes welcome-mictip-in{0%{opacity:0;transform:translateY(-6px)}}@media(max-width:420px){.welcome-langs,.welcome-method{grid-template-columns:1fr}.welcome-method i{transform:rotate(90deg)}}.finalizing{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);animation:welcome-rise var(--duration-slow) var(--ease-out) both}.finalizing-spinner{width:28px;height:28px;border-radius:var(--radius-round);border:2.5px solid var(--line-strong);border-top-color:var(--gap);animation:finalizing-spin .8s linear infinite}@keyframes finalizing-spin{to{transform:rotate(360deg)}}.finalizing-text{margin:var(--space-2) 0 0;font-family:var(--font-serif);font-size:var(--text-title);font-weight:var(--weight-semibold);color:var(--ink)}.finalizing-sub{margin:0;font-size:var(--text-sm);color:var(--muted)}@media(prefers-reduced-motion:reduce){.finalizing-spinner{animation-duration:1.6s}}.setpage{position:fixed;inset:0;z-index:60;overflow-y:auto;background:var(--bg);animation:setpage-fade var(--duration-base) var(--ease-snap)}@keyframes setpage-fade{0%{opacity:0}}.setpage-close{position:fixed;z-index:62;top:var(--space-5);right:var(--space-5);display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid var(--line-strong);border-radius:var(--radius-control-md);background:var(--surface-glass-strong);color:var(--soft);font:inherit;font-size:24px;line-height:1;cursor:pointer;transition:var(--transition-surface)}.setpage-close:hover{background:var(--surface-hover-strong);color:var(--ink)}.setpage-frame{display:grid;grid-template-columns:230px minmax(0,1fr);gap:var(--space-8);width:min(1020px,100%);min-height:100vh;margin:0 auto;padding:var(--space-10) var(--space-6) var(--space-12)}.setpage-rail{position:sticky;top:var(--space-10);align-self:start;display:grid;gap:2px}.setpage-rail-title{margin:0 0 var(--space-4);padding:0 var(--space-2-5);color:var(--ink);font-family:var(--font-serif);font-size:var(--text-2xl);font-weight:var(--weight-bold);letter-spacing:-.02em}.setpage-rail-link{display:flex;align-items:center;gap:var(--space-2-5);padding:var(--space-2) var(--space-2-5);border:0;border-radius:var(--radius-control-sm);background:transparent;color:var(--soft);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);text-align:left;cursor:pointer;transition:background var(--duration-fast) var(--ease-snap),color var(--duration-fast) var(--ease-snap)}.setpage-rail-link svg{width:16px;height:16px;flex:none;fill:none;stroke:var(--muted);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:stroke var(--duration-fast) var(--ease-snap)}.setpage-rail-link:hover{background:var(--surface-hover);color:var(--ink)}.setpage-rail-link:hover svg{stroke:var(--soft)}.setpage-rail-link.is-active{background:var(--surface-hover-strong);color:var(--ink);font-weight:var(--weight-semibold)}.setpage-rail-link.is-active svg{stroke:var(--accent)}.setpage-rail-sep{height:1px;margin:var(--space-3) var(--space-2-5);background:var(--line)}.setpage-body{min-width:0;padding-top:var(--space-2)}.setpage-body-head{margin-bottom:var(--space-5)}.setpage-body-head h3{margin:0;color:var(--ink);font-size:var(--text-xl);font-weight:var(--weight-bold);letter-spacing:-.015em}.setpage-body-head p{margin:var(--space-1-5) 0 0;color:var(--muted);font-size:var(--text-sm)}.setpage-section{display:grid;gap:var(--space-2);align-content:start}.setpage-ident{display:flex;align-items:center;gap:var(--space-3-5);padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--surface-card);margin-bottom:var(--space-2)}.setpage-avatar{display:block;width:44px;height:44px;flex:none;border-radius:var(--radius-round);overflow:hidden}.setpage-avatar>*{width:100%;height:100%}.setpage-who{display:grid;gap:2px;min-width:0}.setpage-who strong{color:var(--ink);font-size:var(--text-md);font-weight:var(--weight-semibold)}.setpage-who small{color:var(--muted);font-size:var(--text-xs)}.setpage-planchip{margin-left:auto;flex:none;padding:4px 10px;border-radius:var(--radius-pill);background:var(--accent-soft-strong);color:var(--accent);font-size:var(--text-2xs);font-style:normal;font-weight:var(--weight-bold);letter-spacing:.02em}.setpage-planchip.is-free{background:var(--surface-panel);color:var(--soft)}.setpage-rows{display:grid;gap:2px;align-content:start}.setpage-row{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3-5) var(--space-4);border-radius:var(--radius-panel);transition:background var(--duration-fast) var(--ease-snap)}.setpage-row:hover{background:var(--surface-hover)}.setpage-rowtext{flex:1;min-width:0;display:grid;gap:3px}.setpage-rowtext .settings-help b{color:var(--soft);font-weight:var(--weight-semibold)}.setpage-rowdiv{height:1px;margin:var(--space-2) var(--space-1);background:var(--line)}.setpage-row input[type=range]{width:200px;flex:none;accent-color:var(--accent)}.setpage-btn{flex:none;padding:var(--space-2) var(--space-3-5);border:1px solid var(--line-strong);border-radius:var(--radius-control-sm);background:transparent;color:var(--soft);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;transition:var(--transition-surface),color var(--duration-fast) var(--ease-snap)}.setpage-btn:hover{background:var(--surface-hover);color:var(--ink)}.setpage-btn.is-red{border-color:color-mix(in srgb,var(--danger) 40%,transparent);color:var(--danger-muted)}.setpage-btn.is-red:hover{background:var(--danger);border-color:transparent;color:#fff}.setpage-pill{display:inline-flex;align-items:center;gap:var(--space-2);flex:none;padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-control-sm);background:var(--surface-panel);color:var(--soft);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.setpage-google{width:14px;height:14px}.qa-access{display:grid;gap:var(--space-3);margin-top:var(--space-5);padding:var(--space-4);border:1px dashed color-mix(in srgb,var(--accent) 45%,var(--line));border-radius:var(--radius-panel);background:color-mix(in srgb,var(--accent) 4%,var(--surface-card))}.qa-access-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.qa-access-kicker{display:block;margin-bottom:2px;color:var(--accent);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.08em;text-transform:uppercase}.qa-access h4{margin:0;color:var(--ink);font-size:var(--text-md)}.qa-access p{margin:0;color:var(--muted);font-size:var(--text-sm);line-height:1.5}.qa-access-safe{flex:none;padding:4px 9px;border-radius:var(--radius-pill);background:var(--success-soft-strong);color:var(--success-text);font-size:var(--text-2xs);font-weight:var(--weight-bold)}.qa-access-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.qa-access-actions button{padding:var(--space-2) var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius-control-sm);background:transparent;color:var(--soft);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer}.qa-access-actions button:hover:not(:disabled){background:var(--surface-hover);color:var(--ink)}.qa-access-actions button.is-current{border-color:color-mix(in srgb,var(--accent) 55%,transparent);background:var(--accent-soft-strong);color:var(--accent)}.qa-access-actions button:disabled{opacity:.55;cursor:default}.qa-access .qa-access-error{color:var(--danger)}.setpage-danger{border:1px solid color-mix(in srgb,var(--danger) 30%,transparent);border-radius:var(--radius-panel);background:color-mix(in srgb,var(--danger) 3%,transparent);overflow:hidden}.setpage-danger-head{display:flex;align-items:center;gap:var(--space-2-5);padding:var(--space-3-5) var(--space-4);border-bottom:1px solid color-mix(in srgb,var(--danger) 18%,transparent)}.setpage-danger-head svg{width:16px;height:16px;fill:none;stroke:var(--danger);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.setpage-danger-head span{color:var(--danger);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.08em;text-transform:uppercase}.setpage-danger-row{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4)}.setpage-danger-row+.setpage-danger-row{border-top:1px solid var(--line)}.setpage-danger .settings-confirm{display:grid}@media(max-width:760px){.setpage-frame{grid-template-columns:1fr;gap:var(--space-5);padding:var(--space-6) var(--space-4) var(--space-10)}.setpage-rail{position:static;display:flex;flex-wrap:wrap;gap:var(--space-1)}.setpage-rail-title{width:100%;margin-bottom:var(--space-2)}.setpage-rail-sep{display:none}.setpage-row{flex-wrap:wrap}.setpage-row input[type=range]{width:100%}}.trainer-shell{min-height:100vh;height:100vh;display:grid;grid-template-columns:var(--rail-width) minmax(0,1fr);overflow:clip;background:var(--surface-page);color:var(--ink)}.workspace-nav{--ink: #1d1d1b;--ink-contrast: #ffffff;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{justify-self:start;margin-left:var(--space-1);color:color-mix(in srgb,var(--ink-contrast) 82%,transparent);font-family:var(--font-serif);font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:-.01em;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{position:relative;min-height:0;display:grid;grid-template-rows:minmax(0,1fr);overflow:hidden}.ws-toolbar{position:relative;display:flex;align-items:center;gap:var(--space-4);min-width:0;min-height:68px;padding:0 var(--space-5);border-bottom:1px solid var(--line);background:var(--surface-card)}.ws-identity{display:flex;flex:0 0 auto;align-items:baseline;gap:var(--space-2);padding:var(--space-1-5) var(--space-2);margin-left:calc(-1 * var(--space-2));border:0;border-radius:var(--radius-control-sm);background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.ws-identity:hover,.ws-identity:focus-visible{outline:none;background:var(--surface-hover)}.ws-identity-lang{font-family:var(--font-serif);font-size:var(--text-xl);font-weight:var(--weight-semibold);letter-spacing:-.01em;color:var(--ink)}.ws-identity-level{padding:2px var(--space-1-5);border-radius:var(--radius-xs);background:var(--panel-soft);color:var(--soft);font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:.06em}.ws-identity-next{color:var(--muted);font-size:var(--text-2xs);font-weight:var(--weight-medium);letter-spacing:.02em;white-space:nowrap}.ws-units{display:flex;flex:1 1 auto;align-items:center;gap:var(--space-2);min-width:0;padding:var(--space-1) var(--space-1);overflow-x:auto;scrollbar-width:none;scroll-behavior:smooth}.ws-units::-webkit-scrollbar{display:none}.ws-script-toggle{display:inline-flex;flex:0 0 auto;padding:2px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--panel-soft)}.ws-script-toggle button{appearance:none;padding:var(--space-1-5) var(--space-2-5);border:0;border-radius:var(--radius-pill);background:transparent;color:var(--muted);font:inherit;font-size:var(--text-xs);font-weight:var(--weight-medium);white-space:nowrap;cursor:pointer}.ws-script-toggle button:hover,.ws-script-toggle button:focus-visible{outline:none;color:var(--ink)}.ws-script-toggle button.is-active{background:var(--surface-card);color:var(--ink);box-shadow:var(--shadow-button)}.ws-toolbar.is-review{justify-content:flex-start}.ws-review-units{display:flex;flex:1 1 auto;align-items:center;gap:var(--space-2);min-width:0;padding:var(--space-1) var(--space-1);overflow-x:auto;scrollbar-width:none;scroll-behavior:smooth}.ws-review-units::-webkit-scrollbar{display:none}.ws-review-unit{appearance:none;display:inline-flex;flex:0 0 auto;align-items:center;gap:var(--space-2);max-width:260px;padding:var(--space-1-5) var(--space-2-5);border:1px solid var(--line);border-radius:var(--radius-pill);background:transparent;color:var(--muted);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);white-space:nowrap;cursor:pointer;transition:background var(--duration-fast) var(--ease-snap),border-color var(--duration-fast) var(--ease-snap),color var(--duration-fast) var(--ease-snap)}.ws-review-unit:hover,.ws-review-unit:focus-visible{outline:none;background:var(--surface-hover);color:var(--ink)}.ws-review-unit.is-active{border-color:var(--accent-ring);background:var(--accent-soft);color:var(--accent)}.ws-review-unit-step{display:inline-grid;place-items:center;min-width:28px;height:18px;flex:0 0 auto;padding:0 var(--space-1);border-radius:var(--radius-xs);background:var(--panel-soft);color:var(--soft);font-size:var(--text-2xs);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.ws-review-unit.is-active .ws-review-unit-step{background:var(--accent);color:#fff}.ws-review-unit-title{overflow:hidden;text-overflow:ellipsis}.ws-units-spacer{flex:1 1 auto}.ws-unit{appearance:none;display:inline-flex;flex:0 0 auto;align-items:center;gap:var(--space-1-5);max-width:200px;padding:var(--space-1-5) var(--space-2-5);border:1px solid var(--line);border-radius:var(--radius-pill);background:transparent;color:var(--muted);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);white-space:nowrap;cursor:pointer;transition:background var(--duration-fast) var(--ease-snap),border-color var(--duration-fast) var(--ease-snap),color var(--duration-fast) var(--ease-snap)}.ws-unit:hover,.ws-unit:focus-visible{outline:none;background:var(--surface-hover);color:var(--ink)}.ws-unit-mark{display:inline-grid;place-items:center;width:18px;height:18px;flex:0 0 auto;border-radius:var(--radius-xs);background:var(--panel-soft);color:var(--soft);font-size:var(--text-2xs);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.ws-unit-mark svg{width:11px;height:11px}.ws-unit-title{overflow:hidden;text-overflow:ellipsis}.ws-unit-dot{width:6px;height:6px;flex:0 0 auto;border-radius:50%;background:var(--accent)}.ws-unit.is-partial .ws-unit-mark{background:color-mix(in srgb,var(--accent) 14%,var(--panel-soft));color:var(--accent)}.ws-unit.is-complete{color:var(--soft)}.ws-unit.is-complete .ws-unit-mark{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent)}.ws-unit.is-due{border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.ws-unit.is-active{border-color:var(--accent-ring);background:var(--accent-soft);color:var(--accent)}.ws-unit.is-active .ws-unit-mark{background:var(--accent);color:#fff}.ws-unit-new{border-style:dashed;color:var(--soft)}.ws-unit-new .ws-unit-mark{background:transparent;font-size:var(--text-sm);line-height:1}@media(max-width:980px){.ws-unit-title{display:none}.ws-review-unit-title{max-width:130px}}.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-center{min-height:0;grid-row:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-8);padding:var(--space-8) 0}.trainer-completion-card{display:grid;justify-items:center;gap:var(--space-3);width:min(440px,100%);padding:var(--space-8);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-card);box-shadow:var(--shadow-popover);text-align:center}.trainer-completion-mark{display:grid;place-items:center;width:48px;height:48px;margin-bottom:var(--space-1);border-radius:var(--radius-round);background:var(--accent-soft);color:var(--accent)}.trainer-completion-mark svg{width:24px;height:24px}.trainer-completion-card h2{margin:0;color:var(--ink);font-family:var(--font-serif);font-size:var(--text-2xl)}.trainer-completion-card p{max-width:32em;margin:0;color:var(--muted);font-size:var(--text-md);line-height:var(--leading-relaxed)}.trainer-completion-action{display:inline-flex;align-items:center;gap:var(--space-2);min-height:42px;margin-top:var(--space-2);padding:0 var(--space-4);border:0;border-radius:var(--radius-control);background:var(--accent);color:#fff;font:inherit;font-weight:var(--weight-semibold);cursor:pointer}.trainer-completion-action:hover,.trainer-completion-action:focus-visible{outline:none;filter:brightness(1.06)}.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(--soft);font-family:var(--font-serif);font-size:var(--text-lg);font-weight:var(--weight-normal);line-height:var(--leading-snug)}.section-picker{display:grid;align-content:start;gap:var(--space-5);width:min(1080px,100%);min-height:100%;margin:0 auto;padding:var(--space-8) var(--space-10) var(--space-12);overflow-y:auto;scrollbar-width:none}.section-picker::-webkit-scrollbar{width:0;height:0;display:none}.section-pack-actions{display:grid;gap:var(--space-2);width:min(620px,100%);justify-self:center}.learn-create-bar{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);border:1px solid var(--line-strong);border-radius:var(--radius-surface);background:var(--surface-card);color:var(--ink);font:inherit;cursor:text;transition:border-color var(--duration-fast) var(--ease-snap)}.learn-create-bar:hover,.learn-create-bar:focus-visible{outline:none;border-color:var(--accent-ring)}.learn-create-bar:focus-within{border-color:var(--accent-ring);box-shadow:var(--shadow-focus)}.learn-create-spark{display:flex;color:var(--accent)}.learn-create-mic{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--line);border-radius:var(--radius-round);background:transparent;color:var(--muted);cursor:pointer;transition:background var(--duration-fast) var(--ease-snap),color var(--duration-fast) var(--ease-snap),border-color var(--duration-fast) var(--ease-snap)}.learn-create-mic svg{width:16px;height:16px}.learn-create-mic:hover{background:var(--surface-hover-strong);color:var(--ink)}.learn-create-mic.is-live{border-color:transparent;background:var(--accent);color:var(--ink-contrast);animation:learn-create-mic-pulse 1.6s var(--ease-standard) infinite}@keyframes learn-create-mic-pulse{0%,to{box-shadow:0 0 0 0 var(--accent-ring)}50%{box-shadow:0 0 0 6px transparent}}.learn-create-bar.is-listening{border-color:var(--accent-ring)}.learn-create-error{margin:0;color:var(--danger);font-size:var(--text-sm)}.learn-create-input{flex:1;min-width:0;border:0;background:transparent;color:var(--ink);font:inherit;font-size:var(--text-md);resize:none;overflow-y:auto;max-height:180px;line-height:1.5;padding:var(--space-1-5) 0}.learn-create-input::placeholder{color:var(--muted)}.learn-create-input:focus{outline:none}.learn-create-cta{display:inline-flex;align-items:center;gap:var(--space-1-5);padding:var(--space-2) var(--space-3);border:0;border-radius:var(--radius-pill);background:var(--accent);color:var(--ink-contrast);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-semibold);white-space:nowrap;cursor:pointer;transition:opacity var(--duration-fast) var(--ease-snap)}.learn-create-cta:disabled{opacity:.5;cursor:default}.learn-create-cta svg{width:14px;height:14px}.learn-create{display:grid;justify-items:center;gap:var(--space-3);width:100%}.learn-create.is-open{width:100%}.learn-create-chips{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-2)}.learn-create-chips-label{color:var(--muted);font-size:var(--text-sm);margin-right:var(--space-1)}.learn-create-chip{padding:var(--space-1-5) 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);cursor:pointer;transition:background var(--duration-fast) var(--ease-snap),color var(--duration-fast) var(--ease-snap)}.learn-create-chip:hover{background:var(--surface-hover-strong);color:var(--ink)}.learn-create-shuffle{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid var(--line);border-radius:var(--radius-round);background:transparent;color:var(--muted);font:inherit;font-size:var(--text-sm);cursor:pointer;transition:background var(--duration-fast) var(--ease-snap),color var(--duration-fast) var(--ease-snap),transform var(--duration-medium) var(--ease-snap)}.learn-create-shuffle:hover{background:var(--surface-hover-strong);color:var(--ink)}.learn-create-shuffle:active{transform:rotate(180deg)}.learn-create-chips{animation:learn-create-chips-in var(--duration-medium) var(--ease-snap)}@keyframes learn-create-chips-in{0%{opacity:0;transform:translateY(-4px)}}.section-library-intro.is-dim,.section-grid.is-dim{opacity:.36;filter:saturate(.85);pointer-events:none;transition:opacity var(--duration-medium) var(--ease-snap)}.section-library-intro{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);margin-top:var(--space-2)}.section-library-intro span{color:var(--accent);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.08em;text-transform:uppercase}.section-library-intro h2{margin:var(--space-1) 0 0;color:var(--ink);font-family:var(--font-serif);font-size:var(--text-xl);font-weight:var(--weight-semibold)}.section-library-intro p{max-width:30em;margin:0;color:var(--muted);font-size:var(--text-sm);line-height:var(--leading-snug);text-align:right}.section-grid{display:grid;grid-template-columns:1fr;gap:var(--space-6)}.section-block{display:grid;align-content:start;grid-template-columns:1fr;gap:var(--space-3);min-height:0;padding:0 0 var(--space-5);border-bottom:1px solid var(--line)}.section-block.is-packs{padding-top:var(--space-1)}.section-heading{appearance:none;display:inline-flex;align-items:center;gap:var(--space-2-5);align-self:start;justify-self:start;padding:var(--space-1) var(--space-2);margin-left:calc(-1 * var(--space-2));border:0;border-radius:var(--radius-control-sm);background:transparent;color:var(--ink);font:inherit;font-size:var(--text-md);font-weight:var(--weight-semibold);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard)}.section-heading:hover,.section-heading:focus-visible{outline:none;background:var(--surface-hover)}.section-heading-count{color:var(--muted);font-size:var(--text-sm);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.section-head-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);align-self:start}.section-heading-main{display:flex;align-items:baseline;gap:var(--space-1)}.section-see-all{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);border:0;background:transparent;color:var(--muted);font:inherit;font-size:var(--text-xs);font-weight:var(--weight-medium);cursor:pointer;transition:color var(--duration-fast) var(--ease-snap)}.section-see-all:hover,.section-see-all:focus-visible{outline:none;color:var(--soft)}.section-heading-cefr{color:var(--muted);font-size:var(--text-sm);font-weight:var(--weight-medium);white-space:nowrap}.section-tiles{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:0;list-style:none}.unit-box-new{border-style:dashed;color:var(--soft);font-size:var(--text-md)}.section-search{position:relative;display:flex;align-items:center;gap:var(--space-2);width:232px;flex:0 0 auto;padding:0 var(--space-2-5);border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface-card);transition:width var(--duration-medium) var(--ease-snap),border-color var(--duration-fast) var(--ease-standard)}.section-search:focus-within{width:300px;border-color:var(--accent-ring)}.section-search-kbd{flex:0 0 auto;padding:1px 5px;border:1px solid var(--line);border-radius:var(--radius-xs);background:var(--surface-panel);color:var(--muted);font-family:var(--font-sans);font-size:var(--text-2xs);font-weight:var(--weight-medium)}.section-search:focus-within .section-search-kbd{opacity:0}.section-search-icon{flex:0 0 auto;width:16px;height:16px;color:var(--muted)}.section-search-input{flex:1 1 auto;min-width:0;padding:var(--space-2-5) 0;border:0;background:transparent;color:var(--ink);font:inherit;font-size:var(--text-sm)}.section-search-input::placeholder{color:var(--soft)}.section-search-input:focus-visible{outline:none}.section-search-empty{margin:var(--space-2) auto 0;color:var(--muted);font-size:var(--text-sm);text-align:center}.section-search-results{display:grid;gap:var(--space-4);width:min(780px,100%);justify-self:center}.section-search-results ol{display:grid;gap:var(--space-3);margin:0;padding:0;list-style:none}.section-search-results li{min-width:0}.section-search-results li>button{position:relative;display:grid;gap:var(--space-1-5);width:100%;padding:var(--space-4) var(--space-12) var(--space-4) var(--space-5);border:1px solid var(--line);border-radius:var(--radius-surface);background:var(--surface-card);color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-standard),background var(--duration-fast) var(--ease-standard),transform var(--duration-press) var(--ease-out)}.section-search-results li>button:hover,.section-search-results li>button:focus-visible{outline:none;border-color:var(--accent-ring);background:var(--surface-hover)}.section-search-results li>button:active{transform:scale(.995)}.search-result-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);color:var(--muted);font-size:var(--text-2xs);font-weight:var(--weight-semibold)}.search-result-meta span:not(:first-child){padding:2px 6px;border-radius:var(--radius-pill);background:var(--surface-panel)}.section-search-results strong{font-size:var(--text-md);line-height:1.45}.section-search-results mark{border-radius:3px;background:color-mix(in srgb,var(--accent) 24%,transparent);color:inherit}.search-result-english{color:var(--muted);font-size:var(--text-sm);line-height:1.4}.search-result-arrow{position:absolute;top:50%;right:var(--space-5);color:var(--accent);font-size:var(--text-lg);transform:translateY(-50%)}.new-pack-cta{appearance:none;display:flex;align-items:center;gap:var(--space-3);width:100%;max-width:none;padding:var(--space-3) var(--space-4);border:1px solid var(--accent-soft-strong);border-radius:var(--radius-control);background:var(--accent-soft);color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.new-pack-cta:hover,.new-pack-cta:focus-visible{outline:none;border-color:var(--accent);background:var(--accent-soft-strong)}.new-pack-cta:active{transform:translateY(1px)}.new-pack-cta-icon{flex:0 0 auto;display:grid;place-items:center;width:34px;height:34px;border-radius:var(--radius-control-sm);background:var(--accent);color:#fff}.new-pack-cta-spark{width:20px;height:20px}.new-pack-cta-text{display:grid;gap:1px;flex:1 1 auto;min-width:0}.new-pack-cta-title{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--ink)}.new-pack-cta-sub{font-size:var(--text-xs);color:var(--muted)}.new-pack-cta-arrow{flex:0 0 auto;color:var(--accent);font-size:var(--text-md)}.pack-guide-link{display:inline-flex;align-items:center;gap:var(--space-2);width:max-content;margin:0 auto;padding:var(--space-1-5) var(--space-2-5);border:0;border-radius:var(--radius-pill);background:transparent;color:var(--muted);font:inherit;font-size:var(--text-xs);font-weight:var(--weight-semibold);cursor:pointer}.pack-guide-link span{display:grid;place-items:center;width:17px;height:17px;border:1px solid var(--line-strong);border-radius:var(--radius-round);font-size:10px}.pack-guide-link:hover,.pack-guide-link:focus-visible{outline:none;background:var(--surface-hover);color:var(--ink)}.unit-map{display:grid;align-content:start;justify-content:start;gap:var(--space-8);width:100%;min-height:100%;padding:var(--space-8) var(--space-10)}.unit-map-grid{display:grid;grid-template-columns:repeat(7,34px);gap:var(--space-3);justify-content:start;width:max-content;max-width:100%;margin:0;padding:0;list-style:none}.unit-box{appearance:none;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid var(--line);border-radius:var(--radius-control-md);background:transparent;color:var(--muted);font:inherit;font-size:var(--text-xs);font-variant-numeric:tabular-nums;text-align:center;cursor:pointer;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)}.unit-box:hover,.unit-box:focus-visible{outline:none;background:var(--surface-hover);color:var(--ink)}.unit-box:active{transform:scale(.985)}.unit-box.is-recommended{border-color:var(--accent);color:var(--ink)}.unit-box.is-due{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));color:var(--accent)}.unit-box.is-partial{background:color-mix(in srgb,var(--accent) 4%,transparent)}.unit-box.is-complete{border-color:transparent;background:var(--surface-panel);color:var(--soft)}.unit-box.is-new{animation:unit-box-new 1.8s var(--ease-out)}@keyframes unit-box-new{0%{transform:scale(.9);box-shadow:0 0 0 0 var(--accent);border-color:var(--accent)}35%{transform:scale(1);box-shadow:0 0 0 3px var(--accent-soft-strong);border-color:var(--accent)}to{box-shadow:0 0 0 0 transparent}}.unit-box.is-locked{border-style:dashed;color:var(--muted);opacity:.7}.unit-box-mark{display:inline-grid;place-items:center;width:100%;height:100%;font-weight:var(--weight-semibold)}.unit-box svg{width:14px;height:14px}.unit-map-packs{display:grid;gap:var(--space-3);align-content:start}.unit-map-packs-title{margin:0;color:var(--muted);font-size:var(--text-sm);font-weight:var(--weight-semibold);letter-spacing:.04em;text-transform:uppercase}.unit-map-pack-grid{display:grid;grid-template-columns:repeat(2,minmax(180px,220px));gap:var(--space-3);margin:0;padding:0;list-style:none}.unit-pack-box{appearance:none;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:var(--space-3);width:100%;min-height:52px;padding:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-control-md);background:transparent;color:var(--muted);font:inherit;text-align:left;cursor:pointer;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)}.unit-pack-box:hover,.unit-pack-box:focus-visible{outline:none;background:var(--surface-hover);color:var(--ink)}.unit-pack-box:active{transform:scale(.985)}.unit-pack-box .unit-box-mark{width:34px;height:34px;border-radius:var(--radius-control-md);background:var(--surface-panel)}.unit-pack-box.is-due{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));color:var(--accent)}.unit-pack-box.is-partial{background:color-mix(in srgb,var(--accent) 4%,transparent)}.unit-pack-box.is-complete{border-color:transparent;background:var(--surface-panel);color:var(--soft)}.unit-pack-box-new{color:var(--soft)}.unit-pack-copy{display:grid;min-width:0;gap:2px}.unit-pack-label,.unit-pack-meta{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unit-pack-label{color:var(--ink);font-size:var(--text-sm-plus);font-weight:var(--weight-semibold)}.unit-pack-meta{color:var(--muted);font-size:var(--text-sm)}.trainer-paragraph.recall-stage{width:min(820px,100%)}.recall-wheel-active>.trainer-reference{color:var(--muted);font-family:var(--font-sans);font-size:var(--text-md);font-weight:var(--weight-normal)}.recall-wheel-active>.trainer-reference{transform:translateY(calc(-1 * (var(--space-16) + var(--space-12))))}.recall-stage .trainer-line{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;column-gap:var(--space-4);row-gap:var(--space-3);margin:0;font-size:clamp(22px,2.4vw,28px);font-weight:var(--weight-semibold);line-height:1.2;letter-spacing:-.01em}.recall-stage .trainer-line+.trainer-line{margin-top:var(--space-6)}.recall-stage .tok-space{display:none}.recall-stage .tok{flex-direction:column;align-items:center;gap:var(--space-1-5);min-height:0;padding:0 2px;border:0;vertical-align:top}.recall-stage .tok-known:hover,.recall-stage .tok-known:focus-visible{background:transparent;border-color:transparent;color:var(--accent)}.recall-stage .tok-text{display:inline-block;padding-bottom:3px;border-bottom:2px solid transparent;border-radius:1px;transition:color var(--duration-flash) var(--ease-standard),border-color var(--duration-base) var(--ease-out)}.recall-stage .tok-gloss{position:static;max-width:12ch;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--muted);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-normal);font-style:normal;line-height:1.2;letter-spacing:0;white-space:normal;text-align:center;opacity:1;transform:none}.recall-stage.is-hidden .tok-text{color:transparent;border-bottom-color:color-mix(in srgb,var(--ink) 22%,transparent)}.recall-stage.is-hidden .tok-known:hover,.recall-stage.is-hidden .tok-known:focus-visible{color:transparent}.recall-stage .tok.is-spoken .tok-text{color:var(--success);border-bottom-color:transparent;animation:fill-flash var(--duration-flash) var(--ease-standard)}.recall-stage.is-hidden .tok.is-spoken:hover .tok-text,.recall-stage.is-hidden .tok.is-spoken:focus-visible .tok-text{color:var(--success)}.tok-strength{display:flex;gap:3px;margin-top:5px;height:5px}.tok-strength i{width:5px;height:5px;border-radius:var(--radius-round);background:color-mix(in srgb,var(--ink) 12%,transparent);transition:background var(--duration-base) var(--ease-out)}.tok-strength i.on{background:var(--accent)}.tok-strength.is-gained{animation:pips-pop .52s var(--ease-out) both}.tok-strength.is-gained i.on{animation:pip-light .52s var(--ease-out) both}.tok-strength.is-mastered i.on{box-shadow:0 0 5px color-mix(in srgb,var(--accent) 55%,transparent)}@keyframes pips-pop{0%{transform:scale(.7);opacity:0}45%{transform:scale(1.12)}to{transform:scale(1);opacity:1}}@keyframes pip-light{0%,35%{background:color-mix(in srgb,var(--ink) 12%,transparent)}55%{background:var(--accent-gradient-end)}to{background:var(--accent)}}@media(prefers-reduced-motion:reduce){.tok-strength.is-gained,.tok-strength.is-gained i.on{animation:none}}.tok-graduate{position:absolute;left:50%;bottom:calc(100% - 1px);display:grid;place-items:center;width:18px;height:18px;border-radius:var(--radius-round);background:var(--accent);color:var(--ink-contrast);pointer-events:none;opacity:0;transform:translate(-50%,6px) scale(.6);animation:graduate-rise 1.2s var(--ease-out) both}.tok-graduate-icon{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}@keyframes graduate-rise{0%{opacity:0;transform:translate(-50%,6px) scale(.6)}22%{opacity:1;transform:translate(-50%,-7px) scale(1.05)}34%{transform:translate(-50%,-7px) scale(1)}68%{opacity:1;transform:translate(-50%,-10px) scale(1)}to{opacity:0;transform:translate(-50%,-18px) scale(.95)}}@media(prefers-reduced-motion:reduce){.tok-graduate{animation:none;opacity:1;transform:translate(-50%,-8px)}}.trainer-feedback{width:min(620px,100%);margin:var(--space-3) auto 0;text-align:center;color:var(--accent);font-size:var(--text-lg);font-weight:var(--weight-medium);line-height:var(--leading-relaxed);animation:fill-flash var(--duration-flash) var(--ease-standard)}.trainer-celebrate{height:0;margin-top:calc(-1 * var(--space-3));display:flex;justify-content:center;align-items:flex-start;pointer-events:none}.trainer-celebrate-check{display:grid;place-items:center;width:46px;height:46px;border-radius:var(--radius-round);background:var(--accent-soft);color:var(--accent);opacity:0;transform:scale(.55)}.trainer-celebrate[data-on=true] .trainer-celebrate-check{animation:celebrate-pop 1.6s var(--ease-out) both}.trainer-celebrate-icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.trainer-celebrate-icon path{stroke-dasharray:26;stroke-dashoffset:26}.trainer-celebrate[data-on=true] .trainer-celebrate-icon path{animation:celebrate-draw .62s var(--ease-out) .16s both}@keyframes celebrate-pop{0%{opacity:0;transform:scale(.55)}22%{opacity:1;transform:scale(1.08)}38%{transform:scale(1)}80%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1)}}@keyframes celebrate-draw{to{stroke-dashoffset:0}}@media(prefers-reduced-motion:reduce){.trainer-celebrate[data-on=true] .trainer-celebrate-check{opacity:1;transform:none;animation:none}.trainer-celebrate[data-on=true] .trainer-celebrate-icon path{stroke-dashoffset:0;animation:none}}.trainer-celebrate{position:relative}.trainer-celebrate[data-burst=true] .trainer-celebrate-check{width:56px;height:56px;background:var(--accent);color:var(--accent-contrast);box-shadow:0 0 28px var(--accent-ring)}.trainer-celebrate[data-burst=true] .trainer-celebrate-icon{width:28px;height:28px}.celebrate-burst{position:absolute;top:28px;left:50%;width:0;height:0;pointer-events:none}.celebrate-halo{position:absolute;top:-44px;left:-44px;width:88px;height:88px;border-radius:var(--radius-round);border:2px solid var(--accent-ring);opacity:0}.trainer-celebrate[data-on=true] .celebrate-halo{animation:celebrate-halo-swell .9s var(--ease-out) 60ms both}.celebrate-spark{position:absolute;top:0;left:0;width:7px;height:11px;border-radius:2px;opacity:0}.celebrate-spark.shape-1{width:8px;height:8px;border-radius:var(--radius-round)}.celebrate-spark.shape-2{width:5px;height:5px;border-radius:var(--radius-round)}.celebrate-spark.tint-0{background:var(--accent)}.celebrate-spark.tint-1{background:var(--accent-gradient-end)}.celebrate-spark.tint-2{background:color-mix(in srgb,var(--accent) 45%,white)}.celebrate-spark.tint-3{background:#fff}.trainer-celebrate[data-on=true] .celebrate-spark{animation:celebrate-spark-fly 1.15s var(--ease-out) var(--delay) both}@keyframes celebrate-halo-swell{0%{opacity:0;transform:scale(.35)}25%{opacity:1}to{opacity:0;transform:scale(1.9)}}@keyframes celebrate-spark-fly{0%{opacity:0;transform:translate(-50%,-50%) scale(.3) rotate(0)}12%{opacity:1}62%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) translate(var(--dx),var(--dy)) scale(1) rotate(var(--spin))}}@media(prefers-reduced-motion:reduce){.celebrate-burst{display:none}}.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}.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}}.trainer-recorder.is-arming{color:var(--warning, #b45309);border-color:color-mix(in srgb,var(--warning, #f59e0b) 40%,var(--line));background:linear-gradient(180deg,color-mix(in srgb,var(--surface-card) 90%,var(--warning, #f59e0b)) 0%,var(--surface-card) 100%)}.trainer-recorder.is-arming .trainer-recorder-mark{background:var(--warning, #f59e0b)}.trainer-recorder.is-arming .trainer-wave span{background:color-mix(in srgb,var(--warning, #f59e0b) 55%,var(--line-strong));animation:trainer-wave-arming 1.1s var(--ease-standard) infinite}.trainer-recorder.is-arming .trainer-wave span:nth-child(2n){animation-delay:.12s}.trainer-recorder.is-arming .trainer-wave span:nth-child(3n){animation-delay:.24s}.trainer-recorder.is-arming .trainer-wave span:nth-child(4n){animation-delay:.36s}@keyframes trainer-wave-arming{0%,to{transform:scaleY(.4);opacity:.4}50%{transform:scaleY(.7);opacity:.75}}.trainer-recorder[data-teacher=thinking] .trainer-wave span{background:var(--accent);animation:trainer-wave-listening .62s var(--ease-standard) infinite}.trainer-recorder[data-teacher=thinking] .trainer-wave span:nth-child(2n){animation-delay:90ms}.trainer-recorder[data-teacher=thinking] .trainer-wave span:nth-child(3n){animation-delay:.17s}.trainer-recorder[data-teacher=thinking] .trainer-wave span:nth-child(4n){animation-delay:.25s}@media(prefers-reduced-motion:reduce){.trainer-recorder.is-recording .trainer-wave span,.trainer-recorder.is-arming .trainer-wave span,.trainer-recorder[data-teacher=thinking] .trainer-wave span{animation:none}}.trainer-bar-meta{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;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-hear-source{color:var(--muted);font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:.03em;text-transform:uppercase}.trainer-upgrade{appearance:none;display:inline-flex;align-items:center;gap:var(--space-2);min-height:34px;padding:0 var(--space-3);border:1px solid var(--accent);border-radius:var(--radius-pill);background:var(--accent);color:#fff;font:inherit;font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer}.trainer-upgrade:hover,.trainer-upgrade:focus-visible{outline:none;filter:brightness(1.06)}.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:34px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--ink);font:inherit;font-size:var(--text-sm-plus);font-weight:var(--weight-semibold);padding-inline:var(--space-3);cursor:pointer;-webkit-user-select:none;user-select:none}.trainer-explain:hover,.trainer-explain:focus-visible{outline:none;color:var(--ink);border-color:color-mix(in srgb,var(--accent) 48%,var(--line-strong));background:var(--accent-soft-strong)}.trainer-explain.is-live{color:var(--accent);background:var(--accent-soft)}.trainer-explain.is-upgrade{border-color:var(--accent);background:var(--accent);color:#fff}.trainer-explain.is-upgrade .trainer-explain-icon,.trainer-explain.is-upgrade .trainer-explain-count{color:currentColor}.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-explain kbd{padding:2px 5px;border:1px solid color-mix(in srgb,var(--accent) 32%,var(--line));border-radius:var(--radius-xs);background:var(--surface-card);color:var(--gap);font-family:inherit;font-size:var(--text-2xs);line-height:1}.trainer-notes{appearance:none;display:inline-flex;align-items:center;gap:var(--space-1-5);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);font-weight:var(--weight-semibold);cursor:pointer}.trainer-notes:hover,.trainer-notes:focus-visible{outline:none;border-color:var(--line-strong);background:var(--surface-hover);color:var(--ink)}.trainer-notes-icon{width:15px;height:15px;color:var(--accent)}.trainer-skip-hint{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--muted);font-size:var(--text-xs);font-weight:var(--weight-medium);white-space:nowrap;-webkit-user-select:none;user-select:none}.trainer-skip-hint kbd{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;padding:0 3px;border:1px solid var(--line);border-radius:var(--radius-xs);background:var(--surface-hover);color:var(--soft);font-family:inherit;font-size:var(--text-xs);line-height:1}.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)}@media(max-width:960px){.trainer-shell,.trainer-shell.workspace-mode-review{grid-template-columns:var(--rail-width) minmax(0,1fr)}.workspace-nav{padding-inline:var(--space-2)}.workspace-nav-item{width:38px;height:38px}.trainer-stage{padding-inline:var(--space-5)}.section-grid{grid-template-columns:1fr}}@media(max-width:640px){.trainer-shell,.trainer-shell.workspace-mode-review{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)}.trainer-stage{padding:var(--space-4) var(--space-4) 0}.trainer-line{font-size:clamp(21px,6.1vw,27px);line-height:1.72}.recall-stage .trainer-line{column-gap:var(--space-3);font-size:clamp(20px,5.6vw,26px);line-height:1.2}.trainer-bar{max-width:calc(100% - var(--space-4))}.trainer-status{order:3;width:100%}.section-picker{padding:var(--space-5) var(--space-4) var(--space-8)}.section-grid{grid-template-columns:1fr}.section-block{grid-template-columns:1fr;gap:var(--space-2)}.section-library-intro{align-items:start;flex-direction:column;gap:var(--space-2)}.section-library-intro p{text-align:left}}.course-curriculum{width:min(720px,100%);min-height:0;margin:0 auto;padding:var(--space-5) var(--space-6) var(--space-10);overflow-y:auto}.course-curriculum-head{padding-bottom:var(--space-4);border-bottom:1px solid var(--line)}.course-curriculum-head h1{margin:var(--space-2) 0 0;color:var(--ink);font-family:var(--font-serif);font-size:var(--text-xl);font-weight:var(--weight-semibold)}.course-curriculum-back{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) 0;border:0;background:transparent;color:var(--muted);font:inherit;font-size:var(--text-sm);cursor:pointer}.course-curriculum-back:hover,.course-curriculum-back:focus-visible{outline:none;color:var(--ink)}.course-curriculum-units{margin:0;padding:0;list-style:none}.course-curriculum-units>li{border-bottom:1px solid var(--line)}.course-paragraph{display:grid;grid-template-columns:24px minmax(0,1fr);gap:var(--space-3);padding:var(--space-3) 0}.course-paragraph-number{padding-top:2px;color:var(--muted);font-size:var(--text-sm);text-align:right;font-variant-numeric:tabular-nums}.course-paragraph p{margin:0;line-height:var(--leading-normal)}.course-paragraph-target{color:var(--ink);font-size:var(--text-md);font-weight:var(--weight-medium)}.course-paragraph-english{margin-top:var(--space-1)!important;color:var(--muted);font-size:var(--text-sm)}@keyframes recall-glide-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.recall-center{animation:recall-glide-in .34s var(--ease-out)}.learn-unit{position:absolute;top:var(--space-5);left:50%;transform:translate(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);pointer-events:none}.learn-unit-title{color:var(--muted);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:.06em;text-transform:uppercase}.learn-unit-dots{display:flex;gap:var(--space-1-5)}.learn-unit-dots i{width:20px;height:3px;border-radius:var(--radius-pill);background:var(--line-strong);transition:background var(--duration-medium) var(--ease-standard)}.learn-unit-dots i.is-done{background:var(--accent)}.learn-unit-dots i.is-live{background:color-mix(in srgb,var(--accent) 50%,var(--line-strong))}.recall-monologue{justify-content:stretch;gap:0;padding:0;overflow:hidden}.recall-belt{flex:1;align-self:stretch;min-height:0;width:100%;display:flex;flex-direction:column;align-items:center;gap:var(--space-5);overflow-y:auto;scroll-behavior:auto;overscroll-behavior:contain;padding:34vh var(--space-6) 56vh;scrollbar-width:none;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 26%,#000 74%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 26%,#000 74%,transparent 100%)}.recall-belt::-webkit-scrollbar{display:none}.recall-row{position:relative;flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);max-width:min(820px,100%)}.focus-line{position:relative;align-self:stretch}.focus-tools{position:absolute;left:100%;top:0;height:calc(clamp(22px,2.4vw,28px)*1.2);margin-left:var(--space-5);display:flex;align-items:center;gap:var(--space-2-5);opacity:.35;transition:opacity var(--duration-base) var(--ease-snap)}.focus-tools:hover,.focus-tools:focus-within{opacity:1}.focus-tools>i{width:26px;height:1px;background:var(--line-strong)}.focus-tool{display:grid;place-items:center;width:22px;height:22px;padding:0;border:0;background:transparent;color:var(--muted);cursor:pointer;transition:color var(--duration-fast) var(--ease-snap)}.focus-tool:hover,.focus-tool:focus-visible{outline:none;color:var(--accent)}.focus-tool svg{width:13px;height:13px;stroke-linecap:round;stroke-linejoin:round}.focus-tool-spin{display:block;width:13px;height:13px;border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:var(--radius-round);animation:belt-add-spin .8s linear infinite}.belt-add{position:relative;display:flex;flex:0 0 auto;align-items:center;justify-content:center;gap:var(--space-3);width:220px;margin-top:var(--space-2);padding:var(--space-2-5) 0;border:0;background:transparent;color:var(--muted);font:inherit;opacity:.5;cursor:pointer;transition:opacity var(--duration-base) var(--ease-snap),width var(--duration-medium) var(--ease-snap)}.belt-add i{flex:1;height:1px;background:var(--line-strong);transition:background var(--duration-fast) var(--ease-snap)}.belt-add>span{flex:none;font-size:15px;line-height:1;transition:color var(--duration-fast) var(--ease-snap)}.belt-add:hover,.belt-add:focus-visible{outline:none;width:320px;opacity:1}.belt-add:hover i,.belt-add:focus-visible i{background:var(--accent-ring)}.belt-add:hover>span,.belt-add:focus-visible>span{color:var(--accent)}.belt-add em{position:absolute;top:-14px;left:50%;transform:translate(-50%);color:var(--soft);font-size:var(--text-sm);font-style:normal;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--duration-base) var(--ease-snap)}.belt-add:hover em,.belt-add:focus-visible em{opacity:1}.belt-add.is-writing{gap:var(--space-2-5);width:auto;color:var(--muted);font-size:var(--text-sm);opacity:1;cursor:default}.belt-add-spin{width:14px;height:14px;border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:var(--radius-round);animation:belt-add-spin .8s linear infinite}@keyframes belt-add-spin{to{transform:rotate(360deg)}}.recall-row.is-current .trainer-reference{color:var(--muted);font-family:var(--font-sans);font-size:var(--text-md);font-weight:var(--weight-normal);margin-bottom:var(--space-1);transform:none}.recall-belt-celebrate{position:absolute;top:100%;left:0;right:0;margin-top:var(--space-2);z-index:2}.recall-wheel{display:grid;grid-template-rows:96px minmax(150px,auto) 126px;align-items:center;justify-items:center;width:min(920px,100%);min-height:380px}.recall-wheel-row{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);width:100%;min-height:0;overflow:hidden;pointer-events:none}.recall-wheel-above{justify-content:end}.recall-wheel-below{justify-content:start}.recall-wheel-active{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:150px;animation:wheel-current-in .34s var(--ease-out)}@keyframes wheel-current-in{0%{opacity:.7;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.recall-belt-line{margin:0;max-width:min(760px,92%);text-align:center;font-size:clamp(19px,2.2vw,27px);font-weight:var(--weight-medium);line-height:var(--leading-snug);letter-spacing:-.01em;transition:font-size var(--duration-slower) var(--ease-out),opacity var(--duration-slower) var(--ease-out),color var(--duration-slower) var(--ease-out)}@keyframes belt-settle{0%{opacity:0;transform:translateY(-6px) scale(1.14)}to{opacity:1;transform:none}}.recall-belt-line.is-past{animation:belt-settle var(--duration-flash) var(--ease-out)}.recall-belt-line.is-past{color:color-mix(in srgb,var(--accent) 52%,transparent)}.recall-belt-line.is-next{color:color-mix(in srgb,var(--ink) 42%,transparent)}.recall-belt-line.is-far{font-size:var(--text-lg);opacity:.55}.recall-belt-line[data-dist="1"]{font-size:clamp(17px,1.9vw,23px);opacity:.9}.recall-belt-line[data-dist="2"]{font-size:clamp(15px,1.6vw,19px);opacity:.65}.recall-belt-line[data-dist="3"]{font-size:clamp(14px,1.4vw,17px);opacity:.45}.belt-sentence{animation:belt-settle var(--duration-flash) var(--ease-out);display:flex;flex-direction:column;align-items:center;gap:var(--space-2);max-width:min(760px,92%);text-align:center}.belt-sentence-line{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;column-gap:var(--space-3);row-gap:var(--space-2);margin:0;font-size:clamp(17px,1.9vw,23px);font-weight:var(--weight-medium);line-height:1.2;letter-spacing:-.01em;color:color-mix(in srgb,var(--accent) 52%,transparent)}.belt-sentence[data-dist="2"]{opacity:.8}.belt-sentence[data-dist="2"] .belt-sentence-line{font-size:clamp(15px,1.6vw,19px);column-gap:var(--space-2-5)}.belt-sentence[data-dist="3"]{opacity:.6}.belt-sentence[data-dist="3"] .belt-sentence-line{font-size:clamp(14px,1.4vw,17px);column-gap:var(--space-2)}.belt-tok{display:inline-flex;flex-direction:column;align-items:center;gap:var(--space-1-5);white-space:nowrap}.belt-sentence .tok-strength{margin-top:3px;gap:2px;height:4px}.belt-sentence .tok-strength i{width:4px;height:4px}.belt-check{display:inline-flex;align-items:center;align-self:flex-start;margin-left:var(--space-2);margin-top:.1em}.belt-check-icon{width:.86em;height:.86em;fill:none;stroke:var(--accent);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;animation:belt-check-pop var(--duration-base) var(--ease-out) both}@keyframes belt-check-pop{0%{opacity:0;transform:scale(.4)}60%{transform:scale(1.12)}to{opacity:1;transform:scale(1)}}.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);min-width:0}.language-portfolio-packs-title{margin-top:var(--space-4)}.language-row-wrap{position:relative;min-width:0}.language-row-wrap:hover .language-row-due{opacity:0}.language-row-kebab{position:absolute;top:var(--space-1-5);right:var(--space-1-5);width:22px;height:20px;border:0;border-radius:var(--radius-control-sm);background:transparent;color:color-mix(in srgb,var(--ink-contrast) 50%,transparent);font:inherit;font-size:var(--text-md);font-weight:var(--weight-bold);line-height:1;cursor:pointer;opacity:0;transition:opacity var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),background var(--duration-fast) var(--ease-standard)}.language-row-wrap:hover .language-row-kebab,.language-row-kebab:focus-visible,.language-row-kebab.is-open{opacity:1}.language-row-kebab:hover,.language-row-kebab.is-open{background:color-mix(in srgb,var(--ink-contrast) 10%,transparent);color:var(--ink-contrast)}.pack-menu{position:absolute;top:var(--space-1);left:calc(100% + var(--space-2));z-index:30;min-width:200px;padding:var(--space-1);border:1px solid color-mix(in srgb,var(--ink-contrast) 12%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--ink) 86%,var(--ink-contrast));box-shadow:0 12px 32px #00000073}.pack-menu>button{display:block;width:100%;padding:var(--space-1-5) var(--space-2);border:0;border-radius:var(--radius-control-sm);background:transparent;color:color-mix(in srgb,var(--ink-contrast) 88%,transparent);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);text-align:left;cursor:pointer}.pack-menu>button:hover:not(:disabled){background:color-mix(in srgb,var(--ink-contrast) 9%,transparent);color:var(--ink-contrast)}.pack-menu>button:disabled{opacity:.5;cursor:default}.pack-menu>button.is-danger{color:#f2777c}.pack-menu-rename,.pack-menu-confirm{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-1-5);font-size:var(--text-sm);color:color-mix(in srgb,var(--ink-contrast) 70%,transparent)}.pack-menu-rename input{width:100%;padding:var(--space-1-5) var(--space-2);border:1px solid color-mix(in srgb,var(--ink-contrast) 20%,transparent);border-radius:var(--radius-control-sm);background:color-mix(in srgb,var(--ink-contrast) 6%,transparent);color:var(--ink-contrast);font:inherit;font-size:var(--text-sm)}.pack-menu-rename input:focus-visible{outline:2px solid color-mix(in srgb,var(--ink-contrast) 30%,transparent);outline-offset:0}.pack-menu-rename-actions{display:flex;justify-content:flex-end;gap:var(--space-1-5)}.pack-menu-rename-actions button{padding:var(--space-1) var(--space-2);border:0;border-radius:var(--radius-control-sm);background:color-mix(in srgb,var(--ink-contrast) 12%,transparent);color:var(--ink-contrast);font:inherit;font-size:var(--text-xs);font-weight:var(--weight-semibold);cursor:pointer}.pack-menu-rename-actions button[type=submit]{background:var(--ink-contrast);color:var(--ink)}.pack-menu-rename-actions button.is-danger{background:#e5484d;color:#fff}.pack-menu-rename-actions button:disabled{opacity:.55;cursor:default}.language-row-new .language-row-name{color:color-mix(in srgb,var(--ink-contrast) 55%,transparent)}.language-row-new:hover .language-row-name{color:var(--ink-contrast)}.language-add{position:relative}.language-add-menu{position:absolute;bottom:0;left:calc(100% + var(--space-2));z-index:30;min-width:160px;padding:var(--space-1);border:1px solid color-mix(in srgb,var(--ink-contrast) 12%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--ink) 86%,var(--ink-contrast));box-shadow:0 12px 32px #00000073}.language-add-menu>button{display:block;width:100%;padding:var(--space-1-5) var(--space-2);border:0;border-radius:var(--radius-control-sm);background:transparent;color:color-mix(in srgb,var(--ink-contrast) 88%,transparent);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);text-align:left;cursor:pointer}.language-add-menu>button:hover{background:color-mix(in srgb,var(--ink-contrast) 9%,transparent);color:var(--ink-contrast)}.language-row{position:relative;display:grid;width:100%;min-width:0;max-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{flex:1 1 auto;min-width:0;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))}.pack-creator-scrim{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:var(--space-6);background:var(--surface-overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.pack-creator{width:min(520px,100%);padding:var(--space-8);border:1px solid var(--line-strong);border-radius:var(--radius-popover);background:var(--surface-card);box-shadow:var(--shadow-modal);transition:width var(--duration-fast) var(--ease-standard)}.pack-creator.is-preview{display:flex;flex-direction:column;width:min(560px,100%);max-height:min(80vh,720px)}.pack-creator-inline{width:100%}.pack-creator.is-inline{width:100%;max-width:760px;margin:0 auto;padding:var(--space-4) var(--space-2) var(--space-6);border:0;background:transparent;box-shadow:none}.pack-creator.is-inline.is-preview{width:100%;max-width:720px;max-height:none}.pack-creator-skeleton{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0}.pack-creator-skeleton-rule{position:relative;flex:1;height:18px;border-bottom:1px solid var(--line)}.pack-creator-caret{position:absolute;left:0;bottom:2px;width:2px;height:14px;background:var(--accent);animation:pack-caret-blink 1.05s step-end infinite}@keyframes pack-caret-blink{0%,50%{opacity:1}50.01%,to{opacity:0}}.pack-creator-lines:not(.is-writing) .pack-creator-line{animation:pack-line-in var(--duration-medium) var(--ease-out) both}.pack-creator-lines .pack-creator-line:nth-child(1){animation-delay:0ms}.pack-creator-lines .pack-creator-line:nth-child(2){animation-delay:70ms}.pack-creator-lines .pack-creator-line:nth-child(3){animation-delay:.14s}.pack-creator-lines .pack-creator-line:nth-child(4){animation-delay:.21s}.pack-creator-lines .pack-creator-line:nth-child(5){animation-delay:.28s}.pack-creator-lines .pack-creator-line:nth-child(6){animation-delay:.35s}.pack-creator-lines .pack-creator-line:nth-child(7){animation-delay:.42s}.pack-creator-lines .pack-creator-line:nth-child(8){animation-delay:.49s}@keyframes pack-line-in{0%{opacity:0;transform:translateY(8px)}}.pack-creator-actions--split{animation:pack-actions-in var(--duration-medium) var(--ease-out) both;animation-delay:.56s}@keyframes pack-actions-in{0%{opacity:0}}.pack-creator-title{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin:0;font-family:var(--font-serif);font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--ink)}.pack-creator-count{color:var(--muted);font-family:var(--font-sans, inherit);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:.02em;white-space:nowrap}.pack-creator-lede{margin:var(--space-2) 0 0;color:var(--muted);font-size:var(--text-sm);line-height:1.5}.pack-creator-examples{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4)}.pack-creator-examples-head{display:flex;align-items:center;justify-content:space-between;width:100%}.pack-creator-examples-head>span{color:var(--muted);font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:.05em;text-transform:uppercase}.pack-creator-examples>button{padding:var(--space-1-5) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-panel);color:var(--soft);font:inherit;font-size:var(--text-xs);cursor:pointer}.pack-creator-examples>button:hover:not(:disabled),.pack-creator-examples>button:focus-visible{outline:none;border-color:var(--accent-ring);color:var(--ink);background:var(--accent-soft)}.pack-creator-shuffle{padding:var(--space-1) var(--space-2);border:0;border-radius:var(--radius-control-sm);background:transparent;color:var(--accent);font:inherit;font-size:var(--text-xs);font-weight:var(--weight-semibold);cursor:pointer}.pack-creator-shuffle:hover:not(:disabled),.pack-creator-shuffle:focus-visible{outline:none;background:var(--accent-soft)}.pack-creator-form{display:flex;flex-direction:column;margin-top:var(--space-5)}.pack-creator-label{margin:var(--space-4) 0 var(--space-2);color:var(--soft);font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:.06em;text-transform:uppercase}.pack-creator-langs{display:flex;flex-wrap:wrap;gap:var(--space-2)}.pack-creator-lang{padding:var(--space-1-5) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-sm);background:none;color:var(--soft);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),background var(--duration-fast) var(--ease-standard)}.pack-creator-lang:hover{color:var(--ink)}.pack-creator-lang.is-active{border-color:var(--accent-ring);background:var(--accent-soft);color:var(--ink)}.pack-creator-topic{padding:var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-page);color:var(--ink);font:inherit;font-size:var(--text-md);line-height:1.5;resize:vertical}.pack-creator-topic:focus-visible{outline:2px solid var(--accent-ring);outline-offset:0}.pack-creator-error{margin:var(--space-3) 0 0;color:var(--danger-muted, #c25e5e);font-size:var(--text-sm)}.pack-creator-actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-5)}.pack-creator-cancel{padding:var(--space-2) var(--space-4);border:0;border-radius:var(--radius-sm);background:none;color:var(--muted);font:inherit;font-weight:var(--weight-medium);cursor:pointer}.pack-creator-cancel:hover{color:var(--ink)}.pack-creator-submit{min-height:42px;padding:var(--space-2) var(--space-4);border:0;border-radius:var(--radius-sm);background:var(--accent);color:#fff;font:inherit;font-weight:var(--weight-semibold);cursor:pointer}.pack-creator-submit:disabled{opacity:.55;cursor:default}.pack-creator-wait{margin:var(--space-3) 0 0;color:var(--muted);font-size:var(--text-sm);text-align:right}.pack-creator-preview-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.pack-creator-title--flush{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pack-creator-lines{position:relative;flex:1;min-height:0;overflow-y:auto;margin:var(--space-5) 0 var(--space-2)}.pack-creator-line{display:flex;align-items:baseline;gap:var(--space-3);padding:var(--space-2-5) 0}.pack-creator-line-num{flex:none;min-width:1.2em;color:var(--soft);font-size:var(--text-2xs);font-variant-numeric:tabular-nums;text-align:right;-webkit-user-select:none;user-select:none}.pack-creator-line-body{flex:1;min-width:0}.pack-creator-line-target{margin:0;color:var(--ink);font-size:var(--text-md);line-height:1.4}.pack-creator-line-en{margin:.1em 0 0;color:var(--muted);font-size:var(--text-sm);line-height:1.4}.pack-creator-line-del{flex:none;align-self:flex-start;width:1.5rem;height:1.5rem;margin-top:.1em;display:grid;place-items:center;border:0;border-radius:var(--radius-sm);background:none;color:var(--soft);font-size:var(--text-xs);cursor:pointer;opacity:0;transition:opacity var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),background var(--duration-fast) var(--ease-standard)}.pack-creator-line:hover .pack-creator-line-del,.pack-creator-line-del:focus-visible{opacity:1}.pack-creator-line-del:hover{color:var(--danger);background:var(--surface-hover)}.pack-creator-line-del:disabled{opacity:0;cursor:default}.pack-creator-add-line{display:flex;align-items:center;gap:var(--space-3);min-height:2.25rem;padding:var(--space-1) 0 var(--space-2)}.pack-creator-add-line button{display:grid;place-items:center;width:1.75rem;height:1.75rem;padding:0;border:1px solid var(--line-strong);border-radius:50%;background:transparent;color:var(--accent);font:inherit;font-size:var(--text-md);line-height:1;cursor:pointer;transition:color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),background var(--duration-fast) var(--ease-standard)}.pack-creator-add-line button:hover:not(:disabled),.pack-creator-add-line button:focus-visible{outline:none;border-color:var(--accent-ring);background:var(--accent-soft);color:var(--ink)}.pack-creator-add-line button:disabled{cursor:default;opacity:.7}.pack-creator-add-status{color:var(--muted);font-size:var(--text-xs)}.pack-creator-add-spin{width:.8rem;height:.8rem;border:1.5px solid color-mix(in srgb,var(--accent) 25%,transparent);border-top-color:var(--accent);border-radius:50%;animation:pack-add-spin .8s linear infinite}@keyframes pack-add-spin{to{transform:rotate(360deg)}}.pack-creator-submit{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2)}.pack-creator-action-spin{width:.85rem;height:.85rem;border:1.5px solid color-mix(in srgb,currentColor 35%,transparent);border-top-color:currentColor;border-radius:50%;animation:pack-add-spin .8s linear infinite}.pack-creator-submit.is-preparing:disabled{opacity:.82;cursor:wait}.pack-creator-ghost.is-writing{display:inline-flex;align-items:center;gap:var(--space-2)}.pack-creator-ghost.is-writing:disabled{opacity:.82;cursor:wait}@media(prefers-reduced-motion:reduce){.pack-creator-action-spin{animation:none}}.pack-creator-actions--split{align-items:center;justify-content:space-between}.pack-creator-actions-right{display:flex;gap:var(--space-3)}.pack-creator-ghost{padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-sm);background:none;color:var(--soft);font:inherit;font-weight:var(--weight-medium);cursor:pointer;transition:color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}.pack-creator-ghost:hover:not(:disabled){color:var(--ink);border-color:var(--line-strong)}.pack-creator-ghost:disabled{opacity:.55;cursor:default}.pack-creator-modes{display:inline-flex;gap:var(--space-1);margin-top:var(--space-4);padding:var(--space-1);border:1px solid var(--line);border-radius:var(--radius-md, var(--radius-sm));background:var(--surface-sunken, var(--surface-hover))}.pack-creator-mode{padding:var(--space-1-5) var(--space-4);border:0;border-radius:var(--radius-sm);background:none;color:var(--muted);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:color var(--duration-fast) var(--ease-standard),background var(--duration-fast) var(--ease-standard)}.pack-creator-mode:hover:not(:disabled){color:var(--ink)}.pack-creator-mode.is-active{background:var(--surface-page);color:var(--ink);box-shadow:0 1px 2px #0000001f}.pack-creator-mode:disabled{cursor:default;opacity:.6}.pack-creator-speak{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-4)}.pack-creator-mic{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--line-strong);border-radius:var(--radius-md, var(--radius-sm));background:var(--surface-page);color:var(--ink);font:inherit;font-weight:var(--weight-medium);cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;transition:border-color var(--duration-fast) var(--ease-standard),background var(--duration-fast) var(--ease-standard)}.pack-creator-mic:hover:not(:disabled){border-color:var(--accent-ring)}.pack-creator-mic.is-live{border-color:var(--accent-ring);background:var(--accent-soft)}.pack-creator-mic:disabled{opacity:.55;cursor:default}.pack-creator-mic-dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--soft)}.pack-creator-mic.is-live .pack-creator-mic-dot{background:var(--danger, #d05a5a);animation:pack-creator-pulse 1.1s var(--ease-standard) infinite}@keyframes pack-creator-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.pack-creator-heard{min-height:4.5rem;max-height:11rem;overflow-y:auto;padding:var(--space-3);border:1px dashed var(--line);border-radius:var(--radius-sm);color:var(--ink);font-size:var(--text-md);line-height:1.55}.pack-creator-heard.has-text{border-style:solid}.pack-creator-heard-hint{color:var(--soft);font-size:var(--text-sm)}.pack-creator-rerecord{align-self:flex-start;padding:var(--space-1) var(--space-2);border:0;background:none;color:var(--muted);font:inherit;font-size:var(--text-sm);cursor:pointer}.pack-creator-rerecord:hover:not(:disabled){color:var(--ink)}.tour-root{position:fixed;inset:0;z-index:1000;--tour-scrim: rgba(20, 22, 28, .12)}:root[data-theme=dark] .tour-root{--tour-scrim: rgba(0, 0, 0, .16)}.tour-catch{position:absolute;inset:0;pointer-events:auto}.tour-dim{position:absolute;inset:0;background:var(--tour-scrim);animation:tour-fade var(--duration-medium) var(--ease-out) both}.tour-spotlight{position:absolute;border-radius:var(--radius-control);pointer-events:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 72%,transparent),0 0 0 7px var(--accent-soft-strong),0 0 0 100vmax var(--tour-scrim);transition:top var(--duration-medium) var(--ease-snap),left var(--duration-medium) var(--ease-snap),width var(--duration-medium) var(--ease-snap),height var(--duration-medium) var(--ease-snap)}.tour-spotlight:after{content:"";position:absolute;inset:-3px;border-radius:inherit;box-shadow:0 0 0 3px var(--accent-ring);opacity:.9;animation:tour-pulse 2.4s var(--ease-standard) infinite}@keyframes tour-pulse{0%,to{opacity:.25;transform:scale(1)}50%{opacity:.85;transform:scale(1.012)}}@keyframes tour-fade{0%{opacity:0}}.tour-card{position:absolute;width:min(360px,calc(100vw - 28px));padding:var(--space-5) var(--space-5) var(--space-4);border-radius:var(--radius-card);background:var(--surface-card);border:1px solid var(--line);box-shadow:var(--shadow-popover);pointer-events:auto;animation:tour-card-in var(--duration-medium) var(--ease-out) both}@keyframes tour-card-in{0%{opacity:0;transform:translateY(6px)}}.tour-arrow{position:absolute;width:12px;height:12px;background:var(--surface-card);border:1px solid var(--line);transform:translate(-50%) rotate(45deg)}.tour-card.is-below .tour-arrow{top:-7px;border-right:none;border-bottom:none}.tour-card.is-above .tour-arrow{bottom:-7px;border-left:none;border-top:none}.tour-title{margin:0;font-family:var(--font-serif);font-size:var(--text-title);line-height:1.15;letter-spacing:-.01em;font-weight:var(--weight-semibold);color:var(--ink)}.tour-body{margin:var(--space-2) 0 0;font-size:var(--text-md);line-height:1.5;color:var(--soft)}.tour-controls{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-5) 0 0}.tour-count{font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.04em;color:var(--muted);font-variant-numeric:tabular-nums}.tour-nav{display:flex;align-items:center;gap:var(--space-2);margin-left:auto}.tour-skip,.tour-back,.tour-next{font:inherit;cursor:pointer;border-radius:var(--radius-control-md);transition:background var(--duration-fast) var(--ease-snap),border-color var(--duration-fast) var(--ease-snap),filter var(--duration-fast) var(--ease-snap),transform var(--duration-press) var(--ease-out)}.tour-skip{padding:var(--space-1-5) var(--space-2);border:none;background:transparent;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--muted)}.tour-skip:hover{color:var(--soft);background:var(--surface-hover)}.tour-back{padding:var(--space-2) var(--space-3-5);border:1px solid var(--line);background:var(--surface-card);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--soft)}.tour-back:hover{border-color:var(--line-strong);background:var(--surface-hover)}.tour-next{padding:var(--space-2) var(--space-4);border:none;background:var(--gap);color:var(--white);font-size:var(--text-sm);font-weight:var(--weight-semibold-strong);box-shadow:var(--shadow-button)}.tour-next:hover{filter:brightness(1.06)}.tour-skip:active,.tour-back:active,.tour-next:active{transform:scale(.98)}@media(prefers-reduced-motion:reduce){.tour-spotlight:after{animation:none;opacity:.5}.tour-spotlight{transition-duration:var(--duration-fast)}.tour-card,.tour-dim{animation:tour-fade var(--duration-fast) var(--ease-out) both}}.pack-tour-root{position:fixed;inset:0;z-index:1100;--scrim: rgba(20, 22, 28, .12)}:root[data-theme=dark] .pack-tour-root{--scrim: rgba(0, 0, 0, .16)}.pack-tour-catch,.pack-tour-dim{position:absolute;inset:0}.pack-tour-catch{pointer-events:auto}.pack-tour-dim{background:var(--scrim)}.pack-tour-spotlight{position:absolute;border-radius:var(--radius-card);pointer-events:none;box-shadow:0 0 0 2px var(--accent),0 0 0 7px var(--accent-soft-strong),0 0 0 100vmax var(--scrim);transition:top var(--duration-medium) var(--ease-snap),left var(--duration-medium) var(--ease-snap),width var(--duration-medium) var(--ease-snap),height var(--duration-medium) var(--ease-snap)}.pack-tour-card{position:absolute;width:min(380px,calc(100vw - 28px));padding:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-card);box-shadow:var(--shadow-popover);pointer-events:auto;animation:pack-tour-in var(--duration-medium) var(--ease-out) both}@keyframes pack-tour-in{0%{opacity:0;transform:translateY(6px)}}.pack-tour-arrow{position:absolute;width:12px;height:12px;background:var(--surface-card);border:1px solid var(--line);transform:translate(-50%) rotate(45deg)}.pack-tour-card.is-below .pack-tour-arrow{top:-7px;border-right:0;border-bottom:0}.pack-tour-card.is-above .pack-tour-arrow{bottom:-7px;border-left:0;border-top:0}.pack-tour-eyebrow{margin:0 0 var(--space-1-5);color:var(--gap);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.07em;text-transform:uppercase}.pack-tour-title{margin:0;color:var(--ink);font-family:var(--font-serif);font-size:var(--text-title);line-height:1.15}.pack-tour-body{margin:var(--space-2) 0 0;color:var(--soft);font-size:var(--text-md);line-height:1.5}.pack-tour-footer{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-5)}.pack-tour-footer button{min-height:36px;border-radius:var(--radius-control-md);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer}.pack-tour-skip{border:0;background:transparent;color:var(--muted)}.pack-tour-count{margin-right:auto;color:var(--muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.pack-tour-back{padding:0 var(--space-3);border:1px solid var(--line);background:var(--surface-card);color:var(--soft)}.pack-tour-next{padding:0 var(--space-4);border:0;background:var(--gap);color:var(--white);box-shadow:var(--shadow-button)}.pack-tour-footer button:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}@media(prefers-reduced-motion:reduce){.pack-tour-card{animation:none}.pack-tour-spotlight{transition:none}}.unit-notes-panel{position:fixed;z-index:35;top:92px;right:var(--space-4);bottom:var(--space-4);display:flex;flex-direction:column;width:min(430px,calc(100vw - 32px));border:1px solid var(--line-strong);border-radius:var(--radius-popover);background:var(--surface-card);box-shadow:var(--shadow-popover);overflow:hidden}.unit-notes-head{display:flex;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--space-5) var(--space-4);border-bottom:1px solid var(--line)}.unit-notes-head span{color:var(--accent);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.07em;text-transform:uppercase}.unit-notes-head h2{margin:var(--space-1-5) 0 0;color:var(--ink);font-family:var(--font-serif);font-size:var(--text-xl);font-weight:var(--weight-semibold);line-height:1.35}.unit-notes-head button{align-self:flex-start;flex:none;width:34px;height:34px;border:0;border-radius:var(--radius-round);background:transparent;color:var(--soft);font:inherit;font-size:21px;cursor:pointer}.unit-notes-head button:hover{color:var(--ink);background:var(--surface-hover)}.unit-notes-body{flex:1;min-height:0;padding:var(--space-5)}.unit-notes-body textarea{width:100%;height:100%;min-height:220px;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface-panel);color:var(--ink);font:inherit;font-size:var(--text-sm);line-height:1.6;resize:none}.unit-notes-body textarea:focus-visible{outline:2px solid var(--accent-ring);outline-offset:1px;border-color:var(--accent)}.unit-notes-body textarea::placeholder{color:var(--muted)}@media(min-width:1280px){.trainer-shell.has-unit-notes{grid-template-columns:var(--rail-width) minmax(0,1fr) minmax(360px,430px)}.trainer-shell.has-unit-notes .unit-notes-panel{position:relative;grid-column:3;grid-row:1;top:auto;right:auto;bottom:auto;width:auto;height:calc(100vh - var(--space-6));margin:var(--space-3) var(--space-3) var(--space-3) 0}}@media(max-width:640px){.unit-notes-panel{top:68px;right:var(--space-2);bottom:var(--space-2);width:calc(100vw - var(--space-4))}}.langdisco-scrim{position:fixed;inset:0;z-index:900;display:grid;place-items:center;padding:var(--space-6);background:var(--surface-overlay);-webkit-backdrop-filter:blur(var(--blur-overlay));backdrop-filter:blur(var(--blur-overlay));animation:langdisco-fade var(--duration-base) var(--ease-snap)}@keyframes langdisco-fade{0%{opacity:0}}.langdisco{width:min(760px,100%);max-height:calc(100vh - var(--space-12));overflow:auto;padding:var(--space-6) var(--space-6) var(--space-5);border:1px solid var(--line-strong);border-radius:var(--radius-card);background:var(--surface-card);box-shadow:var(--shadow-modal);animation:langdisco-rise var(--duration-medium) var(--ease-out)}@keyframes langdisco-rise{0%{opacity:0;transform:translateY(10px) scale(.985)}}.langdisco-head{display:flex;align-items:start;justify-content:space-between;gap:var(--space-4);padding:0 var(--space-1) var(--space-4)}.langdisco-head h2{margin:0;color:var(--ink);font-family:var(--font-serif);font-size:var(--text-2xl);font-weight:var(--weight-semibold);letter-spacing:-.01em}.langdisco-head p{margin:var(--space-1) 0 0;color:var(--muted);font-size:var(--text-sm)}.langdisco-head button{flex:none;width:30px;height:30px;border:0;border-radius:var(--radius-round);background:var(--surface-hover);color:var(--muted);font:inherit;font-size:19px;cursor:pointer;transition:var(--transition-surface)}.langdisco-head button:hover{background:var(--surface-hover-strong);color:var(--ink)}.langdisco-list{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-1)}.langdisco-row{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2-5) var(--space-3);border:0;border-radius:var(--radius-control);background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:background var(--duration-fast) var(--ease-snap)}.langdisco-row:hover,.langdisco-row:focus-visible{outline:none;background:var(--surface-hover)}.langdisco-code{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex:none;border:1px solid var(--line);border-radius:var(--radius-control-sm);background:var(--surface-panel);color:var(--soft);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.06em}.langdisco-code.is-on{border-color:transparent;background:var(--accent-soft-strong);color:var(--accent)}.langdisco-id{display:grid;gap:1px;min-width:0}.langdisco-id strong{font-size:var(--text-md);font-weight:var(--weight-semibold)}.langdisco-id small{color:var(--muted);font-size:var(--text-xs)}.langdisco-status{display:inline-flex;align-items:center;gap:var(--space-2);margin-left:auto;flex:none}.langdisco-status small{color:var(--muted);font-size:var(--text-xs)}.langdisco-status b{color:var(--accent);font-size:var(--text-md);font-weight:var(--weight-semibold)}.langdisco-added{color:var(--accent);font-size:var(--text-xs);font-style:normal;font-weight:var(--weight-semibold)}.langdisco-pro-tag{display:inline-flex;align-items:center;gap:5px;color:var(--accent);font-size:var(--text-2xs);font-style:normal;font-weight:var(--weight-bold);letter-spacing:.05em;text-transform:uppercase}.langdisco-pro-tag svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2}.langdisco-soon-tag{color:var(--muted);font-size:var(--text-xs);font-style:normal;font-weight:var(--weight-medium)}.langdisco-row.is-soon .langdisco-id strong{color:var(--soft)}.langdisco-row.is-soon .langdisco-code{color:var(--muted)}.langdisco-map{margin-top:var(--space-4);padding:var(--space-4) var(--space-4) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-surface);background:linear-gradient(180deg,var(--accent-soft) 0%,transparent 55%),var(--surface-panel)}.world-map{display:block;width:100%;height:auto}.world-map path{fill:var(--surface-card);stroke:var(--surface-panel);stroke-width:.5;transition:fill var(--duration-medium) var(--ease-snap)}.world-map path.is-lit{fill:var(--accent)}.langdisco-map-slot{width:100%;aspect-ratio:960 / 486}.langdisco-caption{margin:var(--space-3) var(--space-1) 0;color:var(--muted);font-size:var(--text-xs);text-align:center}.langdisco-wall{display:flex;align-items:center;gap:var(--space-4);margin-top:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-surface);background:var(--surface-panel)}.langdisco-wall p{margin:0;color:var(--soft);font-size:var(--text-sm)}.langdisco-wall strong{color:var(--ink);font-weight:var(--weight-semibold)}.langdisco-wall button{margin-left:auto;flex:none;padding:var(--space-2) var(--space-4);border:0;border-radius:var(--radius-pill);background:var(--accent);color:var(--accent-contrast);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;box-shadow:var(--shadow-primary);transition:transform var(--duration-press) var(--ease-snap)}.langdisco-wall button:hover{transform:translateY(-1px)}.langdisco-wall button:active{transform:translateY(0)}@media(max-width:640px){.langdisco-scrim{padding:var(--space-3)}.langdisco{padding:var(--space-4)}.langdisco-list{grid-template-columns:1fr}.langdisco-wall{flex-direction:column;align-items:stretch;text-align:center}.langdisco-wall button{margin-left:0}}.journey-popover{position:absolute;z-index:45;top:calc(100% + var(--space-2));left:var(--space-5);width:min(380px,calc(100vw - 40px));padding:var(--space-4);border:1px solid var(--line-strong);border-radius:var(--radius-popover);background:var(--surface-popover);box-shadow:var(--shadow-popover);text-align:left}.journey-popover:before{content:"";position:absolute;top:-6px;left:54px;width:10px;height:10px;border-left:1px solid var(--line-strong);border-top:1px solid var(--line-strong);background:var(--surface-popover);transform:rotate(45deg)}.journey-popover>header{display:flex;align-items:start;justify-content:space-between;gap:var(--space-4)}.journey-popover>header>div{display:grid;gap:2px}.journey-popover>header span{color:var(--muted);font-size:var(--text-xs)}.journey-popover>header strong{color:var(--ink);font-family:var(--font-serif);font-size:var(--text-xl)}.journey-popover>header button{width:28px;height:28px;border:0;border-radius:var(--radius-round);background:var(--surface-hover);color:var(--muted);font:inherit;font-size:18px;cursor:pointer}.journey-popover-progress{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-4)}.journey-popover-progress span{color:var(--soft);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.journey-popover-progress strong{color:var(--muted);font-size:var(--text-xs);font-weight:var(--weight-medium)}.journey-popover-track{height:5px;margin-top:var(--space-2);overflow:hidden;border-radius:var(--radius-pill);background:var(--surface-panel)}.journey-popover-track span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.journey-popover-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--line)}.journey-popover-stats>span{display:grid;color:var(--muted);font-size:var(--text-2xs)}.journey-popover-stats strong{color:var(--ink);font-size:var(--text-sm)}.journey-popover-next,.journey-popover-summit{margin:var(--space-3) 0 0;padding:var(--space-2-5) var(--space-3);border-radius:var(--radius-control);background:var(--accent-soft);color:var(--soft);font-size:var(--text-xs);line-height:1.4}.journey-popover-next span{margin-right:var(--space-2);color:var(--accent);font-weight:var(--weight-bold);text-transform:uppercase}@media(max-width:640px){.journey-popover{position:fixed;top:68px;left:var(--space-2);width:calc(100vw - var(--space-4))}.journey-popover:before{display: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: "Geist", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif: "Geist", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-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;--rail-width: 208px;--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);--z-notify: 2000;--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)}@media(max-width:960px){:root{--rail-width: 144px}}:root[data-theme=dark]{color-scheme:dark;--bg: #202126;--ink: #f3f3f5;--ink-contrast: #1d1e22;--muted: #a6a7b0;--soft: #c9cad0;--line: rgba(255, 255, 255, .11);--line-strong: rgba(255, 255, 255, .19);--good: var(--accent);--gap: #5b8bff;--card: #26272c;--panel-soft: #2e3036;--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, .065);--surface-hover-strong: var(--panel-soft);--surface-popover: rgba(38, 39, 44, .98);--surface-glass: rgba(38, 39, 44, .76);--surface-glass-strong: rgba(38, 39, 44, .9);--surface-overlay: rgba(0, 0, 0, .54);--surface-desk: #121318;--surface-desk-hi: #1a1b21;--surface-desk-lo: #0d0e12;--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)}
