.vocabulary-shell{--vocab-ink:var(--shell-text);--vocab-accent:var(--mint);--vocab-accent-alt:var(--citrus);--vocab-button-ink:#14101f;--vocab-share-h:40px;--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-now-playing{top:var(--vocab-tagline-mid,49px);left:calc(var(--vocab-tagline-right,140px) + 14px);right:calc(var(--vocab-corner,44px) + 12px);max-width:calc(var(--vocab-controls-w,156px) * 1.5);text-align:center;position:absolute;overflow:hidden;transform:translateY(-50%);-webkit-mask-image:linear-gradient(90deg,#0000,#000 14% 86%,#0000);mask-image:linear-gradient(90deg,#0000,#000 14% 86%,#0000)}.vocab-now-playing-run{white-space:nowrap;letter-spacing:.02em;color:var(--chrome-ink);opacity:.72;will-change:transform;padding-left:100%;font-size:11px;font-weight:600;animation:9s linear forwards vocab-now-playing-run;display:inline-block}@keyframes vocab-now-playing-run{0%{transform:translate(0)}to{transform:translate(-100%)}}@media(prefers-reduced-motion:reduce){.vocab-now-playing-run{text-overflow:ellipsis;max-width:100%;padding-left:0;animation:none;overflow:hidden;transform:none}}.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(--chrome-fill);color:var(--chrome-ink);-webkit-backdrop-filter:blur(10px)saturate(140%);backdrop-filter:blur(10px)saturate(140%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--chrome-ink) 18%,transparent),0 8px 24px #00000047;border:none;justify-self:end;position:relative}.vocab-icon-button.vocab-corner-button:hover:not(:disabled){background:color-mix(in srgb,var(--chrome-ink) 14%,var(--chrome-fill));color:var(--chrome-ink)}.vocab-icon-button.vocab-corner-button[data-active]{background:var(--chrome-accent);color:#0a0014;box-shadow:inset 0 0 0 1px #0000001f,0 8px 24px #00000047}.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);touch-action:pan-y;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}.vocab-options:has(.vocab-picker-list):before{content:"";z-index:40;background:color-mix(in srgb,var(--shell-surface) 18%,transparent);-webkit-backdrop-filter:blur(2.5px);pointer-events:none;animation:vocab-saved-fade var(--dur-quick) var(--ease-out) both;border-radius:22px;position:absolute;inset:0}.vocab-options:has(.vocab-picker-list[data-closing]):before{animation:vocab-saved-fade-out var(--dur-quick) var(--ease-in) forwards}@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:has(>:only-child){grid-template-columns:minmax(0,1fr)}.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-head{align-items:center;gap:10px;display:flex}.vocab-tone-tabs{border:1px solid var(--shell-line);background:var(--shell-well);border-radius:999px;flex:none;gap:2px;padding:2px;display:inline-flex}.vocab-tone-tab{color:var(--shell-text-mute);font:inherit;white-space:nowrap;cursor:pointer;transition:background-color var(--dur-quick) var(--ease-out),color var(--dur-quick) var(--ease-out);background:0 0;border:0;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:650;line-height:1.3}.vocab-tone-tab:hover:not(:disabled):not([data-on]){color:var(--shell-text)}.vocab-tone-tab[data-on]{background:var(--vocab-accent);color:var(--vocab-button-ink)}.vocab-tone-tab:disabled{opacity:.4;cursor:default}.vocab-tone-tab:focus-visible{outline:2px solid var(--vocab-accent);outline-offset:1px}.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{--picker-shift:-6px;transform-origin:0 0;z-index:50;border:1px solid var(--shell-line-strong);background:var(--shell-surface);min-width:100%;max-height:240px;animation:vocab-picker-in var(--dur-quick) var(--ease-out) both;border-radius:14px;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto;box-shadow:0 12px 40px #000a}.vocab-picker-list[data-side=above]{--picker-shift:6px;transform-origin:0 100%}.vocab-picker-list[data-closing]{animation:vocab-picker-out var(--dur-quick) var(--ease-in) forwards}.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)}@keyframes vocab-picker-in{0%{opacity:0;transform:translateY(var(--picker-shift)) scale(.96)}to{opacity:1;transform:none}}@keyframes vocab-picker-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(var(--picker-shift)) scale(.96)}}.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-pace{justify-content:space-between;align-items:center;gap:14px;margin-top:16px;display:flex}.vocab-pace-label{font-size:15px;font-weight:600}.vocab-pace-options{background:var(--shell-well);box-shadow:inset 0 0 0 1px var(--shell-line-strong);border-radius:999px;grid-auto-columns:1fr;grid-auto-flow:column;gap:2px;padding:3px;display:inline-grid}.vocab-pace-options button{min-width:58px;min-height:34px;color:var(--shell-text-soft);font:inherit;cursor:pointer;transition:background-color var(--dur-quick) var(--ease-out),color var(--dur-quick) var(--ease-out),transform var(--dur-press) var(--ease-out);background:0 0;border:0;border-radius:999px;padding:0 12px;font-size:13px;font-weight:700}.vocab-pace-options button:hover:not([data-on],:disabled){color:var(--shell-text)}.vocab-pace-options button:active:not(:disabled){transform:scale(.95)}.vocab-pace-options button[data-on]{background:var(--vocab-accent);color:#10140f;box-shadow:0 2px 8px #0005}.vocab-pace-options button: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-strip]{inset:0 -9%;transform:translate(-7%)}.vocab-backdrop-drift[data-drift]{animation:vocab-backdrop-drift calc(var(--kinetic-beat,.6s) * 16) ease-in-out infinite alternate;will-change:transform}.vocab-backdrop-drift[data-drift=held]{animation-play-state:paused}@keyframes vocab-backdrop-drift{0%{transform:translate(-7%)}to{transform:translate(7%)}}.vocabulary-shell[data-short-viewport=landscape] .vocab-backdrop-drift[data-strip]{inset:0 -60%}.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;--vocab-reveal-badge-room:calc(var(--vocab-share-h) - var(--vocab-reveal-pad-y) + 10px);padding:var(--vocab-reveal-pad-y) 18px;--vocab-reveal-radius:20px;border-radius:var(--vocab-reveal-radius);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);flex-direction:column;margin-inline:auto;font-family:Inter,sans-serif;font-size:clamp(16px,1.9vw,21px);line-height:1.6;display:flex;position:absolute;left:0;right:0;overflow:visible;box-shadow:0 18px 50px -18px #0007}.vocab-meaning{letter-spacing:-.01em;text-wrap:balance;font-size:1.18em;font-weight:650;line-height:1.35}.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-feed-end{height:100%}.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;flex-direction:column;height:100dvh;display:flex;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{margin:0 max(18px,env(safe-area-inset-right)) 0 max(18px,env(safe-area-inset-left));grid-template-columns:repeat(2,minmax(0,1fr));gap:0 8px;display:grid;position:relative}.vocab-saved-tabs:after{content:"";background:var(--shell-line);width:8px;height:1px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.vocab-saved-tab-slot{border:1px solid var(--shell-line);min-width:0;transition:border-color var(--dur-quick) var(--ease-out),background var(--dur-quick) var(--ease-out);background:0 0;border-radius:12px 12px 0 0;align-self:stretch;display:flex;position:relative;overflow:hidden}.vocab-saved-tab-slot[data-on]{border-color:var(--shell-line);background:color-mix(in srgb,var(--shell-hover) 24%,transparent);border-bottom-width:0}.vocab-saved-tab-slot[data-on]:before{content:"";background:var(--vocab-accent);height:3px;position:absolute;top:0;left:0;right:0}.vocab-saved-tab{min-width:0;min-height:42px;color:var(--shell-text-mute);transition:color var(--dur-quick) var(--ease-out),background var(--dur-quick) var(--ease-out);background:0 0;border:0;border-radius:0;flex:auto;justify-content:center;align-items:center;gap:7px;padding:4px 10px 5px;font-size:13px;font-weight:700;display:inline-flex}.vocab-saved-tab-label{text-align:center;text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;overflow:hidden}.vocab-saved-tab:hover{color:var(--shell-text-soft);background:var(--shell-hover)}.vocab-saved-tab:active{background:color-mix(in srgb,var(--shell-hover) 70%,transparent)}.vocab-saved-tab[data-on]{color:var(--vocab-ink);background:0 0}.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:var(--shell-hover);color:var(--vocab-ink)}.vocab-saved-density{border:1px solid var(--shell-line-strong);width:30px;height:26px;color:var(--shell-text-soft);transition:background var(--dur-quick) var(--ease-out),border-color var(--dur-quick) var(--ease-out);background:0 0;border-radius:9px;flex:none;justify-content:center;align-self:center;align-items:center;margin:0 9px;padding:0;display:inline-flex}.vocab-saved-density:hover{background:color-mix(in srgb,var(--shell-hover) 70%,transparent)}.vocab-saved-density:active{background:color-mix(in srgb,var(--shell-hover) 100%,transparent)}.vocab-saved-density-emoji{opacity:.5;transition:opacity var(--dur-quick) var(--ease-out);font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;font-size:15px;line-height:1}.vocab-saved-density:hover .vocab-saved-density-emoji{opacity:.75}.vocab-saved-density[aria-pressed=true]{background:var(--vocab-accent);border-color:#0000}.vocab-saved-density[aria-pressed=true]:hover{background:color-mix(in srgb,var(--vocab-accent) 88%,#fff)}.vocab-saved-density[aria-pressed=true] .vocab-saved-density-emoji{opacity:1}.vocab-saved-density:focus-visible{outline:2px solid var(--chrome-accent,#a78bfa);outline-offset:2px}.vocab-saved-panelbox{margin:0 max(18px,env(safe-area-inset-right)) calc(env(safe-area-inset-bottom) + 12px) max(18px,env(safe-area-inset-left));border:1px solid var(--shell-line);background:color-mix(in srgb,var(--shell-hover) 24%,transparent);border-top:0;border-radius:0 0 16px 16px;flex:1 0 auto;overflow:hidden}.vocab-saved-body{padding:6px 16px 72px}.vocab-saved-hint{color:var(--shell-text-mute);margin:12px 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-confirm{z-index:2;background:color-mix(in srgb,var(--shell-surface) 82%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:vocab-saved-confirm-in var(--dur-quick) var(--ease-out);border-radius:20px;justify-content:center;align-items:center;gap:10px;padding:0 18px;display:flex;position:absolute;inset:0}.vocab-saved-confirm button{border-radius:999px;min-height:44px;padding:0 20px;font-size:14px;font-weight:800}.vocab-saved-confirm-remove{color:#fff;background:#ff5f6d}.vocab-saved-confirm-keep{border:1px solid var(--shell-line-strong);color:var(--shell-text-soft)}@keyframes vocab-saved-confirm-in{0%{opacity:0;transform:scale(.97)}}.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;min-height:100%;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:113px;--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-chip-word{letter-spacing:0;color:#1a1330cc;place-items:center;width:100%;height:100%;font-size:11px;font-weight:700;line-height:1;display:grid}.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:12px;height:13px;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:7px;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(0 0,100% 0,50% 100%);height:13px;bottom:-10px;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%);width:13px;height:14px;top:-11px;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:96px;--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}.vocab-vault-tip[data-tip=heart]{top:7px}.vocab-vault-tip[data-tip=heart] .vocab-vault-tip-shape:after{width:8px;height:8px;bottom:-5px}.vocab-vault-tip[data-tip=bookmark] .vocab-vault-tip-shape:after{height:13px;top:-10px}}@media(orientation:landscape)and (max-height:560px){.vocab-vault{--vault-head:40px;--vault-tip:87px;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-tip[data-tip=heart]{top:7px}.vocab-vault-tip[data-tip=heart] .vocab-vault-tip-shape:after{width:8px;height:6px;bottom:-3px}.vocab-vault-tip[data-tip=bookmark] .vocab-vault-tip-shape:after{height:11px;top:-8px}.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-ambient{top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));z-index:5;position:absolute}.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{isolation:isolate;flex:1;width:min(560px,100%);min-height:0;margin:10px auto;position:relative}.vocab-onboard-ladder{z-index:1;grid-template-rows:repeat(var(--rung-count),minmax(0,1fr));height:100%;margin:0;padding:0;list-style:none;display:grid;position:relative}.vocab-onboard-rung{cursor:pointer;grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr);align-items:center;column-gap:14px;display:grid}.vocab-onboard-rung :is(.vocab-onboard-name,.vocab-onboard-sample){opacity:.5;transition:opacity var(--dur-quick) var(--ease-out),transform var(--dur-quick) var(--ease-out)}.vocab-onboard-rung[data-on] :is(.vocab-onboard-name,.vocab-onboard-sample){opacity:1}.vocab-onboard-rung[aria-disabled=true]{cursor:default}.vocab-onboard-rung[aria-disabled=true] :is(.vocab-onboard-name,.vocab-onboard-sample){opacity:.26}.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:color-mix(in srgb,#fff 46%,var(--shell-bg));width:12px;height:12px;transition:background var(--dur-quick) var(--ease-out);border-radius:50%;justify-self:center}.vocab-onboard-rung[aria-disabled=true] .vocab-onboard-tick{background:color-mix(in srgb,#fff 28%,var(--shell-bg))}.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;transform:translateY(9px)}.vocab-onboard-rung[data-on] .vocab-onboard-sample{transform:translateY(0)}.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;z-index:2;outline:none;width:56px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.vocab-onboard-rail:active{cursor:grabbing}.vocab-onboard-gauge:before{content:"";top:calc(100% / var(--rung-count) / 2);bottom:calc(100% / var(--rung-count) / 2);pointer-events:none;background:#ffffff2e;border-radius:999px;width:3px;position:absolute;left:50%;transform:translate(-50%)}.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 34px color-mix(in srgb,var(--rung) 70%,transparent),0 6px 16px #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%;position:absolute;transform:translate(-50%,-50%)}.vocab-onboard-foot{justify-content:center;align-items:stretch;gap:10px;width:min(420px,100%);margin:0 auto;padding:4px 8px 0;display:flex}.vocab-onboard-go{background:var(--rung);color:#14101f;min-width:0;min-height:50px;transition:background var(--dur-move) var(--ease-out),transform var(--dur-move) var(--ease-spring);border-radius:40px;flex:1;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{border:1px solid var(--shell-line-strong);background:color-mix(in oklab,var(--shell-text) 6%,transparent);min-height:50px;color:var(--shell-text-soft);white-space:nowrap;transition:background .18s ease,border-color .18s ease,transform var(--dur-move) var(--ease-spring);border-radius:40px;flex:none;padding:12px 20px;font-size:15px;font-weight:700}.vocab-onboard-all:hover{border-color:color-mix(in oklab,var(--shell-text) 34%,transparent);background:color-mix(in oklab,var(--shell-text) 11%,transparent)}.vocab-onboard-all:active{transform:scale(.97)}@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-rung .vocab-onboard-sample,.vocab-onboard-knob,.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;transform:none}.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-gauge:before{top:50%;bottom:auto;left:calc(100% / var(--rung-count) / 2);right:calc(100% / var(--rung-count) / 2);width:auto;height:3px;transform:translateY(-50%)}.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);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:38px;padding:8px 14px;font-size:13px}}@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-stroke{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-stroke-row{flex-wrap:nowrap;justify-content:center;align-items:center;gap:10px;display:flex}.vocab-stroke-char{line-height:0}.vocab-stroke-char svg{display:block}.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-share-dock{display:none}.vocab-card[data-export] .vocab-reveal-details{--vocab-reveal-badge-room:0px;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)}}.vocabulary-shell[data-short-viewport]{--vocab-chrome-band:max(calc(var(--vocab-vh,100dvh) * .15), 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)))}.vocabulary-shell[data-short-viewport=landscape] .vocab-reaction{flex-direction:row;gap:6px}.vocabulary-shell[data-short-viewport=landscape] .vocab-reaction-count{animation-name:vocab-reaction-count-fade;position:static;top:auto;left:auto;transform:none}@keyframes vocab-reaction-count-fade{0%{opacity:0}to{opacity:1}}@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)}.vocab-card:not([data-export]) .vocab-stage-band:not([data-reveal]){bottom:calc(var(--vocab-chrome-top) + var(--vocab-reveal-foot) - 132px)}}.vocab-card[data-reveal-split=two-column]{--vocab-reveal-word:var(--vocab-reveal-free);--vocab-col-gap:18px;--vocab-col-edge:16px}.vocab-card[data-reveal-split=two-column] .vocab-stage-band[data-reveal]{left:0;right:calc(100% - var(--vocab-word-col))}.vocab-card[data-reveal-split=two-column] .vocab-reveal-details{--vocab-reveal-top:var(--vocab-reveal-head);top:var(--vocab-reveal-head);bottom:var(--vocab-chrome-top);left:auto;right:var(--vocab-col-edge);width:var(--vocab-panel-col);height:fit-content;max-height:calc(100% - var(--vocab-reveal-head) - var(--vocab-chrome-top));margin-block:auto;margin-inline:0}.vocab-card[data-reveal-split=two-column] .vocab-reveal-burst{top:calc(var(--vocab-reveal-head) + var(--vocab-reveal-free) / 2);left:calc(var(--vocab-word-col) / 2)}.vocabulary-shell[data-short-viewport=landscape] .vocab-options{width:min(720px,100% - 28px);max-height:calc(var(--vocab-vh,100dvh) - 92px);padding:12px 16px 16px}.vocabulary-shell[data-short-viewport=landscape] .vocab-select-grid{grid-template-columns:repeat(3,1fr);gap:12px}@media(orientation:landscape)and (max-height:560px){.vocab-saved-list{grid-template-columns:1fr 1fr;align-items:start;gap:10px;display:grid}}.vocab-card[data-reveal-split=two-column] .vocab-report-panel{--vocab-report-w:min(680px, calc(100% - 24px) );width:var(--vocab-report-w);left:calc((100% - var(--vocab-report-w)) / 2);max-height:calc(100% - var(--vocab-chrome-inset) - var(--vocab-chrome-bar) - 72px);transform-origin:bottom;padding:12px 16px}.vocab-card[data-reveal-split=two-column] .vocab-report-reasons{justify-content:center;margin-top:10px}.vocab-card[data-reveal-split=two-column] .vocab-report-send{min-height:42px;margin-top:12px}@media(orientation:landscape)and (max-height:620px){.vocab-card:not([data-export]){--vocab-reveal-foot:12px;--vocab-reveal-seam:12px}}.vocab-card[data-dialect=douyin] .kinetic-emphasis-mark:not(.kinetic-emphasis-run){filter:drop-shadow(-.035em 0 #25f4eecc)drop-shadow(.035em 0 #fe2c55cc)}.vocab-card[data-dialect=douyin] .kinetic-emph-underline:after{background:linear-gradient(90deg,#25f4ee,#fe2c55);box-shadow:0 0 .24em #25f4eeb3,0 0 .6em #fe2c5566}.vocab-card[data-dialect=douyin] .kinetic-emph-frame:after{border-color:#e03c31;box-shadow:0 0 0 .035em #e03c318c,0 0 .55em #e03c3180}.vocab-card[data-dialect=douyin] .kinetic-emph-sweep:after{background-image:linear-gradient(100deg,#0000,#f5c54229 34%,#ffe28aeb,#f5c54229 62%,#0000)}.vocab-card[data-dialect=douyin] .kinetic-emph-halo:before{background:radial-gradient(closest-side,#25f4ee80,#fe2c5533 46%,#0000 78%)}.vocab-dialect{flex-wrap:wrap}.vocab-dialect-note{color:color-mix(in srgb,var(--vocab-ink,#fff) 62%,transparent);flex-basis:100%;font-size:12px;font-weight:500;line-height:1.45}@media(prefers-reduced-motion:reduce){.vocabulary-shell *,.vocabulary-shell :before,.vocabulary-shell :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.vocab-tap-zone-highlight{--tap-glow:9 7 18;--tap-peak:rgb(var(--tap-glow) / 25%);--tap-clear:rgb(var(--tap-glow) / 0%);z-index:30;pointer-events:none;animation:vocab-tap-flash .35s var(--ease-out) forwards;position:absolute;top:0;bottom:0}.vocab-card[data-tone=light] .vocab-tap-zone-highlight{--tap-glow:255 255 255}.vocab-tap-zone-highlight[data-zone=left]{background:linear-gradient(90deg,var(--tap-peak) 0%,var(--tap-clear) 100%);width:35%;left:0}.vocab-pause-pop,.vocab-resume{z-index:31;width:76px;height:76px;color:var(--chrome-ink);background:var(--chrome-fill);-webkit-backdrop-filter:blur(10px)saturate(140%);backdrop-filter:blur(10px)saturate(140%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--chrome-ink) 18%,transparent),0 8px 24px #00000047;border-radius:50%;place-items:center;margin:-38px 0 0 -38px;padding:0;display:grid;position:absolute;top:46%;left:50%}.vocab-pause-pop{pointer-events:none;animation:vocab-pause-pop .52s var(--ease-out) forwards}.vocab-pause-pop svg{animation:vocab-pause-pop-icon .52s var(--ease-out) forwards}.vocab-resume{cursor:pointer;animation:vocab-resume-in var(--dur-move) var(--ease-spring) backwards;border:0}.vocab-resume>span{animation:vocab-resume-icon-in var(--dur-quick) var(--ease-out) backwards;display:grid}@keyframes vocab-resume-in{0%{-webkit-backdrop-filter:blur()saturate();backdrop-filter:blur()saturate();background-color:#0000;transform:scale(.7);box-shadow:inset 0 0 0 1px #0000,0 8px 24px #0000}}@keyframes vocab-resume-icon-in{0%{opacity:0}}@keyframes vocab-pause-pop{0%,to{-webkit-backdrop-filter:blur()saturate();backdrop-filter:blur()saturate();background-color:#0000;box-shadow:inset 0 0 0 1px #0000,0 8px 24px #0000}0%{transform:scale(.6)}30%{background-color:var(--chrome-fill);-webkit-backdrop-filter:blur(10px)saturate(140%);backdrop-filter:blur(10px)saturate(140%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--chrome-ink) 18%,transparent),0 8px 24px #00000047;transform:scale(1.08)}to{transform:scale(1.32)}}@keyframes vocab-pause-pop-icon{0%,to{opacity:0}30%{opacity:1}}.vocab-resume svg{margin-left:4px}.vocab-tap-zone-highlight[data-zone=right]{background:linear-gradient(270deg,var(--tap-peak) 0%,var(--tap-clear) 100%);width:35%;left:65%}@keyframes vocab-tap-flash{0%{opacity:0}18%{opacity:1}to{opacity:0}}.vocab-import{border:1px solid color-mix(in oklab,var(--shell-text) 8%,transparent);background:color-mix(in oklab,var(--shell-text) 2.5%,transparent);border-radius:14px;flex-direction:column;gap:14px;padding:18px;display:flex}.vocab-import-row{gap:8px;display:flex}.vocab-import-actions>.vocab-import-btn{white-space:nowrap;flex:1 1 0;min-width:0}.vocab-import-url{border:1px solid color-mix(in oklab,var(--shell-text) 12%,transparent);min-width:0;height:38px;color:var(--shell-text);background:0 0;border-radius:9px;outline:none;flex:1;padding:0 12px;font-size:13px;transition:border-color .18s,box-shadow .18s}.vocab-import-url::placeholder{color:color-mix(in oklab,var(--shell-text) 32%,transparent)}.vocab-import-url:focus-visible{border-color:color-mix(in oklab,var(--shell-text) 38%,transparent);box-shadow:0 0 0 3px color-mix(in oklab,var(--shell-text) 8%,transparent)}.vocab-import-file{background:color-mix(in oklab,var(--shell-text) 4%,transparent);align-items:center;gap:4px;padding:0 4px 0 6px;display:flex}.vocab-import-file-name{min-width:0;height:30px;color:var(--shell-text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:7px;flex:1;align-items:center;gap:7px;padding:0 8px;font-size:13px;transition:background .18s;display:inline-flex}.vocab-import-file-name>span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.vocab-import-file-name>svg:last-child{color:color-mix(in oklab,var(--shell-text) 45%,transparent)}.vocab-import-file-name:hover{background:color-mix(in oklab,var(--shell-text) 8%,transparent)}.vocab-import-file-clear{width:28px;height:28px;color:color-mix(in oklab,var(--shell-text) 60%,transparent);cursor:pointer;background:0 0;border:none;border-radius:999px;flex:none;place-items:center;transition:background .18s,color .18s;display:grid}.vocab-import-file-clear:hover{background:color-mix(in oklab,var(--shell-text) 10%,transparent);color:var(--shell-text)}.vocab-import-btn{border:1px solid color-mix(in oklab,var(--shell-text) 14%,transparent);background:color-mix(in oklab,var(--shell-text) 8%,transparent);height:38px;color:var(--shell-text);letter-spacing:.01em;cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:12.5px;font-weight:600;transition:background .15s,border-color .15s,transform .15s;display:inline-flex}.vocab-import-btn:hover{background:color-mix(in oklab,var(--shell-text) 13%,transparent);border-color:color-mix(in oklab,var(--shell-text) 22%,transparent)}.vocab-import-btn:active{transform:scale(.98)}.vocab-import-btn.ghost{background:0 0}.vocab-import-btn.ghost:hover{background:color-mix(in oklab,var(--shell-text) 6%,transparent)}.vocab-import-btn:disabled{opacity:.4;cursor:default;transform:none}.vocab-import-active{border:1px solid color-mix(in oklab,var(--shell-text) 10%,transparent);background:color-mix(in oklab,var(--shell-text) 4%,transparent);color:var(--shell-text);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;font-size:12.5px;display:flex}.vocab-import-active>span{flex:100%}.vocab-import-error{color:var(--destructive,#f87171);white-space:pre-line;margin:0;font-size:12px}.vocab-import-tabs{border:1px solid color-mix(in oklab,var(--shell-text) 8%,transparent);background:color-mix(in oklab,var(--shell-bg) 55%,transparent);border-radius:10px;gap:2px;padding:3px;display:flex}.vocab-import-tab{height:32px;color:color-mix(in oklab,var(--shell-text) 50%,transparent);letter-spacing:.01em;cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;font-size:12.5px;font-weight:600;transition:background .2s,color .2s}.vocab-import-tab:hover{color:color-mix(in oklab,var(--shell-text) 80%,transparent)}.vocab-import-tab.on{background:color-mix(in oklab,var(--shell-text) 12%,transparent);color:var(--shell-text)}.vocab-import-generate{flex-direction:column;gap:12px;display:flex}.vocab-preview{--shell-bg:var(--card);--shell-text:var(--foreground);--preview-line:color-mix(in oklab, var(--foreground) 8%, transparent);--preview-mute:color-mix(in oklab, var(--foreground) 52%, transparent);--preview-cols:52px minmax(150px, 1.1fr) 84px minmax(200px, 2fr) minmax(120px, 1fr) minmax(220px, 2.2fr);z-index:60;padding:max(18px,env(safe-area-inset-top)) clamp(14px,3vw,36px) max(16px,env(safe-area-inset-bottom));background:var(--background);color:var(--foreground);outline:none;flex-direction:column;gap:14px;animation:.24s cubic-bezier(.2,.8,.2,1) vocab-preview-in;display:flex;position:fixed;inset:0}.vocab-preview[data-state=closed]{animation:.16s ease-in forwards vocab-preview-out}@keyframes vocab-preview-in{0%{opacity:0;transform:translateY(14px)scale(.985)}}@keyframes vocab-preview-out{to{opacity:0;transform:translateY(10px)scale(.99)}}.vocab-preview-top{align-items:center;gap:12px;display:flex}.vocab-preview-top>svg{color:var(--mint);flex:none}.vocab-preview-heading{flex:1;min-width:0}.vocab-preview-heading h2{letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:18px;font-weight:700;overflow:hidden}.vocab-preview-heading p{color:var(--preview-mute);text-overflow:ellipsis;white-space:pre;margin:2px 0 0;font-size:12.5px;overflow:hidden}.vocab-preview-close{border:1px solid var(--preview-line);background:color-mix(in oklab,var(--foreground) 5%,transparent);width:38px;height:38px;color:var(--foreground);cursor:pointer;border-radius:999px;flex:none;place-items:center;transition:background .18s;display:grid}.vocab-preview-close:hover{background:color-mix(in oklab,var(--foreground) 12%,transparent)}.vocab-preview-tabs{align-self:flex-start;min-width:240px}.vocab-preview-search{border:1px solid color-mix(in oklab,var(--foreground) 12%,transparent);height:40px;color:var(--preview-mute);border-radius:10px;align-items:center;gap:8px;padding:0 12px;transition:border-color .18s,box-shadow .18s;display:flex}.vocab-preview-search:focus-within{border-color:color-mix(in oklab,var(--foreground) 34%,transparent);box-shadow:0 0 0 3px color-mix(in oklab,var(--foreground) 7%,transparent)}.vocab-preview-search input{min-width:0;color:var(--foreground);background:0 0;border:none;outline:none;flex:1;font-size:13.5px}.vocab-preview-hits{font-variant-numeric:tabular-nums;font-size:12px}.vocab-preview-scroll{border:1px solid var(--preview-line);background:color-mix(in oklab,var(--foreground) 2%,transparent);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:color-mix(in oklab,var(--foreground) 25%,transparent) transparent;border-radius:12px;flex:1;min-height:0;overflow:auto}.vocab-preview-head,.vocab-preview-row{grid-template-columns:var(--preview-cols);column-gap:18px;padding:0 18px;display:grid}.vocab-preview-head{z-index:1;border-bottom:1px solid var(--preview-line);background:color-mix(in oklab,var(--background) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0}.vocab-preview-head>*{height:40px;color:var(--preview-mute);letter-spacing:.08em;text-align:left;text-transform:uppercase;background:0 0;border:none;align-items:center;gap:5px;padding:0;font-size:11px;font-weight:700;display:flex}.vocab-preview-head>button{cursor:pointer;transition:color .18s}.vocab-preview-head>button:hover,.vocab-preview-head>button[aria-sort=ascending],.vocab-preview-head>button[aria-sort=descending]{color:var(--foreground)}.vocab-preview-head>button svg{opacity:.7}.vocab-preview-body{position:relative}.vocab-preview-row{border-bottom:1px solid var(--preview-line);width:100%;padding-block:14px;font-size:13.5px;line-height:1.5;transition:background .15s;position:absolute;top:0;left:0}.vocab-preview-row:hover{background:color-mix(in oklab,var(--foreground) 3.5%,transparent)}.vocab-preview-row>*{min-width:0}.vocab-preview-row p{margin:0}.vocab-preview-n{color:color-mix(in oklab,var(--foreground) 32%,transparent);font-variant-numeric:tabular-nums;font-size:12px}.vocab-preview-word{flex-direction:column;gap:3px;display:flex}.vocab-preview-word strong{letter-spacing:-.005em;overflow-wrap:anywhere;font-size:15.5px;font-weight:700}.vocab-preview-word span{color:var(--preview-mute);flex-wrap:wrap;gap:4px 8px;font-size:12px;display:flex}.vocab-preview-word code{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.vocab-preview-word em{font-style:italic}.vocab-preview-level{background:color-mix(in oklab,var(--mint) 16%,transparent);color:var(--mint);letter-spacing:.02em;border-radius:999px;padding:2px 8px;font-size:11.5px;font-weight:700;display:inline-block}.vocab-preview-def{color:color-mix(in oklab,var(--foreground) 90%,transparent)}.vocab-preview-tags{flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;display:flex}.vocab-preview-tags li{border:1px solid var(--preview-line);color:var(--preview-mute);border-radius:6px;padding:1px 7px;font-size:11.5px}.vocab-preview-usage{flex-direction:column;gap:2px;display:flex}.vocab-preview-usage p:first-child{font-style:italic}.vocab-preview-usage p+p,.vocab-preview-usage span{color:var(--preview-mute);font-size:12.5px}.vocab-preview-empty{color:var(--preview-mute);text-align:center;margin:0;padding:40px 18px;font-size:13px}.vocab-preview-raw{border:1px solid var(--preview-line);background:color-mix(in oklab,var(--foreground) 2%,transparent);overscroll-behavior:contain;-webkit-user-select:text;user-select:text;scrollbar-width:thin;scrollbar-color:color-mix(in oklab,var(--foreground) 25%,transparent) transparent;border-radius:12px;flex:1;min-height:0;padding:clamp(14px,2.4vw,26px);overflow:auto}.vocab-preview,.vocab-json{--json-key:#beb4f3;--json-str:color-mix(in oklab, var(--foreground) 90%, transparent);--json-num:var(--citrus);--json-bool:var(--mint);--json-slug:#77c9f3;--json-ipa:#f2b39d;--json-slot:var(--citrus)}@supports (color:lab(0% 0 0)){.vocab-preview,.vocab-json{--json-key:lab(75.7747% 13.8031 -30.5577);--json-slug:lab(77.0194% -17.6059 -28.9902);--json-ipa:lab(78.5699% 21.5424 20.6739)}}.vocab-json{font-size:14px;line-height:1.75}.vocab-json-fields{border:1px solid var(--preview-line);border-radius:12px;grid-template-columns:minmax(110px,max-content) minmax(0,1fr);margin:0;display:grid;overflow:hidden}.vocab-json-fields>dt,.vocab-json-fields>dd{border-top:1px solid var(--preview-line);margin:0;padding:12px 16px}.vocab-json-fields>dt:first-of-type,.vocab-json-fields>dt:first-of-type+dd{border-top:none}.vocab-json-fields>dt{background:color-mix(in oklab,var(--json-key) 6%,transparent)}.vocab-json-fields>dd{min-width:0}@media(max-width:640px){.vocab-json-fields{grid-template-columns:minmax(0,1fr)}.vocab-json-fields>dt{padding-bottom:6px}.vocab-json-fields>dt+dd{border-top:none;padding-top:10px}.vocab-json-fields>dt:first-of-type+dd{padding-top:10px}.vocab-json-key{flex-direction:row;align-items:baseline;gap:8px}}.vocab-json-fields[data-depth]:not([data-depth="0"]){border-radius:10px;font-size:13.5px}.vocab-json-fields[data-depth]:not([data-depth="0"])>dt,.vocab-json-fields[data-depth]:not([data-depth="0"])>dd{padding:8px 12px}.vocab-json-key{color:var(--json-key);flex-direction:column;font-size:13px;font-weight:650;line-height:1.35;display:flex}.vocab-json-key code{color:color-mix(in oklab,var(--json-key) 55%,transparent);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:10.5px;font-weight:500}.vocab-json-str{color:var(--json-str);overflow-wrap:anywhere}.vocab-json-word{color:var(--foreground);letter-spacing:-.005em;font-size:15.5px;font-weight:750}.vocab-json-num{color:var(--json-num);font-variant-numeric:tabular-nums;font-weight:600}.vocab-json-bool,.vocab-json-level{background:color-mix(in oklab,var(--json-bool) 15%,transparent);color:var(--json-bool);border-radius:999px;padding:1px 9px;font-size:12px;font-weight:700;line-height:1.6;display:inline-block}.vocab-json-slug{color:var(--json-slug);font-size:13px}.vocab-json-ipa{color:var(--json-ipa);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12.5px}.vocab-json-null{color:color-mix(in oklab,var(--foreground) 35%,transparent);font-style:italic}.vocab-json-slot{border:1px dashed color-mix(in oklab,var(--json-slot) 60%,transparent);background:color-mix(in oklab,var(--json-slot) 9%,transparent);color:var(--json-slot);border-radius:7px;padding:1px 9px;font-size:13px;font-style:italic;display:inline-block}.vocab-json-note{border-left:2px solid color-mix(in oklab,var(--json-key) 40%,transparent);color:color-mix(in oklab,var(--foreground) 58%,transparent);margin:6px 0 0;padding-left:10px;font-size:12.5px;line-height:1.6}.vocab-json-chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.vocab-json-chips>li{border:1px solid var(--preview-line);background:color-mix(in oklab,var(--foreground) 3%,transparent);border-radius:8px;padding:2px 10px;line-height:1.6}.vocab-json-chips button{color:var(--json-key);cursor:pointer;background:0 0;border:none;font-weight:700}.vocab-json-stack{flex-direction:column;gap:10px;display:flex}.vocab-json-grid-wrap{border:1px solid var(--preview-line);scrollbar-width:thin;border-radius:12px;overflow-x:auto}.vocab-json-grid{border-collapse:collapse;width:100%;font-size:13.5px}.vocab-json-grid th{border-bottom:1px solid var(--preview-line);background:color-mix(in oklab,var(--json-key) 7%,var(--background));text-align:left;vertical-align:bottom;white-space:nowrap;padding:12px 14px;position:sticky;top:0}.vocab-json-grid td{border-bottom:1px solid var(--preview-line);vertical-align:top;min-width:220px;max-width:380px;padding:12px 14px}.vocab-json-grid td[data-field=word],.vocab-json-grid td[data-field=id],.vocab-json-grid td[data-field=level],.vocab-json-grid td[data-field=pos],.vocab-json-grid td[data-field=ipa],.vocab-json-grid td[data-field=topic],.vocab-json-grid td[data-field=topics],.vocab-json-grid td[data-field=exams]{white-space:nowrap;min-width:0}.vocab-json-grid td[data-field=usage]{min-width:300px}.vocab-json-grid tbody tr:nth-child(2n){background:color-mix(in oklab,var(--foreground) 2.5%,transparent)}.vocab-json-grid tbody tr:hover{background:color-mix(in oklab,var(--foreground) 5%,transparent)}.vocab-json-grid tbody tr:last-child td{border-bottom:none}.vocab-json-grid td.vocab-json-index{width:1%;min-width:0;color:color-mix(in oklab,var(--foreground) 45%,transparent);font-variant-numeric:tabular-nums;padding-right:4px;font-size:12px}.vocab-json-more{border:none;border-top:1px solid var(--preview-line);background:color-mix(in oklab,var(--foreground) 3%,transparent);width:100%;color:var(--json-key);cursor:pointer;padding:12px;font-size:12.5px;font-weight:650;display:block}.vocab-code{counter-reset:line;color:color-mix(in oklab,var(--foreground) 82%,transparent);margin:0;padding:0;font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.9;list-style:none}.vocab-code>li{white-space:pre-wrap;word-break:break-word;grid-template-columns:3.2em 1fr;display:grid}.vocab-code>li:before{counter-increment:line;content:counter(line);color:color-mix(in oklab,var(--foreground) 25%,transparent);text-align:right;-webkit-user-select:none;user-select:none;padding-right:1em}.vocab-code-key{color:var(--json-key)}.vocab-code-str{color:var(--json-slug)}.vocab-code-num{color:var(--json-num)}.vocab-code-bool{color:var(--json-bool)}.vocab-code-slot{color:var(--json-slot);font-style:italic}.vocab-code-comment{color:color-mix(in oklab,var(--foreground) 42%,transparent);font-style:italic}.vocab-code-punct{color:color-mix(in oklab,var(--foreground) 40%,transparent)}.vocab-doc{max-width:860px;color:color-mix(in oklab,var(--foreground) 86%,transparent);margin:0 auto;font-size:15px;line-height:1.8}.vocab-doc h3{color:var(--foreground);letter-spacing:-.015em;margin:0 0 14px;font-size:24px;font-weight:750;line-height:1.3}.vocab-doc h4{color:var(--mint);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:10px;margin:34px 0 12px;font-size:13px;font-weight:750;line-height:1.4;display:flex}.vocab-doc h4:after{content:"";background:color-mix(in oklab,var(--mint) 25%,transparent);flex:1;height:1px}.vocab-doc>p,.vocab-doc-fold-body>p{margin:0 0 12px}.vocab-doc>ul,.vocab-doc-fold-body>ul{flex-direction:column;gap:8px;margin:0 0 12px;padding:0;list-style:none;display:flex}.vocab-doc>ul>li,.vocab-doc-fold-body>ul>li{padding-left:22px;position:relative}.vocab-doc>ul>li:before,.vocab-doc-fold-body>ul>li:before{content:"";background:var(--mint);border-radius:2px;width:7px;height:7px;position:absolute;top:.72em;left:4px;transform:rotate(45deg)}.vocab-doc>p code,.vocab-doc>ul code,.vocab-doc-fold-body>p code,.vocab-doc-fold-body>ul code,.vocab-doc-fold summary code{background:color-mix(in oklab,var(--json-key) 14%,transparent);color:var(--json-key);border-radius:5px;padding:1px 6px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.88em}.vocab-doc-fold{border:1px solid var(--preview-line);background:color-mix(in oklab,var(--foreground) 2.5%,transparent);border-radius:14px;margin:0 0 10px}.vocab-doc-fold[data-depth="1"]{border-color:color-mix(in oklab,var(--mint) 28%,transparent);background:color-mix(in oklab,var(--mint) 4%,transparent);margin-top:30px}.vocab-doc-fold[data-depth="3"]{background:0 0;border-radius:11px}.vocab-doc-fold>summary{min-height:52px;color:var(--foreground);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;align-items:center;gap:10px;padding:12px 16px;font-size:15.5px;font-weight:700;line-height:1.4;list-style:none;display:flex}.vocab-doc-fold>summary::-webkit-details-marker{display:none}.vocab-doc-fold[data-depth="1"]>summary{min-height:58px;color:var(--mint);letter-spacing:.08em;text-transform:uppercase;font-size:13.5px}.vocab-doc-fold[data-depth="3"]>summary{min-height:46px;color:color-mix(in oklab,var(--foreground) 88%,transparent);padding:10px 14px;font-size:14.5px;font-weight:650}.vocab-doc-fold>summary>span{flex:1;min-width:0}.vocab-doc-fold>summary>svg{color:color-mix(in oklab,var(--foreground) 50%,transparent);flex:none;transition:transform .22s cubic-bezier(.2,.8,.2,1)}.vocab-doc-fold[data-depth="1"]>summary>svg{color:var(--mint)}.vocab-doc-fold[open]>summary>svg{transform:rotate(90deg)}.vocab-doc-fold>summary>em{background:color-mix(in oklab,var(--foreground) 8%,transparent);min-width:24px;color:color-mix(in oklab,var(--foreground) 60%,transparent);letter-spacing:0;text-align:center;border-radius:999px;flex:none;padding:1px 8px;font-size:11.5px;font-style:normal;font-weight:700}.vocab-doc-fold-all{border:1px solid color-mix(in oklab,var(--mint) 30%,transparent);background:color-mix(in oklab,var(--mint) 8%,transparent);width:40px;height:40px;color:var(--mint);cursor:pointer;border-radius:999px;flex:none;place-items:center;margin:-6px -6px -6px 0;transition:background .18s,transform .15s;display:grid}.vocab-doc-fold-all:hover{background:color-mix(in oklab,var(--mint) 16%,transparent)}.vocab-doc-fold-all:active{transform:scale(.92)}.vocab-doc-fold-all[aria-pressed=true]{background:var(--mint);color:var(--background)}.vocab-doc-fold>summary:hover{background:color-mix(in oklab,var(--foreground) 3%,transparent);border-radius:inherit}.vocab-doc-fold>summary:focus-visible{outline:2px solid color-mix(in oklab,var(--mint) 60%,transparent);outline-offset:-2px;border-radius:inherit}.vocab-doc-fold-body{padding:2px 16px 14px;animation:.24s cubic-bezier(.2,.8,.2,1) vocab-doc-fold-in}.vocab-doc-fold[data-depth="1"]>.vocab-doc-fold-body{padding:2px 12px 12px}@keyframes vocab-doc-fold-in{0%{opacity:0;transform:translateY(-4px)}}@media(max-width:640px){.vocab-doc-fold-body{padding:2px 12px 12px}.vocab-doc-fold[data-depth="1"]>.vocab-doc-fold-body{padding:2px 8px 8px}}.vocab-doc-block{margin:4px 0 16px}.vocab-doc-block>.vocab-code{border:1px solid var(--preview-line);background:color-mix(in oklab,var(--background) 60%,transparent);border-radius:12px;padding:14px 16px}.vocab-doc-slot{border:1.5px dashed color-mix(in oklab,var(--json-slot) 55%,transparent);background:color-mix(in oklab,var(--json-slot) 8%,transparent);color:var(--json-slot);text-align:center;border-radius:12px;padding:18px 20px;font-weight:650}.vocab-preview-error{border:1px solid color-mix(in oklab,var(--destructive,#f87171) 35%,transparent);background:color-mix(in oklab,var(--destructive,#f87171) 10%,transparent);color:var(--destructive,#f87171);white-space:pre-line;border-radius:10px;margin:0;padding:10px 14px;font-size:12.5px}.vocab-preview-foot{justify-content:flex-end;display:flex}@media(max-width:640px),(pointer:coarse){.vocab-import{gap:12px;padding:16px 14px}.vocab-import-btn{border-radius:11px;height:44px;padding:0 16px;font-size:14px}.vocab-import-url{border-radius:11px;height:44px;font-size:16px}.vocab-import-file-name{height:36px;font-size:14px}.vocab-import-file-clear{width:36px;height:36px}.vocab-import-tab{height:38px;font-size:13.5px}.vocab-import-active>.vocab-import-btn{flex:1 1 0}.vocab-preview-tabs{align-self:stretch}.vocab-preview-search{height:44px}.vocab-preview-search input{font-size:16px}.vocab-preview-close{width:44px;height:44px}.vocab-preview-foot>.vocab-import-btn{flex:1;height:48px;font-size:15px}}@media(max-width:359px){.vocab-import-actions{flex-direction:column}}@media(max-width:820px){.vocab-preview-head{display:none}.vocab-preview-row{grid-template-columns:1fr auto;grid-template-areas:"word level""def def""usage usage""topics n";row-gap:8px;padding:14px 16px}.vocab-preview-row>[data-col=n]{grid-area:n;align-self:end}.vocab-preview-row>[data-col=word]{grid-area:word}.vocab-preview-row>[data-col=level]{grid-area:level}.vocab-preview-row>[data-col=def]{grid-area:def}.vocab-preview-row>[data-col=topics]{grid-area:topics}.vocab-preview-row>[data-col=usage]{grid-area:usage}.vocab-preview-row>:empty{display:none}}.vocab-import-prompt{border:1px solid color-mix(in oklab,var(--shell-text) 8%,transparent);background:color-mix(in oklab,var(--shell-bg) 55%,transparent);max-height:280px;color:color-mix(in oklab,var(--shell-text) 78%,transparent);white-space:pre-wrap;word-break:break-word;-webkit-user-select:text;user-select:text;scrollbar-width:thin;scrollbar-color:color-mix(in oklab,var(--shell-text) 25%,transparent) transparent;border-radius:10px;margin:0;padding:14px 16px;font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,Consolas,monospace;font-size:11.5px;line-height:1.6;overflow:auto}.vocab-custom-pack-chip{top:max(58px,calc(env(safe-area-inset-top) + 50px));z-index:30;background:color-mix(in oklab,var(--shell-bg) 70%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);max-width:80vw;color:var(--shell-text);border-radius:999px;align-items:center;gap:6px;padding:4px 6px 4px 12px;font-size:12px;font-weight:700;display:flex;position:fixed;left:50%;transform:translate(-50%)}.vocab-custom-pack-name{color:inherit;text-overflow:ellipsis;white-space:nowrap;text-decoration:none;overflow:hidden}.vocab-custom-pack-chip button{color:inherit;cursor:pointer;background:0 0;border:0;font-size:16px;line-height:1}.vocab-challenge-shell{min-height:100dvh;padding:max(20px,env(safe-area-inset-top)) 18px calc(24px + env(safe-area-inset-bottom));background:var(--shell-surface);color:var(--shell-text);place-items:center;display:grid}.vocab-challenge-card{border:1px solid var(--shell-line);text-align:center;background:#ffffff08;border-radius:24px;width:min(460px,100%);padding:24px}.vocab-challenge-eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--shell-text-mute);margin:0 0 14px;font-size:11px;font-weight:700}.vocab-challenge-clue{margin:0 0 12px;font-size:19px;font-weight:650;line-height:1.5}.vocab-challenge-hint{color:var(--shell-text-soft);margin:0 0 20px;font-size:13px}.vocab-challenge-form{grid-template-columns:1fr auto;gap:8px;display:grid}.vocab-challenge-input{border:1px solid var(--shell-line-strong);background:var(--shell-well);min-height:48px;color:var(--shell-text);border-radius:999px;padding:0 16px;font-size:17px;font-weight:650}.vocab-challenge-input:focus-visible{outline:2px solid var(--vocab-accent);outline-offset:2px}.vocab-challenge-send{background:var(--mint);width:48px;min-height:48px;color:var(--shell-on-text);border:0;border-radius:999px;place-items:center;display:grid}.vocab-challenge-wrong{color:var(--citrus);grid-column:1/-1;margin:4px 0 0;font-size:13px}.vocab-challenge-word{letter-spacing:-.02em;color:var(--vocab-accent);margin:0;font-size:44px;font-weight:800}.vocab-challenge-ipa{color:var(--shell-text-mute);margin:2px 0 10px;font-size:14px}.vocab-challenge-def{margin:0 0 16px;font-size:15px;line-height:1.6}.vocab-challenge-body{color:var(--shell-text-soft);margin:0 0 16px;font-size:13.5px;line-height:1.6}.vocab-challenge-back{color:var(--shell-text-mute);align-items:center;gap:6px;margin-top:18px;font-size:12.5px;text-decoration:none;display:inline-flex}.vocab-reveal-scroll{min-height:0;margin-bottom:var(--vocab-reveal-badge-room,20px);overscroll-behavior-y:contain;scrollbar-width:thin;overflow:hidden auto}.vocab-share-dock{border-bottom-right-radius:calc(var(--vocab-reveal-radius) - 1px);pointer-events:none;padding:12px 0 0 9px;position:absolute;bottom:0;right:0;overflow:hidden}.vocab-share-button{box-sizing:border-box;height:var(--vocab-share-h);color:var(--vocab-button-ink);letter-spacing:-.011em;white-space:nowrap;pointer-events:auto;transform-origin:100% 100%;transition:transform var(--dur-move) var(--ease-spring);background:0 0;border:0;justify-content:center;align-items:center;padding:0 15px;font-family:Inter,sans-serif;font-size:13px;font-weight:700;line-height:1.15;display:inline-flex;position:relative}.vocab-share-face-bg{border-radius:calc(var(--vocab-reveal-radius) - 1px) 0 0 0;background:linear-gradient(to bottom,color-mix(in srgb,var(--vocab-accent) 86%,#fff),var(--vocab-accent) 58%,color-mix(in srgb,var(--vocab-accent) 88%,#000));transition:background var(--dur-quick) var(--ease-out),filter var(--dur-quick) var(--ease-out);position:absolute;inset:0 -2px -2px 0;box-shadow:-2px -3px 11px -5px #0006,inset 0 1.5px #ffffff8a,inset 0 -7px 10px -9px #0000004d,inset 0 0 0 1px #ffffff2b}.vocab-share-face{z-index:1;align-items:center;gap:6px;display:inline-flex;position:relative}.vocab-share-face svg{flex:none;display:block}.vocab-share-button:hover .vocab-share-face-bg{filter:brightness(1.06)}.vocab-share-button:active{transition-duration:var(--dur-press);transform:scale(.97)}.vocab-share-button:focus-visible{outline:none}.vocab-share-button:focus-visible .vocab-share-face-bg{box-shadow:-2px -3px 11px -5px #0006,inset 0 0 0 2px var(--vocab-button-ink)}.vocab-share-button[data-done] .vocab-share-face-bg{background:linear-gradient(to bottom,color-mix(in srgb,var(--vocab-accent) 74%,var(--vocab-button-ink)),color-mix(in srgb,var(--vocab-accent) 82%,var(--vocab-button-ink)) 58%,color-mix(in srgb,var(--vocab-accent) 70%,var(--vocab-button-ink)))}@media(prefers-reduced-motion:reduce){.vocab-share-button{transition:none}}
