.vocabulary-shell{--vocab-ink:var(--shell-text);--vocab-accent:var(--mint);--vocab-accent-alt:var(--citrus);--vocab-button-ink:#14101f;--vocab-chrome-inset:max(44px, calc(env(safe-area-inset-bottom) + 34px) );--vocab-chrome-bar:44px;--vocab-chrome-gap:40px;--vocab-chrome-progress:3px;--vocab-chrome-progress-bottom:calc(var(--vocab-chrome-inset) + var(--vocab-chrome-bar) + var(--vocab-chrome-gap));--vocab-chrome-top:calc(var(--vocab-chrome-progress-bottom) + var(--vocab-chrome-progress));--shell-bg:var(--card);--shell-surface:var(--secondary);--shell-well:var(--background);--shell-hover:#232537;--shell-line:#ffffff1a;--shell-line-strong:#fff3;--shell-text:var(--foreground);--shell-text-soft:#ced0de;--shell-text-mute:var(--muted-foreground);--shell-on-text:#0b0c1a;--chrome-ink:#fff;--chrome-fill:#12101d40;--chrome-scrim:linear-gradient(180deg, #090712a8, #09071252 58%, transparent);--chrome-shadow:0 2px 14px #0009;--chrome-icon-shadow:0 1px 5px #0009;--chrome-accent:var(--vocab-accent);background:var(--shell-bg);color:var(--shell-text);height:100dvh;font-family:Inter,sans-serif;overflow:hidden}@supports (color:lab(0% 0 0)){.vocabulary-shell{--shell-hover:lab(14.9799% 3.40782 -12.5605);--shell-line:lab(100% 0 0/.1);--shell-line-strong:lab(100% 0 0/.2);--shell-text-soft:lab(83.6042% 1.3724 -7.41062);--shell-on-text:lab(3.50838% 2.05448 -8.45253)}}.vocabulary-shell:has(.vocab-slot[data-current] .vocab-card[data-tone=light]){--chrome-ink:#14101f;--chrome-fill:#fff6;--chrome-scrim:linear-gradient(180deg, #ffffff8c, #ffffff3d 58%, transparent);--chrome-shadow:none;--chrome-icon-shadow:0 0 0 transparent;--chrome-accent:#006925}@supports (color:lab(0% 0 0)){.vocabulary-shell:has(.vocab-slot[data-current] .vocab-card[data-tone=light]){--chrome-accent:lab(38.1376% -49.3699 33.9704)}}.vocabulary-shell :is(button,a,select,input):focus-visible{outline-offset:4px;outline:3px solid}.vocabulary-shell button{cursor:pointer}.vocabulary-shell button:disabled{opacity:.4;cursor:default}.vocab-toolbar{--vocab-corner:44px;z-index:50;top:max(12px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));color:var(--chrome-ink);transition:color var(--dur-move) var(--ease-out);position:fixed}.vocab-toolbar:before{content:"";z-index:-1;background:var(--chrome-scrim);pointer-events:none;border-radius:0 0 24px 24px;position:absolute;inset:-14px -18px -26px}.vocab-toolbar-row{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;display:grid}.vocab-toolbar-left,.vocab-player-controls{align-items:center;gap:12px;display:flex}.vocab-toolbar-left{justify-self:start;min-width:0}.vocab-player-controls{justify-self:center}.vocab-settings-button{width:32px;height:32px;color:color-mix(in srgb,var(--chrome-ink) 80%,transparent);transition:color var(--dur-quick) var(--ease-out),background var(--dur-quick) var(--ease-out),transform var(--dur-move) var(--ease-spring);background:0 0;border:0;border-radius:8px;flex-shrink:0;place-items:center;padding:0;display:inline-grid}.vocab-settings-button:active{transition-duration:var(--dur-press);transform:rotate(40deg)scale(.9)}.vocab-settings-button:hover{color:var(--chrome-ink);background:color-mix(in srgb,currentColor 12%,transparent)}.vocab-settings-button[data-active]{color:var(--chrome-accent)}.vocab-brand{max-width:100%;color:inherit;letter-spacing:-1px;text-align:left;text-shadow:var(--chrome-shadow);background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:4px;margin:0;padding:0;font-family:inherit;font-size:22px;font-weight:800;line-height:1.2;display:flex;position:relative}.vocab-brand-name{max-width:100%;display:block}.vocab-brand-name>span{color:var(--chrome-accent)}.vocab-brand small{white-space:nowrap;color:color-mix(in srgb,var(--chrome-ink) 72%,transparent);letter-spacing:.02em;transition:color var(--dur-quick) var(--ease-out);align-items:center;gap:5px;font-size:13px;font-weight:600;line-height:1.25;display:inline-flex;position:absolute;top:calc(100% + 6px);left:0}.vocab-difficulty-current{white-space:nowrap}.vocab-difficulty-current-emoji{margin-right:7px}.vocab-brand:hover small{color:var(--chrome-ink)}.vocab-brand small svg{transition:transform var(--dur-move) var(--ease-spring);flex-shrink:0}.vocab-brand small svg[data-open]{transform:rotate(180deg)}.vocab-icon-button{border:1px solid color-mix(in srgb,currentColor 25%,transparent);background:var(--chrome-fill);width:44px;height:44px;color:var(--chrome-ink);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:background var(--dur-quick) var(--ease-out),color var(--dur-quick) var(--ease-out),border-color var(--dur-quick) var(--ease-out),transform var(--dur-move) var(--ease-spring);border-radius:50%;flex-shrink:0;place-items:center;display:inline-grid}.vocab-icon-button:not(:disabled):active{transition-duration:var(--dur-press);transform:scale(.88)}.vocab-icon-button:hover:not(:disabled){background:color-mix(in srgb,currentColor 10%,transparent)}.vocab-icon-button[data-active]{background:color-mix(in srgb,var(--chrome-accent) 16%,transparent);border-color:var(--chrome-accent);color:var(--chrome-accent)}.vocab-toolbar-row .vocab-player-controls{gap:4px}.vocab-player-controls .vocab-icon-button:not(.vocab-export-open){-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-color:#0000;border-radius:12px}.vocab-player-controls .vocab-icon-button:not(.vocab-export-open) svg{filter:drop-shadow(var(--chrome-icon-shadow))}.vocab-player-controls .vocab-icon-button:not(.vocab-export-open):hover:not(:disabled){background:color-mix(in srgb,currentColor 12%,transparent)}.vocab-player-controls .vocab-icon-button[data-active]:not(.vocab-export-open){color:var(--chrome-accent);background:0 0}.vocab-player-controls .vocab-icon-button:disabled{opacity:.45}.vocab-control-sep{background:color-mix(in srgb,var(--chrome-ink) 38%,transparent);width:1px;height:18px;transition:background var(--dur-move) var(--ease-out);border-radius:1px;flex-shrink:0}.vocab-player-controls .vocab-export-open{margin-left:8px}.vocab-corner-button{z-index:2;background:var(--shell-text);color:var(--shell-on-text);-webkit-backdrop-filter:none;backdrop-filter:none;border-color:#0000;justify-self:end;position:relative}.vocab-icon-button.vocab-corner-button:hover:not(:disabled){color:#000;background:#fff}.vocab-icon-button.vocab-corner-button[data-active]{background:var(--chrome-accent);color:#0a0014;border-color:#0000}.vocab-saved-dock{z-index:46;top:62%;right:env(safe-area-inset-right,0px);touch-action:pan-y;-webkit-user-select:none;user-select:none;place-items:center end;width:42px;height:min(52vh,420px);display:grid;position:fixed;transform:translateY(-50%)}.vocab-saved-handle{background:color-mix(in srgb,var(--shell-surface,#15102a) 34%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:30px;height:72px;color:var(--shell-text);opacity:.4;transform:translate(calc(var(--handle-shift,0) * -1px));transition:transform var(--dur-move) var(--ease-spring),opacity var(--dur-move) var(--ease-out),border-color var(--dur-quick) var(--ease-out),background var(--dur-quick) var(--ease-out);border:1px solid #ffffff1f;border-right:0;border-radius:11px 0 0 11px;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex;position:relative;box-shadow:-4px 0 14px #0000003d}.vocab-saved-dock[data-pulling] .vocab-saved-handle,.vocab-saved-handle:hover,.vocab-saved-handle:focus-visible{opacity:1;background:color-mix(in srgb,var(--shell-surface,#15102a) 72%,transparent);border-color:#ffffff47}.vocab-saved-dock[data-pulling] .vocab-saved-handle{transition:opacity var(--dur-quick) var(--ease-out),background var(--dur-quick) var(--ease-out)}:is(.vocabulary-shell:has(.vocab-slot[data-current] .vocab-card[data-stage=reveal]) .vocab-saved-handle,.vocabulary-shell:has(.vocab-slot[data-current] .vocab-card[data-stage=spelling]) .vocab-saved-handle){opacity:1;background:color-mix(in srgb,var(--shell-surface,#15102a) 72%,transparent);border-color:#ffffff47}.vocabulary-shell:has(.vocab-slot[data-current] .vocab-card[data-stage=reveal]) .vocab-saved-dock:not([data-pulling]) .vocab-saved-handle:not(:hover){animation:vocab-saved-call 1.1s var(--ease-out) 2}@keyframes vocab-saved-call{0%,to{border-color:#ffffff47;box-shadow:-4px 0 14px #0000003d}45%{box-shadow:-4px 0 14px #0000003d,0 0 0 3px color-mix(in srgb,var(--popup-accent,#a78bfa) 40%,transparent),0 0 18px 2px color-mix(in srgb,var(--popup-accent,#a78bfa) 55%,transparent);border-color:color-mix(in srgb,var(--popup-accent,#a78bfa) 70%,#ffffff47)}}.vocab-saved-handle:focus-visible{outline:2px solid var(--chrome-accent,#a78bfa);outline-offset:2px}.vocab-saved-dock[data-hidden]{opacity:0;pointer-events:none;transition:opacity var(--dur-quick) var(--ease-out)}.vocab-saved-scrim,.vocab-saved-panel{--ease-io:cubic-bezier(.65, 0, .35, 1)}.vocab-saved-scrim{z-index:60;animation:vocab-saved-fade .32s var(--ease-io) both;background:#05010ea8;position:fixed;inset:0}.vocab-saved-scrim[data-closing]{pointer-events:none;animation:vocab-saved-fade-out .26s var(--ease-io) forwards}.vocab-saved-panel{z-index:61;background:var(--shell-surface,#15102a);width:min(420px,85vw);position:fixed;top:0;bottom:0;right:0;box-shadow:-18px 0 54px #00000080}.vocab-saved-panel[data-dragging]{pointer-events:none}.vocab-saved-embedded{height:100%}@keyframes vocab-saved-fade{0%{opacity:0}to{opacity:1}}@keyframes vocab-saved-fade-out{0%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){.vocab-saved-scrim{animation-duration:1ms!important}}.vocab-saved-dock .vocab-saved-hint{top:50%;right:calc(40px + var(--handle-shift,0) * 1px);opacity:var(--pull,0);color:var(--shell-text);white-space:nowrap;text-shadow:0 1px 4px #000000c4;pointer-events:none;font-size:11px;font-weight:650;position:absolute;transform:translateY(-50%)}@media(prefers-reduced-motion:reduce){.vocab-saved-handle{transition:none;animation:none}}.vocab-options{--vocab-corner-half:calc(var(--vocab-corner) / 2);--vocab-corner-notch:calc(var(--vocab-corner-half) + 9px);width:min(100%,520px);color:var(--shell-text);background:var(--shell-surface);border:1px solid var(--shell-line-strong);max-height:calc(100dvh - 110px - env(safe-area-inset-top));scrollbar-gutter:stable;--vocab-notch-mask:radial-gradient(circle var(--vocab-corner-notch) at calc(100% - var(--vocab-corner-half)) var(--vocab-corner-half), transparent 0 var(--vocab-corner-notch), #000 calc(var(--vocab-corner-notch) + .5px));-webkit-mask-image:var(--vocab-notch-mask);mask-image:var(--vocab-notch-mask);transform-origin:calc(100% - var(--vocab-corner-half)) var(--vocab-corner-half);animation:vocab-options-in var(--dur-move) var(--ease-spring) both;border-radius:22px;margin:0;padding:16px 22px 22px;position:absolute;top:0;right:0;overflow-y:auto;box-shadow:0 20px 60px #0008}@keyframes vocab-options-in{0%{opacity:0;transform:scale(.26)}to{opacity:1;transform:scale(1)}}@keyframes vocab-options-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.3)}}@keyframes vocab-panel-in{0%{opacity:0;transform:translateY(-8px)scale(.97)}}@keyframes vocab-panel-out{to{opacity:0;transform:translateY(-6px)scale(.97)}}.vocab-difficulty-pop[data-closing],.vocab-options[data-closing]{animation:vocab-options-out var(--dur-quick) var(--ease-in) forwards}.vocab-popup-scrim{z-index:0;position:fixed;inset:0}.vocab-popup-scrim[data-closing]{pointer-events:none}.vocab-options{z-index:1}.vocabulary-shell:not(.vocab-saved-shell,.vocab-library-shell){-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.vocab-options-summary{color:var(--shell-text-soft);font-size:12px;line-height:1.7}.vocab-select-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;display:grid}.vocab-select-grid label{color:var(--shell-text-soft);flex-direction:column;gap:8px;font-size:11px;font-weight:600;display:flex}.vocab-select-grid select{appearance:none;color:var(--shell-text);background:var(--shell-well) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-opacity='.7' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center / 16px;border:1px solid var(--shell-line-strong);text-overflow:ellipsis;cursor:pointer;width:100%;min-width:0;min-height:48px;transition:border-color var(--dur-quick) var(--ease-out),background-color var(--dur-quick) var(--ease-out);border-radius:14px;padding:10px 38px 10px 14px;font-family:inherit;font-size:14px;font-weight:600}.vocab-select-grid select:hover{border-color:color-mix(in srgb,var(--vocab-accent) 60%,transparent)}.vocab-select-grid select:focus-visible{border-color:var(--vocab-accent)}.vocab-picker{color:var(--shell-text-soft);flex-direction:column;align-self:start;gap:8px;font-size:11px;font-weight:600;display:flex;position:relative}.vocab-picker-trigger{border:1px solid var(--shell-line-strong);background:var(--shell-well);width:100%;min-height:48px;color:var(--shell-text);font:inherit;text-align:left;cursor:pointer;transition:border-color var(--dur-quick) var(--ease-out),background-color var(--dur-quick) var(--ease-out);border-radius:14px;align-items:center;gap:6px;padding:10px;font-size:14px;font-weight:600;display:flex}.vocab-picker-trigger:hover{border-color:color-mix(in srgb,var(--vocab-accent) 60%,transparent)}.vocab-picker-trigger:focus-visible{border-color:var(--vocab-accent)}.vocab-picker-trigger svg{opacity:.7;transition:transform var(--dur-quick) var(--ease-out);flex:none}.vocab-picker-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.vocab-theme-chips{flex:none;display:flex}.vocab-theme-chips span{width:14px;height:14px;box-shadow:0 0 0 1.5px var(--shell-well);border-radius:5px;margin-left:-6px}.vocab-theme-chips span:first-child{margin-left:0}.vocab-picker-summary{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.vocab-picker-list{border:1px solid var(--shell-line-strong);background:var(--shell-well);border-radius:14px;flex-direction:column;gap:2px;max-height:240px;padding:6px;display:flex;overflow-y:auto}.vocab-picker-list button{width:100%;color:var(--shell-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:8px 9px;font-size:13px;font-weight:600;display:flex}.vocab-picker-list button:hover{background:#ffffff0f}.vocab-theme-swatch{width:22px;height:22px;transition:box-shadow var(--dur-quick) var(--ease-out);border-radius:7px;flex:none;box-shadow:0 0 0 1.5px #ffffff2e}.vocab-picker-list button[data-on] .vocab-theme-swatch{box-shadow:0 0 0 2px var(--shell-text),0 2px 8px #0005}.vocab-picker-option-label{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.vocab-picker-list button:not([data-on]) .vocab-picker-option-label{opacity:.55}.vocab-picker-reset{justify-content:center;color:var(--vocab-accent)!important}.vocab-select-grid label:first-child{grid-column:1/-1}.vocab-group-label{letter-spacing:.12em;text-transform:uppercase;color:var(--shell-text-mute);font-size:11px;font-weight:700}.vocab-difficulty{flex:0 auto;max-width:100%;position:relative}.vocab-difficulty-band{box-sizing:border-box;color:#ffffffd9;letter-spacing:.06em;background:#ffffff29;border-radius:999px;place-items:center;min-width:5.6em;padding:1px 7px;font-size:10px;font-weight:800;display:inline-grid}.vocab-difficulty-band[data-empty]{background:0 0}.vocab-difficulty-pop{--pop-accent:var(--popup-accent,var(--vocab-accent));--pop-accent-ink:var(--popup-accent-ink,#10140f);z-index:60;border:1px solid var(--shell-line-strong);width:min(330px,100vw - 40px);max-height:min(60dvh,430px);color:var(--shell-text);background:var(--shell-surface);transform-origin:24px -25px;animation:vocab-options-in var(--dur-move) var(--ease-spring) both;border-radius:22px;flex-direction:column;padding:6px;display:flex;position:absolute;top:calc(100% + 25px);left:0;box-shadow:0 20px 60px #0008}.vocab-options>:first-child{padding-right:calc(var(--vocab-corner) + 14px);min-height:calc(var(--vocab-corner) - 4px)}.vocab-difficulty-options{overscroll-behavior:contain;flex-direction:column;gap:2px;min-height:0;margin:0;padding:0 0 64px;list-style:none;display:flex;overflow-y:auto}.vocab-difficulty-option{cursor:pointer;border-radius:12px;grid-template-columns:auto 1fr auto;grid-template-areas:"check label count";align-items:center;gap:2px 10px;min-height:46px;padding:7px 12px;display:grid}.vocab-difficulty-option[data-cursor]{background:var(--shell-hover)}.vocab-difficulty-option[data-active]{background:color-mix(in srgb,var(--pop-accent) 20%,transparent)}.vocab-difficulty-check{color:#0000;border:1.5px solid #ffffff40;border-radius:6px;grid-area:check;align-self:center;place-items:center;width:18px;height:18px;font-size:12px;font-weight:800;line-height:1;display:grid}.vocab-difficulty-option[data-active] .vocab-difficulty-check{background:var(--shell-text);border-color:var(--shell-text);color:var(--shell-on-text)}.vocab-difficulty-option-label{color:var(--shell-text);grid-area:label;align-items:center;gap:8px;font-size:18px;font-weight:700;display:flex}.vocab-difficulty-option-label .vocab-difficulty-band{flex-shrink:0}.vocab-difficulty-option[aria-disabled=true]{opacity:.38;cursor:default}.vocab-difficulty-count{color:var(--shell-text-mute);font-variant-numeric:tabular-nums;white-space:nowrap;grid-area:count;align-self:center;font-size:12px;font-weight:700}@keyframes vocab-count-pop{0%{opacity:0;transform:translateY(7px)scale(.6)}45%{opacity:1;color:var(--pop-accent);text-shadow:0 0 14px color-mix(in srgb,var(--pop-accent) 65%,transparent);transform:translateY(-3px)scale(1.18)}72%{color:var(--pop-accent);transform:translateY(1px)scale(.95)}to{opacity:1;color:var(--shell-text-mute);text-shadow:none;transform:none}}.vocab-difficulty-count{animation:vocab-count-pop .54s var(--ease-spring) both}.vocab-difficulty-foot{background:linear-gradient(to bottom,transparent,color-mix(in srgb,var(--shell-surface) 74%,#090712 26%) 66%);pointer-events:none;border-radius:0 0 20px 20px;justify-content:space-between;align-items:center;gap:10px;padding:26px 12px 10px;display:flex;position:absolute;bottom:0;left:0;right:0}.vocab-difficulty-foot>*{pointer-events:auto}.vocab-difficulty-library{border:1px solid color-mix(in srgb,var(--pop-accent) 30%,#fff3);background:color-mix(in srgb,var(--shell-surface) 55%,transparent);color:var(--shell-text);transition:background var(--dur-move) var(--ease-out),border-color var(--dur-move) var(--ease-out);border-radius:10px;align-items:center;gap:6px;padding:8px 12px;font-family:Inter,sans-serif;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.vocab-difficulty-library:hover{background:color-mix(in srgb,var(--pop-accent) 20%,transparent);border-color:color-mix(in srgb,var(--pop-accent) 55%,transparent)}.vocab-difficulty-done{border:1px solid color-mix(in srgb,var(--pop-accent) 55%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--pop-accent) 90%,#fff 10%),var(--pop-accent));min-height:38px;color:var(--pop-accent-ink);box-shadow:0 6px 18px color-mix(in srgb,var(--pop-accent) 38%,transparent);cursor:pointer;transform-origin:100%;border-radius:10px;padding:0 22px;font-family:Inter,sans-serif;font-size:15px;font-weight:800;animation:.42s cubic-bezier(.22,1,.36,1) backwards vocab-done-in}.vocab-difficulty-done:hover{filter:brightness(1.08)}@keyframes vocab-done-in{0%{opacity:0;filter:blur(6px);transform:translateY(8px)scale(.92)}60%{filter:blur()}to{opacity:1;filter:blur();transform:none}}.vocab-library-shell{flex-direction:column;display:flex}.vocab-library-header{padding:max(16px,env(safe-area-inset-top)) 18px 16px;border-bottom:1px solid var(--shell-line);align-items:center;gap:14px;display:flex}.vocab-library-title{color:var(--shell-text);align-items:center;gap:8px;margin:0;font-size:20px;font-weight:800;display:flex}.vocab-library-subtitle{max-width:62ch;color:var(--shell-text-mute);margin:5px 0 0;font-size:13px;line-height:1.4}.vocab-library-body{min-height:0;padding:20px 18px calc(28px + env(safe-area-inset-bottom));overscroll-behavior:contain;flex-direction:column;flex:1;gap:28px;display:flex;overflow-y:auto}.vocab-library-group-head{margin-bottom:12px}.vocab-library-group-title{color:var(--shell-text);letter-spacing:.01em;margin:0;font-size:16px;font-weight:800}.vocab-library-group-note{color:var(--shell-text-mute);margin:3px 0 0;font-size:13px}.vocab-library-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.vocab-library-pack{border:1px solid var(--shell-line);background:var(--shell-surface);border-radius:16px;flex-direction:column;gap:8px;padding:14px;display:flex}.vocab-pack-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.vocab-pack-band{color:#ffffffd9;letter-spacing:.05em;background:#ffffff29;border-radius:999px;padding:2px 9px;font-size:11px;font-weight:800}.vocab-pack-soon{color:var(--vocab-accent);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:4px;font-size:11px;font-weight:800;display:inline-flex}.vocab-pack-name{color:var(--shell-text);margin:0;font-size:16px;font-weight:800}.vocab-pack-blurb{color:var(--shell-text-soft);margin:0;font-size:13px;line-height:1.45}.vocab-pack-tags{flex-wrap:wrap;gap:6px;margin:2px 0 0;padding:0;list-style:none;display:flex}.vocab-pack-tag{background:var(--shell-hover);color:var(--shell-text-soft);border-radius:999px;padding:2px 9px;font-size:11px;font-weight:600}.vocab-pack-count{color:var(--shell-text-mute);font-variant-numeric:tabular-nums;margin:auto 0 0;padding-top:6px;font-size:12px;font-weight:700}.vocab-options-secondary{border-top:1px solid var(--shell-line);flex-direction:column;gap:10px;margin-top:18px;padding-top:16px;display:flex}.vocab-autoplay{cursor:pointer;flex-direction:row-reverse;justify-content:space-between;align-items:center;gap:14px;min-height:48px;margin-top:18px;font-size:15px;font-weight:600;display:flex}.vocab-autoplay input{appearance:none;background:var(--shell-hover);width:48px;height:28px;box-shadow:inset 0 0 0 1px var(--shell-line-strong);cursor:pointer;transition:background var(--dur-quick) var(--ease-out);border-radius:999px;flex-shrink:0;margin:0;position:relative}.vocab-autoplay input:after{content:"";width:22px;height:22px;transition:transform var(--dur-move) var(--ease-spring);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 2px 6px #0006}.vocab-autoplay input:checked{background:var(--vocab-accent);box-shadow:none}.vocab-autoplay input:checked:after{transform:translate(20px)}.vocab-autoplay input:disabled{opacity:.45;cursor:default}.vocab-site-links{flex-wrap:wrap;gap:8px;margin-top:18px;font-size:13px;display:flex}.vocab-site-links>*{background:var(--shell-hover);min-height:44px;transition:background var(--dur-quick) var(--ease-out),transform var(--dur-move) var(--ease-spring);border-radius:999px;align-items:center;padding:0 16px;font-weight:600;display:flex}.vocab-site-links>:hover{background:color-mix(in srgb,var(--shell-text) 16%,transparent)}.vocab-site-links>:active{transition-duration:var(--dur-press);transform:scale(.95)}.vocab-site-links>button{background:var(--shell-text);color:var(--shell-on-text);margin-left:auto}.vocab-site-links>button:hover{background:#fff}.vocab-memory{border-top:1px solid var(--shell-line);flex-direction:column;gap:10px;margin-top:18px;padding-top:16px;display:flex}.vocab-memory-clear{text-underline-offset:4px;align-self:flex-start;align-items:center;min-height:44px;font-size:13px;font-weight:600;text-decoration:underline;display:inline-flex}.vocab-viewport{overscroll-behavior-y:contain;scroll-snap-type:y mandatory;overflow-anchor:none;scrollbar-width:none;touch-action:pan-y;height:100dvh;overflow-y:auto}.vocab-viewport::-webkit-scrollbar{display:none}.vocab-viewport:focus-visible{outline:2px solid var(--vocab-accent);outline-offset:-3px}.vocab-virtual-track{width:100%;position:relative}.vocab-slot{scroll-snap-align:start;scroll-snap-stop:always;box-sizing:border-box;justify-content:center;width:100%;display:flex;position:absolute;top:0;left:0}.vocab-card{isolation:isolate;width:100%;height:100%;position:relative;overflow:hidden}.vocab-backdrop{pointer-events:none;z-index:-1;position:absolute;inset:0;overflow:hidden}.vocab-backdrop:after{content:"";background:linear-gradient(#0005,#0000 28% 65%,#0005);position:absolute;inset:0}.vocab-card[data-tone=light] .vocab-backdrop:after{background:0 0}.vocab-backdrop-drift{position:absolute;inset:0}.vocab-backdrop-drift[data-drift]{animation:vocab-backdrop-drift calc(var(--kinetic-beat,.6s) * 16) ease-in-out infinite alternate;will-change:transform;inset:0 -9%}@keyframes vocab-backdrop-drift{0%{transform:translate(-7%)}to{transform:translate(7%)}}.vocab-card[data-tone=light] .vocab-stage-text [data-kinetic-word]{text-shadow:none!important}.vocab-card-heading,.vocab-chip,.vocab-theme-name,.vocab-caption{display:none!important}.vocab-stage{position:absolute;inset:0}.vocab-stage-label{z-index:3;bottom:calc(var(--vocab-chrome-progress-bottom) + 10px);letter-spacing:.16em;text-transform:uppercase;color:var(--vocab-ink);text-shadow:0 1px 6px #0006;pointer-events:none;white-space:nowrap;font-family:Inter,sans-serif;font-size:10px;position:absolute;left:50%;transform:translate(-50%)}.vocab-eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--vocab-accent,var(--vocab-accent));flex-shrink:0;font-family:Inter,sans-serif;font-size:10px}.vocab-stage-band,.vocab-stage-text{pointer-events:none;position:absolute;inset:0}.vocab-reveal-details{--vocab-reveal-top:50%;--vocab-reveal-gap:23px;top:var(--vocab-reveal-top);width:min(680px,84%);height:auto;max-height:calc(100% - var(--vocab-reveal-top) - var(--vocab-chrome-top) - var(--vocab-reveal-gap));overscroll-behavior-y:contain;scrollbar-width:thin;overflow-wrap:break-word;word-break:keep-all;--vocab-reveal-pad-y:14px;padding:var(--vocab-reveal-pad-y) 18px;border:1px solid color-mix(in srgb,var(--vocab-ink) 14%,transparent);background:color-mix(in srgb,var(--vocab-button-ink) 42%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:var(--vocab-ink);border-radius:20px;margin-inline:auto;font-family:Inter,sans-serif;font-size:clamp(16px,1.9vw,21px);line-height:1.6;position:absolute;left:0;right:0;overflow:hidden auto;box-shadow:0 18px 50px -18px #0007}.vocab-pronunciation{color:var(--vocab-ink);margin-bottom:18px;font-size:.82em}.vocab-example{border-top:1px solid color-mix(in srgb,currentColor 22%,transparent);margin-top:18px;padding-top:14px}.vocab-translation{margin-top:10px;font-family:Inter,sans-serif;font-size:14px;line-height:1.65}.vocab-progress{z-index:3;bottom:var(--vocab-chrome-progress-bottom);gap:5px;width:min(440px,100% - 48px);display:flex;position:absolute;left:50%;transform:translate(-50%)}.vocab-progress span{height:var(--vocab-chrome-progress);background:color-mix(in srgb,var(--vocab-ink) 26%,transparent);border-radius:4px;flex:1;overflow:hidden}.vocab-progress span[data-complete=true]{background:var(--vocab-accent)}.vocab-progress i{background:var(--vocab-accent);transform-origin:0;width:100%;height:100%;animation:linear forwards vocab-page-progress;display:block;transform:scaleX(0)}@keyframes vocab-page-progress{to{transform:scaleX(1)}}.vocab-card-actions,.vocab-card-footer,.vocab-scroll-nav{display:none!important}.vocab-action-bar{z-index:3;bottom:var(--vocab-chrome-inset);align-items:center;gap:var(--action-gap);--action-gap:8px;--strip-gap:6px;--strip-size:min(40px, var(--vocab-chrome-bar), calc((100cqi - 8 * var(--strip-gap) - 5px - var(--action-gap)) / 9));width:min(440px,100% - 48px);display:flex;position:absolute;left:50%;transform:translate(-50%);container-type:inline-size}.vocab-action-main{flex:1;justify-content:flex-end;min-width:0;display:flex}.vocab-action-row{justify-content:flex-end;align-items:center;gap:8px;display:flex}.vocab-reveal-pill{min-height:var(--vocab-chrome-bar);background:var(--vocab-accent);color:var(--vocab-button-ink);white-space:nowrap;border:1px solid color-mix(in srgb,var(--vocab-button-ink) 22%,transparent);transition:transform var(--dur-move) var(--ease-spring);border-radius:30px;justify-content:center;align-items:center;padding:0 20px;font-family:Inter,sans-serif;font-size:13px;font-weight:700;display:inline-flex;box-shadow:0 8px 24px #0005}.vocab-reveal-pill:active{transition-duration:var(--dur-press);transform:scale(.94)}.vocab-card .vocab-reveal-pill:focus-visible{outline-color:var(--vocab-ink)}.vocab-motion-item{flex-shrink:0;display:inline-flex}.vocab-emoji-strip{justify-content:flex-end;align-items:center;gap:var(--strip-gap);flex-wrap:nowrap;display:flex}.vocab-emoji-strip-btn{width:var(--strip-size);height:var(--strip-size);font-size:calc(var(--strip-size) * .5);border:1px solid color-mix(in srgb,var(--vocab-ink) 18%,transparent);background:color-mix(in srgb,var(--vocab-ink) 10%,transparent);color:var(--vocab-ink);transition:transform var(--dur-move) var(--ease-spring),border-color var(--dur-quick) var(--ease-out),background var(--dur-quick) var(--ease-out),color var(--dur-quick) var(--ease-out);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex;position:relative;box-shadow:0 4px 12px #0003}.vocab-emoji-strip-btn:not(:disabled):active{transition-duration:var(--dur-press);transform:scale(.84)}.vocab-emoji-strip-count{background:var(--vocab-accent);min-width:17px;height:17px;color:var(--vocab-button-ink);letter-spacing:0;pointer-events:none;animation:vocab-count-roll var(--dur-move) var(--ease-spring) both;border-radius:999px;place-items:center;padding:0 4px;font-family:Inter,sans-serif;font-size:9px;font-weight:800;line-height:1;display:grid;position:absolute;top:-7px;right:-7px;box-shadow:0 2px 6px #0008}@keyframes vocab-count-roll{0%{opacity:0;transform:translateY(70%)scale(.6)}}.vocab-emoji-glyph{display:inline-block}.vocab-emoji-glyph[data-pop]{animation:vocab-emoji-hop .46s var(--ease-out) both}@keyframes vocab-emoji-hop{0%{transform:translateY(0)scale(1)}38%{transform:translateY(-34%)scale(1.42)rotate(-8deg)}70%{transform:translateY(4%)scale(.94)}to{transform:translateY(0)scale(1)}}.vocab-emoji-plus{color:var(--vocab-ink);pointer-events:none;animation:vocab-plus-rise .7s var(--ease-out) both;font-family:Inter,sans-serif;font-size:12px;font-weight:800;line-height:1;position:absolute;top:-4px;left:50%}@keyframes vocab-plus-rise{0%{opacity:1;transform:translate(-50%,4px)scale(.6)}30%{opacity:1;transform:translate(-50%,-14px)scale(1.1)}to{opacity:0;transform:translate(-50%,-30px)scale(1)}}.vocab-pop{place-items:center;display:inline-grid;position:relative}.vocab-pop[data-pop]{animation:vocab-pop .5s var(--ease-out) both}.vocab-pop[data-pop]:after{content:"";pointer-events:none;animation:vocab-pop-ring .55s var(--ease-out) both;border:2px solid;border-radius:50%;position:absolute;inset:-6px}@keyframes vocab-pop{0%{transform:scale(.3)rotate(-18deg)}50%{transform:scale(1.36)rotate(8deg)}78%{transform:scale(.92)rotate(-2deg)}to{transform:scale(1)rotate(0)}}@keyframes vocab-pop-ring{0%{opacity:.9;transform:scale(.4)}to{opacity:0;transform:scale(2.1)}}.vocab-emoji-strip-sep{background:color-mix(in srgb,var(--vocab-ink) 16%,transparent);flex-shrink:0;width:1px;height:20px;margin:0 2px}.vocab-emoji-strip-btn.vocab-reaction-heart,.vocab-emoji-strip-btn.vocab-reaction-bookmark{font-size:calc(var(--strip-size) * .45)}.vocab-emoji-strip-btn.vocab-reaction-heart[data-on]{color:var(--vocab-accent);border-color:color-mix(in srgb,var(--vocab-accent) 55%,transparent)}.vocab-emoji-strip-btn.vocab-reaction-bookmark[data-on]{color:var(--vocab-accent-alt);border-color:color-mix(in srgb,var(--vocab-accent-alt) 55%,transparent)}.vocab-emoji-burst{z-index:2;pointer-events:none;font-size:24px;position:absolute;inset:0;overflow:hidden}.vocab-emoji-burst-field{position:absolute;inset:0}.vocab-emoji-burst-glyph{filter:blur(.4px);text-shadow:0 6px 18px #0005;will-change:transform,opacity;line-height:1;position:absolute;translate:-50% -50%}.vocab-emoji-self{z-index:4;opacity:0;filter:none;text-shadow:0 3px 14px #0007;pointer-events:none;will-change:transform,opacity;font-size:44px;line-height:1;position:absolute;translate:-50% -50%}.vocab-reaction{flex-direction:column;align-items:center;gap:3px;display:flex;position:relative}.vocab-reaction-button{min-width:64px;min-height:var(--vocab-chrome-bar);border:1px solid color-mix(in srgb,var(--vocab-ink) 18%,transparent);background:color-mix(in srgb,var(--vocab-ink) 10%,transparent);color:var(--vocab-ink);transition:color var(--dur-quick) var(--ease-out),border-color var(--dur-quick) var(--ease-out),transform var(--dur-move) var(--ease-spring);border-radius:30px;justify-content:center;align-items:center;display:inline-flex;box-shadow:0 8px 24px #0005}.vocab-reaction-button:disabled{opacity:.4}.vocab-reaction-button:not(:disabled):active{transition-duration:var(--dur-press);transform:scale(.88)}.vocab-card .vocab-reaction-button:focus-visible{outline-color:var(--vocab-ink)}.vocab-reaction-heart[data-on]{color:var(--vocab-accent);border-color:color-mix(in srgb,var(--vocab-accent) 55%,transparent)}.vocab-reaction-bookmark[data-on]{color:var(--vocab-accent-alt);border-color:color-mix(in srgb,var(--vocab-accent-alt) 55%,transparent)}.vocab-reaction-count{min-height:14px;color:color-mix(in srgb,var(--vocab-ink) 88%,transparent);animation:vocab-reaction-count-roll var(--dur-move) var(--ease-spring) both;font-family:Inter,sans-serif;font-size:11px;font-weight:600;line-height:14px;position:absolute;top:calc(100% + 3px);left:50%;transform:translate(-50%)}@keyframes vocab-reaction-count-roll{0%{opacity:0;transform:translate(-50%,60%)scale(.7)}to{opacity:1;transform:translate(-50%)scale(1)}}.vocab-tap-zones{z-index:2;pointer-events:none;display:flex;position:absolute;inset:0}.vocab-tap-zones button{pointer-events:auto;opacity:0;background:0 0;border:0;flex:1;height:100%}.vocab-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:20px;height:100dvh;padding:100px 28px;display:flex}.vocab-empty h1{font-size:clamp(24px,5vw,38px);font-weight:700}.vocab-empty>p:not(.vocab-eyebrow){max-width:360px;color:var(--shell-text-soft);font-size:14px;line-height:1.7}.vocab-light-button{background:var(--vocab-accent);color:var(--vocab-button-ink);border-radius:40px;padding:14px 24px;font-weight:700}.vocab-stream-status{z-index:30;bottom:max(66px,calc(env(safe-area-inset-bottom) + 58px));background:var(--shell-surface);color:#fff;border:1px solid var(--shell-line-strong);border-radius:16px;justify-content:space-between;align-items:center;gap:16px;width:min(480px,100% - 36px);padding:14px 18px;font-size:12px;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0005}.vocab-stream-status button{min-height:44px;font-weight:700;text-decoration:underline}.vocab-saved-shell{overscroll-behavior-y:contain;height:100dvh;overflow-y:auto}.vocab-saved-header{padding:max(20px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) 18px max(18px,env(safe-area-inset-left));align-items:center;gap:14px;display:flex}.vocab-saved-title{letter-spacing:-.5px;font-size:22px;font-weight:800;line-height:1.2}.vocab-saved-subtitle{color:var(--shell-text-mute);margin-top:4px;font-size:12px;line-height:1.5}.vocab-saved-tabs{padding:0 max(18px,env(safe-area-inset-right)) 0 max(18px,env(safe-area-inset-left));gap:8px;margin-bottom:14px;display:flex}.vocab-saved-tab{border:1px solid var(--shell-line);min-height:40px;color:var(--shell-text-mute);transition:color var(--dur-quick) var(--ease-out),background var(--dur-quick) var(--ease-out),border-color var(--dur-quick) var(--ease-out),transform var(--dur-move) var(--ease-spring);background:0 0;border-radius:999px;align-items:center;gap:7px;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex}.vocab-saved-tab:hover{color:var(--shell-text-soft);background:var(--shell-hover)}.vocab-saved-tab:active{transition-duration:var(--dur-press);transform:scale(.96)}.vocab-saved-tab[data-on]{color:var(--vocab-ink);border-color:color-mix(in srgb,var(--vocab-accent) 45%,transparent);background:color-mix(in srgb,var(--vocab-accent) 14%,transparent)}.vocab-saved-tab-count{background:var(--shell-hover);min-width:20px;color:var(--shell-text-soft);text-align:center;font-variant-numeric:tabular-nums;border-radius:999px;padding:1px 6px;font-size:11px;font-weight:700}.vocab-saved-tab[data-on] .vocab-saved-tab-count{background:color-mix(in srgb,var(--vocab-accent) 28%,transparent);color:var(--vocab-ink)}.vocab-saved-tab[data-fused]{border-right:0;border-top-right-radius:0;border-bottom-right-radius:0;padding-right:10px}.vocab-saved-density{border:1px solid color-mix(in srgb,var(--vocab-accent) 45%,transparent);border-left:1px solid color-mix(in srgb,var(--vocab-accent) 28%,transparent);background:color-mix(in srgb,var(--vocab-accent) 14%,transparent);min-height:40px;color:var(--shell-text-soft);transition:color var(--dur-quick) var(--ease-out),background var(--dur-quick) var(--ease-out);border-radius:0 999px 999px 0;justify-content:center;align-items:center;margin-left:-8px;padding:0 11px;display:inline-flex}.vocab-saved-density:hover{color:var(--vocab-ink);background:color-mix(in srgb,var(--vocab-accent) 22%,transparent)}.vocab-saved-density:active{background:color-mix(in srgb,var(--vocab-accent) 30%,transparent)}.vocab-saved-density[aria-pressed=true]{color:var(--vocab-ink);background:color-mix(in srgb,var(--vocab-accent) 26%,transparent)}.vocab-saved-density:focus-visible{outline:2px solid var(--chrome-accent,#a78bfa);outline-offset:2px}.vocab-saved-body{padding:0 max(18px,env(safe-area-inset-right)) calc(env(safe-area-inset-bottom) + 96px) max(18px,env(safe-area-inset-left))}.vocab-saved-hint{color:var(--shell-text-mute);margin:16px 0 0;font-size:11px}.vocab-saved-groups{flex-direction:column;gap:22px;margin-top:8px;display:flex}.vocab-saved-group{flex-direction:column;gap:10px;display:flex}.vocab-saved-group-title{border-bottom:1px solid var(--shell-line);color:var(--shell-text-soft);align-items:baseline;gap:8px;padding-bottom:6px;font-size:13px;font-weight:800;display:flex}.vocab-saved-group-hint{color:var(--shell-text-mute);font-size:11px;font-weight:600}.vocab-saved-group-count{color:var(--shell-text-mute);font-variant-numeric:tabular-nums;margin-left:auto;font-size:11px;font-weight:700}.vocab-saved-folder{flex-direction:column;gap:10px;display:flex}.vocab-saved-folder-summary{cursor:pointer;min-height:36px;color:var(--shell-text-soft);align-items:baseline;gap:8px;padding:0 2px;font-size:12px;font-weight:700;list-style:none;display:flex}.vocab-saved-folder-summary::-webkit-details-marker{display:none}.vocab-saved-folder-summary:before{content:"";width:6px;height:6px;transition:transform var(--dur-quick) var(--ease-out);border-bottom:1.6px solid;border-right:1.6px solid;transform:rotate(-45deg)}.vocab-saved-folder[open] .vocab-saved-folder-summary:before{transform:rotate(45deg)}.vocab-saved-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.vocab-saved-item{touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:20px;position:relative}.vocab-saved-item:focus-visible{outline:2px solid var(--vocab-accent);outline-offset:3px}.vocab-saved-row-flag{z-index:1;color:#ff8e97;opacity:0;pointer-events:none;transition:opacity var(--dur-quick) var(--ease-out);background:#ff5f6d29;border-radius:20px;justify-content:center;align-items:center;padding:0 22px;font-size:12px;font-weight:800;display:flex;position:absolute;inset:0}.vocab-saved-item[data-reveal=right] .vocab-saved-row-flag{justify-content:flex-end}.vocab-saved-item[data-reveal=left] .vocab-saved-row-flag{justify-content:flex-start}.vocab-saved-item[data-shifted] .vocab-saved-row-flag{opacity:1}.vocab-saved-row-body{border:1px solid var(--shell-line);background:var(--shell-surface);transform:translate(var(--row-shift,0px));transition:transform var(--dur-move) var(--ease-spring);border-radius:20px;flex-direction:column;gap:10px;padding:18px;display:flex;position:relative}.vocab-saved-item[data-shifted] .vocab-saved-row-body{transition:none}.vocab-saved-item[data-pressing] .vocab-saved-row-flag{opacity:1;clip-path:inset(0 100% 0 0);animation:.5s linear forwards vocab-saved-press}@keyframes vocab-saved-press{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}.vocab-saved-word-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.vocab-saved-item[data-compact]{cursor:pointer}.vocab-saved-item[data-compact] .vocab-saved-word{font-size:21px}.vocab-saved-peek{color:var(--shell-text-mute);transition:transform var(--dur-quick) var(--ease-out);flex-shrink:0;align-self:center;margin-left:auto}.vocab-saved-item[aria-expanded=true] .vocab-saved-peek{transform:rotate(180deg)}.vocab-saved-word{letter-spacing:-.6px;color:var(--vocab-accent);font-size:26px;font-weight:800}.vocab-saved-badges{flex-wrap:wrap;gap:6px;display:flex}.vocab-saved-badge{letter-spacing:.08em;text-transform:uppercase;color:var(--shell-text-soft);border:1px solid var(--shell-line-strong);border-radius:999px;padding:3px 9px;font-size:10px;font-weight:700}.vocab-saved-badge[data-plain]{letter-spacing:.01em;text-transform:none;font-size:11px;font-weight:600}.vocab-saved-ipa{color:var(--shell-text-mute);font-size:13px}.vocab-saved-def{color:var(--vocab-ink);font-size:15px;line-height:1.6}.vocab-saved-usage{border-top:1px solid var(--shell-line);color:var(--shell-text-soft);padding-top:10px;font-size:13px;line-height:1.6}.vocab-saved-undo{z-index:30;bottom:calc(env(safe-area-inset-bottom) + 18px);border:1px solid var(--shell-line-strong);background:var(--shell-surface);width:min(92vw,420px);color:var(--shell-text-soft);border-radius:999px;align-items:center;gap:12px;padding:10px 10px 10px 16px;font-size:13px;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 14px 36px #0006}.vocab-saved-undo strong{color:var(--vocab-ink);font-weight:700}.vocab-saved-undo-button{background:var(--vocab-accent);min-height:36px;color:var(--vocab-button-ink);border:0;border-radius:999px;align-items:center;gap:6px;margin-left:auto;padding:0 14px;font-size:12px;font-weight:800;display:inline-flex}.vocab-saved-empty{text-align:center;height:calc(100dvh - 175px);color:var(--shell-text-mute);flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:0 16px;display:flex}.vocab-vault{--vault-head:56px;--vault-key-x:29px;--vault-tip:116px;--vault-chip:164px;--vault-jar-h:56px;--vault-jar-w:100px;--vault-mouth-w:calc(var(--vault-jar-w) - 8px);--vault-mouth-h:22px;--vault-fall:80px;width:min(300px,100%);height:280px;padding-top:var(--vault-head);color:var(--vocab-ink);--vault-accent:var(--chrome-accent,#a78bfa);--vault-heart:#fb7aa4;flex-direction:column;align-items:center;gap:18px;display:flex;position:relative}.vocab-vault-keys{gap:18px;display:flex}.vocab-vault-key{background:color-mix(in srgb,var(--shell-surface,#15102a) 58%,transparent);width:40px;height:40px;color:var(--shell-text-mute);opacity:.45;border:1px solid #ffffff24;border-radius:50%;place-items:center;display:grid;position:relative}.vocab-vault-key[data-key=bookmark]{--key-accent:var(--vault-accent)}.vocab-vault-key[data-key=heart]{--key-accent:var(--vault-heart)}.vocab-vault-key[data-active]{color:var(--key-accent,var(--vault-accent));border-color:color-mix(in srgb,var(--key-accent,var(--vault-accent)) 60%,transparent);background:color-mix(in srgb,var(--key-accent,var(--vault-accent)) 18%,transparent);box-shadow:0 0 18px -4px color-mix(in srgb,var(--key-accent,var(--vault-accent)) 70%,transparent);opacity:1;animation:vocab-vault-tap 2.6s var(--ease-out) infinite}.vocab-vault-key[data-active]:after{content:"";border:2px solid var(--key-accent,var(--vault-accent));opacity:0;animation:vocab-vault-ring 2.6s var(--ease-out) infinite;border-radius:50%;position:absolute;inset:-3px}.vocab-vault-chip{top:var(--vault-chip);z-index:1;background:linear-gradient(145deg,color-mix(in srgb,var(--chip-accent) 85%,#fff),var(--chip-accent));width:34px;height:22px;box-shadow:0 8px 16px -6px color-mix(in srgb,var(--chip-accent) 85%,transparent);opacity:0;border-radius:7px;animation:2.6s cubic-bezier(.5,0,.55,1) infinite vocab-vault-drop;position:absolute}.vocab-vault-chip[data-chip=bookmark]{--chip-from:28px;--chip-accent:var(--vault-accent);--chip-land-x:9px;--chip-land-y:-3px;--chip-land-rot:-1deg}.vocab-vault-chip[data-chip=heart]{--chip-from:-28px;--chip-accent:var(--vault-heart)}.vocab-vault-jar{z-index:2;width:var(--vault-jar-w);height:var(--vault-jar-h);transform-origin:50% 100%;animation:vocab-vault-catch 2.6s var(--ease-spring) infinite;border-radius:10px 10px 26px 26px;margin-top:auto;position:relative;box-shadow:0 16px 30px -16px #000000c4}.vocab-vault-body{z-index:0;border:1px solid color-mix(in srgb,var(--vault-accent) 42%,#ffffff2e);background:linear-gradient(180deg,color-mix(in srgb,var(--vault-accent) 34%,transparent),color-mix(in srgb,var(--vault-accent) 12%,transparent) 55%,color-mix(in srgb,var(--shell-surface,#15102a) 40%,transparent));-webkit-mask-image:radial-gradient(ellipse calc(var(--vault-mouth-w) / 2) calc(var(--vault-mouth-h) / 2) at 50% 0,transparent 99.5%,#000 100%);mask-image:radial-gradient(ellipse calc(var(--vault-mouth-w) / 2) calc(var(--vault-mouth-h) / 2) at 50% 0,transparent 99.5%,#000 100%);border-radius:10px 10px 26px 26px;position:absolute;inset:0;box-shadow:inset 0 1px #ffffff8c,inset 0 -14px 24px -16px #fff6;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.vocab-vault-jar:before{content:"";background:radial-gradient(closest-side,color-mix(in srgb,var(--vault-accent) 40%,transparent),transparent);opacity:.45;pointer-events:none;animation:vocab-vault-bloom 2.6s var(--ease-out) infinite;border-radius:50%;position:absolute;inset:-26px -20px -18px}.vocab-vault-lid{z-index:0;top:calc(100% - var(--vault-jar-h) - var(--vault-mouth-h) / 2);width:var(--vault-mouth-w);height:var(--vault-mouth-h);border:1px solid color-mix(in srgb,var(--vault-accent) 65%,transparent);background:color-mix(in srgb,#05030c 86%,var(--vault-accent));box-shadow:inset 0 -3px 6px -2px color-mix(in srgb,var(--vault-accent) 60%,transparent),0 3px 10px -3px #000000b3;margin-left:calc(var(--vault-mouth-w) / -2);transform-origin:50% calc(var(--vault-jar-h) + var(--vault-mouth-h) / 2);animation:vocab-vault-catch 2.6s var(--ease-spring) infinite;border-radius:50%;position:absolute;left:50%}.vocab-vault-jar:after{content:"";z-index:1;left:50%;top:calc(var(--vault-mouth-h) / -2);width:var(--vault-mouth-w);height:var(--vault-mouth-h);border:1px solid color-mix(in srgb,var(--vault-accent) 78%,#ffffff40);clip-path:inset(50% 0 0);border-radius:50%;position:absolute;transform:translate(-50%)}.vocab-vault-shine{opacity:.26;background:#fff;border-radius:50%;width:18px;height:8px;position:absolute;top:18px;left:16px;transform:rotate(-16deg)}.vocab-vault-spark{background:var(--vault-accent);width:5px;height:5px;box-shadow:0 0 8px color-mix(in srgb,var(--vault-accent) 80%,transparent);opacity:0;animation:vocab-vault-spark 2.6s var(--ease-out) infinite;border-radius:50%;position:absolute}.vocab-vault-spark[data-s="1"]{top:-12px;left:14px}.vocab-vault-spark[data-s="2"]{width:4px;height:4px;animation-delay:70ms;top:-20px;left:50%}.vocab-vault-spark[data-s="3"]{animation-delay:.14s;top:-11px;right:26px}.vocab-vault-tip{z-index:3;white-space:nowrap;width:max-content;color:var(--vocab-ink);text-align:left;--tip-fill:color-mix(in srgb, var(--tip-accent) 22%, var(--shell-surface,#15102a));--tip-line:color-mix(in srgb, var(--tip-accent) 62%, var(--shell-surface,#15102a));animation:vocab-vault-bob 2.6s var(--ease-out) infinite;flex-wrap:nowrap;align-items:center;gap:.3em;padding:8px 13px;font-size:13.2px;font-weight:650;line-height:1.3;display:flex;position:absolute}.vocab-vault-tip-shape{z-index:0;background:var(--tip-fill);filter:drop-shadow(1px 0 0 var(--tip-line)) drop-shadow(-1px 0 0 var(--tip-line)) drop-shadow(0 1px 0 var(--tip-line)) drop-shadow(0 -1px 0 var(--tip-line)) drop-shadow(0 9px 12px #0000008f);border-radius:13px;position:absolute;inset:0}.vocab-vault-tip .vocab-vault-tip-shape{filter:drop-shadow(1px 0 0 var(--tip-line)) drop-shadow(-1px 0 0 var(--tip-line)) drop-shadow(0 1px 0 var(--tip-line)) drop-shadow(0 -1px 0 var(--tip-line)) drop-shadow(0 9px 12px #0000008f) drop-shadow(0 0 9px color-mix(in srgb,var(--tip-accent) 55%,transparent))}.vocab-vault-tip-shape:after{content:"";background:var(--tip-fill);width:10px;height:9px;position:absolute}.vocab-vault-word{z-index:1;animation:vocab-vault-word-in .46s var(--ease-spring) both;animation-delay:calc(var(--i,0) * 70ms);display:inline-block;position:relative}@keyframes vocab-vault-word-in{0%{opacity:0;transform:translateY(7px)scale(.9)}to{opacity:1;transform:none}}.vocab-vault-tip[data-tip=heart]{--tip-accent:var(--vault-heart);top:6px;left:calc(50% - var(--vault-key-x));transform:translate(-66.6%)}.vocab-vault-tip[data-tip=heart] .vocab-vault-tip-shape:after{clip-path:polygon(50% 100%,0 0,100% 0);bottom:-7px;left:66.6%;right:auto;transform:translate(-50%)}.vocab-vault-tip[data-tip=bookmark]{--tip-accent:var(--vault-accent);top:var(--vault-tip);left:calc(50% + var(--vault-key-x));right:auto;transform:translate(-33.3%)}.vocab-vault-tip[data-tip=bookmark] .vocab-vault-tip-shape:after{clip-path:polygon(50% 0,100% 100%,0 100%);top:-7px;left:33.3%;right:auto;transform:translate(-50%)}@keyframes vocab-vault-bob{0%,to{translate:0}50%{translate:0 -3px}}@keyframes vocab-vault-tap{0%,34%,to{transform:scale(1)}7%{transform:scale(.85)}15%{transform:scale(1.07)}}@keyframes vocab-vault-ring{0%,6%{opacity:0;transform:scale(.82)}13%{opacity:.9;transform:scale(1)}32%,to{opacity:0;transform:scale(1.8)}}@keyframes vocab-vault-drop{0%,24%{opacity:0;transform:translate(var(--chip-from,0),-6px) scale(.5) rotate(-10deg)}32%{opacity:1;transform:translate(var(--chip-from,0)) scale(1) rotate(-10deg)}44%{opacity:1;transform:translate(var(--chip-land-x,0px),calc(var(--vault-fall) * .33 + var(--chip-land-y,0px))) scale(.98) rotate(var(--chip-land-rot,-2deg))}60%{opacity:1;transform:translate(var(--chip-land-x,0px),calc(var(--vault-fall) * .7 + var(--chip-land-y,0px))) scale(.92) rotate(var(--chip-land-rot,5deg))}68%{opacity:1;transform:translate(var(--chip-land-x,0px),calc(var(--vault-fall) * .92 + var(--chip-land-y,0px))) scale(.7) rotate(var(--chip-land-rot,5deg))}74%,to{opacity:0;transform:translate(var(--chip-land-x,0px),calc(var(--vault-fall) + var(--chip-land-y,0px))) scale(.5) rotate(var(--chip-land-rot,5deg))}}@keyframes vocab-vault-catch{0%,62%,92%,to{transform:scale(1)}70%{transform:scale(1.08,.9)}82%{transform:scale(.97,1.05)}}@keyframes vocab-vault-bloom{0%,62%,to{opacity:.4}72%{opacity:.95}}@keyframes vocab-vault-spark{0%,66%{opacity:0;transform:translateY(4px)scale(.4)}76%{opacity:1;transform:translateY(-8px)scale(1)}92%,to{opacity:0;transform:translateY(-18px)scale(.4)}}@media(max-height:680px){.vocab-vault{--vault-head:46px;--vault-key-x:26px;--vault-tip:98px;--vault-chip:140px;--vault-jar-h:48px;--vault-jar-w:92px;--vault-mouth-h:20px;--vault-fall:64px;height:234px}.vocab-vault-chip[data-chip=bookmark]{--chip-from:26px}.vocab-vault-chip[data-chip=heart]{--chip-from:-26px}.vocab-vault-key{width:34px;height:34px}.vocab-vault-tip{padding:7px 12px;font-size:12.7px}}@media(orientation:landscape)and (max-height:560px){.vocab-vault{--vault-head:40px;--vault-tip:88px;height:118px;padding-top:var(--vault-head);flex-shrink:0}.vocab-vault-jar,.vocab-vault-lid,.vocab-vault-chip{display:none}.vocab-vault-tip{padding:6px 11px;font-size:12.5px}.vocab-vault-key[data-active],.vocab-vault-key[data-active]:after{animation:none}.vocab-saved-empty{gap:6px}.vocab-saved-empty h2{display:none}.vocab-saved-empty p{font-size:13px;line-height:1.4}.vocab-saved-empty .vocab-light-button{min-height:40px;margin-bottom:8px;padding-block:8px}}@media(prefers-reduced-motion:reduce){.vocab-vault-key[data-active],.vocab-vault-key[data-active]:after,.vocab-vault-chip,.vocab-vault-jar,.vocab-vault-jar:before,.vocab-vault-lid,.vocab-vault-spark,.vocab-vault-tip,.vocab-vault-word{animation:none}.vocab-vault-chip{opacity:1;transform:translate(var(--chip-from,0)) rotate(-10deg)}}.vocab-saved-empty-short{display:none}@media(orientation:landscape)and (max-height:560px){.vocab-saved-empty-long{display:none}.vocab-saved-empty-short{display:block}}.vocab-saved-empty h2{color:var(--vocab-ink);font-size:22px;font-weight:700}.vocab-saved-empty p{max-width:320px;font-size:14px;line-height:1.7}.vocab-saved-empty .vocab-light-button{margin-top:auto;margin-bottom:28px}.vocab-saved-empty .vocab-vault{margin-top:auto}.vocab-onboard{z-index:40;padding:max(18px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));background:radial-gradient(120% 70% at 50% 46%,color-mix(in srgb,var(--rung) 20%,transparent),transparent 70%),var(--shell-bg);color:var(--shell-text);flex-direction:column;font-family:Inter,sans-serif;display:flex;position:fixed;inset:0}.vocab-onboard-head{text-align:center;padding:10px 12px 6px}.vocab-onboard-head h1{letter-spacing:-.02em;margin:4px 0 6px;font-size:clamp(22px,6vw,30px);font-weight:800}.vocab-onboard-head p:last-child{max-width:340px;color:var(--shell-text-mute);margin:0 auto;font-size:13px;line-height:1.5}.vocab-onboard-gauge{flex:1;width:min(560px,100%);min-height:0;margin:10px auto;position:relative}.vocab-onboard-ladder{grid-template-rows:repeat(var(--rung-count),minmax(0,1fr));height:100%;margin:0;padding:0;list-style:none;display:grid}.vocab-onboard-rung{opacity:.5;cursor:pointer;transition:opacity var(--dur-quick) var(--ease-out);grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr);align-items:center;column-gap:14px;display:grid}.vocab-onboard-rung[data-on]{opacity:1}.vocab-onboard-rung[aria-disabled=true]{opacity:.26;cursor:default}.vocab-onboard-name{text-align:right;flex-direction:column;align-items:flex-end;gap:3px;min-width:0;display:flex}.vocab-onboard-label{white-space:nowrap;transition:color var(--dur-quick) var(--ease-out),font-size var(--dur-quick) var(--ease-out);font-size:15px;font-weight:700}.vocab-onboard-rung[data-on] .vocab-onboard-label{color:var(--rung-own);font-size:18px}.vocab-onboard-meta{color:var(--shell-text-mute);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:6px;font-size:11px;font-weight:600;display:flex}.vocab-onboard-band{color:#ffffffd9;letter-spacing:.05em;background:#ffffff1f;border-radius:999px;padding:1px 6px;font-size:9.5px;font-weight:800}.vocab-onboard-tick{background:var(--shell-line-strong);width:8px;height:8px;transition:background var(--dur-quick) var(--ease-out);border-radius:50%;justify-self:center}.vocab-onboard-rung:is([data-on],[data-passed]) .vocab-onboard-tick{background:var(--rung-own)}.vocab-onboard-sample{text-align:left;flex-direction:column;gap:2px;min-width:0;display:flex}.vocab-onboard-sample strong{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;transition:font-size var(--dur-quick) var(--ease-out);font-size:15px;font-weight:800;overflow:hidden}.vocab-onboard-rung[data-on] .vocab-onboard-sample strong{font-size:21px}.vocab-onboard-sample>span:not(.vocab-onboard-curiosity){-webkit-line-clamp:1;color:var(--shell-text-mute);-webkit-box-orient:vertical;font-size:11.5px;line-height:1.35;display:-webkit-box;overflow:hidden}.vocab-onboard-rung[data-on] .vocab-onboard-sample>span:not(.vocab-onboard-curiosity){-webkit-line-clamp:2;color:var(--shell-text-soft)}.vocab-onboard-curiosity{letter-spacing:.01em;white-space:nowrap;pointer-events:none;color:var(--shell-text-mute);opacity:0;transform-origin:0;font-size:11.5px;font-style:italic;line-height:1.45;transition:opacity .13s ease-out,transform .17s ease-out,color .18s ease-out;display:block;overflow:hidden;transform:translateY(8px)scale(.86)}.vocab-onboard-rung[data-on] .vocab-onboard-curiosity{opacity:1;color:var(--rung-own);transition:opacity .18s cubic-bezier(.22,1,.37,1),transform .3s cubic-bezier(.34,1.56,.64,1),color .24s ease-out;transform:translateY(0)scale(1)}.vocab-onboard-soon{font-style:italic}.vocab-onboard-rail{touch-action:none;cursor:grab;outline:none;width:56px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.vocab-onboard-rail:active{cursor:grabbing}.vocab-onboard-track{left:50%;top:calc(50% / var(--rung-count));bottom:calc(50% / var(--rung-count));background:var(--rung-scale);border-radius:4px;width:4px;position:absolute;overflow:hidden;transform:translate(-50%)}.vocab-onboard-track:after{content:"";inset:calc(var(--rung-index) / (var(--rung-count) - 1) * 100%) 0 0;background:color-mix(in srgb,var(--shell-bg) 82%,#fff);transition:inset var(--dur-move) var(--ease-spring);position:absolute}.vocab-onboard-knob{left:50%;top:calc((var(--rung-index) + .5) * 100% / var(--rung-count));background:var(--rung);width:30px;height:30px;box-shadow:0 0 0 6px color-mix(in srgb,var(--rung) 28%,transparent),0 0 26px color-mix(in srgb,var(--rung) 70%,transparent),0 4px 12px #00000080;transition:top var(--dur-move) var(--ease-spring),background var(--dur-move) var(--ease-out),box-shadow var(--dur-move) var(--ease-out);border:3px solid #fff;border-radius:50%;margin:-15px 0 0 -15px;position:absolute}.vocab-onboard-rail:focus-visible .vocab-onboard-knob{outline-offset:5px;outline:2px solid #fff}.vocab-onboard-foot{flex-direction:column;align-items:center;gap:4px;padding:4px 8px 0;display:flex}.vocab-onboard-go{background:var(--rung);color:#14101f;width:min(360px,100%);min-height:50px;transition:background var(--dur-move) var(--ease-out),transform var(--dur-move) var(--ease-spring);border-radius:40px;padding:12px 24px;font-size:15px;font-weight:800}.vocab-onboard-go:active{transform:scale(.97)}.vocab-onboard-go:disabled{background:var(--shell-hover);color:var(--shell-text-mute)}.vocab-onboard-all{min-height:40px;color:var(--shell-text-mute);text-underline-offset:3px;background:0 0;padding:6px 14px;font-size:13px;font-weight:600;text-decoration:underline}@media(max-height:640px){.vocab-onboard-head p:last-child,.vocab-onboard-rung:not([data-on]) .vocab-onboard-sample>span:not(.vocab-onboard-curiosity){display:none}.vocab-onboard-rung[data-on] .vocab-onboard-sample>span:not(.vocab-onboard-curiosity){-webkit-line-clamp:1}.vocab-onboard-curiosity{font-size:10px}.vocab-onboard-name{gap:1px}.vocab-onboard-label{font-size:13px;line-height:1.15}.vocab-onboard-rung[data-on] .vocab-onboard-label{font-size:15px}.vocab-onboard-meta{font-size:10px;line-height:1.2}.vocab-onboard-band{padding:0 5px;font-size:9px}.vocab-onboard-sample strong{font-size:14px;line-height:1.15}.vocab-onboard-head h1{margin:2px 0}.vocab-onboard-rung[data-on] .vocab-onboard-sample strong{font-size:18px}}@media(prefers-reduced-motion:reduce){.vocab-onboard-knob,.vocab-onboard-track:after,.vocab-onboard-label,.vocab-onboard-sample strong,.vocab-onboard-go{transition:none}.vocab-onboard-curiosity,.vocab-onboard-rung[data-on] .vocab-onboard-curiosity{transition:opacity .18s;transform:translateY(0)scale(1)}}@media(orientation:landscape){.vocab-onboard[data-landscape]{padding:max(6px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.vocab-onboard[data-landscape] .vocab-onboard-head{padding:0 0 2px}.vocab-onboard[data-landscape] .vocab-onboard-head h1{margin:0;font-size:16px}.vocab-onboard[data-landscape] .vocab-onboard-head p{display:none}.vocab-onboard[data-landscape] .vocab-onboard-gauge{width:100%;max-width:none;margin:2px 0}.vocab-onboard[data-landscape] .vocab-onboard-ladder{grid-template-rows:none;grid-template-columns:repeat(var(--rung-count),minmax(0,1fr))}.vocab-onboard[data-landscape] .vocab-onboard-rung{column-gap:0;height:100%;display:block;position:relative}.vocab-onboard[data-landscape] .vocab-onboard-tick{justify-self:unset;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.vocab-onboard[data-landscape] .vocab-onboard-name{text-align:center;box-sizing:border-box;align-items:center;width:100%;padding:0 2px;position:absolute;top:calc(50% + 22px);bottom:auto;left:0}.vocab-onboard[data-landscape] .vocab-onboard-label{white-space:normal;text-align:center;font-size:11px;line-height:1.2}.vocab-onboard[data-landscape] .vocab-onboard-rung[data-on] .vocab-onboard-label{font-size:13px}.vocab-onboard[data-landscape] .vocab-onboard-meta{font-size:9px}.vocab-onboard[data-landscape] .vocab-onboard-band{padding:0 4px;font-size:8px}.vocab-onboard[data-landscape] .vocab-onboard-sample{text-align:center;box-sizing:border-box;align-items:center;width:100%;padding:0 2px;position:absolute;bottom:auto;left:0}.vocab-onboard[data-landscape] .vocab-onboard-rung:nth-child(odd) .vocab-onboard-sample{top:auto;bottom:calc(50% + 22px)}.vocab-onboard[data-landscape] .vocab-onboard-rung:nth-child(2n) .vocab-onboard-sample{top:auto;bottom:calc(50% + 54px)}.vocab-onboard[data-landscape] .vocab-onboard-sample strong{white-space:normal;text-align:center;font-size:13px}.vocab-onboard[data-landscape] .vocab-onboard-rung[data-on] .vocab-onboard-sample strong{font-size:17px}.vocab-onboard[data-landscape] .vocab-onboard-curiosity{white-space:normal;text-align:center;transform-origin:50%;font-size:9.5px;line-height:1.3;transform:translateY(0)scale(.8)}.vocab-onboard[data-landscape] .vocab-onboard-rung[data-on] .vocab-onboard-curiosity{transform:translateY(0)scale(1)}.vocab-onboard[data-landscape] .vocab-onboard-rail{cursor:ew-resize;width:auto;height:56px;inset:50% 0 auto;transform:translateY(-50%)}.vocab-onboard[data-landscape] .vocab-onboard-track{left:calc(50% / var(--rung-count));right:calc(50% / var(--rung-count));width:auto;height:4px;top:50%;bottom:auto;transform:translateY(-50%)}.vocab-onboard[data-landscape] .vocab-onboard-track:after{inset:0 0 0 calc(var(--rung-index) / (var(--rung-count) - 1) * 100%);transition:inset var(--dur-move) var(--ease-spring)}.vocab-onboard[data-landscape] .vocab-onboard-knob{left:calc((var(--rung-index) + .5) * 100% / var(--rung-count));transition:left var(--dur-move) var(--ease-spring),background var(--dur-move) var(--ease-out),box-shadow var(--dur-move) var(--ease-out);margin:-15px 0 0 -15px;top:50%}.vocab-onboard[data-landscape] .vocab-onboard-foot{flex-direction:row;justify-content:center;gap:8px;padding:2px 8px 0}.vocab-onboard[data-landscape] .vocab-onboard-go{flex:1;width:auto;max-width:240px;min-height:38px;padding:8px 14px;font-size:13px}.vocab-onboard[data-landscape] .vocab-onboard-all{min-height:34px;font-size:11px}}@media(orientation:landscape)and (prefers-reduced-motion:reduce){.vocab-onboard[data-landscape] .vocab-onboard-knob{transition:background,box-shadow}}.vocab-spelling{z-index:4;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:0 24px;display:flex;position:absolute;inset:0}.vocab-spelling-label{letter-spacing:.16em;text-transform:uppercase;color:color-mix(in srgb,var(--vocab-ink) 62%,transparent);font-size:11px;font-weight:700}.vocab-spelling-word{perspective:600px;letter-spacing:-.02em;text-align:center;flex-wrap:nowrap;justify-content:center;align-items:baseline;gap:.02em;font-weight:800;line-height:1.1;display:flex}.vocab-spelling-char{white-space:pre;will-change:transform,opacity;display:inline-block}.vocab-spelling-char[data-glow]{animation:.6s ease-out vocab-spelling-glow}@keyframes vocab-spelling-glow{0%{text-shadow:0 0 #0000}45%{text-shadow:0 0 18px color-mix(in srgb,var(--vocab-accent) 85%,transparent),0 0 42px color-mix(in srgb,var(--vocab-accent) 45%,transparent)}to{text-shadow:0 0 #0000}}.vocab-def-mark,.vocab-def-answer{color:inherit;background:0 0;font-weight:700}.vocab-def-mark{text-decoration:none;position:relative}.vocab-def-mark:after{content:"";background:var(--vocab-accent);transform-origin:0;height:.14em;animation:.6s ease-out forwards vocab-def-mark-grow;position:absolute;bottom:-.2em;left:0;right:0}@keyframes vocab-def-mark-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.vocab-def-answer{background:var(--vocab-accent);color:var(--vocab-button-ink);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:.36em;padding:.02em .34em .06em}.vocab-reveal-burst{pointer-events:none;width:0;height:0;position:absolute;top:34%;left:50%}.vocab-reveal-flash{background:radial-gradient(closest-side,color-mix(in srgb,var(--vocab-accent) 78%,transparent) 0%,color-mix(in srgb,var(--vocab-accent) 46%,transparent) 46%,transparent 72%);opacity:0;width:180vmax;height:180vmax;animation:vocab-reveal-flash .95s var(--ease-out) .1s both;border-radius:50%;position:absolute;top:-90vmax;left:-90vmax;transform:scale(.04)}@keyframes vocab-reveal-flash{0%{opacity:0;transform:scale(.04)}16%{opacity:.7}to{opacity:0;transform:scale(1)}}.vocab-reveal-ring{border:3px solid var(--vocab-accent-alt);opacity:0;width:180px;height:180px;animation:vocab-reveal-ring .75s var(--ease-out) .16s both;border-radius:50%;position:absolute;top:-90px;left:-90px}@keyframes vocab-reveal-ring{0%{opacity:.9;transform:scale(.2)}to{opacity:0;transform:scale(2.6)}}.vocab-reveal-spark{background:var(--vocab-accent);opacity:0;width:22px;height:6px;animation:vocab-reveal-spark .72s var(--ease-out) calc(.16s + var(--spark-delay,0s)) both;border-radius:999px;position:absolute;top:-3px;left:-11px}.vocab-reveal-spark[data-tint="1"]{background:var(--vocab-accent-alt)}.vocab-reveal-spark[data-tint="2"]{background:var(--vocab-ink);height:4px}@keyframes vocab-reveal-spark{0%{opacity:1;transform:rotate(var(--spark-angle)) translate(36px) scaleX(.4)}70%{opacity:1}to{opacity:0;transform:rotate(var(--spark-angle)) translate(calc(250px * var(--spark-reach,1))) scaleX(.25)}}.vocab-card [data-kinetic-blank]{color:#0000;text-shadow:none;display:inline-block;position:relative}.vocab-card [data-kinetic-blank]:before{content:"";border:.035em dashed color-mix(in srgb,var(--vocab-accent) 78%,transparent);background:color-mix(in srgb,var(--vocab-accent) 14%,transparent);animation:vocab-blank-breathe calc(var(--kinetic-beat,.6s) * 2) ease-in-out infinite;border-radius:.18em;position:absolute;inset:.14em -.04em 0}.vocab-card [data-kinetic-blank]:after{content:"";background:linear-gradient(100deg,transparent 36%,color-mix(in srgb,var(--vocab-accent) 30%,#fff) 50%,transparent 64%) 0 0 / 260% 100% no-repeat var(--vocab-accent);height:.085em;animation:vocab-blank-shimmer calc(var(--kinetic-beat,.6s) * 4) linear infinite;border-radius:999px;position:absolute;bottom:.16em;left:.14em;right:.14em}@keyframes vocab-blank-breathe{0%,to{opacity:.62}50%{opacity:1}}@keyframes vocab-blank-shimmer{0%{background-position:160% 0}to{background-position:-60% 0}}@media(max-width:640px){.vocab-options{width:100%;max-height:min(74dvh,100dvh - 104px);padding:14px 18px 18px;box-shadow:0 0 0 100vmax #05030c99,0 24px 70px #000a}}.vocab-card[data-export]{pointer-events:none}.vocab-card[data-export] .vocab-stage{inset:var(--export-stage-top) var(--safe-right) var(--export-stage-bottom) var(--safe-left)}.vocab-card[data-export] .vocab-spelling{inset:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);padding:0 10px}.vocab-card[data-export]{container-type:inline-size}.vocab-card[data-export] .vocab-reveal-details{width:94%;max-height:calc(50% - var(--export-stage-bottom-band));scrollbar-width:none;padding:2.6cqi 3.6cqi;font-size:clamp(12px,3.5cqi,20px);line-height:1.42}.vocab-card[data-export] .vocab-pronunciation{margin-bottom:1.6cqi}.vocab-card[data-export] .vocab-example{margin-top:1.8cqi;padding-top:1.8cqi}.vocab-card[data-export] :is(.vocab-progress,.vocab-stage-label,.vocab-action-bar){left:calc(var(--safe-left) + (100% - var(--safe-left) - var(--safe-right)) / 2)}.vocab-card[data-export] :is(.vocab-progress,.vocab-action-bar){width:min(440px,calc(100% - var(--safe-left) - var(--safe-right) - 28px))}.vocab-card[data-export] .vocab-progress{bottom:calc(var(--safe-bottom) + 12px)}.vocab-card[data-export] .vocab-stage-label{bottom:calc(var(--safe-bottom) + 25px)}.vocab-card[data-export]:not([data-export-progress]) :is(.vocab-progress,.vocab-stage-label){display:none}.vocab-card[data-export] .vocab-action-bar{bottom:calc(var(--safe-bottom) + 6px);visibility:hidden}.vocab-export-brand{z-index:3;top:calc(var(--safe-top) + 2px);left:calc(var(--safe-left) + 4%);letter-spacing:-.03em;color:var(--vocab-ink);font-family:Inter,sans-serif;font-size:clamp(16px,4.8cqi,28px);font-weight:800;line-height:1.2;position:absolute}.vocab-export-brand>span{color:var(--vocab-accent)}.vocab-icon-button.vocab-export-open{display:none}@media(min-width:641px){.vocab-icon-button.vocab-export-open{display:inline-grid}}.vocab-export{--export-panel:372px;z-index:80;grid-template-columns:var(--export-panel) minmax(0,1fr);color:var(--shell-text);background:#05040a;font-family:Inter,sans-serif;display:grid;position:fixed;inset:0}.vocab-export-panel{overscroll-behavior:contain;background:var(--shell-bg);border-right:1px solid var(--shell-line);flex-direction:column;gap:22px;min-height:0;padding:20px 20px 28px;display:flex;overflow-y:auto}.vocab-export-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.vocab-export-head h2{letter-spacing:-.6px;overflow-wrap:break-word;word-break:keep-all;margin-top:4px;font-size:26px;font-weight:800;line-height:1.15}.vocab-export-group{border:0;flex-direction:column;gap:8px;min-width:0;margin:0;padding:0;display:flex}.vocab-export-group>legend{margin-bottom:8px;padding:0}.vocab-export-preset{border:1px solid var(--shell-line);cursor:pointer;transition:border-color var(--dur-quick) var(--ease-out),background var(--dur-quick) var(--ease-out);border-radius:14px;grid-template-columns:34px 1fr;align-items:center;gap:12px;padding:10px 12px;display:grid;position:relative}.vocab-export-preset:hover{border-color:var(--shell-line-strong)}.vocab-export-preset[data-active]{border-color:var(--vocab-accent);background:color-mix(in srgb,var(--vocab-accent) 9%,transparent)}.vocab-export-preset input{opacity:0;pointer-events:none;position:absolute}.vocab-export-preset:has(input:focus-visible){outline-offset:2px;outline:3px solid}.vocab-export-shape{background:var(--shell-hover);width:26px;box-shadow:inset 0 0 0 1px var(--shell-line-strong);border-radius:5px;justify-self:center;position:relative}.vocab-export-shape>i{background:var(--vocab-accent);opacity:.85;border-radius:2px;position:absolute}.vocab-export-preset-text{flex-direction:column;gap:2px;min-width:0;display:flex}.vocab-export-preset-text>strong{font-size:14px;font-weight:700}.vocab-export-preset-text>small{color:var(--shell-text-soft);font-size:12px;line-height:1.45}.vocab-export-selects label:first-child{grid-column:auto}.vocab-autoplay.vocab-export-toggle{min-height:40px;margin-top:0;font-size:14px}.vocab-export-rates{background:var(--shell-well);box-shadow:inset 0 0 0 1px var(--shell-line);border-radius:999px;align-self:flex-start;gap:4px;padding:4px;display:inline-flex}.vocab-export-rates>button{min-height:34px;color:var(--shell-text-soft);transition:background var(--dur-quick) var(--ease-out),color var(--dur-quick) var(--ease-out);border-radius:999px;padding:0 16px;font-size:13px;font-weight:700}.vocab-export-rates>button[data-active]{background:var(--shell-text);color:var(--shell-on-text)}.vocab-export-actions{gap:10px;margin-top:auto;padding-top:4px;display:flex}.vocab-export-record,.vocab-export-replay,.vocab-export-stop{min-height:48px;transition:transform var(--dur-move) var(--ease-spring);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:15px;font-weight:700;display:inline-flex}.vocab-export-record:not(:disabled):active,.vocab-export-replay:active,.vocab-export-stop:active{transition-duration:var(--dur-press);transform:scale(.96)}.vocab-export-record{background:var(--destructive);color:#fff;flex:1}.vocab-export-replay{background:var(--shell-hover)}.vocab-export-stop{background:var(--shell-text);color:var(--shell-on-text);align-self:flex-start}.vocab-export-notice,.vocab-export-result{border-radius:14px;padding:12px 14px;font-size:13px;line-height:1.55}.vocab-export-notice{background:color-mix(in srgb,var(--citrus) 14%,transparent);color:var(--citrus)}.vocab-export-result{background:color-mix(in srgb,var(--vocab-accent) 12%,transparent);overflow-wrap:anywhere}.vocab-export-result a{text-underline-offset:3px;align-items:center;gap:4px;font-weight:700;text-decoration:underline;display:inline-flex}.vocab-export-live{flex-direction:column;gap:12px;display:flex}.vocab-export-live-title{font-variant-numeric:tabular-nums;align-items:center;gap:10px;font-size:17px;font-weight:700;display:flex}.vocab-export-live-title>i{background:var(--destructive);border-radius:50%;width:12px;height:12px;animation:1.2s ease-in-out infinite vocab-export-blink}@keyframes vocab-export-blink{50%{opacity:.25}}.vocab-export-viewport{place-items:center;min-width:0;min-height:0;display:grid;overflow:hidden}.vocab-export-stage{height:min(100dvh,calc((100vw - var(--export-panel)) * var(--export-ratio)));position:relative;overflow:hidden}.vocab-export[data-phase=recording] .vocab-export-stage,.vocab-export[data-phase=arming] .vocab-export-stage{cursor:none}.vocab-export-guides{z-index:6;pointer-events:none;color:#fff;filter:drop-shadow(0 1px 3px #0009);font-family:Inter,sans-serif;position:absolute;inset:0;overflow:hidden}.vocab-export-zone{border:1.5px dashed #ffffffd9;border-radius:10px;position:absolute;box-shadow:0 0 0 200vmax #ff2d5529}.vocab-export-zone>span{letter-spacing:.12em;text-transform:uppercase;opacity:.85;font-size:9px;font-weight:700;position:absolute;bottom:4px;right:6px}.vocab-export-topbar{justify-content:center;align-items:center;gap:18px;font-size:13px;font-weight:600;display:flex;position:absolute;top:4.2%;left:0;right:0}.vocab-export-topbar>span{opacity:.7}.vocab-export-topbar[data-align=start]{justify-content:flex-start;padding-left:5%;font-size:17px}.vocab-export-topbar>svg{position:absolute;right:5%}.vocab-export-rail{flex-direction:column;justify-content:space-between;align-items:center;width:11%;display:flex;position:absolute;right:2.4%}.vocab-export-avatar{color:#fff;background:#ffffff73;border:2px solid #fff;border-radius:50%;place-items:end center;width:34px;height:34px;display:grid}.vocab-export-avatar>svg{box-sizing:content-box;background:#fe2c55;border-radius:50%;margin-bottom:-6px;padding:2px}.vocab-export-disc{background:conic-gradient(#3a3a44,#8a8a96,#3a3a44);border:5px solid #16161a;border-radius:50%;width:30px;height:30px}.vocab-export-caption{flex-direction:column;gap:3px;font-size:12px;line-height:1.35;display:flex;position:absolute;left:4%}.vocab-export-caption>strong{font-size:13px}.vocab-export-caption>em{opacity:.9;align-items:center;gap:4px;font-style:normal;display:inline-flex}.vocab-export-nav{letter-spacing:.04em;color:#ffffffb3;background:#000000d9;place-items:center;height:6.5%;font-size:10px;display:grid;position:absolute;bottom:0;left:0;right:0}.vocab-report-button{width:44px;height:var(--vocab-chrome-bar);border:1px dashed color-mix(in srgb,var(--vocab-ink) 42%,transparent);color:var(--vocab-ink);transition:border-color var(--dur-quick) var(--ease-out),background var(--dur-quick) var(--ease-out),transform var(--dur-move) var(--ease-spring);background:0 0;border-radius:14px;flex:none;place-items:center;padding:0;display:grid}.vocab-report-face{transition:transform var(--dur-move) var(--ease-spring);font-size:21px;line-height:1;transform:rotate(-8deg)}.vocab-report-button:hover .vocab-report-face,.vocab-report-button[aria-expanded=true] .vocab-report-face{transform:rotate(10deg)scale(1.15)}.vocab-report-button:hover,.vocab-report-button[aria-expanded=true]{border-color:color-mix(in srgb,var(--vocab-ink) 75%,transparent);background:color-mix(in srgb,var(--vocab-ink) 12%,transparent)}.vocab-report-button:active{transition-duration:var(--dur-press);transform:scale(.9)}.vocab-report-button[data-done]{border-style:solid;border-color:var(--vocab-accent-alt)}.vocab-card .vocab-report-button:focus-visible{outline-color:var(--vocab-ink)}.vocab-action-bar[data-anticipation] .vocab-report-button{width:var(--strip-size);height:var(--strip-size);border-radius:12px}.vocab-action-bar[data-anticipation] .vocab-report-face{font-size:calc(var(--strip-size) * .5)}.vocab-report-scrim{z-index:7;animation:vocab-report-fade var(--dur-quick) var(--ease-out) both;background:#05030c73;position:absolute;inset:0}.vocab-report-panel{z-index:8;left:max(12px,50% - 220px);bottom:calc(var(--vocab-chrome-inset) + var(--vocab-chrome-bar) + 10px);width:min(372px,100% - 24px);max-height:calc(100% - var(--vocab-chrome-inset) - var(--vocab-chrome-bar) - 102px);border:1px solid var(--shell-line-strong);background:var(--shell-surface);color:var(--shell-text);transform-origin:0 100%;animation:vocab-report-in var(--dur-move) var(--ease-spring) both;border-radius:22px;padding:16px;font-family:Inter,sans-serif;position:absolute;overflow-y:auto;box-shadow:0 20px 60px #000a}@keyframes vocab-report-in{0%{opacity:0;transform:translateY(10px)scale(.92)}}@keyframes vocab-report-fade{0%{opacity:0}}@keyframes vocab-report-out{to{opacity:0;transform:translateY(8px)scale(.95)}}@keyframes vocab-report-fade-out{to{opacity:0}}.vocab-report-panel[data-closing]{animation:vocab-report-out var(--dur-quick) var(--ease-in) forwards}.vocab-report-scrim[data-closing]{pointer-events:none;animation:vocab-report-fade-out var(--dur-quick) var(--ease-in) forwards}.vocab-report-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.vocab-report-head h2{letter-spacing:-.3px;font-size:18px;font-weight:800;line-height:1.25}.vocab-report-close{width:36px;height:36px;color:var(--shell-text-soft);border-radius:50%;flex-shrink:0;place-items:center;margin:-6px -6px -6px 0;display:grid}.vocab-report-close:hover{background:var(--shell-hover);color:var(--shell-text)}.vocab-report-note{color:var(--shell-text-soft);align-items:flex-start;gap:8px;margin-top:6px;font-size:13px;line-height:1.55;display:flex}.vocab-report-note svg{color:var(--mint);flex-shrink:0;margin-top:2px}.vocab-report-reasons{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.vocab-report-reason{border:1px solid var(--shell-line-strong);min-height:42px;color:var(--shell-text);transition:background var(--dur-quick) var(--ease-out),color var(--dur-quick) var(--ease-out),border-color var(--dur-quick) var(--ease-out),transform var(--dur-move) var(--ease-spring);border-radius:999px;padding:0 15px;font-size:14px;font-weight:600;line-height:1.2}.vocab-report-reason:hover{background:var(--shell-hover)}.vocab-report-reason:active{transition-duration:var(--dur-press);transform:scale(.94)}.vocab-report-reason[aria-pressed=true]{border-color:var(--shell-text);background:var(--shell-text);color:var(--shell-on-text)}.vocab-report-error{color:var(--citrus);margin-top:12px;font-size:13px}.vocab-report-send{background:var(--mint);width:100%;min-height:48px;color:var(--shell-on-text);transition:transform var(--dur-move) var(--ease-spring);box-shadow:0 0 0 16px var(--shell-surface);border-radius:999px;margin-top:16px;font-size:15px;font-weight:700;position:sticky;bottom:0}@media(max-width:360px),(max-height:700px){.vocab-report-reasons{gap:6px;margin-top:10px}.vocab-report-reason{min-height:38px;padding:0 12px;font-size:13px}.vocab-report-send{min-height:44px;margin-top:12px}}.vocab-report-send:not(:disabled):active{transition-duration:var(--dur-press);transform:scale(.97)}@media(max-width:430px){.vocab-toolbar-row{gap:8px}.vocab-brand{letter-spacing:-.5px;font-size:15px}.vocab-settings-button{width:30px;height:30px}.vocab-icon-button{width:34px;height:34px}.vocab-icon-button svg{width:17px;height:17px}.vocab-player-controls,.vocab-toolbar-left{gap:6px}.vocab-action-bar{--action-gap:6px;--strip-gap:2px}.vocab-reaction-button{min-width:50px}.vocab-reveal-pill{padding:0 16px}.vocab-reveal-details{--vocab-reveal-pad-y:10px;padding:var(--vocab-reveal-pad-y) 14px;font-size:clamp(13px,4vw,16px);line-height:1.45}.vocab-pronunciation{margin-bottom:8px}.vocab-example{margin-top:8px;padding-top:10px}.vocab-select-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:360px){.vocab-toolbar-row{gap:6px}.vocab-brand{font-size:14px}.vocab-settings-button{width:28px;height:28px}.vocab-icon-button{width:30px;height:30px}.vocab-icon-button svg{width:16px;height:16px}.vocab-player-controls,.vocab-toolbar-left{gap:5px}.vocab-action-bar{--action-gap:5px}.vocab-action-row{gap:6px}.vocab-reaction-button{min-width:44px}.vocab-reveal-pill{padding:0 12px;font-size:12px}.vocab-report-button{width:40px;height:40px}}@media(max-height:620px){.vocab-stage-label{display:none}.vocab-reveal-details{--vocab-reveal-pad-y:8px;padding:var(--vocab-reveal-pad-y) 12px;font-size:clamp(12px,3.6vw,15px);line-height:1.4}.vocab-pronunciation{margin-bottom:6px}.vocab-example{margin-top:6px;padding-top:8px}}@media(orientation:portrait){.vocab-reveal-details{padding-block:calc(var(--vocab-reveal-pad-y) * 1.5)}}@media(max-height:560px){.vocabulary-shell{--vocab-chrome-band:max(15dvh, 72px);--vocab-chrome-inset:max(6px, calc(env(safe-area-inset-bottom) + 4px) );--vocab-chrome-progress:3px;--vocab-chrome-gap-min:14px;--vocab-chrome-bar:min(44px, calc(var(--vocab-chrome-band) - var(--vocab-chrome-inset) - var(--vocab-chrome-progress) - var(--vocab-chrome-gap-min)));--vocab-chrome-gap:max(var(--vocab-chrome-gap-min), calc(var(--vocab-chrome-band) - var(--vocab-chrome-inset) - var(--vocab-chrome-bar) - var(--vocab-chrome-progress)))}}@media(orientation:landscape){.vocab-card:not([data-export]){--vocab-reveal-head:72px;--vocab-reveal-seam:16px;--vocab-reveal-foot:30px;--vocab-reveal-free:calc(100% - var(--vocab-reveal-head) - var(--vocab-chrome-top) - var(--vocab-reveal-foot));--vocab-reveal-word:max(136px, calc(var(--vocab-reveal-free) * .5))}.vocab-card:not([data-export]) .vocab-stage-band[data-reveal]{top:calc(var(--vocab-reveal-head) - 72px);bottom:calc(100% - var(--vocab-reveal-head) - var(--vocab-reveal-word) - 132px)}.vocab-card:not([data-export]) .vocab-reveal-details{--vocab-reveal-top:calc(var(--vocab-reveal-head) + var(--vocab-reveal-word) + var(--vocab-reveal-seam));--vocab-reveal-gap:var(--vocab-reveal-foot)}.vocab-card:not([data-export]) .vocab-reveal-burst{top:calc(var(--vocab-reveal-head) + var(--vocab-reveal-word) / 2)}}@media(orientation:landscape)and (max-height:620px){.vocab-card:not([data-export]){--vocab-reveal-foot:12px;--vocab-reveal-seam:12px}}@media(prefers-reduced-motion:reduce){.vocabulary-shell *,.vocabulary-shell :before,.vocabulary-shell :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
