@font-face{font-family:Google Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/google-sans-normal-400-cyrillic-ext.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Google Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/google-sans-normal-400-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Google Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/google-sans-normal-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Google Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/google-sans-normal-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Google Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/google-sans-normal-400-cyrillic-ext.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Google Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/google-sans-normal-400-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Google Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/google-sans-normal-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Google Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/google-sans-normal-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Google Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/google-sans-normal-400-cyrillic-ext.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Google Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/google-sans-normal-400-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Google Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/google-sans-normal-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Google Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/google-sans-normal-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Google Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/google-sans-normal-400-cyrillic-ext.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Google Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/google-sans-normal-400-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Google Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/google-sans-normal-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Google Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/google-sans-normal-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:300 800;font-display:swap;src:url(/fonts/source-serif-4-normal-300-800-cyrillic-ext.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:300 800;font-display:swap;src:url(/fonts/source-serif-4-normal-300-800-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:300 800;font-display:swap;src:url(/fonts/source-serif-4-normal-300-800-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:300 800;font-display:swap;src:url(/fonts/source-serif-4-normal-300-800-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink:#17141f;--ink-2:#5b5668;--ink-3:#9a95a6;--paper:#fff;--mist:#f5f3f8;--mist-2:#ece9f2;--line:#e9e6ef;--lime:#c5f04a;--pink:#ffb8e8;--orange:#ff8a3d;--lilac:#c3b5ff;--mint:#7befb2;--sun:#ffd43b;--sky:#8fd3ff;--grape:#7c5cff;--magenta:#ff46c8;--coral:#ff5e4d;--green:#1fc46a;--right:#1fc46a;--right-soft:#d9f9e6;--wrong:#ff5e4d;--wrong-soft:#ffe3df;--almost:#ff9f1c;--almost-soft:#fff0d6;--shadow-card:0 0 0 .5px #17141f0d, 0 1px 2px #17141f0a, 0 12px 32px -10px #17141f24;--shadow-lift:0 0 0 .5px #17141f0d, 0 2px 4px #17141f0d, 0 24px 48px -14px #17141f33;--display:"Source Serif 4", Georgia, "Times New Roman", serif;--ui:"Google Sans", -apple-system, "SF Pro Text", system-ui, sans-serif;--k:1;--r-xs:calc(var(--k) * 6px);--r-s:calc(var(--k) * 12px);--r-m:calc(var(--k) * 16px);--r-l:calc(var(--k) * 22px);--r-xl:calc(var(--k) * 30px);--r-card:calc(var(--k) * 34px);--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--gutter:20px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;overscroll-behavior:none;background:var(--paper)}html,body,#root{height:100%}body{background:var(--paper);color:var(--ink);font:400 16px/1.4 var(--ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-synthesis:none;text-rendering:optimizelegibility;margin:0}button,a,[role=button],label{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;margin:0;padding:0}input,textarea{font:inherit;color:inherit;font-size:16px}:focus-visible{outline:3px solid var(--grape);outline-offset:2px}[lang|=sr]{font-variant-ligatures:common-ligatures}.pill{border-radius:999px}@supports (corner-shape:squircle){:root{--k:1.7}*,:before,:after{corner-shape:squircle}.pill{corner-shape:superellipse(1.585)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.app{background:var(--paper);min-height:100%}.page{padding:calc(var(--safe-top) + 6px) var(--gutter) calc(var(--safe-bottom) + 40px);flex-direction:column;gap:36px;max-width:560px;margin:0 auto;display:flex}.screen{--screen-pb:calc(var(--safe-bottom) + 12px);left:0;right:0;top:var(--vv-top,0px);height:var(--vvh,100%);z-index:20;background:var(--paper);padding:calc(var(--safe-top) + 6px) var(--gutter) var(--screen-pb);border-radius:var(--r-card);will-change:transform, opacity;flex-direction:column;display:flex;position:fixed;overflow:hidden}html.kb .screen{--screen-pb:10px}.screen.settled{will-change:auto;border-radius:0}.screen-wash{z-index:5;pointer-events:none;position:absolute;inset:0}.screen-inner{flex-direction:column;flex:1;width:100%;max-width:520px;min-height:0;margin:0 auto;display:flex}.h-display{font:600 28px/1.12 var(--display);letter-spacing:-.012em;text-wrap:balance;margin:0}.h-section{font:600 24px/1.15 var(--display);letter-spacing:-.01em;align-items:baseline;gap:10px;margin:0;display:flex}.h-section .count{font:500 16px/1 var(--ui);color:var(--ink-3);letter-spacing:0}.eyebrow{font:600 12px/1.2 var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}.muted{color:var(--ink-2)}.lead-s{font:400 16px/1.4 var(--ui);color:var(--ink-2);text-wrap:pretty;margin:8px 0 0}.num{font-variant-numeric:lining-nums tabular-nums}.top{justify-content:space-between;align-items:center;gap:12px;min-height:56px;display:flex}.wordmark{margin:0;line-height:0;display:inline-flex}.logo-btn{flex:none;width:44px;height:44px;display:block;overflow:hidden}.logo-btn img{width:44px;height:44px;display:block}.menu-scrim{z-index:60;position:fixed;inset:0}.app-menu{top:calc(var(--safe-top) + 62px);left:var(--gutter);z-index:61;border-radius:var(--r-l);min-width:228px;box-shadow:var(--shadow-lift);transform-origin:22px 0;background:#fff;padding:6px;position:fixed}.menu-item{width:100%;height:50px;font:500 16px/1 var(--ui);color:var(--ink);text-align:left;align-items:center;gap:12px;padding:0 14px;display:flex}.menu-item.danger{color:var(--wrong)}.menu-item:active{background:var(--mist)}.dialog-scrim{z-index:70;background:#17141f61;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.dialog{border-radius:var(--r-xl);width:min(100%,360px);box-shadow:var(--shadow-lift);background:#fff;padding:26px 20px 20px;overflow:hidden}.dialog-step{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.dialog-icon{background:var(--wrong-soft);width:58px;height:58px;color:var(--wrong);border-radius:var(--r-m);place-items:center;margin-bottom:6px;display:grid}.dialog-icon.ok{background:var(--right-soft);color:var(--right)}.dialog h3{font:600 24px/1.15 var(--display);letter-spacing:-.01em;margin:0}.dialog p{font:400 15px/1.45 var(--ui);color:var(--ink-2);text-wrap:pretty;margin:0}.dialog .row{gap:10px;width:100%;margin-top:10px;display:flex}.btn.hold{background:var(--wrong);color:#fff;touch-action:none;-webkit-touch-callout:none;overflow:hidden}.btn.hold:disabled{background:var(--wrong);color:#fffc}.btn.hold .fill{transform-origin:0;transition:transform .25s var(--ease-out);background:#17141f38;position:absolute;inset:0;transform:scaleX(0)}.btn.hold.holding .fill{transition:transform var(--hold) linear;transform:scaleX(1)}.btn.hold .label{position:relative}.btn.hold:active{transform:scale(.98)}.top-actions{align-items:center;gap:8px;display:flex}.streak{background:var(--mist);height:44px;font:600 18px/1 var(--display);color:var(--ink);align-items:center;gap:6px;padding:0 16px 0 12px;display:inline-flex}.streak svg{color:#f2611d}.streak.cold{color:var(--ink-2)}.streak.cold svg{color:var(--ink-3)}.streak svg{transition:color .3s var(--ease-out)}.roll{display:inline-grid}.roll>span{grid-area:1/1}.streak-moment{border-radius:var(--r-l);text-align:left;background:#fff3ea;align-items:center;gap:14px;padding:12px 20px 12px 12px;display:flex}.streak-flame{color:#f2611d;border-radius:var(--r-m);background:#ffe0cc;flex:none;place-items:center;width:52px;height:52px;display:grid}.streak-count{font:600 40px/1 var(--display);letter-spacing:-.02em;color:var(--ink);min-width:.7em}.streak-copy{flex-direction:column;gap:3px;display:flex}.streak-copy b{font:600 17px/1.15 var(--ui);color:var(--ink)}.streak-copy small{font:400 13px/1.3 var(--ui);color:var(--ink-2)}.btn{height:56px;font:600 17px/1 var(--ui);letter-spacing:-.005em;background:var(--ink);color:#fff;border-radius:var(--r-m);white-space:nowrap;justify-content:center;align-items:center;gap:9px;padding:0 24px;text-decoration:none;display:inline-flex;position:relative}.btn.block{width:100%}.btn.grow{flex:1}.btn.small{align-self:flex-start;height:46px;padding:0 18px;font-size:16px}.btn.soft{background:var(--mist);color:var(--ink)}.btn.white{color:var(--ink);background:#fff}.btn.ghost{color:var(--ink-2);background:0 0;padding:0 14px}.btn.square{flex:none;width:56px;padding:0}.btn.coral{background:var(--coral);color:#fff}.btn.green{background:var(--green);color:#fff}.btn:disabled{background:var(--mist);color:var(--ink-3)}.btn.ghost:disabled{background:0 0}.icon-btn{background:var(--mist);width:44px;height:44px;color:var(--ink);border-radius:var(--r-s);flex:none;place-items:center;display:grid;position:relative}.icon-btn.white{background:#fff}.today{flex-direction:column;gap:12px;display:flex}.hero{background:var(--lime);color:var(--ink);text-align:left;flex-direction:column;align-items:stretch;gap:6px;width:100%;min-height:236px;padding:22px;display:flex}.hero>span{display:flex}.hero .eyebrow,.hero-count,.hero-label,.hero-title{display:block}.hero .eyebrow{color:#17141f99}.hero-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.hero-main{flex-direction:column;gap:8px;min-width:0;display:flex}.hero-count{font:600 76px/.9 var(--display);letter-spacing:-.025em;margin-top:4px}.hero-label{font:500 20px/1.2 var(--display)}.hero-title{font:600 32px/1.08 var(--display);letter-spacing:-.015em;text-wrap:balance;max-width:11ch;margin-top:2px}.hero-sub{font:500 15px/1.35 var(--ui);color:#17141fa8;margin:6px 0 18px;display:block!important}.hero .btn{align-self:flex-start;margin-top:auto}.ring-num{font:600 15px/1 var(--ui)}.tiles{grid-template-columns:1fr 1fr;gap:12px;display:grid}.tile{aspect-ratio:1;text-align:left;color:var(--ink);position:relative}.tile-body{flex-direction:column;justify-content:space-between;align-items:flex-start;padding:18px;display:flex;position:absolute;inset:0}.tile-icon{background:#fff9;place-items:center;width:44px;height:44px;display:grid}.tile-title{font:600 24px/1.1 var(--display);letter-spacing:-.01em;display:block}.tile-sub{font:500 14px/1.3 var(--ui);color:#17141fad;margin-top:4px;display:block}.tile.cards{background:var(--orange)}.tile.test{background:var(--pink)}.section{flex-direction:column;gap:16px;display:flex}.section-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.progress-card{box-shadow:var(--shadow-card);background:#fff;flex-direction:column;gap:20px;padding:20px 20px 18px;display:flex}.pg-group{flex-direction:column;gap:12px;display:flex}.pg-rule{background:var(--line);height:1px;margin:0 -20px}.pg-head{font:500 15px/1.2 var(--ui);color:var(--ink-2);align-items:baseline;gap:8px;display:flex}.pg-head b{font:600 30px/1 var(--display);letter-spacing:-.02em;color:var(--ink)}.pg-side{margin-left:auto;font-size:14px}.mastery-bar{gap:3px;height:12px;display:flex;overflow:hidden}.mastery-bar i{min-width:8px;height:100%;display:block}.pg-key{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.pg-key>div{flex-direction:column;gap:3px;min-width:0;display:flex}.pg-key b{font:600 19px/1.1 var(--display);color:var(--ink)}.pg-key span{font:500 12px/1.2 var(--ui);color:var(--ink-2);white-space:nowrap;align-items:center;gap:5px;display:flex}.pg-key i{border-radius:calc(var(--k) * 2.5px);flex:none;width:8px;height:8px}.pg-key .none b{color:var(--ink-3)}.bars{grid-template-columns:repeat(14,1fr);gap:6px;height:72px;margin-top:4px;display:grid}.bar-col{align-items:flex-end;height:100%;display:flex}.bar-col i{background:var(--lilac);border-radius:calc(var(--k) * 4px) calc(var(--k) * 4px) 2px 2px;width:100%;display:block}.bar-col.today i{background:var(--grape)}.bar-col i.zero{background:var(--mist-2);border-radius:2px;height:3px}.bars-days{font:600 10px/1 var(--ui);color:var(--ink-3);text-align:center;grid-template-columns:repeat(14,1fr);gap:6px;display:grid}.bars-days .today{color:var(--ink)}.search{background:var(--mist);height:48px;color:var(--ink-2);align-items:center;gap:10px;padding:0 14px;display:flex}.search input{min-width:0;height:100%;font:500 16px/1 var(--ui);color:var(--ink);background:0 0;border:0;outline:none;flex:1}.search input::placeholder{color:var(--ink-3)}.words{flex-direction:column;display:flex}.word-row{text-align:left;border-radius:var(--r-s);grid-template-columns:1fr auto;align-items:center;gap:14px;width:100%;padding:13px 4px;display:grid;position:relative}.word-row+.word-row:before{content:"";background:var(--line);height:1px;position:absolute;top:0;left:4px;right:4px}.word-row .t{flex-direction:column;gap:2px;min-width:0;display:flex}.word-row .t b{font:600 19px/1.25 var(--display);overflow-wrap:anywhere}.word-row .t span{font:400 15px/1.3 var(--ui);color:var(--ink-2);overflow-wrap:anywhere}.level4{align-items:flex-end;gap:3px;height:16px;display:flex}.level4>i{background:var(--mist-2);border-radius:2px;width:5px;display:block}.level4>:first-child{height:7px}.level4>:nth-child(2){height:10px}.level4>:nth-child(3){height:13px}.level4>:nth-child(4){height:16px}.empty{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:24px 12px 8px;display:flex}.empty b{font:600 22px/1.2 var(--display)}.empty p{color:var(--ink-2);max-width:30ch;margin:0;line-height:1.4}.bar{align-items:center;gap:12px;min-height:52px;display:flex}.bar .count{font:600 15px/1 var(--ui);color:var(--ink-2);text-align:right;min-width:40px}.level{background:var(--mist);flex:1;height:12px;position:relative;overflow:hidden}.level i{background:var(--ink);position:absolute;inset:0;overflow:hidden}.level{transition:box-shadow .4s var(--ease-out)}.level.hot{box-shadow:0 4px 14px -4px #ff46c899}.level .hot-fill{opacity:0;transition:opacity .4s var(--ease-out);background:linear-gradient(90deg,#ff8a3d,#ff46c8);position:absolute;inset:0}.level.hot .hot-fill{opacity:1}.level .glint{width:34%;top:0;bottom:0;left:calc((1 - var(--v)) * 100% - 34%);animation:level-glint .8s var(--ease-out) .15s forwards;background:linear-gradient(90deg,#fff0,#ffffffbf,#fff0);position:absolute}@keyframes level-glint{to{left:100%}}.combo-slot{flex:none;justify-content:flex-end;width:50px;display:flex}.combo{height:30px;color:var(--ink);font:600 15px/1 var(--ui);background:#fff0e6;border-radius:999px;align-items:center;gap:3px;padding:0 9px 0 7px;display:inline-flex;position:relative}.combo svg{color:#f2611d}.combo.blaze{color:#fff;background:linear-gradient(90deg,#ff8a3d,#ff46c8)}.combo.blaze svg{color:#fff}.sparks{pointer-events:none;width:0;height:0;position:absolute;top:50%;left:50%}.sparks i{width:5px;height:5px;transform:rotate(var(--a)) translateY(0) scale(1);animation:spark .62s var(--ease-out) forwards;background:#ff8a3d;border-radius:2px;margin:-2.5px;position:absolute}.sparks i:nth-child(2n){background:#ff46c8}@keyframes spark{to{transform:rotate(var(--a)) translateY(-30px) scale(.2);opacity:0}}.stage{flex-direction:column;flex:1;justify-content:center;gap:18px;min-height:0;padding:8px 0;display:flex}.ask{font:600 12px/1.2 var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);text-align:center}.foot{flex-direction:column;gap:10px;display:flex}.typed-foot{padding-top:14px}.stage .card-wrap,.stage .foot,.typed-foot{transition:transform .46s cubic-bezier(.2,.9,.25,1)}.roomy .card-wrap{transform:translateY(calc(var(--room-d) * -.5)) scale(var(--room-s))}.roomy .foot,.typed-foot.roomy{transform:translateY(calc(var(--room-d) * -1))}.type-tools{flex-direction:column;gap:10px;display:flex}.type-tools.gone{display:none}.card-box{flex:auto;justify-content:center;align-items:center;min-height:96px;display:flex;container-type:size}.card-wrap{aspect-ratio:1;flex:none;width:min(100cqw,100cqh,44vh);position:relative}.card-box.small .card-wrap{width:min(100cqw,100cqh,36vh)}.card{color:var(--ink);border-radius:var(--r-card);box-shadow:var(--shadow-card);text-align:center;background:#fff;grid-template-rows:40px minmax(0,1fr) 40px;padding:14px;display:grid;position:absolute;inset:0}.card-top{align-items:center;padding:0 8px;display:flex}.card .tag{font:600 11px/1 var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.card-mid{flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:0;padding:0 6%;display:flex}.fit-box{flex:0 auto;justify-content:center;align-items:center;width:100%;min-height:0;display:flex}.fit{font:500 56px/1.1 var(--display);letter-spacing:-.012em;text-wrap:balance;-webkit-hyphens:manual;hyphens:manual}.card .sub{font:400 16px/1.3 var(--ui);color:var(--ink-2);overflow-wrap:anywhere;max-width:100%}.card .meaning{font:500 21px/1.25 var(--display);color:var(--ink);overflow-wrap:anywhere;margin-top:2px}.card.placeholder .fit{color:var(--ink-3)}.card-foot{justify-content:space-between;align-items:center;display:flex}.card-btn{width:40px;height:40px;color:var(--ink-3);place-items:center;display:grid;position:relative}.speak{isolation:isolate;position:relative}.speak svg{z-index:1;transition:color .2s var(--ease-out);position:relative}.speak .spin{z-index:0;pointer-events:none;opacity:0;transition:opacity .22s var(--ease-out), transform .32s var(--ease-out);position:absolute;inset:3px;transform:scale(.5)}.speak .spin:before{content:"";border-radius:calc(var(--k) * 11px);background:var(--lilac);animation-name:speak-turn,speak-tint;animation-duration:1.6s,2.4s;animation-timing-function:linear,ease-in-out;animation-iteration-count:infinite,infinite;animation-direction:normal,alternate;animation-play-state:paused;animation-delay:0s,0s;animation-fill-mode:none,none;animation-timeline:auto,auto;position:absolute;inset:0}.speak.loading .spin{opacity:1;transform:scale(1)}.speak.loading .spin:before{animation-play-state:running}.speak.loading,.speak.playing{color:var(--grape)}.speak.loading{transition:background-color .2s var(--ease-out);box-shadow:none!important;background:0 0!important}@keyframes speak-turn{to{transform:rotate(360deg)}}@keyframes speak-tint{0%{background:#d9d0ff}50%{background:#c9e9ff}to{background:#f6d2f0}}.flip-scene{--thick:5px;perspective:860px;position:absolute;inset:0}.flip{transform-style:preserve-3d;position:absolute;inset:0}.face{backface-visibility:hidden;transform:translateZ(calc(var(--thick) / 2));position:absolute;inset:0}.face.back{transform:rotateY(180deg) translateZ(calc(var(--thick) / 2))}.flip-rim{transform-style:preserve-3d;pointer-events:none;position:absolute;inset:0}.flip-rim i{height:var(--thick);background:#d3cbdf;display:block;position:absolute}.flip-rim .side{background:linear-gradient(#e6e1ed,#cfc7dc)}.flip-rim .side.l,.flip-rim .side.r{top:calc(var(--k) * 34px);bottom:calc(var(--k) * 34px);width:var(--thick);height:auto;transform:rotateY(90deg)}.flip-rim .side.l{left:calc(var(--thick) / -2)}.flip-rim .side.r{right:calc(var(--thick) / -2)}.flip-rim .side.t,.flip-rim .side.b{left:calc(var(--k) * 34px);right:calc(var(--k) * 34px);transform:rotateX(90deg)}.flip-rim .side.t{top:calc(var(--thick) / -2)}.flip-rim .side.b{bottom:calc(var(--thick) / -2)}.flip.rest{transform-style:flat;transform:none!important}.flip.rest .face{transform:none}.flip.rest .face.back,.flip.rest.back-up .face{visibility:hidden}.flip.rest.back-up .face.back{visibility:visible;transform:none}.flip .card{box-shadow:0 0 0 .5px #17141f0f}.flip-ground{border-radius:var(--r-card);pointer-events:none;position:absolute;inset:0}.turning .flip-ground,.turning .face-shade{will-change:transform, opacity}.flip-ground.rest{box-shadow:0 1px 2px #17141f0d,0 12px 32px -10px #17141f26}.flip-ground.lifted{box-shadow:0 30px 50px -22px #17141f4d}.face-shade{border-radius:var(--r-card);pointer-events:none;background:linear-gradient(90deg,#17141f05,#17141f4d);position:absolute;inset:0}.face.back .face-shade{background:linear-gradient(270deg,#17141f05,#17141f4d)}.choices{gap:10px;display:grid}.choice{background:var(--mist);text-align:left;min-height:56px;font:500 17px/1.25 var(--ui);overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;display:flex;position:relative}.choice.right{background:var(--right);color:#fff}.choice.wrong{background:var(--wrong);color:#fff}.tf{grid-template-columns:1fr 1fr;gap:10px;display:grid}.tf .btn{height:60px;transition:opacity .25s var(--ease-out);font-size:18px}.tf.done .btn{pointer-events:none}.tf .btn.faded{opacity:.4}.tf-pair{background:var(--mist);text-align:center;border-radius:var(--r-m);padding:14px 18px}.tf-pair span{font:600 11px/1 var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px;display:block}.tf-pair b{font:600 22px/1.25 var(--display);overflow-wrap:anywhere;transition:color .2s var(--ease-out)}.tf-pair.true b{color:#12924c}.tf-pair.false b{color:var(--ink-3);-webkit-text-decoration:line-through 2px var(--wrong);text-decoration:line-through 2px var(--wrong)}.tf-pair em{font:600 22px/1.25 var(--display);color:#12924c;overflow-wrap:anywhere;margin-top:2px;font-style:normal;display:block}.type-in{flex-direction:column;gap:10px;display:flex}.type-field{background:var(--mist);border-radius:var(--r-m);min-height:58px;transition:background-color .2s var(--ease-out);align-items:center;gap:10px;padding:0 12px 0 18px;display:flex}.type-mark{color:#fff;border-radius:calc(var(--k) * 10px);flex:none;place-items:center;width:30px;height:30px;display:grid}.type-field.right .type-mark{background:var(--right)}.type-field.wrong .type-mark{background:var(--wrong)}.type-field.almost .type-mark{background:var(--almost)}.type-field input{min-width:0;font:500 21px/1.2 var(--display);color:var(--ink);background:0 0;border:0;outline:none;flex:1;height:58px}.type-field input::placeholder{color:var(--ink-3);font:400 17px/1.2 var(--ui)}.type-field.right{background:var(--right-soft)}.type-field.wrong{background:var(--wrong-soft)}.type-field.almost{background:var(--almost-soft)}.accents{gap:6px;display:flex}.accents button{background:var(--mist);height:44px;font:500 21px/1 var(--display);color:var(--ink);flex:1}.feedback{left:0;right:0;bottom:var(--kb,0px);z-index:30;padding:20px var(--gutter) calc(var(--safe-bottom) + 14px);color:var(--ink);border-radius:var(--r-card) var(--r-card) 0 0;background:#fff;position:fixed;box-shadow:0 -1px #17141f0a,0 -10px 30px -12px #17141f1f}.feedback-inner{flex-direction:column;gap:16px;max-width:520px;margin:0 auto;display:flex}.verdict{align-items:center;gap:12px;display:flex}.verdict .mark{color:#fff;border-radius:calc(var(--k) * 10px);flex:none;place-items:center;width:30px;height:30px;display:grid}.verdict.right .mark{background:var(--right)}.verdict.wrong .mark{background:var(--wrong)}.verdict.almost .mark{background:var(--almost)}.verdict h3{font:600 23px/1.15 var(--display);letter-spacing:-.01em;margin:0}.fb-answer{flex-direction:column;gap:4px;padding-left:42px;display:flex}.feedback .answer{font:600 26px/1.15 var(--display);overflow-wrap:anywhere}.feedback .answer mark{color:#d97d00;text-underline-offset:5px;background:0 0;text-decoration:underline;text-decoration-thickness:2px}.feedback .wrote{font:400 15px/1.35 var(--ui);color:var(--ink-2)}.feedback .wrote s{-webkit-text-decoration-color:var(--wrong);text-decoration-color:var(--wrong)}.feedback .row{gap:8px;display:flex}html.kb .feedback{padding-bottom:12px}.btn.auto{overflow:hidden}.btn .label{position:relative}.btn .auto-fill{transform-origin:0;background:#ffffff29;animation:linear forwards auto-fill;position:absolute;inset:0;transform:scaleX(0)}@keyframes auto-fill{to{transform:scaleX(1)}}.deck{aspect-ratio:1;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;max-width:min(100%,42vh);margin:0 auto 30px;position:relative}.deck-card{border-radius:var(--r-card);position:absolute;inset:0}.deck.moving .deck-card{will-change:transform}.deck-foot{height:122px;position:relative}.deck-hint{transition:opacity .4s var(--ease-out)}.deck-hint.gone{opacity:0}.deck-end-actions{flex-direction:column;gap:10px;display:flex;position:absolute;inset:0}.end-face{border-radius:var(--r-card);background:var(--mist);box-shadow:inset 0 0 0 1.5px var(--mist-2);text-align:center;color:var(--ink-3);transition:background-color .45s var(--ease-out), box-shadow .45s var(--ease-out), color .45s var(--ease-out);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px;display:flex;position:absolute;inset:0}.end-face.lit{box-shadow:var(--shadow-card);color:var(--ink);background:#fff}.end-icon{border-radius:var(--r-xl);width:104px;height:104px;transition:background-color .45s var(--ease-out), color .45s var(--ease-out);place-items:center;margin-bottom:6px;display:grid}.end-face.lit .end-icon{color:var(--grape);background:#efeaff}.end-title{font:600 28px/1.1 var(--display);letter-spacing:-.012em;opacity:0;transition:opacity .35s var(--ease-out) .1s}.end-face.lit .end-title{opacity:1}.end-sub{font:400 15px/1.4 var(--ui);color:var(--ink-2);opacity:0;max-width:26ch;transition:opacity .4s var(--ease-out) .2s}.end-face.lit .end-sub{opacity:1}.result{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;display:flex}.result .big{font:600 64px/.95 var(--display);letter-spacing:-.025em}.result .title{font:600 32px/1.1 var(--display);letter-spacing:-.015em;text-wrap:balance;max-width:14ch}.result .lead{font:400 17px/1.45 var(--ui);color:var(--ink-2);text-wrap:pretty;max-width:30ch}.result-tiles{grid-template-columns:repeat(3,1fr);gap:10px;width:100%;display:grid}.stat{background:var(--mist);text-align:left;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;padding:14px 14px 13px;display:flex}.stat b{font:600 30px/1 var(--display);letter-spacing:-.02em;font-variant-numeric:lining-nums tabular-nums}.stat span{font:500 13px/1.2 var(--ui);color:var(--ink-2)}.scroll{overscroll-behavior:contain;min-height:0;margin:0 calc(-1 * var(--gutter));padding:0 var(--gutter) 36px;flex-direction:column;flex:1;display:flex;overflow-y:auto}.dock{z-index:2;background:linear-gradient(#fff0,#fff 30px);flex-direction:column;gap:10px;margin-top:-36px;padding-top:36px;display:flex;position:relative}.mistakes{text-align:left;flex-direction:column;width:100%;margin-top:8px;display:flex}.mistake{flex-direction:column;gap:2px;padding:14px 4px;display:flex;position:relative}.mistake+.mistake:before{content:"";background:var(--line);height:1px;position:absolute;top:0;left:4px;right:4px}.mistake b{font:600 19px/1.25 var(--display);overflow-wrap:anywhere}.mistake .tr{font:400 15px/1.3 var(--ui);color:var(--ink)}.mistake span{font:400 14px/1.35 var(--ui);color:var(--ink-2);overflow-wrap:anywhere}.mistake s{-webkit-text-decoration-color:var(--wrong);text-decoration-color:var(--wrong)}.scrim{z-index:40;background:#17141f4d;position:fixed;inset:0}.sheet-wrap{z-index:41;pointer-events:none;justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.sheet{pointer-events:auto;width:100%;max-width:560px;max-height:calc(100dvh - var(--safe-top) - 16px);border-radius:var(--r-card) var(--r-card) 0 0;background:#fff;flex-direction:column;display:flex}.sheet-grip{touch-action:none;cursor:grab;flex:none;place-items:center;padding:10px 0 6px;display:grid}.sheet-body{overscroll-behavior:contain;min-height:0;padding:10px var(--gutter) calc(var(--safe-bottom) + 20px);flex-direction:column;flex:1;gap:20px;display:flex;overflow-y:auto}.sheet-form{flex-direction:column;flex:1;min-height:0;display:flex}.sheet-form .sheet-body{padding-bottom:8px}.sheet-dock{z-index:2;padding:28px var(--gutter) calc(var(--safe-bottom) + 14px);background:linear-gradient(#fff0,#fff 26px);flex-direction:column;flex:none;gap:10px;margin-top:-28px;display:flex;position:relative}.sheet-eyebrow{text-align:center}.preview{aspect-ratio:1;transition:width .35s var(--ease-out);cursor:pointer;flex:none;margin:0 auto;position:relative}.fields{flex-direction:column;gap:14px;display:flex}.field{flex-direction:column;gap:7px;display:flex}.field label{font:600 12px/1.2 var(--ui);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);padding-left:2px}.field input,.field textarea{background:var(--mist);height:54px;font:400 17px/1.3 var(--ui);color:var(--ink);resize:none;border-radius:var(--r-m);border:0;outline:none;width:100%;padding:0 16px}.field textarea{height:auto;padding:15px 16px}.field input:focus,.field textarea:focus{background:var(--mist-2)}.field .hint{font:400 13px/1.35 var(--ui);color:var(--ink-3);padding-left:2px}.field .warn,.warn{font:600 13.5px/1.35 var(--ui);color:#c26a00;padding-left:2px}.btn.more{align-self:flex-start;height:40px;margin:-6px 0 -6px -8px;padding:0 12px 0 8px;font-size:15px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{background:var(--mist);height:36px;font:500 14px/1 var(--ui);color:var(--ink-2);padding:0 14px}.chip[aria-pressed=true]{background:var(--ink);color:#fff}.example{background:var(--mist);border-radius:var(--r-m);align-items:center;gap:12px;padding:14px 14px 14px 16px;display:flex}.ex-sr{font:600 17px/1.35 var(--display)}.ex-ru{font:400 15px/1.35 var(--ui);color:var(--ink-2)}.facts{flex-direction:column;display:flex}.fact{font:400 15px/1.35 var(--ui);justify-content:space-between;gap:16px;padding:12px 2px;display:flex}.fact+.fact{box-shadow:0 -1px 0 var(--line)}.fact span:first-child{color:var(--ink-2)}.fact span:last-child{text-align:right;overflow-wrap:anywhere}.steps{flex-direction:column;gap:18px;margin:0;padding:0;list-style:none;display:flex}.step{transition:opacity .3s var(--ease-out);grid-template-columns:30px 1fr;align-items:start;gap:14px;display:grid}.step.later{opacity:.42}.step .n{background:var(--mist);width:30px;height:30px;font:600 15px/1 var(--ui);color:var(--ink);border-radius:calc(var(--k) * 10px);place-items:center;display:grid}.step-body{min-width:0;font:400 15px/1.4 var(--ui);color:var(--ink-2);flex-direction:column;gap:6px;padding-top:4px;display:flex}.step-body b{font:600 17px/1.25 var(--ui);color:var(--ink)}.step-body .btn{margin-top:6px}.code-row{background:var(--mist);border-radius:var(--r-m);align-items:center;gap:10px;margin-top:4px;padding:6px 6px 6px 18px;display:flex}.code{font:600 34px/1 var(--display);letter-spacing:.12em;color:var(--ink);-webkit-user-select:all;user-select:all;flex:1}.manual{font:400 15px/1.4 var(--ui);color:var(--ink-2);flex-direction:column;gap:10px;display:flex}.copy-box{background:var(--mist);border-radius:var(--r-m);align-items:center;gap:10px;min-height:56px;padding:6px 6px 6px 16px;display:flex}.copy-box code{min-width:0;font:500 15px/1.3 var(--ui);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.note{background:var(--mist);border-radius:var(--r-m);padding:14px 16px;line-height:1.4}.toast-wrap{left:0;right:0;top:calc(var(--safe-top) + 10px);z-index:60;pointer-events:none;justify-content:center;display:flex;position:fixed}.toast{background:var(--ink);color:#fff;font:500 15px/1.3 var(--ui);border-radius:var(--r-m);max-width:calc(100% - 40px);padding:12px 18px}.center-screen{text-align:center;min-height:100%;padding:calc(var(--safe-top) + 24px) var(--gutter) calc(var(--safe-bottom) + 24px);flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex}.center-screen p{color:var(--ink-2);max-width:32ch;margin:0;line-height:1.45}.code-input{text-align:center;letter-spacing:.16em;width:100%;max-width:300px;font:600 38px/1 var(--display)!important;height:72px!important;padding:0!important}.offline{left:50%;top:calc(var(--safe-top) + 20px);z-index:9;background:var(--ink);color:#fff;font:600 13px/1 var(--ui);border-radius:999px;padding:9px 14px;position:fixed;transform:translate(-50%)}@media (hover:hover) and (pointer:fine){.choice:hover,.chip:hover,.icon-btn:hover{background:var(--mist-2)}.word-row:hover{background:var(--mist)}}@media (max-height:700px){.card-wrap,.deck{max-width:min(100%,38vh)}.hero-count{font-size:64px}}
