@layer tokens{:root{--bg:#0d0e12;--panel:#14161d;--panel-2:#1a1d26;--line:#262a36;--line-soft:#1f222c;--ink:#e9eaf0;--ink-2:#a3a9bd;--ink-3:#6e748a;--accent:#8b9cff;--accent-soft:#8b9cff1f;--good:#4ec9a0;--hard:#e6b25a;--again:#e26a72;--easy:#6fb5ff;--good-soft:#4ec9a01f;--hard-soft:#e6b25a1f;--again-soft:#e26a721f;--radius:14px;--shadow:0 1px 2px #0006, 0 8px 30px #0000004d;--shadow-lift:0 30px 70px #000000a6, 0 6px 14px #0007;--on-accent:#0b0d16;--on-accent-soft:#0000002e;--scrim:#0009}html[data-theme=light]{--bg:#f6f6f4;--panel:#fff;--panel-2:#f2f2ef;--line:#e0e0da;--line-soft:#ebebe6;--ink:#1b1c22;--ink-2:#565b6b;--ink-3:#8b90a0;--accent:#4a5bd6;--accent-soft:#4a5bd614;--good:#1f9d76;--hard:#b57a1a;--again:#c8434c;--easy:#2b7fd4;--good-soft:#1f9d7614;--hard-soft:#b57a1a14;--again-soft:#c8434c14;--shadow:0 1px 2px #0000000f, 0 8px 30px #0000000a;--shadow-lift:0 26px 56px #00000026, 0 6px 14px #00000014;--on-accent:#fff;--on-accent-soft:#ffffff2e;--scrim:#00000059}:root{--viz-bar:#8b9cff;--viz-track:#232735;--viz-grid:#232735;--m1:#454d78;--m2:#5d68a8;--m3:#7b87d8;--m4:#a3b0ff;--gauge-glint:#ffffff8c}html[data-theme=light]{--viz-bar:#4a5bd6;--viz-track:#ececea;--viz-grid:#e6e6e1;--m1:#a2abe8;--m2:#7a86d8;--m3:#525fbc;--m4:#333d8c;--gauge-glint:#ffffff70}:root{--foil-lo:#000;--foil-hi:#fff;--foil-mid:#666;--foil-sweep-ink:#fff;--sun-1:#ff7a75;--sun-2:#ffed61;--sun-3:#a8ff61;--sun-4:#85fff7;--sun-5:#7a95ff;--sun-6:#d875ff;--foil-blend:color-dodge;--foil-glare-blend:overlay;--foil-bright:1.1;--foil-contrast:1.06;--foil-sat:1.15;--foil-silver-bright:.68;--foil-silver-contrast:1.5;--foil-band-lo:#000;--foil-band-hi:#fff;--foil-scan-lo:#000;--foil-scan-hi:#666;--foil-scan-blend:overlay;--star-ink:#fff;--star-blend:screen;--star-size:.85px;--weave-1:#111;--weave-2:#333;--weave-3:#5a5a5a;--weave-4:gray;--foil-weave-bright:1.1;--foil-weave-contrast:1.7;--gold-1:#6b4c0d;--gold-2:#d9ad3f;--gold-3:#fff2bd;--foil-gain:1;--foil-rest-gain:1;--foil-spec:1;--stock-shade:#00000073;--stock-edge-ink:#ffffff14}html[data-theme=light]{--foil-blend:multiply;--foil-glare-blend:multiply;--foil-sweep-ink:#cbcbcb;--foil-bright:1.22;--foil-contrast:.72;--foil-sat:1.35;--foil-silver-bright:1;--foil-silver-contrast:1;--foil-band-lo:#c4c4c4;--foil-band-hi:#fff;--foil-scan-lo:#d6d6d6;--foil-scan-hi:#fff;--foil-scan-blend:multiply;--star-ink:#6e6e6e;--star-blend:multiply;--star-size:1.2px;--weave-1:#fff;--weave-2:#dcdcdc;--weave-3:#b0b0b0;--weave-4:#868686;--foil-weave-bright:1;--foil-weave-contrast:1.15;--gold-1:#b8933c;--gold-2:#e8cf86;--gold-3:#fffaea;--foil-gain:.4;--foil-rest-gain:.95;--foil-spec:.22;--stock-shade:#0000001f;--stock-edge-ink:#00000008}:root{--ja:"Hiragino Mincho ProN", "Yu Mincho", "YuMincho", "Noto Serif JP", "Source Han Serif JP", serif;--ui:-apple-system, BlinkMacSystemFont, "Segoe UI", Inter, system-ui, sans-serif;--ui-ja:-apple-system, BlinkMacSystemFont, "Segoe UI", Inter, system-ui, "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", "Noto Serif JP", sans-serif;--menu-dur:.18s;--menu-step:30ms;--menu-lag:90ms;--menu-shift:12px;--menu-dx:0;--menu-dy:var(--menu-shift);--menu-ease:cubic-bezier(.2, .7, .3, 1)}}@layer base{*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--ui);-webkit-font-smoothing:antialiased;overflow:hidden}#root{flex-direction:column;height:100%;display:flex}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}button:disabled{cursor:default;opacity:.4}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.ja{font-family:var(--ja);font-weight:500}#root>header{padding:12px max(16px, env(safe-area-inset-left)) 12px 16px;border-bottom:1px solid var(--line-soft);background:var(--panel);flex:none;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;display:grid}.headid{grid-column:1;align-items:center;gap:12px;min-width:0;display:flex}#root>header .navtabs{grid-column:2}.headtools{grid-column:3}.logo{border-radius:9px;flex:none;place-items:center;width:34px;height:34px;margin:0 -5px;display:grid}.logo img{width:24px;height:24px;display:block}@media (hover:hover){.logo:hover{background:var(--panel-2)}}.logo.active{background:var(--accent-soft)}.brandsub{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:15px;font-weight:500;overflow:hidden}.runbar{padding:6px max(16px, env(safe-area-inset-left)) 6px 16px;border-bottom:1px solid var(--line-soft);background:var(--panel-2);--menu-lead:calc(2 * var(--menu-step) + var(--menu-dur));flex:none;justify-content:center;align-items:center;gap:12px;display:flex;position:relative}.navtabs{flex:none;align-items:center;gap:5px;display:flex}.navtabs .tab{color:var(--ink-3);white-space:nowrap;border-radius:8px;padding:6px 11px;font-size:13px;font-weight:560}#root>header .navtabs .tab{align-items:center;min-height:34px;padding-inline:14px;font-size:13.5px;display:inline-flex}@media (hover:hover){.navtabs .tab:hover{color:var(--ink);background:var(--line-soft)}}.navtabs .tab.on{color:var(--accent);background:var(--accent-soft)}@media (hover:hover){.navtabs .tab.on:hover{color:var(--accent);background:var(--accent-soft)}}.runmeta{align-items:center;gap:10px;min-width:0;display:flex}.runexit{right:max(10px, env(safe-area-inset-right));width:26px;height:26px;color:var(--ink-3);border-radius:8px;place-items:center;margin-block:auto;display:grid;position:absolute;top:0;bottom:0}@media (hover:hover){.runexit:hover{color:var(--ink);background:var(--line-soft)}}.runexit svg{width:15px;height:15px}.runbar:has(.runexit) .runmeta{padding-inline:34px}.runname{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:13px;font-weight:620;overflow:hidden}.counts{flex:none;align-items:center;gap:6px;display:flex}.pill{font-variant-numeric:tabular-nums;background:var(--panel-2);border:1px solid var(--line);color:var(--ink-2);border-radius:999px;align-items:baseline;gap:5px;padding:5px 9px;font-size:12px;display:inline-flex}.pill b{color:var(--ink);font-size:12.5px;font-weight:640}.pill.due b{color:var(--hard)}.pill.new b{color:var(--easy)}.pill.test{color:var(--accent);border-color:var(--accent-soft);background:var(--accent-soft);letter-spacing:.04em;text-transform:uppercase;font-size:10.5px;font-weight:620}.headtools{justify-self:end;align-items:center;gap:4px;display:flex}.icon-btn{width:34px;height:34px;color:var(--ink-2);border:1px solid #0000;border-radius:9px;flex:none;place-items:center;display:grid}@media (hover:hover){.icon-btn:hover{background:var(--panel-2);border-color:var(--line);color:var(--ink)}}.icon-btn svg{width:17px;height:17px}.icon-btn.active{color:var(--accent);background:var(--accent-soft);border-color:#0000}.progress{background:var(--line-soft);flex:none;height:2px}.progress>i{background:var(--accent);width:0;height:100%;transition:width .35s;display:block}main{overscroll-behavior:contain;flex-direction:column;flex:auto;align-items:center;min-height:0;padding:0 16px;display:flex;overflow-y:auto}.stage{width:100%;max-width:680px;margin:auto 0;padding:24px 0}.stage:has(.report){max-width:720px;margin:0 auto;padding:0}.controlbar{border-top:1px solid var(--line-soft);background:var(--panel);padding:12px 16px max(12px, env(safe-area-inset-bottom));flex:none}.controlbar:empty{display:none}.controlbar .inner{width:100%;max-width:680px;margin:0 auto}.play{width:30px;height:30px;color:var(--ink-3);border:1px solid var(--line);background:var(--panel);border-radius:8px;flex:none;place-items:center;transition:color .12s,border-color .12s;display:grid}@media (hover:hover){.play:hover{color:var(--accent);border-color:var(--accent)}}.play.playing{color:var(--accent);border-color:var(--accent)}.play.dead{opacity:.3;pointer-events:none}.play svg{width:12px;height:12px}.levelcta{gap:10px;display:flex}.cta{text-align:center;letter-spacing:-.01em;border:1px solid #0000;border-radius:12px;flex:1 1 0;padding:14px 24px;font-size:15px;font-weight:650}.ctasub{letter-spacing:0;opacity:.85;margin-top:3px;font-size:12.5px;font-weight:500;display:block}.cta.go{background:var(--accent);color:var(--on-accent)}@media (hover:hover){.cta.go:hover{filter:brightness(1.08)}}}@layer views{.card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:20px;overflow:hidden}.face-tag{border-bottom:1px solid var(--line-soft);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:8px;padding:13px 18px;font-size:11.5px;font-weight:600;display:flex}.face-tag .rmark{flex:none;width:12px;height:12px}.face-tag .streak{text-transform:none;letter-spacing:0;margin-left:auto;font-weight:500}.prompt{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:262px;padding:46px 24px;display:flex}.card:has(.answer) .prompt{min-height:200px}.prompt .para{font-family:var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:5px 13px;font-size:12.5px;font-weight:700}.prompt .value{word-break:break-word;font-size:clamp(38px,9vw,62px);line-height:1.25}.prompt .meaning{font-family:var(--ui);color:var(--ink-2);max-width:34ch;font-size:16px;font-weight:550;line-height:1.45}.prompt .value.en{font-family:var(--ui);letter-spacing:-.02em;font-size:clamp(26px,6vw,40px);font-weight:600}.listen{flex-direction:column;align-items:center;gap:16px;display:flex}.bigplay{background:var(--accent-soft);width:84px;height:84px;color:var(--accent);border:1px solid var(--accent);border-radius:50%;place-items:center;transition:background .2s,color .2s,border-color .2s,transform .12s;display:grid;position:relative}.bigplay svg{width:30px;height:30px}.bigplay.playing{background:var(--accent);color:var(--on-accent)}.bigplay:active{transform:scale(.96)}@media (hover:hover){.bigplay:hover{background:var(--accent);color:var(--on-accent)}}.bigplay:after{content:"";border:1px solid var(--accent);opacity:0;pointer-events:none;border-radius:50%;position:absolute;inset:-1px}.bigplay.playing:after{animation:1.5s ease-out infinite play-ring}@keyframes play-ring{0%{opacity:.55;transform:scale(1)}to{opacity:0;transform:scale(1.38)}}.bigplay.playing svg path{transform-box:fill-box;transform-origin:50%;vector-effect:non-scaling-stroke;animation:.9s ease-in-out infinite alternate play-eq}.bigplay.playing svg path:nth-child(2){animation-delay:-680ms}.bigplay.playing svg path:nth-child(3){animation-delay:-340ms}.bigplay.playing svg path:nth-child(4){animation-delay:-140ms}@keyframes play-eq{0%{transform:scaleY(.5)}to{transform:scaleY(1.15)}}@media (prefers-reduced-motion:reduce){.bigplay.playing:after,.bigplay.playing svg path{animation:none}}.listen-hint{color:var(--ink-3);font-size:13.5px}.exbtn{color:var(--ink-2);white-space:nowrap;border:1px solid var(--line);background:var(--panel-2);border-radius:999px;align-items:center;gap:7px;padding:7px 13px;font-size:13px;font-weight:550;display:inline-flex}.exbtn svg{flex:none;width:13px;height:13px}.exbtn.playing{color:var(--accent);border-color:var(--accent)}@media (hover:hover){.exbtn:hover{color:var(--ink);border-color:var(--ink-3)}}.cloze{flex-direction:column;align-items:center;gap:14px;display:flex}.cloze .sentence{word-break:break-word;font-size:clamp(24px,5.5vw,34px);line-height:1.65}.cloze .hole{vertical-align:-.06em;border-bottom:3px solid var(--accent);background:var(--accent-soft);border-radius:3px 3px 0 0;width:2.6em;height:.9em;margin:0 .14em;display:inline-block}.cloze .filled{color:var(--accent);border-bottom:3px solid var(--accent);padding-bottom:1px}.cloze-gloss{font-family:var(--ui);color:var(--ink-2);max-width:34ch;font-size:15px;font-weight:550;line-height:1.45}.verdict{border-bottom:1px solid var(--line-soft);align-items:baseline;gap:9px;padding:11px 18px;font-size:13.5px;line-height:1.5;display:flex}.verdict .mark{font-size:15px;font-weight:700;line-height:1}.verdict .said{color:var(--ink-2)}.verdict b{color:var(--ink);font-weight:600}.verdict.right{background:var(--good-soft);color:var(--good)}.verdict.close{background:var(--hard-soft);color:var(--hard)}.verdict.wrong{background:var(--again-soft);color:var(--again)}.answer{border-top:1px solid var(--line-soft);background:var(--panel-2)}.forms{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-right:-1px;display:grid}.paraforms{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));grid-auto-flow:dense}.paraforms>.lead{grid-column:1}.form{grid-template-rows:subgrid;border-bottom:1px solid var(--line-soft);border-right:1px solid var(--line-soft);grid-row:span 2;padding:13px 16px;display:grid}.formsplit{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));display:grid}.formsplit.lean{grid-template-columns:minmax(0,1fr) minmax(0,3fr)}.groupcol{flex-direction:column;display:flex}.groupcol>*{flex:auto}.formgroup{border-bottom:1px solid var(--line-soft);flex-direction:column;display:flex}.formgroup .glabel{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);padding:10px 12px 5px;font-size:10.5px;font-weight:600}.gtabs{flex:none;min-width:0;min-height:30px;display:flex}.gstrip{align-items:flex-start;min-width:0;display:flex;overflow:hidden}.gtab{appearance:none;font:inherit;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:10px 10px 5px;font-size:10.5px;font-weight:600;position:relative}.gtab[aria-selected=true]{color:var(--accent)}.gtab[aria-selected=true]:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:0;left:10px;right:10px}@media (hover:hover){.gtab:hover{color:var(--ink-2)}.gtab[aria-selected=true]:hover{color:var(--accent)}}.pdot{vertical-align:2px;background:var(--accent);border-radius:50%;width:4px;height:4px;margin-left:5px;margin-right:-9px;display:inline-block}.gpick{font:inherit;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);background:var(--panel-2);border:1px solid var(--line);cursor:pointer;border-radius:7px;align-self:center;min-width:0;margin:0 10px;padding:2px 4px 2px 6px;font-size:10.5px;font-weight:600}.paradigm{min-height:calc(var(--rows) * 30px);grid-auto-flow:column;grid-template-rows:repeat(var(--rows), 1fr);flex:1;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.pform{flex-wrap:wrap;align-content:center;align-items:baseline;gap:3px;min-width:0;padding:2px 8px 2px 12px;display:flex}.pform .p{color:var(--ink-3);flex:none;font-size:12.5px}.pform .v{min-width:0;font-size:15px}.pform .v.en{font-weight:500}.form.playable,.pform.playable{cursor:pointer}.form .k{grid-row:1;align-items:center;gap:2px;display:flex}.form .v{grid-row:2;min-width:0}.form .cue{color:var(--ink-3);flex:none;display:inline-flex}.form .cue svg{width:11px;height:11px}.form.playing,.pform.playing{box-shadow:inset 0 0 0 1px var(--accent)}.form.playing .k,.form.playing .cue,.pform.playing .p,.pform.playing .v{color:var(--accent)}.form.dead .cue{opacity:.35}.pform.dead .v{color:var(--ink-3)}@media (hover:hover){.form.playable:hover,.pform.playable:hover{background-color:var(--panel)}.form.playable:hover .cue{color:var(--ink-2)}}.form .k{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-size:10.5px;font-weight:600}.form .v{word-break:break-word;margin-top:3px;font-size:20px}.form .v.en{font-family:var(--ui);font-size:16px;font-weight:500}.form.is-prompt,.pform.is-prompt{background-image:linear-gradient(var(--accent-soft), var(--accent-soft))}.form.is-prompt .k,.pform.is-prompt .p{color:var(--accent)}.examples{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:8px;padding:9px 12px 11px;display:grid}.ex{background:var(--panel);border:1px solid var(--line);border-radius:12px;align-items:center;gap:10px;padding:10px 15px;display:flex}.ex .play{background:var(--panel-2)}.ex.playable{cursor:pointer}.ex.playing{border-color:var(--accent)}@media (hover:hover){.ex.playable:hover .play{color:var(--accent);border-color:var(--accent)}}.ex .body{flex:1;min-width:0}.ex .jp{font-size:18px;line-height:1.6}.ex .en{color:var(--ink-2);font-size:13.5px;line-height:1.5}.card{--lean-gain:.2;--jt:1;--jrz:0deg;--jry:0deg;--jz:0px;--jo:50%;--card-lean:perspective(1300px) translateZ(0) rotateY(calc(var(--tilt-y) * var(--lean-gain))) rotateX(calc(var(--tilt-x) * var(--lean-gain))) rotateZ(0deg);transform:var(--card-lean);transition:--tilt-x .56s ease-out,--tilt-y .56s ease-out}@media (hover:hover){.card:hover{transition:--tilt-x .15s ease-out,--tilt-y .15s ease-out}}@media (prefers-reduced-motion:reduce){.card,.card:hover{transition:none;transform:none}}@keyframes turn-swing{0%{transform:perspective(1300px) translateZ(var(--jz)) rotateY(calc(var(--tilt-y) * var(--lean-gain) + var(--jry))) rotateX(-82deg) rotateZ(var(--jrz));opacity:.3}60%{opacity:1}to{transform:var(--card-lean);opacity:1}}@keyframes turn-swing-lift{0%{transform:perspective(1300px) translateZ(calc(-22px + var(--jz))) rotateY(calc(var(--tilt-y) * var(--lean-gain) + var(--jry))) rotateX(-84deg) rotateZ(var(--jrz));opacity:.28}45%{transform:perspective(1300px) translateZ(calc(66px + var(--jz))) rotateY(calc(var(--tilt-y) * var(--lean-gain) + var(--jry) * .55)) rotateX(-30deg) rotateZ(calc(var(--jrz) * .6));opacity:1}to{transform:var(--card-lean);opacity:1}}@keyframes turn-lift{0%{transform:perspective(1300px) translateZ(calc(-30px + var(--jz))) rotateY(calc(-88deg + var(--jry) * .3)) rotateX(0deg) rotateZ(calc(var(--jrz) * .5));opacity:.25}50%{transform:perspective(1300px) translateZ(calc(120px + var(--jz))) rotateY(-34deg) rotateX(-7deg) rotateZ(var(--jrz));opacity:1}to{transform:var(--card-lean);opacity:1}}@keyframes turn-shadow{0%{box-shadow:var(--shadow)}50%{box-shadow:var(--shadow-lift)}to{box-shadow:var(--shadow)}}@keyframes grades-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.card.flip[data-turn=swing]{animation:turn-swing calc(.17s * var(--jt)) cubic-bezier(.22, .7, .3, 1) both;transform-origin:var(--jo) 45%}.card.flip[data-turn=swing-lift]{animation:turn-swing-lift calc(.19s * var(--jt)) cubic-bezier(.26, .72, .28, 1) both, turn-shadow calc(.19s * var(--jt)) ease-out both;transform-origin:var(--jo) 42%}.card.flip[data-turn=lift]{animation:turn-lift calc(.2s * var(--jt)) cubic-bezier(.3, .06, .26, 1) both, turn-shadow calc(.2s * var(--jt)) ease-in-out both;transform-origin:var(--jo) 50%}.grades.flip{animation:.15s ease-out both grades-in}@media (prefers-reduced-motion:reduce){.card.flip{animation:.11s ease-out both fade-in!important}.grades.flip{animation:.11s ease-out both fade-in}@keyframes fade-in{0%{opacity:.4}to{opacity:1}}}.deck{position:relative}.deck>.card{z-index:2;position:relative}.deck-layer{z-index:1;background:var(--panel-2);border:1px solid var(--line);border-radius:20px;transition:opacity .16s;position:absolute}.deck.revealed .deck-layer{opacity:0}.deck-layer.d1{inset:9px 9px -8px}.deck-layer.d2{opacity:.6;inset:18px 18px -15px}@keyframes deck-step{0%{transform:translateY(9px)scaleX(.96)}to{transform:none}}.deck.dealing .deck-layer{animation:.19s cubic-bezier(.22,.7,.3,1) 20ms both deck-step}@keyframes deal-in{0%{opacity:0;transform:translateY(10px)scale(.972)}55%{opacity:1}to{transform:var(--card-lean);opacity:1}}.deck.dealing>.card{animation:.18s cubic-bezier(.22,.7,.3,1) both deal-in}.fly{z-index:3;transform-origin:var(--gorigin,50% 50%);pointer-events:none;animation:throw-out calc(.15s * var(--jt,1)) linear both, throw-dim calc(90ms * var(--jt,1)) linear calc(60ms * var(--jt,1)) both;position:absolute;top:50%;left:0;right:0;transform:perspective(1300px)translateY(-50%)}@keyframes throw-out{0%{animation-timing-function:cubic-bezier(.7,0,.88,.5);transform:perspective(1300px)translateY(-50%)translate(0)translateZ(0)rotateX(0)rotateY(0)rotate(0)scale(1)}38%{transform:perspective(1300px) translateY(calc(-50% + var(--gy) * .3)) translateX(calc(var(--gx) * .3)) translateZ(var(--glift)) rotateX(calc(var(--grx) * .12)) rotateY(calc(var(--gry) * .12)) rotateZ(calc(var(--gz) * .12)) scale(calc(1 + (var(--gs) - 1) * .3));animation-timing-function:cubic-bezier(.3,.3,.6,.8)}to{transform:perspective(1300px) translateY(calc(-50% + var(--gy))) translateX(var(--gx)) translateZ(var(--gtz)) rotateX(var(--grx)) rotateY(var(--gry)) rotateZ(var(--gz)) scale(var(--gs))}}@keyframes throw-dim{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.fly{animation:.14s ease-out both throw-dim;transform:translateY(-50%)}.deck.dealing>.card{animation:.14s ease-out reverse both throw-dim}.deck.dealing .deck-layer{animation:none}}.controls{display:grid}.controls>*{grid-area:1/1}.controls>.reveal{align-self:center}.controls>.grades,.controls.revealed>.reveal{visibility:hidden}.controls.revealed>.grades{visibility:visible}.typebar{align-self:center;gap:8px;width:100%;display:flex}.typein{border:1px solid var(--line);background:var(--panel);min-width:0;color:var(--ink);border-radius:13px;flex:1;padding:14px 16px;font-size:19px}.typein::placeholder{font-family:var(--ui);color:var(--ink-3);font-size:15px;font-weight:500}.typein:focus{border-color:var(--accent);outline:none}.checkbtn{background:var(--accent);color:var(--on-accent);border-radius:13px;flex:none;align-items:center;gap:9px;padding:14px 18px;font-size:15px;font-weight:640;display:flex}.checkbtn kbd{background:var(--on-accent-soft);color:inherit;opacity:.75;border-color:#0000}.reveal{background:var(--accent);width:100%;color:var(--on-accent);border-radius:13px;justify-content:center;align-items:center;gap:10px;padding:15px;font-size:15px;font-weight:640;display:flex}.reveal kbd{background:var(--on-accent-soft);color:inherit;opacity:.75;border-color:#0000}.grades{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.grade{text-align:center;border:1px solid var(--line);background:var(--panel);border-radius:12px;flex-direction:column;gap:3px;padding:12px 6px;transition:border-color .12s,background .12s;display:flex}@media (hover:hover){.grade:hover{background:var(--panel-2)}}.grade .lbl{font-size:13.5px;font-weight:600}.grade .ivl{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:11px}.grade[data-g=again] .lbl{color:var(--again)}.grade[data-g=hard] .lbl{color:var(--hard)}.grade[data-g=good] .lbl{color:var(--good)}.grade[data-g=easy] .lbl{color:var(--easy)}@media (hover:hover){.grade[data-g=again]:hover{border-color:var(--again)}.grade[data-g=hard]:hover{border-color:var(--hard)}.grade[data-g=good]:hover{border-color:var(--good)}.grade[data-g=easy]:hover{border-color:var(--easy)}}.grade.suggested{border-color:currentColor;box-shadow:inset 0 0 0 1px}.grade.suggested[data-g=again]{color:var(--again);background:var(--again-soft)}.grade.suggested[data-g=hard]{color:var(--hard);background:var(--hard-soft)}.grade.suggested[data-g=good]{color:var(--good);background:var(--good-soft)}.footbar{color:var(--ink-3);justify-content:center;align-items:center;gap:12px;padding-top:8px;font-size:12px;display:flex}.footbar button{color:var(--ink-3);font-size:12px}.footbar .practice-tag{background:var(--panel-2);border:1px solid var(--line);color:var(--ink-3);border-radius:999px;padding:2px 7px;font-size:11px}@media (hover:hover){.footbar button:hover{color:var(--ink)}}kbd{font:500 10.5px/1.5 var(--ui);background:var(--panel-2);border:1px solid var(--line);color:var(--ink-2);border-radius:5px;padding:2px 5px}.blank{text-align:center;max-width:460px;margin:0 auto;padding:60px 20px}.blank h2{letter-spacing:-.02em;margin-bottom:10px;font-size:21px;font-weight:640}.blank p{color:var(--ink-2);font-size:14px;line-height:1.65}.blank .glyph{opacity:.8;margin-bottom:16px;font-size:44px}.blank code{background:var(--panel-2);border:1px solid var(--line);border-radius:6px;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}.blank pre{text-align:left;background:var(--panel);border:1px solid var(--line);color:var(--ink-2);border-radius:10px;margin-top:16px;padding:12px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;overflow-x:auto}.blank .actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.blank .btn{background:var(--accent);color:var(--on-accent);border-radius:10px;margin-top:20px;padding:10px 18px;font-size:14px;font-weight:620}.blank .btn.ghost{background:var(--panel);color:var(--ink);border:1px solid var(--line);font-weight:560}@media (hover:hover){.blank .btn.ghost:hover{background:var(--panel-2)}}.blank .fineprint{color:var(--ink-3);margin-top:16px;font-size:12.5px}.report{width:100%;max-width:720px;margin:0 auto;padding:22px 0 32px}.report h2{letter-spacing:-.02em;margin-bottom:5px;font-size:19px;font-weight:640}.report .sub{color:var(--ink-3);margin-bottom:20px;font-size:13px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;margin-bottom:12px;padding:18px}.panel>h3{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);margin-bottom:3px;font-size:11.5px;font-weight:640}.panel>.cap{color:var(--ink-3);margin-bottom:16px;font-size:12px}.panel>h3+.chart,.panel>h3+.stack{margin-top:15px}.kpis{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:12px;display:grid}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px 16px}.kpi .k{color:var(--ink-3);font-size:11.5px;font-weight:560}.kpi .v{letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-top:5px;font-size:27px;font-weight:660}.kpi .v small{color:var(--ink-3);letter-spacing:0;margin-left:3px;font-size:14px;font-weight:560}.kpi .d{color:var(--ink-3);margin-top:3px;font-size:11.5px}.stack{background:var(--panel);border-radius:5px;gap:2px;height:22px;display:flex;overflow:hidden}.stack i{min-width:3px;display:block}.stack i:first-child{border-radius:5px 0 0 5px}.stack i:last-child{border-radius:0 5px 5px 0}.stack.empty{background:var(--viz-track)}.legend{flex-wrap:wrap;gap:6px 18px;margin-top:14px;display:flex}.legend div{color:var(--ink-2);align-items:center;gap:7px;font-size:12.5px;display:flex}.legend .sw{border-radius:3px;flex:none;width:9px;height:9px}.legend b{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:620}.chart{position:relative}.chart .plot{align-items:flex-end;gap:2px;height:96px;display:flex;position:relative}.chart .grid{pointer-events:none;position:absolute;inset:0}.chart .grid i{background:var(--viz-grid);height:1px;position:absolute;left:0;right:0}.col{cursor:default;flex-direction:column;flex:1 1 0;justify-content:flex-end;min-width:0;height:100%;display:flex;position:relative}.col>i{background:var(--viz-bar);border-radius:4px 4px 0 0;width:100%;max-width:24px;margin:0 auto;display:block}.col.zero>i{background:var(--viz-track)}.xaxis{height:13px;margin-top:8px;position:relative}.xaxis span{color:var(--ink-3);white-space:nowrap;font-size:10px;position:absolute;top:0;transform:translate(-50%)}.xaxis span.first{transform:none;left:0!important}.xaxis span.last{right:0;transform:none;left:auto!important}.ylab{color:var(--ink-3);font-variant-numeric:tabular-nums;background:var(--panel);padding-left:5px;font-size:10px;position:absolute;right:0;transform:translateY(-50%)}.hbars{flex-direction:column;gap:11px;display:flex}.hbar{grid-template-columns:1fr auto;align-items:center;gap:4px 12px;display:grid}.hbar .name{color:var(--ink-2);font-size:13px}.hbar .num{color:var(--ink-3);font-variant-numeric:tabular-nums;text-align:right;font-size:12.5px}.hbar .num b{color:var(--ink);font-weight:620}.hbar .track{background:var(--viz-track);border-radius:4px;grid-column:1/-1;height:8px;overflow:hidden}.hbar .track i{background:var(--viz-bar);border-radius:0 4px 4px 0;height:100%;display:block}.hbar.untested .track i{background:var(--viz-track)}table.tbl{border-collapse:collapse;width:100%;font-size:13px}table.tbl th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);border-bottom:1px solid var(--line-soft);padding:0 8px 9px 0;font-size:10.5px;font-weight:620}table.tbl th:last-child,table.tbl td:last-child{text-align:right;padding-right:0}table.tbl td{border-bottom:1px solid var(--line-soft);color:var(--ink-2);vertical-align:middle;padding:9px 8px 9px 0}table.tbl tr:last-child td{border-bottom:none}table.tbl td.word{color:var(--ink);font-size:17px}table.tbl td .why{color:var(--ink-3);font-size:11.5px}table.tbl td .miss{color:var(--again);font-variant-numeric:tabular-nums;font-weight:600}.empty-note{color:var(--ink-3);padding:4px 0;font-size:13px;line-height:1.6}#tip{z-index:60;pointer-events:none;opacity:0;background:var(--panel-2);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow);white-space:nowrap;border-radius:8px;padding:6px 9px;font-size:12px;transition:opacity .1s;position:fixed}#tip.on{opacity:1}#tip b{font-weight:620}.crumb{color:var(--ink-2);align-items:center;gap:8px;padding:22px 0 18px;font-size:12.5px;font-weight:560;display:flex}.crumb a{color:var(--ink-3)}.crumb span{color:var(--ink-3);opacity:.6}.crumb .here{color:var(--ink-2);opacity:1}@media (hover:hover){.crumb a:hover{color:var(--ink)}}.report:has(>.crumb){padding-top:0}.report{--panels-at:0s;--menu-lead:var(--panels-at)}.crumb{--menu-dur:var(--crumb-dur);--menu-step:var(--crumb-step);--menu-shift:6px;--menu-lead:0s;--menu-lag:.12s}.report:has(>.crumb){--crumb-dur:90ms;--crumb-step:22ms;--panels-at:calc(4 * var(--crumb-step) + var(--crumb-dur))}.levelgrid{gap:14px;margin-bottom:22px;display:grid}.langtabs{border-bottom:1px solid var(--line);flex-wrap:wrap;row-gap:4px;margin:-6px 0 16px;padding-bottom:9px}.langtabs .tab{font-size:13.5px}.langtabs .n{color:var(--ink-3);font-variant-numeric:tabular-nums;margin-left:auto;padding-left:12px;font-size:11.5px}.langtabs .tab .due{color:var(--hard);font-variant-numeric:tabular-nums;margin-left:6px;font-size:11.5px;font-weight:640}.levelcard{background:var(--panel);border:1px solid var(--line);border-radius:16px;grid-template-columns:minmax(0,1fr) 186px;column-gap:20px;padding:18px;display:grid}.levelcard.current{border-color:var(--accent)}@media (hover:hover){.levelcard:hover{background:var(--panel-2)}}.levelmain{flex-direction:column;gap:13px;min-width:0;display:flex}.levelcard .head{align-items:center;gap:10px;display:flex}.levelcard .name{letter-spacing:-.015em;align-items:center;gap:8px;min-width:0;font-size:16px;font-weight:640;display:flex}.levelcard .head .pill{flex:none;margin-left:auto}.levelcard .pill.soft{color:var(--ink-3)}.levelcard .leveldesc{color:var(--ink-3);margin-top:-3px;font-size:12.5px;line-height:1.5}.levelside{border-left:1px solid var(--line);flex-direction:column;justify-content:center;gap:14px;padding-left:18px;display:flex}.levelfig{flex-direction:column;align-items:flex-start;gap:1px;display:flex}.levelfig .v{letter-spacing:-.035em;color:var(--ink);font-size:30px;font-weight:680;line-height:1}.levelfig .v small{color:var(--ink-3);letter-spacing:0;margin-left:3px;font-size:15px;font-weight:600}.levelfig .d{color:var(--ink-2);font-size:12px}.levelfig .k{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:12px}.levelcard .stack{border-radius:4px;height:8px}.levelcard .stack i:first-child{border-radius:4px 0 0 4px}.levelcard .stack i:last-child{border-radius:0 4px 4px 0}.levelcard .stack+.legend.mini{margin-top:-4px}.levelcard .name .now,.excard .name .now{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);background:var(--accent-soft);border-radius:5px;flex:none;padding:3px 6px;font-size:10px;font-weight:620}.legend.mini{gap:3px 12px;font-size:11.5px}.legend.mini div{color:var(--ink-3);font-size:11.5px}.legend.mini .sw{border-radius:2px;width:8px;height:8px}.statline{color:var(--ink-2);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:4px 14px;font-size:12px;display:flex}.statline b{color:var(--ink);font-weight:620}.statline.muted{color:var(--ink-3)}.setgroup{margin-bottom:18px}.grouphead{border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:.07em;color:var(--ink-2);align-items:baseline;gap:10px;margin:0 0 10px;padding-bottom:6px;font-size:12px;font-weight:620;display:flex}.grouphead .n{letter-spacing:0;text-transform:none;color:var(--ink-3);font-variant-numeric:tabular-nums;margin-left:auto;font-size:11.5px;font-weight:500}.groupsub{color:var(--ink-3);margin:0 0 12px;font-size:12.5px;line-height:1.5}.levelprog{background:var(--panel);border:1px solid var(--line);border-radius:18px;margin-bottom:20px;padding:26px 28px}.lp-main{flex-direction:column;gap:20px;display:flex}.lp-eyebrow{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);text-align:center;font-size:11.5px;font-weight:620}.lp-read{flex-direction:column;align-items:center;gap:4px;margin-top:8px;display:flex}.lp-figure{letter-spacing:-.045em;color:var(--ink);font-size:64px;font-weight:700;line-height:1}.lp-figure small{color:var(--ink-3);letter-spacing:0;margin-left:6px;font-size:26px;font-weight:600}.lp-sub{color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:13px}.lp-gauge{min-width:0}.lp-meter{--lp-track:color-mix(in srgb, var(--m4) 9%, var(--panel));background:var(--lp-track);border-radius:14px;height:32px;display:flex;position:relative;overflow:hidden}.lp-fills{width:100%;height:100%;display:flex}.lp-seg{min-width:5px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1);display:block;position:relative}.lp-seg.mature{background:var(--m4)}.lp-seg.young{background:color-mix(in srgb, var(--m4) 30%, var(--panel))}.lp-seg.learning{background:color-mix(in srgb, var(--m4) 17%, var(--panel))}.lp-seg.new{background:0 0;min-width:0}.levelprog{--gauge-at:calc(var(--panels-at,0s) + 3 * var(--menu-step) + var(--menu-dur));--gauge-dur:.95s;--gauge-ease:cubic-bezier(.33, 1, .68, 1)}@keyframes gauge-wipe{0%{transform:translate(0)}to{transform:translate(100%)}}.lp-meter:after{content:"";background:var(--lp-track);animation:gauge-wipe var(--gauge-dur) var(--gauge-ease) var(--gauge-at) both;pointer-events:none;position:absolute;inset:0}.lp-edge{pointer-events:none;background:color-mix(in srgb, var(--m4) 38%, var(--ink));width:3px;box-shadow:0 0 18px 3px color-mix(in srgb, var(--m4) 70%, transparent);margin-left:-3px;position:absolute;top:0;bottom:0}@keyframes gauge-glint{0%{opacity:1;transform:translate(-140%)}to{opacity:1;transform:translate(560%)}}.lp-seg.mature{overflow:hidden}.lp-seg.mature:before{content:"";opacity:0;background:linear-gradient(100deg, transparent 45%, var(--gauge-glint) 50%, transparent 55%);animation:gauge-glint .9s ease-out calc(var(--gauge-at) + var(--gauge-dur) * .55) backwards;position:absolute;inset:0}.lp-goal{background:repeating-linear-gradient(var(--ink-2) 0 6px, transparent 6px 11px);opacity:.8;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0}@media (hover:hover){.lp-goal:hover{opacity:.95}}@media (prefers-reduced-motion:reduce){.lp-meter:after,.lp-seg.mature:before{display:none}.lp-seg{transition:none}}.lp-scale{height:20px;margin-top:7px;position:relative}.lp-scale span{color:var(--ink-3);font-variant-numeric:tabular-nums;flex-direction:column;align-items:center;gap:3px;font-size:10.5px;font-weight:560;display:flex;position:absolute;transform:translate(-50%)}.lp-scale span i{background:var(--ink-3);opacity:.55;border-radius:1px;width:2px;height:6px}.lp-scale span.hit{color:var(--ink);font-weight:700}.lp-scale span.hit i{background:var(--m4);opacity:1}.lp-scale span.next{color:var(--ink-2);font-weight:700}.lp-scale span.next i{background:var(--ink-3);opacity:1;height:8px}.lp-scale span:last-child{align-items:flex-end;transform:translate(-100%)}.lp-facts{border-top:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:24px 0 0;padding-top:20px;display:grid}.lp-fact dt{color:var(--ink-3);font-size:11.5px;font-weight:560}.lp-fact dd{letter-spacing:-.025em;color:var(--ink);font-variant-numeric:tabular-nums;margin:4px 0 2px;font-size:24px;font-weight:670}.lp-fact span{color:var(--ink-3);font-size:11.5px}.levelways{flex-wrap:wrap;gap:10px;display:flex}.levelcta+.levelways,.levelcta+.guidenext{margin-top:10px}.way{background:var(--panel);border:1px solid var(--line);border-radius:12px;flex:190px;align-items:center;gap:11px;min-width:0;padding:12px 14px;display:flex}.way svg{width:19px;height:19px;color:var(--ink-3);flex:none}.waytext{min-width:0}.way b{color:var(--ink);font-size:13.5px;font-weight:620;display:block}.waysub{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:11.5px;display:block;overflow:hidden}@media (hover:hover){.way:hover{background:var(--panel-2);border-color:var(--accent)}.way:hover svg,.way:hover b{color:var(--accent)}}.learncols{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;display:grid}.levelcta+.learncols{margin-top:22px}.learncol{--sec-1:calc(var(--panels-at,0s) + var(--i) * var(--menu-step));--menu-lead:var(--sec-1);flex-direction:column;gap:18px;display:flex}.learnsec{flex-direction:column;gap:10px;display:flex}.learnsec .grouphead{margin-bottom:0}.learnsec.second{--menu-lead:calc(var(--sec-1) + 1 * var(--menu-step) + var(--menu-dur))}.learnsec .sechint{color:var(--ink-3);margin:0;font-size:12px;line-height:1.55}.learnsec .guidenext{margin-bottom:0}.learncol .guiderow .scope{display:none}.lessonsoon{border:1px dashed var(--line);color:var(--ink-3);border-radius:14px;padding:16px 15px;font-size:12.5px;line-height:1.6}.lessonsoon b{color:var(--ink-2);font-weight:620}.testlist{flex-direction:column;gap:6px;display:flex}.testrow{background:var(--panel);border:1px solid var(--line);border-radius:10px;align-items:center;gap:10px;padding:9px 12px;display:flex}.testrow .name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:13px;font-weight:580;overflow:hidden}.testrow .go{color:var(--ink-3);flex:none;margin-left:auto;font-size:13px}.testrow .n{color:var(--ink-2);font-variant-numeric:tabular-nums;flex:none;margin-left:auto;font-size:12px;font-weight:640}.testrow .go{color:var(--ink-3);flex:none;font-size:13px}@media (hover:hover){.testrow:hover{background:var(--panel-2);border-color:var(--accent)}.testrow:hover .go,.testrow:hover .n{color:var(--accent)}}.testrow.off{background:0 0;border-style:dashed}.testrow.off .name{color:var(--ink-3);font-weight:560}.testrow .none{color:var(--ink-3);flex:none;margin-left:auto;font-size:11.5px}.exlist{flex-direction:column;gap:10px;display:flex}.excard{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden}.excard.current{border-color:var(--accent)}.exopen{padding:13px 14px 14px;display:block}@media (hover:hover){.exopen:hover{background:var(--panel-2)}}.exhead{align-items:center;gap:8px;display:flex}.excard .name{letter-spacing:-.01em;color:var(--ink);align-items:center;gap:7px;min-width:0;font-size:14.5px;font-weight:620;display:flex}.exhead .pill{flex:none;margin-left:auto}.excard .pill.soft{color:var(--ink-3)}.exscope{color:var(--ink-3);margin:3px 0 10px;font-size:11.5px}.excard .stack{border-radius:3px;height:6px}.excard .stack i:first-child{border-radius:3px 0 0 3px}.excard .stack i:last-child{border-radius:0 3px 3px 0}.exfoot{border-top:1px solid var(--line-soft);color:var(--ink-3);font-variant-numeric:tabular-nums;align-items:center;gap:10px;padding:8px 14px;font-size:11.5px;display:flex}.exfoot b{color:var(--ink-2);font-weight:620}.exlinks{flex:none;gap:12px;margin-left:auto;display:flex}.exlinks a{color:var(--ink-3);font-weight:560}@media (hover:hover){.exlinks a:hover{color:var(--ink)}}.excard .dot{opacity:.5;margin:0 5px}.lessons .lessontext,.lessons .callout p,.lessons .lessonlist,.lessons .standfirst{max-width:62ch}.guidenext{background:var(--accent-soft);border:1px solid #0000;border-radius:14px;grid-template-columns:1fr auto;align-items:center;gap:2px 12px;margin-bottom:14px;padding:13px 16px;display:grid}.guidenext .lead{text-transform:uppercase;letter-spacing:.07em;color:var(--accent);grid-column:1;font-size:10.5px;font-weight:620}.guidenext b{min-width:0;font-family:var(--ui-ja);color:var(--ink);grid-column:1;font-size:14.5px;font-weight:620}.guidenext .go{color:var(--accent);grid-area:1/2/span 2;font-size:15px}@media (hover:hover){.guidenext:hover{border-color:var(--accent)}}.guidelist{flex-direction:column;gap:6px;margin:0;padding:0;display:flex}.guiderow{list-style:none}.guiderow>a{background:var(--panel);border:1px solid var(--line);border-radius:12px;align-items:center;gap:12px;padding:11px 14px;display:flex}@media (hover:hover){.guiderow>a:hover{background:var(--panel-2);border-color:var(--ink-3)}}.guiderow .num{background:var(--panel-2);width:24px;height:24px;color:var(--ink-3);font-variant-numeric:tabular-nums;border-radius:8px;flex:none;place-items:center;font-size:11.5px;font-weight:660;display:grid}.guiderow.done .num{background:var(--good-soft);color:var(--good)}.guiderow.current .num{background:var(--accent);color:var(--on-accent)}.guiderow .body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.guiderow .title{font-family:var(--ui-ja);color:var(--ink);align-items:center;gap:8px;font-size:13.5px;font-weight:600;display:flex}.guiderow.done .title{color:var(--ink-2)}.guiderow .now{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:2px 6px;font-size:9.5px;font-weight:660}.guiderow .scope{color:var(--ink-3);font-size:11.5px;line-height:1.45}.guiderow .go{color:var(--ink-3);flex:none;font-size:14px}.lessonstep{justify-content:space-between;gap:10px;margin-top:12px;display:flex}.lessonstep .step{text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-direction:column;flex:0 auto;gap:2px;min-width:0;padding:11px 15px;display:flex}.lessonstep .step.back{text-align:right;align-items:flex-end}.lessonstep .step span{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);font-size:10.5px;font-weight:620}.lessonstep .step b{font-family:var(--ui-ja);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:13px;font-weight:600;overflow:hidden}@media (hover:hover){.lessonstep .step:hover{background:var(--panel-2);border-color:var(--ink-3)}}.lessondo{flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;display:flex}.lessondo .drill,.lessondo .mark{letter-spacing:-.01em;border:1px solid #0000;border-radius:11px;padding:11px 18px;font-size:13.5px;font-weight:620}.lessondo .drill{background:var(--accent);color:var(--on-accent)}@media (hover:hover){.lessondo .drill:hover{filter:brightness(1.08)}}.lessondo .mark{background:var(--panel);border-color:var(--line);color:var(--ink-2);align-items:center;gap:8px;font-weight:560;display:inline-flex}.lessondo .mark .tick{color:var(--ink-3);font-size:12px}.lessondo .mark.on{border-color:var(--good);color:var(--good)}.lessondo .mark.on .tick{color:var(--good)}@media (hover:hover){.lessondo .mark:hover{background:var(--panel-2)}}.lessondo .nodrill{color:var(--ink-3);font-size:12.5px;line-height:1.5}.lessonscope{color:var(--ink-3);margin-top:9px;font-size:11.5px;line-height:1.55}.lessonscope .dot{opacity:.55;margin:0 6px}.lesson{padding:20px 22px 22px;scroll-margin-top:14px}.lesson .standfirst{color:var(--ink-3);border-bottom:1px solid var(--line-soft);margin-bottom:3px;padding-bottom:13px;font-size:13px;line-height:1.55}.lessonsub{font-family:var(--ui-ja);text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);border-bottom:1px solid var(--line-soft);margin:20px 0 9px;padding-bottom:6px;font-size:11px;font-weight:640}.lesson>.standfirst+.lessonsub{margin-top:12px}.lessontext{color:var(--ink-2);font-size:13.5px;line-height:1.75}.lessontext+.lessontext{margin-top:10px}.lesson>*+.lessontext{margin-top:14px}.lessonlist{color:var(--ink-2);margin:12px 0 0;padding:0;font-size:13.5px;line-height:1.7}.lessonlist li{padding-left:22px;list-style:none;position:relative}.lessonlist li+li{margin-top:7px}.lessonlist li:before{color:var(--ink-3);font-variant-numeric:tabular-nums;content:"·";font-weight:700;position:absolute;top:0;left:7px}.lessonlist.steps{counter-reset:step}.lessonlist.steps li:before{counter-increment:step;content:counter(step) ".";font-size:12px;font-weight:620;line-height:1.85;left:2px}.callout{background:var(--panel-2);border-left:2px solid var(--hard);border-radius:0 10px 10px 0;align-items:baseline;gap:11px;margin:14px 0 0;padding:12px 14px;display:flex}.callout .label{text-transform:uppercase;letter-spacing:.07em;color:var(--hard);flex:none;font-size:10px;font-weight:680}.callout p{color:var(--ink-2);font-size:13px;line-height:1.65}.lessontable{margin-top:15px}.lessontable .cap{font-family:var(--ui-ja);color:var(--ink-3);margin-bottom:8px;font-size:11.5px}.lessontable table.tbl th,.lessonex .cap{font-family:var(--ui-ja)}.lessontable .scroller{margin:0 -22px;padding:0 22px;overflow-x:auto}.lessontable table.tbl{min-width:100%}.lessontable table.tbl td{color:var(--ink);white-space:nowrap}.lessontable table.tbl .term{font-size:15.5px}.lessontable table.tbl td:first-child{color:var(--ink-2)}.lessontable table.tbl th:last-child,.lessontable table.tbl td:last-child{text-align:left;padding-right:0}.lessonex{flex-direction:column;gap:2px;margin-top:15px;display:flex}.lessonex .cap{color:var(--ink-3);margin-bottom:6px;font-size:11.5px}.lessonex .sentence{border-top:1px solid var(--line-soft);padding:9px 0}.lessonex .sentence:first-of-type{border-top:none;padding-top:0}.lessonex .target{font-size:17px;line-height:1.5}.lessonex .gloss{color:var(--ink-3);margin-top:2px;font-size:12.5px}.term{font-family:var(--ja);color:var(--ink);-webkit-text-decoration:underline dotted var(--ink-3);text-decoration:underline dotted var(--ink-3);text-underline-offset:3px;font-weight:500;line-height:inherit;padding:0;text-decoration-thickness:1px;transition:color .12s,background-color .12s,text-decoration-color .12s;display:inline;position:relative}.term:after{content:"";position:absolute;inset:0 -7px}span.term{text-decoration:none}span.term:after{content:none}@media (hover:hover){.term:hover{color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}}.term.playing{color:var(--accent);background-color:var(--accent-soft);text-decoration-style:solid;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.term.dead{color:var(--ink-3);cursor:default;text-decoration-color:#0000}.lessontable .term:not(.playing),.lessonex .target .term:not(.playing){text-decoration-color:#0000}@media (hover:hover){.lessontable .term:hover,.lessonex .target .term:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}}@property --foil-x{syntax:"<percentage>";inherits:true;initial-value:50%}@property --foil-y{syntax:"<percentage>";inherits:true;initial-value:50%}@property --foil-bx{syntax:"<percentage>";inherits:true;initial-value:50%}@property --foil-by{syntax:"<percentage>";inherits:true;initial-value:50%}@property --foil-o{syntax:"<number>";inherits:true;initial-value:0}@property --foil-c{syntax:"<number>";inherits:true;initial-value:0}@property --tilt-x{syntax:"<angle>";inherits:true;initial-value:0deg}@property --tilt-y{syntax:"<angle>";inherits:true;initial-value:0deg}.foil{isolation:isolate;--foil-floor:.1;--foil-touch-floor:0;--foil-span:400%;--foil-lit:.72;--foil-shine-z:-1;transition:--foil-x .52s ease-out,--foil-y .52s ease-out,--foil-bx .52s ease-out,--foil-by .52s ease-out,--foil-c .52s ease-out,--foil-o .48s ease-out,--tilt-x .56s ease-out,--tilt-y .56s ease-out;position:relative}@media (hover:hover){.foil:hover{transition:--foil-x .13s ease-out,--foil-y .13s ease-out,--foil-bx .13s ease-out,--foil-by .13s ease-out,--foil-c .13s ease-out,--foil-o .13s ease-out,--tilt-x .15s ease-out,--tilt-y .15s ease-out}}@media (hover:none){.foil{--foil-touch-floor:.3}}.foil-shine,.foil-glare,.foil-sheen{z-index:4;border-radius:inherit;pointer-events:none;position:absolute;inset:0}.foil-shine{z-index:var(--foil-shine-z)}[data-rarity=rare] .foil-shine{background-image:linear-gradient(-45deg, var(--foil-band-lo) 15%, var(--foil-band-hi), var(--foil-band-lo) 85%);background-size:200% 200%;background-position:var(--foil-bx) var(--foil-by);filter:brightness(var(--foil-silver-bright)) contrast(var(--foil-silver-contrast));mix-blend-mode:var(--foil-blend);opacity:calc(max(max(var(--foil-floor), var(--foil-touch-floor)) * var(--foil-rest-gain), ((var(--foil-o) * 1.4) - var(--foil-c)) * var(--foil-gain)))}[data-rarity=rare] .foil-shine:after{content:"";border-radius:inherit;background-image:radial-gradient(circle at var(--foil-x) var(--foil-y), var(--foil-hi) 5%, var(--foil-lo) 52%, var(--foil-hi) 82%);mix-blend-mode:soft-light;opacity:calc(var(--foil-o) * var(--foil-spec));background-size:130% 130%;position:absolute;inset:0}[data-rarity=holo] .foil-shine{--scanline:1px;background-image:repeating-linear-gradient(110deg, var(--sun-6), var(--sun-5), var(--sun-4), var(--sun-3), var(--sun-2), var(--sun-1), var(--sun-6), var(--sun-5), var(--sun-4), var(--sun-3), var(--sun-2), var(--sun-1)), repeating-linear-gradient(90deg, var(--foil-scan-lo) 0, var(--foil-scan-lo) calc(var(--scanline) * 2), var(--foil-scan-hi) calc(var(--scanline) * 2), var(--foil-scan-hi) calc(var(--scanline) * 4));background-position:calc(((50% - var(--foil-bx)) * 2.6) + 50%) calc(((50% - var(--foil-by)) * 3.5) + 50%), center center;background-size:var(--foil-span) var(--foil-span), cover;background-blend-mode:var(--foil-scan-blend);filter:brightness(var(--foil-bright)) contrast(var(--foil-contrast)) saturate(var(--foil-sat));mix-blend-mode:var(--foil-blend);opacity:calc(max(max(var(--foil-floor), var(--foil-touch-floor)) * var(--foil-rest-gain), var(--foil-o) * var(--foil-lit) * var(--foil-gain)))}:is([data-rarity=holo],[data-rarity=galaxy],[data-rarity=radiant],[data-rarity=secret]) .foil-shine:after{content:"";border-radius:inherit;background-image:radial-gradient(farthest-corner circle at var(--foil-x) var(--foil-y), var(--foil-hi) 0%, color-mix(in srgb, var(--foil-mid) 70%, var(--foil-lo)) 42%, var(--foil-lo) 88%);mix-blend-mode:soft-light;filter:contrast(1.25);opacity:calc(var(--foil-o) * var(--foil-spec));position:absolute;inset:0}[data-rarity=galaxy] .foil-shine{--scanline:1px;--star:var(--star-size);--star-fade:.75px;background-image:radial-gradient(circle, var(--star-ink) 0, var(--star-ink) var(--star), transparent calc(var(--star) + var(--star-fade))), radial-gradient(circle, color-mix(in srgb, var(--star-ink) 70%, transparent) 0, color-mix(in srgb, var(--star-ink) 70%, transparent) var(--star), transparent calc(var(--star) + var(--star-fade))), radial-gradient(circle, color-mix(in srgb, var(--star-ink) 45%, transparent) 0, color-mix(in srgb, var(--star-ink) 45%, transparent) var(--star), transparent calc(var(--star) + var(--star-fade))), repeating-linear-gradient(110deg, var(--sun-6), var(--sun-5), var(--sun-4), var(--sun-3), var(--sun-2), var(--sun-1), var(--sun-6), var(--sun-5), var(--sun-4), var(--sun-3), var(--sun-2), var(--sun-1)), repeating-linear-gradient(90deg, var(--foil-scan-lo) 0, var(--foil-scan-lo) calc(var(--scanline) * 2), var(--foil-scan-hi) calc(var(--scanline) * 2), var(--foil-scan-hi) calc(var(--scanline) * 4));background-size:37px 41px, 59px 53px, 23px 29px, var(--foil-span) var(--foil-span), cover;background-position:calc(((50% - var(--foil-bx)) * .7) + 50%) calc(((50% - var(--foil-by)) * .9) + 50%), calc(((50% - var(--foil-bx)) * .45) + 50%) calc(((50% - var(--foil-by)) * .6) + 50%), calc(((50% - var(--foil-bx)) * .25) + 50%) calc(((50% - var(--foil-by)) * .35) + 50%), calc(((50% - var(--foil-bx)) * 2.6) + 50%) calc(((50% - var(--foil-by)) * 3.5) + 50%), center center;background-blend-mode:var(--star-blend), var(--star-blend), var(--star-blend), var(--foil-scan-blend);filter:brightness(var(--foil-bright)) contrast(var(--foil-contrast)) saturate(var(--foil-sat));mix-blend-mode:var(--foil-blend);opacity:calc(max(max(var(--foil-floor), var(--foil-touch-floor)) * var(--foil-rest-gain), var(--foil-o) * var(--foil-lit) * var(--foil-gain)))}[data-rarity=radiant] .foil-shine{--bar:1.5%;background-image:repeating-linear-gradient(45deg, var(--weave-1) 0, var(--weave-1) var(--bar), var(--weave-2) var(--bar), var(--weave-2) calc(var(--bar) * 2), var(--weave-3) calc(var(--bar) * 2), var(--weave-3) calc(var(--bar) * 3), var(--weave-4) calc(var(--bar) * 3), var(--weave-4) calc(var(--bar) * 4), var(--weave-3) calc(var(--bar) * 4), var(--weave-3) calc(var(--bar) * 5), var(--weave-2) calc(var(--bar) * 5), var(--weave-2) calc(var(--bar) * 6), var(--weave-1) calc(var(--bar) * 6), var(--weave-1) calc(var(--bar) * 7)), repeating-linear-gradient(-45deg, var(--weave-1) 0, var(--weave-1) var(--bar), var(--weave-2) var(--bar), var(--weave-2) calc(var(--bar) * 2), var(--weave-3) calc(var(--bar) * 2), var(--weave-3) calc(var(--bar) * 3), var(--weave-4) calc(var(--bar) * 3), var(--weave-4) calc(var(--bar) * 4), var(--weave-3) calc(var(--bar) * 4), var(--weave-3) calc(var(--bar) * 5), var(--weave-2) calc(var(--bar) * 5), var(--weave-2) calc(var(--bar) * 6), var(--weave-1) calc(var(--bar) * 6), var(--weave-1) calc(var(--bar) * 7)), repeating-linear-gradient(55deg, color-mix(in srgb, var(--sun-1) 55%, var(--foil-hi)) 0%, color-mix(in srgb, var(--sun-3) 55%, var(--foil-hi)) 20%, color-mix(in srgb, var(--sun-4) 55%, var(--foil-hi)) 40%, color-mix(in srgb, var(--sun-5) 55%, var(--foil-hi)) 60%, color-mix(in srgb, var(--sun-6) 55%, var(--foil-hi)) 80%, color-mix(in srgb, var(--sun-1) 55%, var(--foil-hi)) 100%);background-size:210% 210%, 210% 210%, var(--foil-span) 100%;background-position:calc(((50% - var(--foil-bx)) * 1.5) + 50%) calc(((50% - var(--foil-by)) * 1.5) + 50%), calc(((50% - var(--foil-bx)) * 1.5) + 50%) calc(((50% - var(--foil-by)) * 1.5) + 50%), calc(((50% - var(--foil-bx)) * -2.5) + 50%) center;background-blend-mode:darken, hard-light;filter:brightness(var(--foil-weave-bright)) contrast(var(--foil-weave-contrast)) saturate(calc(var(--foil-sat) * 1.3));mix-blend-mode:var(--foil-blend);opacity:calc(max(max(var(--foil-floor), var(--foil-touch-floor)) * var(--foil-rest-gain), var(--foil-o) * var(--foil-lit) * var(--foil-gain)))}.foil[data-rarity=secret]{--foil-lit:.46}[data-rarity=secret] .foil-shine{background-image:conic-gradient(from 210deg at 50% 50%, color-mix(in srgb, var(--sun-4) 42%, var(--gold-2)), color-mix(in srgb, var(--sun-5) 42%, var(--gold-2)), color-mix(in srgb, var(--sun-6) 42%, var(--gold-2)), color-mix(in srgb, var(--sun-1) 42%, var(--gold-2)), color-mix(in srgb, var(--sun-2) 42%, var(--gold-2)), color-mix(in srgb, var(--sun-3) 42%, var(--gold-2)), color-mix(in srgb, var(--sun-4) 42%, var(--gold-2))), linear-gradient(45deg, var(--gold-1) 0%, var(--gold-2) 38%, var(--gold-3) 50%, var(--gold-2) 62%, var(--gold-1) 100%);background-size:cover,230% 230%;background-position:center center, calc(((50% - var(--foil-bx)) * 2.2) + 50%) calc(((50% - var(--foil-by)) * 2.8) + 50%);background-blend-mode:soft-light;filter:brightness(calc(var(--foil-bright) * .72)) contrast(1.2) saturate(calc(var(--foil-sat) * 1.3));mix-blend-mode:var(--foil-blend);opacity:calc(max(max(var(--foil-floor), var(--foil-touch-floor)) * var(--foil-rest-gain), var(--foil-o) * var(--foil-lit) * var(--foil-gain)))}.foil-glare{background-image:radial-gradient(farthest-corner circle at var(--foil-x) var(--foil-y), color-mix(in srgb, var(--foil-hi) 80%, transparent) 10%, color-mix(in srgb, var(--foil-hi) 45%, transparent) 22%, color-mix(in srgb, var(--foil-lo) 55%, transparent) 90%);mix-blend-mode:var(--foil-glare-blend);filter:brightness(.9)contrast(1.4);opacity:calc(var(--foil-o) * .8 * var(--foil-gain))}.card.flip .foil-sheen{mix-blend-mode:var(--foil-blend);background-size:280% 100%}:is([data-rarity=common],[data-rarity=uncommon]).card.flip .foil-sheen{background-image:linear-gradient(105deg, transparent 43%, color-mix(in srgb, var(--foil-sweep-ink) 30%, transparent) 50%, transparent 57%);animation:.9s cubic-bezier(.25,.75,.3,1) both foil-sweep}[data-rarity=rare].card.flip .foil-sheen{background-image:linear-gradient(105deg, transparent 41%, color-mix(in srgb, var(--foil-sweep-ink) 66%, transparent) 49%, transparent 57%);animation:1s cubic-bezier(.25,.75,.3,1) both foil-sweep}:is([data-rarity=holo],[data-rarity=galaxy]).card.flip .foil-sheen{background-image:linear-gradient(105deg, transparent 32%, color-mix(in srgb, var(--foil-sweep-ink) 60%, transparent) 48%, transparent 64%);animation:.78s cubic-bezier(.3,.7,.35,1) both foil-sweep}[data-rarity=galaxy].card.flip .foil-sheen:after{content:"";border-radius:inherit;background-image:radial-gradient(circle at 22% 30%, var(--star-ink) 0 1.1px, transparent 2.6px), radial-gradient(circle at 61% 18%, var(--star-ink) 0 .9px, transparent 2.2px), radial-gradient(circle at 78% 63%, var(--star-ink) 0 1.2px, transparent 2.8px);mix-blend-mode:var(--foil-blend);animation:.9s ease-in-out .12s both foil-twinkle;position:absolute;inset:0}[data-rarity=radiant].card.flip .foil-sheen{background-image:linear-gradient(105deg, transparent 36%, color-mix(in srgb, var(--foil-sweep-ink) 52%, transparent) 47%, transparent 58%), linear-gradient(-105deg, transparent 36%, color-mix(in srgb, var(--foil-sweep-ink) 44%, transparent) 47%, transparent 58%);background-size:280% 100%,280% 100%;animation:.88s cubic-bezier(.3,.7,.35,1) both foil-weave-sweep}[data-rarity=secret].card.flip .foil-sheen{background-image:linear-gradient(105deg, transparent 22%, color-mix(in srgb, var(--foil-sweep-ink) 52%, transparent) 46%, color-mix(in srgb, var(--foil-sweep-ink) 28%, transparent) 56%, transparent 74%);background-size:320% 100%;animation:1.18s cubic-bezier(.35,.6,.3,1) both foil-sweep}@keyframes foil-sweep{0%{opacity:0;background-position:200% 0}22%{opacity:1}to{opacity:0;background-position:-100% 0}}@keyframes foil-weave-sweep{0%{opacity:0;background-position:200% 0,-100% 0}22%{opacity:1}to{opacity:0;background-position:-100% 0,200% 0}}@keyframes foil-twinkle{0%,to{opacity:0}22%{opacity:.9}44%{opacity:.15}66%{opacity:.75}}:is(.card,.dcard){--frame-inner:inset 0 0 0 0 transparent;--stock-edge:inset 0 0 0 0 transparent;--card-stock:0 0 0 0 transparent;--card-glow:0 0 0 0 transparent}.card{box-shadow:var(--frame-inner), var(--stock-edge), var(--card-stock), var(--shadow), var(--card-glow)}.card[data-rarity=uncommon]{border-color:var(--m2)}.card[data-rarity=rare]{border-color:var(--m3)}.card:is([data-rarity=holo],[data-rarity=galaxy],[data-rarity=radiant],[data-rarity=secret]){border-color:var(--m4)}.card[data-rarity=holo]{--card-glow:0 0 24px -8px var(--m4)}.card[data-rarity=galaxy]{--card-glow:0 0 28px -8px var(--m4)}.card[data-rarity=radiant]{--card-glow:0 0 32px -7px var(--m4)}.card[data-rarity=secret]{--card-glow:0 0 38px -6px var(--m4)}:is(.card,.dcard)[data-rarity=rare]{--frame-inner:inset 0 0 0 1px color-mix(in srgb, var(--m3) 38%, transparent)}:is(.card,.dcard):is([data-rarity=holo],[data-rarity=galaxy],[data-rarity=radiant]){--frame-inner:inset 0 0 0 1px color-mix(in srgb, var(--m4) 38%, transparent)}:is(.card,.dcard)[data-rarity=secret]{--frame-inner:inset 0 0 0 1px color-mix(in srgb, var(--gold-2) 55%, transparent)}.card:not([data-rarity=common]){--stock-edge:inset 0 1px 0 var(--stock-edge-ink)}.card[data-rarity=uncommon]{--card-stock:0 2px 0 -1px var(--stock-shade)}.card[data-rarity=rare]{--card-stock:0 3px 0 -1px var(--stock-shade)}.card:is([data-rarity=holo],[data-rarity=galaxy],[data-rarity=radiant],[data-rarity=secret]){--card-stock:0 4px 0 -1px var(--stock-shade)}[data-rarity=common] .rmark{color:var(--m1)}[data-rarity=uncommon] .rmark{color:var(--m2)}[data-rarity=rare] .rmark{color:var(--m3)}:is([data-rarity=holo],[data-rarity=galaxy],[data-rarity=radiant],[data-rarity=secret]) .rmark{color:var(--m4)}.face-tag .rarity{border:1px solid color-mix(in srgb, var(--ink-3) 30%, transparent);background:color-mix(in srgb, var(--ink-3) 8%, transparent);letter-spacing:.1em;color:var(--ink-3);border-radius:999px;padding:2px 7px;font-size:9.5px}[data-rarity=rare] .face-tag .rarity{border-color:color-mix(in srgb, var(--m3) 32%, transparent);background:color-mix(in srgb, var(--m3) 9%, transparent);color:color-mix(in srgb, var(--m3) 62%, transparent)}:is([data-rarity=holo],[data-rarity=galaxy],[data-rarity=radiant],[data-rarity=secret]) .face-tag .rarity{border-color:color-mix(in srgb, var(--m4) 32%, transparent);background:color-mix(in srgb, var(--m4) 9%, transparent);color:color-mix(in srgb, var(--m4) 62%, transparent)}@media (prefers-reduced-motion:reduce){.foil{transition:none}[data-rarity] .foil-shine{opacity:calc(max(var(--foil-floor), var(--foil-touch-floor)) * var(--foil-rest-gain))}[data-rarity] .foil-glare{opacity:0}[data-rarity].card.flip .foil-sheen,[data-rarity].card.flip .foil-sheen:after{opacity:0;animation:none}}.card{--foil-lit:.92;--foil-floor:.13}.card .foil-glare{opacity:calc(var(--foil-o) * .5 * var(--foil-gain))}.rarityrow{grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:8px;margin:4px 0 20px;display:grid}.rtier{border:1px solid var(--line);background:var(--panel);text-align:left;border-radius:12px;align-items:center;gap:8px;padding:10px 12px;font-size:12px;font-weight:560;transition:opacity .14s,border-color .14s;display:flex}.rtier.on{border-color:var(--accent);background:var(--accent-soft)}.rtier.on .rname{color:var(--ink)}.rarityrow.filtering .rtier:not(.on){opacity:.55}@media (hover:hover){.rtier:not(:disabled):hover{border-color:var(--ink-3)}.rtier.on:hover{border-color:var(--accent)}}.rtier:disabled{opacity:.4}.decktools{flex-wrap:wrap;align-items:center;gap:10px;margin:-8px 0 18px;display:flex}.dsearch{min-width:0;font:inherit;color:var(--ink);background:var(--panel-2);border:1px solid var(--line);border-radius:9px;flex:200px;padding:8px 11px;font-size:13px}.dsearch::placeholder{color:var(--ink-3)}.dsearch:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.dsearch::-webkit-search-cancel-button{appearance:none}.dcount{color:var(--ink-3);font-variant-numeric:tabular-nums;flex:none;font-size:12px}.dreset{color:var(--ink-2);border:1px solid var(--line);background:var(--panel);border-radius:9px;flex:none;padding:7px 11px;font-size:12.5px;font-weight:560}@media (hover:hover){.dreset:hover{color:var(--ink);border-color:var(--ink-3)}}.dsortwrap{color:var(--ink-3);text-transform:uppercase;letter-spacing:.07em;flex:none;align-items:center;gap:7px;font-size:12px;font-weight:560;display:flex}.rtier .swatch{background:var(--m1);border-radius:2px;flex:none;width:11px;height:15px}.rtier[data-rarity=uncommon] .swatch{background:var(--m2)}.rtier[data-rarity=rare] .swatch{background:linear-gradient(-45deg, var(--m3) 15%, var(--foil-hi), var(--m3) 85%)}.rtier[data-rarity=holo] .swatch{background:linear-gradient(110deg, var(--sun-6), var(--sun-5), var(--sun-4), var(--sun-3), var(--sun-2), var(--sun-1))}.rtier[data-rarity=galaxy] .swatch{background:radial-gradient(circle at 30% 25%, var(--star-ink) 0 .7px, transparent 1.3px), radial-gradient(circle at 70% 65%, var(--star-ink) 0 .7px, transparent 1.3px), radial-gradient(circle at 45% 80%, var(--star-ink) 0 .6px, transparent 1.2px), linear-gradient(110deg, var(--sun-5), var(--sun-6), var(--sun-1), var(--sun-4))}.rtier[data-rarity=radiant] .swatch{background:repeating-linear-gradient(45deg, var(--weave-1) 0 1px, var(--weave-4) 1px 2px), repeating-linear-gradient(-45deg, var(--weave-1) 0 1px, var(--weave-4) 1px 2px), linear-gradient(55deg, color-mix(in srgb, var(--sun-1) 55%, var(--foil-hi)), color-mix(in srgb, var(--sun-5) 55%, var(--foil-hi)));background-blend-mode:darken, hard-light}.rtier[data-rarity=secret] .swatch{background:conic-gradient(from 210deg at 50% 50%, var(--sun-4), var(--sun-6), var(--sun-1), var(--sun-3), var(--sun-4)), linear-gradient(45deg, var(--gold-1), var(--gold-3) 50%, var(--gold-1));background-blend-mode:overlay}.rtier .rname{color:var(--ink-2)}.rtier .rn{font-variant-numeric:tabular-nums;margin-left:auto;font-weight:680}.rtier .rpct{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:11px}.prompt .freeread{color:var(--ink-2);font-size:20px;line-height:1.35}.freenote{background:var(--panel);border:1px solid var(--line);border-radius:12px;align-items:center;gap:10px;margin:9px 12px 11px;padding:11px 15px;display:flex}.freenote .play{background:var(--panel-2)}.freenote p{min-width:0;color:var(--ink-2);margin:0;font-size:13.5px;line-height:1.55}.deckgrid{grid-template-columns:repeat(auto-fill,minmax(124px,1fr));gap:10px;display:grid;overflow:visible}.dcard{--foil-floor:.16;--foil-span:640%;aspect-ratio:.718;border:1px solid var(--line);background:var(--panel);text-align:left;transform:perspective(760px) rotateY(var(--tilt-y)) rotateX(var(--tilt-x));border-radius:11px;flex-direction:column;gap:3px;padding:9px 10px 10px;transition:border-color .16s;display:flex;position:relative;overflow:hidden}.dcard .dtop{white-space:nowrap;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);align-items:baseline;gap:6px;font-size:8.5px;font-weight:640;display:flex}.dcard .rmark{flex:none;align-self:center;width:9px;height:9px}.dcard .divl{letter-spacing:0;text-transform:none;font-variant-numeric:tabular-nums;margin-left:auto;font-weight:500}.dcard .dword{word-break:break-word;min-width:0;margin-top:auto;font-size:clamp(19px,2.1vw,25px);font-weight:500;line-height:1.2}.dcard .dword.en{font-family:var(--ui);letter-spacing:-.01em;font-size:clamp(14px,1.5vw,17px);font-weight:620}.dcard .dread{color:var(--ink-3);font-size:11px;line-height:1.3}.dcard .dpara{letter-spacing:.08em;text-transform:uppercase;max-width:100%;color:var(--accent);background:var(--accent-soft);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-self:flex-start;margin-top:auto;margin-bottom:2px;padding:2px 7px;font-size:9px;font-weight:700;line-height:1.3;overflow:hidden}.dcard .dpara+.dword{margin-top:0}.dcard .dmean{color:var(--ink-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:10.5px;line-height:1.35;display:-webkit-box;overflow:hidden}.dcard[data-rarity=uncommon]{border-color:var(--m2)}.dcard[data-rarity=rare]{border-color:var(--m3)}.dcard:is([data-rarity=holo],[data-rarity=galaxy],[data-rarity=radiant],[data-rarity=secret]){border-color:var(--m4);--card-glow:0 0 18px -10px var(--m4)}.dcard{box-shadow:var(--frame-inner), var(--card-glow)}.dcard[data-rarity=rare] .dtop,.dcard:is([data-rarity=holo],[data-rarity=galaxy],[data-rarity=radiant],[data-rarity=secret]) .dtop{color:var(--ink-2)}.dcard[data-rarity=rare] .dmean,.dcard:is([data-rarity=holo],[data-rarity=galaxy],[data-rarity=radiant],[data-rarity=secret]) .dmean{color:var(--ink)}.dcard[data-rarity=rare] .dread,.dcard:is([data-rarity=holo],[data-rarity=galaxy],[data-rarity=radiant],[data-rarity=secret]) .dread{color:var(--ink-2)}.dcard[data-rarity=common]{opacity:.62;background:0 0;border-style:dashed}.dcard[data-rarity=common] .dmean{color:var(--ink-3)}.dcard.open{border-color:var(--accent);box-shadow:var(--frame-inner), var(--card-glow)}@media (hover:hover){.dcard:hover{border-color:var(--ink-3)}.dcard:is([data-rarity=holo],[data-rarity=galaxy],[data-rarity=radiant],[data-rarity=secret]):hover{border-color:var(--m4)}}@media (prefers-reduced-motion:reduce){.dcard{transform:none}}}@layer overlays{.dopen{z-index:45;overscroll-behavior:contain;position:fixed;inset:0;overflow:auto}.dopen-fit{background:var(--scrim);justify-content:center;align-items:center;min-height:100%;padding:60px 16px 28px;animation:.14s ease-out both dopen-in;display:flex}@keyframes dopen-in{0%{opacity:0}to{opacity:1}}.dopen .card{width:min(680px,100%)}.dopen-close{background:var(--panel);border-color:var(--line);box-shadow:var(--shadow);position:fixed;top:14px;right:14px}.scrim{background:var(--scrim);opacity:0;pointer-events:none;z-index:40;transition:opacity .18s;position:fixed;inset:0}.scrim.open{opacity:1;pointer-events:auto}.drawer{background:var(--panel);border-left:1px solid var(--line);width:min(370px,100%);transition:transform .15s var(--menu-ease);z-index:50;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.drawer.open{transform:none}.drawer{--menu-dur:.12s;--menu-step:20ms;--menu-lag:40ms;--sec-title:.1s;--sec-tabs:calc(var(--sec-title) + 1 * var(--menu-step) + var(--menu-dur));--sec-body:calc(var(--sec-tabs) + 2 * var(--menu-step) + var(--menu-dur))}.drawer header{border-bottom:1px solid var(--line-soft);--menu-lead:var(--sec-title);background:0 0;flex:none;align-items:center;gap:14px;padding:12px 16px;display:flex}.drawer header .icon-btn{margin-left:auto}.drawer header .title{letter-spacing:-.01em;font-size:15px;font-weight:640}.scopes{border-bottom:1px solid var(--line-soft);gap:2px;padding:10px 16px;display:flex}.scopes button{min-width:0;color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;border-radius:8px;flex:1 1 0;padding:7px 8px;font-size:12.5px;font-weight:560;overflow:hidden}@media (hover:hover){.scopes button:hover{color:var(--ink);background:var(--line-soft)}}.scopes button.on{color:var(--accent);background:var(--accent-soft)}.inherit{color:var(--ink-3);align-items:baseline;gap:8px;padding:2px 0 0;font-size:11.5px;display:flex}.inherit button{color:var(--accent);font-size:11.5px;font-weight:600}@media (hover:hover){.inherit button:hover{text-decoration:underline}}.drawer .body{--menu-lead:var(--sec-tabs);flex:1;padding:0 0 24px;overflow:hidden auto}.scopepanel{--menu-lead:var(--sec-body)}.group{border-bottom:1px solid var(--line-soft);padding:16px 18px}.group h3{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);margin-bottom:12px;font-size:11.5px;font-weight:640}.group p.hint{color:var(--ink-3);margin-top:10px;font-size:12px;line-height:1.55}.row{align-items:center;gap:12px;padding:7px 0;font-size:14px;display:flex}.row+.row{border-top:1px solid var(--line-soft)}.row label{cursor:pointer;flex:1;align-items:center;gap:9px;min-width:0;display:flex}.row .sub{color:var(--ink-3);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11.5px}input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;flex:none}.rowlabel{flex:1}.seg{background:var(--panel-2);border-radius:9px;gap:2px;padding:2px;display:flex}.seg button{color:var(--ink-3);border-radius:7px;padding:5px 12px;font-size:12.5px;font-weight:560}@media (hover:hover){.seg button:hover{color:var(--ink)}}.seg button.on{background:var(--panel);color:var(--ink);box-shadow:var(--shadow)}.row .pop-trigger{max-width:55%}input[type=number]{width:72px;font:inherit;text-align:right;background:var(--panel-2);border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:6px 8px;font-size:13px}.bulk{background:var(--panel-2);border:1px solid var(--line);color:var(--ink);border-radius:9px;padding:8px 12px;font-size:13px;font-weight:580}@media (hover:hover){.bulk:hover:not(:disabled){border-color:var(--ink-3)}}.danger{color:var(--again);font-size:13px;font-weight:560}.databtns{gap:8px;display:flex}.databtns button{text-align:center;background:var(--panel-2);border:1px solid var(--line);color:var(--ink);border-radius:9px;flex:1 1 0;padding:8px 10px;font-size:13px;font-weight:580}@media (hover:hover){.databtns button:hover{border-color:var(--ink-3)}}.status{color:var(--ink-2);margin-top:10px;font-size:12px;line-height:1.5}.status.err{color:var(--again)}.kbd-list{gap:8px;font-size:13px;display:grid}.kbd-list div{color:var(--ink-2);justify-content:space-between;align-items:center;gap:12px;display:flex}.pop{z-index:55;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow-lift);overscroll-behavior:contain;visibility:hidden;border-radius:11px;position:fixed;overflow:hidden auto}.pop.placed{visibility:visible;animation:pop-in .11s var(--menu-ease);transform-origin:top}.pop[data-side=above]{transform-origin:bottom}@keyframes pop-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){@keyframes pop-in{0%{opacity:0}to{opacity:1}}}.poplist{--menu-dur:.11s;--menu-step:18ms;--menu-lag:54ms;--menu-dy:5px;flex-direction:column;gap:1px;padding:5px;display:flex}.popopt{cursor:pointer;color:var(--ink-2);border-radius:7px;align-items:center;gap:10px;padding:7px 9px;font-size:13px;display:flex}.popopt .lab{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.popopt .hint{color:var(--ink-3);font-variant-numeric:tabular-nums;flex:none;font-size:11.5px}.popopt .tick{width:12px;color:var(--accent);opacity:0;flex:none}.popopt.on .tick{opacity:1}.popopt.active{background:var(--panel-2);color:var(--ink)}.popopt.on{color:var(--accent);font-weight:560}.popopt.on.active{background:var(--accent-soft)}@media (pointer:coarse){.popopt{padding:10px 11px;font-size:14px}}.pop-trigger{font:inherit;color:var(--ink);text-align:left;background:var(--panel-2);border:1px solid var(--line);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:9px;align-items:center;gap:8px;min-width:0;padding:6px 9px;font-size:13px;display:inline-flex}@media (hover:hover){.pop-trigger:hover{border-color:var(--ink-3)}}.pop-trigger.open{border-color:var(--accent);color:var(--ink)}.pop-trigger .val{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.pop-trigger .hint{color:var(--ink-3);font-variant-numeric:tabular-nums;flex:none;font-size:11.5px}.pop-trigger .caret{width:11px;color:var(--ink-3);transition:transform .14s var(--menu-ease);flex:none;margin-left:auto}.pop-trigger.open .caret{color:var(--accent);transform:rotate(180deg)}@media (prefers-reduced-motion:reduce){.pop-trigger .caret{transition:none}}.pop-trigger.dsort{text-transform:none;letter-spacing:0;padding:7px 9px;font-weight:500}}@layer motion{@keyframes menu-in{0%{opacity:0;transform:translate3d(var(--menu-dx), var(--menu-dy), 0)}to{opacity:1;transform:none}}.stagger>*{--i:12;animation:menu-in var(--menu-dur) var(--menu-ease) backwards;animation-delay:calc(var(--menu-lead,0s) + min(calc(var(--i) * var(--menu-step)), var(--menu-lag)))}.stagger>:first-child{--i:0}.stagger>:nth-child(2){--i:1}.stagger>:nth-child(3){--i:2}.stagger>:nth-child(4){--i:3}.stagger>:nth-child(5){--i:4}.stagger>:nth-child(6){--i:5}.stagger>:nth-child(7){--i:6}.stagger>:nth-child(8){--i:7}.stagger>:nth-child(9){--i:8}.stagger>:nth-child(10){--i:9}.stagger>:nth-child(11){--i:10}.stagger>:nth-child(12){--i:11}.stagger>.still,.stagger>.stagger{animation:none}.stagger.from-below{--menu-dx:0;--menu-dy:var(--menu-shift)}.stagger.from-above{--menu-dx:0;--menu-dy:calc(-1 * var(--menu-shift))}.stagger.from-left{--menu-dx:calc(-1 * var(--menu-shift));--menu-dy:0}.stagger.from-right{--menu-dx:var(--menu-shift);--menu-dy:0}.stagger.now{--menu-lead:0s}.stagger.sections{--menu-lag:.24s}@media (prefers-reduced-motion:reduce){.stagger>*{--menu-dx:0;--menu-dy:0;--menu-lead:0s;animation-delay:0s}}}@layer responsive{@media (width<=560px){#root>header,.runbar{gap:8px;padding-right:8px}}@media (width<=450px){#root>header{grid-template-columns:auto 1fr auto}#root>header .navtabs{justify-self:center}.navtabs .tab{padding:6px 9px}}@media (width<=632px){.formsplit.lean{grid-template-columns:minmax(0,1fr)}.paraforms{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.paraforms>.lead{grid-column:auto}}@media (width<=430px){.prompt{min-height:238px;padding:34px 18px}.card:has(.answer) .prompt{min-height:190px}.grades{gap:6px}.grade{padding:11px 3px}.grade .ivl{font-size:10px}}@media (width<=640px){.levelcard{grid-template-columns:minmax(0,1fr);row-gap:14px}.levelside{border-left:0;border-top:1px solid var(--line);flex-flow:wrap;justify-content:flex-start;align-items:center;row-gap:12px;padding-top:14px;padding-left:0}.levelfig{flex-flow:wrap;flex:0 auto;align-items:baseline;gap:8px}}@media (width<=430px){.langtabs .n{display:none}}@media (width<=732px){.lp-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}}@media (width<=652px){.levelprog{border-radius:16px;padding:18px}.lp-main{gap:16px}.lp-figure{font-size:50px}.lp-meter{border-radius:12px;height:46px}.lp-seg.mature{border-radius:12px 0 0 12px}}@media (width<=700px){.learncols{grid-template-columns:minmax(0,1fr)}}@media (width<=560px){.deckgrid{grid-template-columns:repeat(auto-fill,minmax(102px,1fr))}.dcard{padding:8px}.rarityrow{grid-template-columns:repeat(2,1fr)}.dsearch{flex:100%}.dsortwrap{margin-left:auto}.dcard .divl{display:none}}}
