@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-vietnamese-400-normal-BHkVbP3T.woff2) format("woff2"),url(/assets/nunito-vietnamese-400-normal-DtOtW02z.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-vietnamese-600-normal-BY8O6Cug.woff2) format("woff2"),url(/assets/nunito-vietnamese-600-normal-DO1RqFw5.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-vietnamese-700-normal-Ch8EUCfz.woff2) format("woff2"),url(/assets/nunito-vietnamese-700-normal-C9SQsXvj.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-vietnamese-800-normal-D_CZYdm9.woff2) format("woff2"),url(/assets/nunito-vietnamese-800-normal-Dz0hZPb5.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-400-normal-r8SDr6Up.woff2) format("woff2"),url(/assets/nunito-latin-400-normal-DKg4f3fz.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-latin-600-normal-Br8yIETf.woff2) format("woff2"),url(/assets/nunito-latin-600-normal-Cd0eNu1l.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-700-normal-Dort48En.woff2) format("woff2"),url(/assets/nunito-latin-700-normal-OcDqTBcA.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-800-normal-Dz8SOQK_.woff2) format("woff2"),url(/assets/nunito-latin-800-normal-D-J0wlBY.woff) format("woff")}.tenki{display:block;overflow:visible;width:100%;height:auto;-webkit-tap-highlight-color:transparent;--look-x: 0px;--look-y: 0px;--tk-line: #6366f1;--tk-ink: #1e1b4b;--tk-b0: #ffffff;--tk-b1: #eef0ff;--tk-cel: #dfe2fc;--tk-spring: cubic-bezier(.34, 1.56, .64, 1)}.tenki .tk-b0{stop-color:var(--tk-b0)}.tenki .tk-b1{stop-color:var(--tk-b1)}.tenki .tk-line{fill:var(--tk-line)}.tenki .tk-fill{fill:var(--tk-b0)}.tenki .tk-cel{fill:var(--tk-cel)}.tenki .tk-rim{fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round}.tenki .tk-rim-2{stroke-width:2.4;opacity:.85}.tenki .tk-shine{fill:#fff;opacity:.9}.tenki .tk-body{transform-origin:100px 150px;animation:tk-float 4s ease-in-out infinite}.tenki .tk-cloud{transform-origin:100px 132px;animation:tk-breathe 4s ease-in-out infinite}.tenki .tk-tilt{transform-origin:100px 140px;transition:transform .6s var(--tk-spring)}.tenki .tk-shadow{fill:#1e1b4b1f;transform-origin:100px 164px;animation:tk-shadow 4s ease-in-out infinite}.tenki .tk-sun{transition:transform .7s var(--tk-spring)}.tenki .tk-halo{transform-origin:146px 44px;animation:tk-halo 3.4s ease-in-out infinite}.tenki .tk-rays{transform-origin:146px 44px;animation:tk-spin 30s linear infinite}.tenki .tk-rays rect{fill:#fbbf24}.tenki .tk-sun-rim{fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;opacity:.75}.tenki .tk-eye{transform-box:fill-box;transform-origin:center;animation:tk-blink 6.6s infinite;transition:opacity .15s,scale .35s var(--tk-spring),translate .35s var(--tk-spring)}.tenki .tk-eye-r{animation-delay:.04s}.tenki .tk-look{transform:translate(var(--look-x),var(--look-y));transition:transform .24s ease-out}.tenki .tk-pupil{fill:var(--tk-ink)}.tenki .tk-hl{fill:#fff;transition:opacity .15s}.tenki .tk-hl circle:last-child{animation:tk-glint 2.8s ease-in-out infinite}.tenki .tk-star{fill:#fff;opacity:0;transition:opacity .15s}.tenki .tk-star path{transform-box:fill-box;transform-origin:center}.tenki .tk-lid{fill:none;stroke:var(--tk-ink);stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:opacity .15s}.tenki .tk-brow{fill:none;stroke:var(--tk-ink);stroke-width:2.4;stroke-linecap:round;opacity:0;transform-box:fill-box;transform-origin:center;transition:opacity .2s,transform .4s var(--tk-spring)}.tenki .tk-cheeks ellipse{fill:#fb7185}.tenki .tk-cheeks{opacity:.4;transition:opacity .3s}.tenki .tk-mouth{opacity:0;transition:opacity .12s}.tenki path.tk-mouth{fill:none;stroke:var(--tk-ink);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.tenki .tk-smile{opacity:1}.tenki .tk-wavy{stroke-width:2.2}.tenki .tk-open-in{fill:#3b1a4a;stroke:var(--tk-ink);stroke-width:2.2;stroke-linejoin:round}.tenki .tk-open-tongue{fill:#fb7185}.tenki .tk-oh{fill:var(--tk-ink)}.tenki .tk-white{fill:#fff;stroke:var(--tk-ink);stroke-width:1.6}.tenki .tk-lash,.tenki .tk-chill-lid{fill:none;stroke:var(--tk-ink);stroke-width:2.2;stroke-linecap:round}.tenki .tk-chill-lid{stroke-width:2.6}.tenki.eyes-smile:not(.is-surprised,.is-sad,.is-excited,.is-peek,.is-think) .tk-eye{animation:none;opacity:0}.tenki.eyes-smile:not(.is-surprised,.is-sad,.is-excited,.is-peek,.is-think,.is-sleepy) .tk-lid-happy{opacity:1}.tenki.eyes-auto .tk-eyes{transition:opacity .3s}.tenki.eyes-auto .tk-eyes-h{opacity:0}.tenki.eyes-auto:is(.calm:not([class*=" is-"]),.is-think) .tk-eyes-h{opacity:1}.tenki.eyes-auto:is(.calm:not([class*=" is-"]),.is-think) .tk-eyes-e{opacity:0}.tenki .tk-sparkles path{fill:#fbbf24;opacity:0;transform-box:fill-box;transform-origin:center}.tenki .tk-wavelines path{fill:none;stroke:var(--tk-line);stroke-width:2.4;stroke-linecap:round;opacity:0}.tenki .tk-dots circle{fill:var(--tk-line);opacity:0}.tenki .tk-zzz text{fill:var(--tk-line);font:800 14px/1 system-ui,sans-serif;opacity:0}.tenki .tk-hand{transition:transform .55s var(--tk-spring)}.tenki .tk-hand-l{transform-origin:32px 122px}.tenki .tk-hand-r{transform-origin:168px 122px}.tenki .tk-bob{animation:tk-bob 4s ease-in-out .45s infinite}.tenki .tk-hand-r .tk-bob{animation-delay:.9s}.tenki:is(.is-happy,.is-excited,.is-wave) .tk-smile{opacity:0}.tenki:is(.is-happy,.is-excited,.is-wave) .tk-open{opacity:1}.tenki:is(.is-happy,.is-excited,.is-shy) .tk-cheeks{opacity:.75}.tenki:is(.is-happy,.is-excited) .tk-body{animation:tk-jump .8s var(--tk-spring),tk-float 4s ease-in-out .8s infinite}.tenki:is(.is-happy,.is-excited) .tk-hand-l{transform:translate(-6px,-40px)}.tenki:is(.is-happy,.is-excited) .tk-hand-r{transform:translate(6px,-40px)}.tenki:is(.is-happy,.is-excited) .tk-hand .tk-bob{animation:tk-cheer .4s ease-in-out 4 alternate}.tenki:is(.is-happy,.is-excited) .tk-sparkles path{animation:tk-twinkle 1.3s ease-in-out infinite}.tenki:is(.is-happy,.is-excited) .tk-sun{transform:translate(2px,-5px)}.tenki:is(.is-happy,.is-excited) .tk-rays{animation-duration:6s}.tenki.is-happy .tk-eye,.tenki.is-sleepy .tk-eye{animation:none;opacity:0}.tenki.is-happy .tk-lid-happy,.tenki.is-sleepy .tk-lid-sleep{opacity:1}.tenki.is-excited .tk-eye{scale:1.1}.tenki.is-excited .tk-hl{opacity:0}.tenki.is-excited .tk-star{opacity:1}.tenki.is-excited .tk-star path{animation:tk-star .9s ease-in-out infinite}.tenki.is-sad .tk-smile{opacity:0}.tenki.is-sad .tk-frown{opacity:1}.tenki.is-sad .tk-eye{scale:1 .8;translate:0 1.6px}.tenki.is-sad .tk-brow{opacity:1}.tenki.is-sad .tk-brow-l{transform:translateY(2px) rotate(-16deg)}.tenki.is-sad .tk-brow-r{transform:translateY(2px) rotate(16deg)}.tenki.is-sad .tk-hand-l{transform:translate(5px,8px)}.tenki.is-sad .tk-hand-r{transform:translate(-5px,8px)}.tenki.is-sad .tk-tilt{transform:translateY(3px) scale(1.01,.98)}.tenki.is-sad .tk-body{animation:tk-shake .5s cubic-bezier(.36,.07,.19,.97),tk-float 4s ease-in-out .5s infinite}.tenki.is-sad .tk-sun{transform:translate(-4px,14px)}.tenki.is-sad .tk-rays{animation-duration:90s}.tenki.is-surprised .tk-eye{scale:1.2 1.12}.tenki.is-surprised .tk-brow{opacity:1;transform:translateY(-4px)}.tenki.is-surprised .tk-smile{opacity:0}.tenki.is-surprised .tk-oh{opacity:1}.tenki.is-surprised .tk-hand-l{transform:translate(-4px,-26px)}.tenki.is-surprised .tk-hand-r{transform:translate(4px,-26px)}.tenki.is-surprised .tk-body{animation:tk-hop .45s var(--tk-spring),tk-float 4s ease-in-out .45s infinite}.tenki:is(.is-shy,.is-peek) .tk-hand-l{transform:translate(52px,-20px) scale(1.12)}.tenki.is-shy .tk-hand-r{transform:translate(-52px,-20px) scale(1.12)}.tenki.is-shy .tk-smile{opacity:0}.tenki.is-shy .tk-wavy{opacity:1}.tenki.is-shy .tk-tilt{transform:rotate(-3deg) translateY(2px)}.tenki.is-shy .tk-sun{transform:translate(-3px,9px)}.tenki.is-peek .tk-hand-r{transform:translate(-30px,-4px)}.tenki.is-peek .tk-smile{opacity:0}.tenki.is-peek .tk-oh{opacity:1}.tenki.is-peek .tk-tilt{transform:rotate(3deg)}.tenki.is-think .tk-look{transform:translate(2.4px,-2.4px)}.tenki.is-think .tk-hand-r{transform:translate(-60px,6px)}.tenki.is-think .tk-brow-r{opacity:1;transform:translateY(-3px) rotate(-8deg)}.tenki.is-think .tk-smile{opacity:0}.tenki.is-think .tk-hmm{opacity:1}.tenki.is-think .tk-tilt{transform:rotate(5deg)}.tenki.is-think .tk-dots circle{animation:tk-dot 1.2s ease-in-out infinite}.tenki.is-think .tk-dots circle:nth-child(2){animation-delay:.2s}.tenki.is-think .tk-dots circle:nth-child(3){animation-delay:.4s}.tenki.is-wave .tk-hand-r{transform:translate(8px,-46px)}.tenki.is-wave .tk-hand-r .tk-bob{animation:tk-wave .4s ease-in-out 6 alternate}.tenki.is-wave .tk-wavelines path{animation:tk-wavelines .8s ease-in-out 3}.tenki.is-wave .tk-wavelines path:last-child{animation-delay:.12s}.tenki.is-wave .tk-tilt{transform:rotate(-4deg)}.tenki.is-sleepy .tk-body,.tenki.is-sleepy .tk-cloud{animation-duration:6s}.tenki.is-sleepy .tk-zzz text{animation:tk-z 2.6s ease-out infinite}.tenki.is-sleepy .tk-zzz text:nth-child(2){animation-delay:.85s}.tenki.is-sleepy .tk-zzz text:nth-child(3){animation-delay:1.7s}.tenki.is-sleepy .tk-sun{transform:translateY(28px)}.tenki.is-sleepy .tk-tilt{transform:rotate(4deg) translateY(2px)}.tenki.is-sleepy .tk-hand-l{transform:translate(2px,6px)}.tenki.is-sleepy .tk-hand-r{transform:translate(-2px,6px)}@keyframes tk-float{50%{transform:translateY(-5px)}}@keyframes tk-breathe{50%{transform:scale(1.012,.988)}}@keyframes tk-shadow{50%{transform:scaleX(.86);opacity:.7}}@keyframes tk-bob{50%{transform:translateY(-3px)}}@keyframes tk-spin{to{transform:rotate(360deg)}}@keyframes tk-halo{50%{transform:scale(1.08);opacity:.75}}@keyframes tk-blink{0%,45%,48.5%,88%,90.4%,91.4%,93.8%,to{transform:scaleY(1)}46.8%,89.2%,92.6%{transform:scaleY(.08)}}@keyframes tk-glint{50%{opacity:.4}}@keyframes tk-star{0%,to{transform:scale(.85) rotate(0)}50%{transform:scale(1.12) rotate(22deg)}}@keyframes tk-jump{0%,to{transform:translateY(0) scale(1)}30%{transform:translateY(-16px) scale(1.03,.97)}55%{transform:translateY(0) scale(1.05,.95)}75%{transform:translateY(-4px)}}@keyframes tk-hop{40%{transform:translateY(-8px)}}@keyframes tk-cheer{to{transform:translateY(-6px)}}@keyframes tk-shake{20%,60%{transform:translate(-4px) rotate(-1.5deg)}40%,80%{transform:translate(4px) rotate(1.5deg)}}@keyframes tk-twinkle{0%,to{opacity:0;transform:scale(.3) rotate(0)}50%{opacity:1;transform:scale(1.1) rotate(45deg)}}@keyframes tk-dot{0%,to{opacity:.2;transform:translateY(0)}50%{opacity:.9;transform:translateY(-3px)}}@keyframes tk-wave{0%{transform:translate(-5px,2px)}to{transform:translate(6px,-2px)}}@keyframes tk-wavelines{0%,to{opacity:0}50%{opacity:.85}}@keyframes tk-z{0%{opacity:0;transform:translateY(4px)}30%{opacity:1}to{opacity:0;transform:translate(7px,-12px)}}@media(prefers-color-scheme:dark){.tenki{--tk-line: #818cf8;--tk-b0: #f7f8ff;--tk-b1: #e3e6ff;--tk-cel: #cdd2fa}.tenki .tk-shadow{fill:#0006}}@media(prefers-reduced-motion:reduce){.tenki,.tenki *{animation:none!important;transition:none!important}.tenki:is(.is-happy,.is-excited) .tk-sparkles path,.tenki.is-sleepy .tk-zzz text,.tenki.is-think .tk-dots circle,.tenki.is-wave .tk-wavelines path{opacity:.9}}.tenki-say{position:relative;display:inline-block;margin:0;background:#fff;color:#1e1b4b;font-weight:800;font-size:.95rem;padding:10px 14px;border-radius:16px;line-height:1.35;max-width:26ch;box-shadow:0 10px 30px -12px #14172673,0 0 0 1px #4f46e51f;transform-origin:20px 100%;animation:tk-say-in .5s cubic-bezier(.34,1.56,.64,1) .45s backwards}.tenki-say:after{content:"";position:absolute;left:20px;bottom:-6px;width:14px;height:14px;background:inherit;transform:rotate(45deg);border-radius:0 0 4px;box-shadow:1px 1px #4f46e51f}.tenki-say.tail-left{transform-origin:0 50%}.tenki-say.tail-left:after{left:-6px;bottom:auto;top:50%;margin-top:-7px;border-radius:0 0 0 4px;box-shadow:-1px 1px #4f46e51f}.tenki-say.swap{animation:tk-say-swap .45s cubic-bezier(.2,.8,.2,1)}@keyframes tk-say-in{0%{opacity:0;transform:translateY(8px) scale(.8)}}@keyframes tk-say-swap{0%{transform:scale(.9);opacity:.35}60%{transform:scale(1.04);opacity:1}to{transform:none}}@media(prefers-reduced-motion:reduce){.tenki-say,.tenki-say.swap{animation:none}}:root{color-scheme:light;--bg: #f5f6fa;--surface: #ffffff;--surface-2: #f1f3f8;--surface-3: #e8ebf3;--border: #e3e6ee;--border-strong: #cfd4e0;--text: #141726;--text-2: #4d5469;--muted: #5f667b;--primary: #4f46e5;--primary-hover: #4338ca;--primary-soft: #eef0ff;--primary-ink: #3730a3;--on-primary: #ffffff;--success: #16a34a;--success-ink: #166534;--success-soft: #e7f8ee;--danger: #dc2626;--danger-ink: #991b1b;--danger-soft: #fdecec;--warn-ink: #92400e;--warn-soft: #fef5e4;--c-listening: #2a78d6;--c-reading: #eb6834;--c-writing: #1baf7a;--c-speaking: #eda100;--c-vocab: #6250d6;--c-grammar: #d1497b;--c-listening-soft: #e8f1fc;--c-reading-soft: #fdeee7;--c-writing-soft: #e5f6ef;--c-speaking-soft: #fdf3dc;--c-vocab-soft: #efedfc;--c-grammar-soft: #fbe9f0;--radius-sm: 10px;--radius: 14px;--radius-lg: 20px;--shadow-sm: 0 1px 2px rgba(20, 23, 38, .06);--shadow: 0 1px 3px rgba(20, 23, 38, .06), 0 6px 16px -6px rgba(20, 23, 38, .08);--shadow-lg: 0 12px 40px -12px rgba(20, 23, 38, .25);--ring: 0 0 0 3px rgba(79, 70, 229, .28);--font: "Nunito", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--topbar-h: 60px;--ease-out: cubic-bezier(.2, .8, .2, 1);--ease-soft: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1)}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--bg: #0f1222;--surface: #171b2e;--surface-2: #1e2338;--surface-3: #272d46;--border: #2a3049;--border-strong: #3a4263;--text: #eef0f7;--text-2: #b4bad0;--muted: #949bb4;--primary: #818cf8;--primary-hover: #a5b4fc;--primary-soft: #252a52;--primary-ink: #c7cdfe;--on-primary: #0f1222;--success: #22c55e;--success-ink: #86efac;--success-soft: #11301f;--danger: #f87171;--danger-ink: #fecaca;--danger-soft: #3a1a1f;--warn-ink: #fde68a;--warn-soft: #3a2c12;--c-listening: #5b9eef;--c-reading: #f07c4c;--c-writing: #2fc48d;--c-speaking: #f0b429;--c-vocab: #9085e9;--c-grammar: #e26b96;--c-listening-soft: #1a2a45;--c-reading-soft: #3a2218;--c-writing-soft: #12302a;--c-speaking-soft: #362a12;--c-vocab-soft: #262447;--c-grammar-soft: #3a1c2b;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow: 0 1px 3px rgba(0, 0, 0, .3), 0 8px 24px -10px rgba(0, 0, 0, .5);--shadow-lg: 0 16px 48px -12px rgba(0, 0, 0, .6);--ring: 0 0 0 3px rgba(129, 140, 248, .35)}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scroll-padding-top:calc(var(--topbar-h) + 12px)}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:15.5px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}h1,h2,h3{margin:0;line-height:1.25;letter-spacing:-.01em}h1{font-size:1.9rem;font-weight:800}h2{font-size:1.3rem;font-weight:800}h3{font-size:1.02rem;font-weight:700}p{margin:0}a{color:var(--primary);text-decoration:none}p a:not(.btn),li>span a,.prose a,.hint a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}button,input{font:inherit;color:inherit}button{cursor:pointer}img,svg{display:block}:focus-visible{outline:none;box-shadow:var(--ring);border-radius:8px}::selection{background:var(--primary-soft)}:lang(ja){font-family:"Hiragino Sans","Yu Gothic UI","Noto Sans JP",Meiryo,var(--font)}@media(min-width:768px){h1{font-size:2.5rem}h2{font-size:1.45rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important}html{scroll-behavior:auto}}.skip{position:absolute;left:-999px;top:8px;z-index:60;background:var(--surface);padding:8px 14px;border-radius:10px;box-shadow:var(--shadow);font-weight:700}.skip:focus{left:8px}.wrap{max-width:1120px;margin:0 auto;padding:0 16px}@media(min-width:768px){.wrap{padding:0 28px}}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;align-items:center;gap:10px}.row-wrap{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.muted{color:var(--muted)}.text-2{color:var(--text-2)}.small{font-size:.88rem}.tiny{font-size:.78rem}.center{text-align:center}.grid{display:grid;gap:14px}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}@media(min-width:640px){.grid-2,.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}}.topbar{position:sticky;top:0;z-index:30;height:var(--topbar-h);background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--border)}.topbar-in{height:100%;display:flex;align-items:center;gap:12px}.brand{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:1.08rem;color:var(--text)}.brand-logo{width:34px;height:34px;border-radius:10px;flex:none}.brand small{display:block;font-weight:600;font-size:.72rem;color:var(--muted);margin-top:-3px}.top-nav{display:none;gap:2px;margin-left:12px}.nav-link{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 12px;border-radius:12px;color:var(--text-2);font-weight:700;font-size:.93rem;transition:background .15s,color .15s}.nav-link svg{width:18px;height:18px}@media(hover:hover){.nav-link:hover{background:var(--surface-2);color:var(--text)}}.nav-link[aria-current=page]{background:var(--primary-soft);color:var(--primary-ink)}.top-end{margin-left:auto;display:flex;align-items:center;gap:8px}.account-btn{min-width:116px}.account-btn .avatar{width:26px;height:26px;font-size:.8rem}.account-btn.signed-in{background:var(--surface);border:1px solid var(--border);color:var(--text);box-shadow:none;padding:0 12px 0 6px;max-width:220px}.account-btn.signed-in span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(min-width:860px){.top-nav{display:flex}}.foot{margin-top:56px;border-top:1px solid var(--border);background:var(--surface)}.foot-in{display:grid;gap:28px;padding-top:36px;padding-bottom:20px}@media(min-width:768px){.foot-in{grid-template-columns:1.3fr 1fr 1fr}}.foot nav{display:flex;flex-direction:column;gap:2px}.foot h2{font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.foot nav a{color:var(--text-2);font-weight:600;font-size:.92rem;padding:6px 0;width:fit-content}@media(hover:hover){.foot nav a:hover{color:var(--primary)}}.foot-end{border-top:1px solid var(--border);padding:16px 0 24px;font-size:.85rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:space-between}.foot-end a{color:var(--text-2)}main{display:block}.page{display:flex;flex-direction:column;gap:40px;padding-top:24px;padding-bottom:8px;animation:pageIn .25s ease-out}@media(min-width:768px){.page{gap:56px;padding-top:32px}}@keyframes pageIn{0%{opacity:0}to{opacity:1}}.section{display:flex;flex-direction:column;gap:16px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}.section-head p{color:var(--text-2);margin-top:4px;max-width:68ch}.section-head>a{font-weight:700;font-size:.92rem;display:inline-flex;align-items:center;gap:4px}.section-head>a svg{width:16px;height:16px}.eyebrow{font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.back-link{display:inline-flex;align-items:center;gap:4px;color:var(--text-2);font-weight:700;font-size:.9rem;padding:6px 10px 6px 4px;margin-left:-4px;border-radius:10px;width:fit-content}.back-link svg{width:18px;height:18px}@media(hover:hover){.back-link:hover{background:var(--surface-2);color:var(--text)}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow-sm)}@media(min-width:768px){.card{padding:22px}}.card-link{display:block;color:inherit;transition:transform .15s,box-shadow .15s,border-color .15s}@media(hover:hover){.card-link:hover{border-color:var(--border-strong);box-shadow:var(--shadow);transform:translateY(-1px)}}.item{display:flex;align-items:center;gap:14px;padding:14px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);color:inherit;min-height:64px;transition:border-color .15s,box-shadow .15s}@media(hover:hover){a.item:hover{border-color:var(--border-strong);box-shadow:var(--shadow)}}.item-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.item-title{font-weight:700;line-height:1.35}.item-sub{color:var(--muted);font-size:.84rem}.item-end{flex:none;color:var(--muted);display:flex;align-items:center}.item-end svg{width:20px;height:20px}.list{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}.plain{list-style:none;margin:0;padding:0}.icon-tile{width:44px;height:44px;border-radius:12px;flex:none;display:inline-flex;align-items:center;justify-content:center;background:var(--surface-2);color:var(--text-2)}.icon-tile svg{width:22px;height:22px}.icon-tile.sm{width:36px;height:36px;border-radius:10px}.icon-tile.sm svg{width:18px;height:18px}.icon-tile.lg{width:56px;height:56px;border-radius:16px}.icon-tile.lg svg{width:28px;height:28px}.tone-vocab{--tone: var(--c-vocab);--tone-soft: var(--c-vocab-soft)}.tone-grammar{--tone: var(--c-grammar);--tone-soft: var(--c-grammar-soft)}.tone-reading{--tone: var(--c-reading);--tone-soft: var(--c-reading-soft)}.tone-listening{--tone: var(--c-listening);--tone-soft: var(--c-listening-soft)}.tone-speaking{--tone: var(--c-speaking);--tone-soft: var(--c-speaking-soft)}.tone-writing{--tone: var(--c-writing);--tone-soft: var(--c-writing-soft)}.tone-primary{--tone: var(--primary);--tone-soft: var(--primary-soft)}[class*=tone-] .icon-tile,.icon-tile[class*=tone-]{background:var(--tone-soft);color:var(--tone)}.badge{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 10px;border-radius:999px;font-size:.78rem;font-weight:700;white-space:nowrap;background:var(--surface-2);color:var(--text-2)}.badge svg{width:14px;height:14px}.badge-primary{background:var(--primary-soft);color:var(--primary-ink)}.badge-success{background:var(--success-soft);color:var(--success-ink)}.badge-tone{background:var(--tone-soft);color:color-mix(in srgb,var(--tone) 45%,var(--text))}.level-badge{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:30px;padding:0 8px;border-radius:9px;background:var(--primary-soft);color:var(--primary-ink);font-weight:800;font-size:.88rem;flex:none}.avatar{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#7c3aed);color:#fff;font-weight:800;flex:none}.hero{position:relative;overflow:hidden;color:#fff;border:none;border-radius:24px;padding:28px 22px;background:linear-gradient(135deg,#4f46e5,#6d28d9 60%,#7c3aed);box-shadow:0 18px 50px -24px #4f46e5b3}.hero.sky{background:linear-gradient(135deg,#0b74c9,#2563eb 55%,#4f46e5);box-shadow:0 18px 50px -24px #2563ebb3}@media(prefers-color-scheme:dark){.hero{background:linear-gradient(135deg,#312e81,#4c1d95);box-shadow:none}.hero.sky{background:linear-gradient(135deg,#0c3d6e,#1e3a8a 60%,#312e81)}}.hero:after{content:"";position:absolute;right:-80px;top:-80px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 70%);pointer-events:none}.hero:before{content:"";position:absolute;left:-60px;bottom:-120px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.1),transparent 70%);pointer-events:none}@media(min-width:768px){.hero{padding:48px 44px}}.hero-grid{position:relative;z-index:1;display:grid;gap:28px;align-items:center}@media(min-width:960px){.hero-grid{grid-template-columns:1.25fr 1fr}}.hero h1{color:#fff;max-width:18ch}.hero .lead{color:#ffffffdb;font-size:1.06rem;max-width:58ch;margin-top:14px}.hero .lead strong{color:#fff}.hero .eyebrow{color:#fffc;margin-bottom:12px;display:block}.hero-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.hero-chip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:999px;background:#ffffff29;color:#fff;font-weight:700;font-size:.82rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.hero-chip svg{width:15px;height:15px}.hero .cta-row{margin-top:24px}.hero .crumbs{color:#fffc}.hero .crumbs a{color:#fff}.hero-panel{position:relative;z-index:1;background:#ffffff1f;border:1px solid rgba(255,255,255,.22);border-radius:20px;padding:16px;display:flex;flex-direction:column;gap:10px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hero-panel .panel-row{display:flex;align-items:center;gap:12px;padding:10px;border-radius:14px;background:#ffffff1a;color:#fff}.hero-panel .panel-row strong{display:block;font-size:1.15rem;line-height:1.2}.hero-panel .panel-row span{font-size:.82rem;color:#fffc}.hero-panel .icon-tile{background:#ffffff2e;color:#fff}@media(max-width:639px){.hero-panel{display:none}.hero .cta-row .btn{width:100%}.hero h1{font-size:1.85rem}}.crumbs{font-size:.88rem;color:var(--muted);display:flex;gap:6px;align-items:center;margin-bottom:14px}.crumbs a{font-weight:700}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:12px;border:1px solid transparent;font-weight:700;font-size:.95rem;background:var(--surface-2);color:var(--text);white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background .15s,border-color .15s,transform .08s,box-shadow .15s,opacity .15s}.btn svg{width:18px;height:18px;flex:none}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}@media(hover:hover){.btn:where(:not(.btn-primary,.btn-white,.btn-glass,.btn-danger,.btn-ghost)):hover{background:var(--surface-3)}.btn-ghost:hover{background:var(--primary-soft)}}.btn-primary{background:var(--primary);color:var(--on-primary);box-shadow:0 4px 14px -4px color-mix(in srgb,var(--primary) 60%,transparent)}@media(hover:hover){.btn-primary:hover{background:var(--primary-hover)}}.btn-outline{background:var(--surface);border-color:var(--border-strong)}.btn-ghost{background:transparent;color:var(--primary)}.btn-white{background:#fff;color:#3730a3}@media(hover:hover){.btn-white:hover{background:#eef0ff}}.btn-glass{background:#ffffff24;color:#fff;border-color:#ffffff59}@media(hover:hover){.btn-glass:hover{background:#ffffff3d}}.btn-danger{background:var(--danger-soft);color:var(--danger-ink)}@media(hover:hover){.btn-danger:hover{filter:brightness(.96)}}.btn-lg{min-height:52px;padding:0 24px;font-size:1rem;border-radius:14px}.btn-sm{min-height:40px;padding:0 14px;font-size:.88rem;border-radius:10px}.btn-block{width:100%}.btn-icon{width:40px;min-height:40px;padding:0}.cta-row{display:flex;flex-wrap:wrap;gap:10px}.linklike{background:none;border:0;padding:8px 2px;min-height:40px;font-weight:700;font-size:.9rem;color:var(--primary);cursor:pointer}@media(hover:hover){.linklike:hover{text-decoration:underline;text-underline-offset:3px}}.linklike.danger{color:var(--danger)}.field{display:flex;flex-direction:column;gap:6px}.field label{font-weight:700;font-size:.88rem;color:var(--text-2)}.field .hint{font-size:.8rem;color:var(--muted)}.input{width:100%;min-height:48px;padding:10px 14px;border-radius:12px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font-size:16px;transition:border-color .15s,box-shadow .15s}.input::placeholder{color:var(--muted)}.input:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}.code-input{letter-spacing:.5em;font-size:1.4rem;text-align:center;font-weight:800;padding-left:calc(14px + .5em)}.pw-wrap{position:relative}.pw-wrap .input{padding-right:52px}.pw-toggle{position:absolute;right:4px;top:4px;width:40px;height:40px;border:0;border-radius:10px;background:transparent;color:var(--muted);display:inline-flex;align-items:center;justify-content:center}.pw-toggle svg{width:20px;height:20px}@media(hover:hover){.pw-toggle:hover{background:var(--surface-2);color:var(--text)}}.segmented{display:flex;padding:4px;gap:2px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border)}.segmented [role=tab]{flex:1;border:none;background:transparent;padding:8px 14px;border-radius:9px;font-weight:700;font-size:.92rem;color:var(--text-2);min-height:40px}.segmented [role=tab][aria-selected=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.notice{display:flex;gap:10px;padding:12px 14px;border-radius:12px;font-size:.9rem;background:var(--surface-2);color:var(--text-2);line-height:1.5}.notice svg{width:18px;height:18px;flex:none;margin-top:1px}.notice[hidden]{display:none}.notice.info{background:var(--primary-soft);color:var(--primary-ink)}.notice.error{background:var(--danger-soft);color:var(--danger-ink)}.notice.ok{background:var(--success-soft);color:var(--success-ink)}.spinner{width:20px;height:20px;border-radius:50%;border:2.5px solid currentColor;border-right-color:transparent;animation:spin .8s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.stats-row{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media(min-width:768px){.stats-row{grid-template-columns:repeat(4,1fr)}}.stat-card{display:flex;align-items:center;gap:12px;padding:16px}.stat-value{font-size:1.45rem;font-weight:800;letter-spacing:-.02em;line-height:1.15}.stat-label{font-size:.82rem;color:var(--muted);font-weight:700}.course-card{display:flex;flex-direction:column;gap:14px;position:relative;overflow:hidden}.course-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--tone)}.course-head{display:flex;align-items:center;gap:14px}.course-head .item-sub{font-size:.82rem}.course-card h3{font-size:1.15rem}.ticks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.ticks li{display:flex;gap:10px;align-items:flex-start;color:var(--text-2);font-size:.93rem}.ticks svg{width:18px;height:18px;color:var(--success);flex:none;margin-top:2px}.course-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:4px}.course-soon{border-style:dashed;box-shadow:none;background:transparent}.course-soon:before{display:none}.feature{display:flex;flex-direction:column;gap:10px}.feature p{color:var(--text-2);font-size:.92rem}.steps{counter-reset:s}.step-num{width:44px;height:44px;border-radius:12px;flex:none;display:inline-flex;align-items:center;justify-content:center;background:var(--primary-soft);color:var(--primary-ink);font-weight:800;font-size:1.05rem}.cta-band{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center;justify-content:space-between;padding:24px 22px}.cta-band>div{flex:1 1 360px}.cta-band p{margin-top:6px}@media(min-width:768px){.cta-band{padding:32px 40px}}details.fold{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}details.fold>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:12px 14px;min-height:60px;font-weight:700}details.fold>summary::-webkit-details-marker{display:none}details.fold>summary .item-body{gap:0}details.fold>summary .chev{margin-left:auto;color:var(--muted);transition:transform .2s var(--ease-out);flex:none}details.fold>summary .chev svg{width:20px;height:20px}details.fold[open]>summary .chev{transform:rotate(90deg)}details.fold[open]>summary{border-bottom:1px solid var(--border)}details.fold>:not(summary){animation:fadeUp .25s var(--ease-out)}.fold-body{padding:14px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.chips li{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:4px 12px;border-radius:999px;background:var(--surface-2);color:var(--text);font-size:.88rem;font-weight:600}.chips li .muted{font-weight:600;font-size:.8rem}.lessons{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.lessons li{display:flex;gap:12px;padding:10px 12px;border-radius:12px;background:var(--surface-2)}.lessons .n{width:28px;height:28px;flex:none;border-radius:8px;background:var(--surface);color:var(--muted);font-weight:800;font-size:.8rem;display:inline-flex;align-items:center;justify-content:center}.lessons strong{display:block;font-size:.95rem}.lessons span.muted{font-size:.84rem}.part-card{display:flex;flex-direction:column;gap:12px}.part-card>p{color:var(--text-2);font-size:.93rem}.exam-part{display:flex;flex-direction:column;gap:8px}.exam-part dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:4px 0 0;font-size:.9rem}.exam-part dt{color:var(--muted);font-weight:700}.exam-part dd{margin:0;color:var(--text)}.faq{display:flex;flex-direction:column;gap:10px;max-width:880px}.faq details.fold>summary{font-size:.98rem}.faq .answer{padding:0 16px 16px;color:var(--text-2)}.faq details.fold[open]>summary{border-bottom:0}.prose{max-width:780px}.prose h2{font-size:1.15rem;margin:26px 0 8px}.prose p,.prose li{color:var(--text-2)}.prose ul{padding-left:20px;margin:0;display:flex;flex-direction:column;gap:6px}.prose strong{color:var(--text)}.teaser{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.teaser>.item-body{flex:1 1 320px}.teaser p{color:var(--text-2)}.auth{display:grid;gap:20px;padding-top:24px;min-height:calc(100dvh - var(--topbar-h) - 40px);align-items:start}@media(min-width:960px){.auth{grid-template-columns:1.05fr 1fr;gap:28px;padding-top:32px}}.auth-side{display:none;position:relative;overflow:hidden;border-radius:24px;padding:40px;color:#fff;background:linear-gradient(150deg,#4338ca,#6d28d9 55%,#9333ea);min-height:560px;flex-direction:column;justify-content:space-between;gap:28px}@media(prefers-color-scheme:dark){.auth-side{background:linear-gradient(150deg,#312e81,#4c1d95)}}@media(min-width:960px){.auth-side{display:flex}}.auth-side:after{content:"";position:absolute;right:-90px;bottom:-90px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.16),transparent 70%)}.auth-side-title{color:#fff;font-size:2.2rem;font-weight:800;line-height:1.18;letter-spacing:-.01em;max-width:16ch}.auth-feature{display:flex;gap:14px;align-items:flex-start}.auth-feature .icon-tile{background:#ffffff29;color:#fff}.auth-feature strong{display:block}.auth-feature span{opacity:.84;font-size:.9rem}.auth-side .foot-note{opacity:.75;font-size:.88rem}.auth-main{display:flex;justify-content:center}.auth-card{width:100%;max-width:460px;display:flex;flex-direction:column;gap:18px;padding:24px}@media(min-width:960px){.auth-card{padding:32px;margin-top:24px}}.auth-card>*,.form>*{animation:fadeUp .3s var(--ease-out) backwards}.auth-card .brand-logo{width:48px;height:48px;border-radius:14px}.auth-title h1{font-size:1.6rem}.auth-title p{color:var(--text-2);margin-top:4px}.form{display:flex;flex-direction:column;gap:14px}.links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px}#account{display:flex;flex-direction:column;gap:18px}#account[data-loading]{min-height:430px}.profile-head{display:flex;align-items:center;gap:14px}.profile-head .avatar{width:52px;height:52px;font-size:1.2rem}.profile-head strong{display:block;font-size:1.15rem;overflow-wrap:anywhere}.profile-head>div span{color:var(--muted);font-size:.9rem;overflow-wrap:anywhere}.subhead{font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:6px}.danger-zone{border:1px solid color-mix(in srgb,var(--danger) 35%,var(--border));background:color-mix(in srgb,var(--danger-soft) 55%,var(--surface));border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:12px}@view-transition{navigation:auto}@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}}.topbar{view-transition-name:topbar}::view-transition-old(root){animation:vt-out .2s var(--ease-out) both}::view-transition-new(root){animation:vt-in .45s var(--ease-soft) both}::view-transition-group(nav-pill){animation-duration:.45s;animation-timing-function:var(--ease-spring)}@keyframes vt-out{to{opacity:0;transform:translateY(-6px)}}@keyframes vt-in{0%{opacity:0;transform:translateY(14px)}}.topbar{transition:box-shadow .3s,background-color .3s}.topbar.scrolled{box-shadow:0 8px 28px -16px #14172666;background:color-mix(in srgb,var(--bg) 94%,transparent)}@supports (animation-timeline: scroll()){.topbar:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;pointer-events:none;background:linear-gradient(90deg,#6366f1,#a855f7 55%,#f59e0b);transform-origin:0 50%;transform:scaleX(0);animation:read-progress linear both;animation-timeline:scroll(root)}@keyframes read-progress{to{transform:scaleX(1)}}}.nav-link{position:relative;isolation:isolate}.nav-link[aria-current=page]{background:transparent}.nav-pill{position:absolute;inset:0;z-index:-1;border-radius:inherit;background:var(--primary-soft);view-transition-name:nav-pill}.nav-link svg{transition:transform .4s var(--ease-spring)}.brand-logo{transition:transform .45s var(--ease-spring)}.brand-logo circle,.brand-logo path{transform-box:fill-box;transform-origin:center;transition:transform .55s var(--ease-spring)}@media(hover:hover){.nav-link:hover svg{transform:translateY(-2px) rotate(-10deg) scale(1.1)}.brand:hover .brand-logo{transform:rotate(-6deg) scale(1.05)}.brand:hover .brand-logo circle{transform:translate(-1px,-3px) scale(1.15)}.brand:hover .brand-logo path{transform:translate(2px)}}.account-btn .avatar.pop{animation:avatar-pop .6s var(--ease-spring)}@keyframes avatar-pop{0%{transform:scale(.3) rotate(-30deg)}60%{transform:scale(1.15)}}.btn{position:relative;overflow:hidden;isolation:isolate;transition:background .15s,border-color .15s,color .15s,transform .25s var(--ease-soft),box-shadow .25s,opacity .15s}.btn:after{content:"";position:absolute;left:var(--rx, 50%);top:var(--ry, 50%);width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:currentColor;opacity:0;transform:scale(0);pointer-events:none;z-index:-1}.btn.rippling:after{animation:ripple .65s var(--ease-out)}@keyframes ripple{0%{opacity:.28;transform:scale(0)}to{opacity:0;transform:scale(var(--rs, 24))}}.btn>svg:last-child:not(:first-child){transition:transform .35s var(--ease-spring)}@media(hover:hover){.btn:not(:disabled):is(.btn-primary,.btn-white,.btn-outline,.btn-glass,.btn-danger):hover{transform:translateY(-2px)}.btn-primary:not(:disabled):hover{box-shadow:0 10px 22px -8px color-mix(in srgb,var(--primary) 70%,transparent)}.btn-white:not(:disabled):hover{box-shadow:0 12px 26px -10px #0f122273}.btn:not(:disabled):hover>svg:last-child:not(:first-child){transform:translate(4px)}}.btn:not(:disabled):active{transform:translateY(0) scale(.96);transition-duration:.08s}.hero .btn-white:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(105deg,transparent 30%,rgba(99,102,241,.22) 48%,rgba(168,85,247,.18) 52%,transparent 70%);transform:translate(-120%);animation:btn-shine 6s ease-in-out 2.4s infinite}@keyframes btn-shine{0%,72%{transform:translate(-120%)}90%,to{transform:translate(120%)}}.btn.is-done{background:var(--success);color:#fff;border-color:transparent;box-shadow:0 10px 22px -8px color-mix(in srgb,var(--success) 70%,transparent)}.btn.is-done svg{animation:done-pop .5s var(--ease-spring)}@keyframes done-pop{0%{transform:scale(0) rotate(-45deg)}}.rv{opacity:0;transform:translateY(30px) scale(.98)}.rv.rv-in{opacity:1;transform:none;transition:opacity .6s var(--ease-out) var(--rv-d, 0s),transform .9s var(--ease-soft) var(--rv-d, 0s)}.stats-row>.rv{transform:translateY(16px) scale(.88)}.section>.stack>.rv,.section>.faq>.rv{transform:translate(-24px)}.section>.list>.rv{transform:translate(-28px)}.section-head.rv,.foot-in>.rv{transform:translateY(18px)}.cta-band.rv{transform:scale(.94) translateY(16px)}.rv-in .icon-tile,.rv-in .level-badge,.rv-in .step-num{animation:tile-pop .75s var(--ease-spring) calc(var(--rv-d, 0s) + .14s) backwards}.rv-in .badge{animation:badge-in .55s var(--ease-spring) calc(var(--rv-d, 0s) + .32s) backwards}.rv-in .ticks li{animation:tick-in .5s var(--ease-out) backwards}.rv-in .ticks li:nth-child(1){animation-delay:calc(var(--rv-d, 0s) + .25s)}.rv-in .ticks li:nth-child(2){animation-delay:calc(var(--rv-d, 0s) + .35s)}.rv-in .ticks li:nth-child(3){animation-delay:calc(var(--rv-d, 0s) + .45s)}.rv-in .ticks li svg path{stroke-dasharray:26;animation:draw .55s var(--ease-out) backwards;animation-delay:inherit}.rv-in.course-card:before{transform-origin:0 50%;animation:bar-grow .9s var(--ease-soft) calc(var(--rv-d, 0s) + .1s) backwards}.step-num{position:relative}.rv-in .step-num:after{content:"";position:absolute;inset:0;border-radius:inherit;animation:ring 1.1s var(--ease-out) calc(var(--rv-d, 0s) + .45s) backwards}@keyframes tile-pop{0%{transform:scale(.3) rotate(-25deg);opacity:0}60%{transform:scale(1.12) rotate(4deg);opacity:1}}@keyframes badge-in{0%{opacity:0;transform:translate(12px) scale(.8)}}@keyframes tick-in{0%{opacity:0;transform:translate(-10px)}}@keyframes draw{0%{stroke-dashoffset:26}}@keyframes bar-grow{0%{transform:scaleX(0)}}@keyframes ring{0%{box-shadow:0 0 color-mix(in srgb,var(--primary) 45%,transparent)}to{box-shadow:0 0 0 14px transparent}}.hero:not(.cta-band) .crumbs{animation:fade-up .6s var(--ease-out) .05s backwards}.hero:not(.cta-band) .eyebrow{animation:fade-up .6s var(--ease-out) .1s backwards}.hero:not(.cta-band) h1{animation:rise .9s var(--ease-soft) .12s backwards}.hero:not(.cta-band) .lead{animation:rise .9s var(--ease-soft) .2s backwards}.hero-chips>*{animation:chip-pop .6s var(--ease-spring) backwards}.hero-chips>:nth-child(1){animation-delay:.34s}.hero-chips>:nth-child(2){animation-delay:.42s}.hero-chips>:nth-child(3){animation-delay:.5s}.hero:not(.cta-band) .cta-row>*{animation:fade-up .6s var(--ease-out) backwards}.hero:not(.cta-band) .cta-row>:nth-child(1){animation-delay:.52s}.hero:not(.cta-band) .cta-row>:nth-child(2){animation-delay:.6s}.hero-panel{animation:panel-in 1s var(--ease-soft) .28s backwards}.hero-panel>.panel-row{animation:row-in .65s var(--ease-soft) backwards}.hero-panel>.panel-row:nth-of-type(1){animation-delay:.46s}.hero-panel>.panel-row:nth-of-type(2){animation-delay:.56s}.hero-panel>.panel-row:nth-of-type(3){animation-delay:.66s}.hero-panel a.panel-row{transition:background .2s,transform .35s var(--ease-spring)}.hero-panel .panel-row .icon-tile{transition:transform .4s var(--ease-spring)}@media(hover:hover){.hero-panel a.panel-row:hover{background:#fff3;transform:translate(4px)}.hero-panel a.panel-row:hover .icon-tile{transform:rotate(-8deg) scale(1.08)}}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}}@keyframes rise{0%{transform:translateY(18px)}}@keyframes chip-pop{0%{opacity:0;transform:scale(.6) translateY(6px)}}@keyframes panel-in{0%{opacity:0;transform:translate(34px) scale(.97)}}@keyframes row-in{0%{opacity:0;transform:translate(18px)}}.hero .hl{background:linear-gradient(transparent 76%,rgba(251,191,36,.9) 76%,rgba(251,191,36,.9) 94%,transparent 94%) no-repeat 0 0 / 0% 100%;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 .04em;animation:marker .9s var(--ease-soft) .8s forwards}@keyframes marker{to{background-size:100% 100%}}.hero:after{animation:orb-a 13s ease-in-out infinite alternate}.hero:before{animation:orb-b 17s ease-in-out infinite alternate}@keyframes orb-a{to{transform:translate(-60px,40px) scale(1.15)}}@keyframes orb-b{to{transform:translate(70px,-30px) scale(1.1)}}.hero-deco{position:absolute;inset:0;overflow:hidden;border-radius:inherit;pointer-events:none}.hero-deco:before{content:"";position:absolute;top:-20%;bottom:-20%;left:0;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.09),transparent);transform:translate(-120%) skew(-12deg);animation:sheen 9s ease-in-out 1.5s infinite}@keyframes sheen{0%,62%{transform:translate(-120%) skew(-12deg)}90%,to{transform:translate(330%) skew(-12deg)}}.dc{position:absolute;display:block;--depth: 16px;translate:calc(var(--px, 0) * var(--depth)) calc(var(--py, 0) * var(--depth));transition:translate .9s var(--ease-out)}.dc-cloud svg{display:block;width:100%;height:auto;fill:#fff}.dc-cloud{animation:drift 15s ease-in-out infinite alternate}.dc-spark{width:14px;height:14px;background:#fff;opacity:0;clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);animation:twinkle 3.4s ease-in-out infinite}@keyframes drift{0%{transform:translate(-26px)}to{transform:translate(30px)}}@keyframes twinkle{0%,to{opacity:0;transform:scale(.4) rotate(0)}50%{opacity:.95;transform:scale(1) rotate(90deg)}}.dc-s1{top:12%;right:7%;--depth: 30px}.dc-s2{top:52%;right:2.5%;width:10px;height:10px;animation-delay:.8s;--depth: 22px}.dc-s3{bottom:12%;left:47%;width:11px;height:11px;animation-delay:1.6s}.dc-s4{top:7%;left:41%;width:9px;height:9px;animation-delay:2.3s;--depth: 26px}.dc-s5{bottom:24%;right:34%;width:12px;height:12px;animation-delay:1.1s}.deco-home .dc-c1{width:150px;top:9%;left:46%;opacity:.13;--depth: 28px}.deco-home .dc-c2{width:96px;top:66%;left:60%;opacity:.1;--depth: 14px;animation-duration:12s;animation-delay:-4s}.deco-home .dc-c3{width:124px;bottom:-18px;left:4%;opacity:.09;--depth: 20px;animation-duration:19s}.dc-glyph{display:flex;align-items:center;justify-content:center;min-width:46px;height:46px;padding:0 11px;border-radius:14px;background:#ffffff1c;border:1px solid rgba(255,255,255,.24);color:#ffffffb3;font-weight:800;font-size:1.05rem;letter-spacing:.02em;--rot: -7deg;animation:bob 7s ease-in-out infinite}.dc-glyph:before{content:attr(data-t)}@keyframes bob{0%,to{transform:translateY(0) rotate(var(--rot))}50%{transform:translateY(-14px) rotate(calc(var(--rot) * -1))}}.dc-g1{top:16%;right:25%;--depth: 30px}.dc-g2{top:64%;right:3%;--rot: 8deg;animation-duration:8.5s;animation-delay:-2s;--depth: 18px}.dc-g3{bottom:8%;right:5%;--rot: -4deg;animation-duration:9s;animation-delay:-5s}.dc-g4{top:26%;right:2%;--rot: 10deg;animation-duration:6.5s;animation-delay:-1s;--depth: 26px}.dc-g5{bottom:13%;right:24%;--rot: 5deg;animation-duration:10s;animation-delay:-3s;font-size:.85rem}.dc-g6{top:6%;left:58%;--rot: 6deg;animation-duration:7.5s;animation-delay:-6s;--depth: 22px}.deco-kishou .dc-c1{width:170px;top:6%;right:8%;opacity:.16;--depth: 24px}.deco-kishou .dc-c2{width:110px;top:58%;left:52%;opacity:.1;animation-duration:13s;animation-delay:-5s}.deco-kishou .dc-c3{width:90px;top:12%;left:44%;opacity:.1;animation-duration:18s;animation-delay:-9s;--depth: 30px}.dc-rain{top:calc(6% + 62px);right:calc(8% + 30px);width:104px;height:74px;transform:rotate(12deg);opacity:.55}.dc-rain i{position:absolute;top:0;width:2px;height:13px;border-radius:2px;background:#fff;opacity:0;animation:rain 1.3s linear infinite}.dc-rain i:nth-child(1){left:6px;animation-delay:0s}.dc-rain i:nth-child(2){left:20px;animation-delay:.55s}.dc-rain i:nth-child(3){left:34px;animation-delay:.25s}.dc-rain i:nth-child(4){left:48px;animation-delay:.85s}.dc-rain i:nth-child(5){left:62px;animation-delay:.4s}.dc-rain i:nth-child(6){left:76px;animation-delay:1s}.dc-rain i:nth-child(7){left:90px;animation-delay:.7s}@keyframes rain{0%{opacity:0;transform:translateY(-8px)}15%{opacity:1}85%{opacity:.8}to{opacity:0;transform:translateY(58px)}}.dc-wind{width:220px;bottom:5%;right:7%;opacity:.4;--depth: 12px}.dc-wind path{fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-dasharray:70 420;stroke-dashoffset:70;animation:gust 4.6s ease-in-out infinite}.dc-wind path:nth-child(2){animation-delay:.5s}.dc-wind path:nth-child(3){animation-delay:1s}@keyframes gust{0%{stroke-dashoffset:70;opacity:0}15%{opacity:1}70%{opacity:1}to{stroke-dashoffset:-340;opacity:0}}.dc-isobar{width:270px;left:-80px;bottom:-120px;opacity:.16;--depth: 10px}.dc-isobar circle{fill:none;stroke:#fff;stroke-width:2;stroke-dasharray:5 7;transform-origin:100px 100px;animation:spin-slow 70s linear infinite}.dc-isobar circle:nth-child(2){animation-direction:reverse;animation-duration:90s}.dc-isobar text{fill:#fff;font:800 34px/1 var(--font)}@keyframes spin-slow{to{transform:rotate(360deg)}}.deco-auth .dc-c1{width:160px;top:30%;right:-30px;opacity:.12;--depth: 24px}.deco-auth .dc-c2{width:100px;bottom:16%;left:8%;opacity:.1;animation-duration:12s;animation-delay:-6s}.deco-auth .dc-c3{width:80px;top:8%;left:48%;opacity:.1;animation-duration:17s;--depth: 30px}.deco-cta .dc-s1{top:18%;right:4%}.deco-cta .dc-s2{top:auto;bottom:18%;right:30%}.deco-cta .dc-s3{bottom:auto;top:16%;left:38%}.deco-cta .dc-s4{top:64%;left:3%}.deco-cta .dc-s5{bottom:12%;right:12%}@media(max-width:639px){.dc-g2,.dc-g3,.dc-g5,.dc-g6,.dc-s3,.dc-s5,.deco-home .dc-c2,.deco-kishou .dc-c2,.dc-wind{display:none}.dc-glyph{opacity:.7}}.tenki-spot{display:flex;align-items:center;gap:10px}.tenki-box{flex:none;cursor:pointer}.tenki-box .tenki{transition:transform .35s var(--ease-spring)}@media(hover:hover){.tenki-box:hover .tenki{transform:scale(1.05) rotate(-2deg)}}.tenki-box:active .tenki{transform:scale(.94)}.tenki-hello{height:84px;margin:-6px 0 12px -6px}.tenki-hello .tenki-box{width:104px;animation:tenki-in .9s var(--ease-spring) .15s backwards}.hero .tenki-hello .tenki-say{font-size:.92rem}.tenki-perch{display:none}@media(min-width:960px){.hero .tenki-hello{display:none}.tenki-perch{display:flex;flex-direction:row-reverse;align-items:flex-start;gap:0;position:absolute;right:6px;bottom:calc(100% - 34px)}.tenki-perch .tenki-box{width:150px;animation:tenki-in .95s var(--ease-spring) .75s backwards}.tenki-perch .tenki-say{margin:4px -8px 0 0;animation-delay:1.3s}.tenki-perch .tenki-say:after{inset:50% -6px auto auto;margin-top:-7px;border-radius:0 4px 0 0;box-shadow:1px -1px #4f46e51a}}@keyframes tenki-in{0%{opacity:0;transform:translateY(-26px) scale(.6) rotate(-12deg)}60%{opacity:1;transform:translateY(4px) scale(1.06) rotate(3deg)}}.cta-band>.cta-tenki{position:relative;z-index:1;flex:0 0 116px;width:116px;margin:-14px -6px -18px -8px;cursor:pointer}.cta-band>div:not(.cta-tenki){position:relative;z-index:1}.cta-band>.btn{z-index:1}@media(max-width:639px){.cta-band>.cta-tenki{position:absolute;right:6px;top:4px;width:84px;flex:none;margin:0}.cta-band h2{padding-right:84px}}.tenki-lost{flex-direction:column-reverse;gap:4px;margin-bottom:4px}.tenki-lost .tenki-box{width:210px}.tenki-lost .tenki-say.tail-left:after{left:50%;margin-left:-7px;top:auto;bottom:-6px;margin-top:0;border-radius:0 0 4px;box-shadow:1px 1px #4f46e51a}.course-card,.feature,.part-card,.stat-card,.exam-part,.teaser{position:relative;isolation:isolate;transition:transform .4s var(--ease-soft),box-shadow .4s,border-color .25s}:is(.course-card,.feature,.part-card,.stat-card,.exam-part,.teaser):after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .35s;background:radial-gradient(280px circle at var(--mx, 50%) var(--my, 50%),color-mix(in srgb,var(--tone, var(--primary)) 13%,transparent),transparent 70%)}.course-card:before{transition:transform .35s var(--ease-soft);transform-origin:50% 0}.icon-tile{transition:transform .4s var(--ease-spring)}@media(hover:hover){.course-card:hover,.feature:hover,.part-card:hover,.teaser:hover,.exam-part:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:color-mix(in srgb,var(--tone, var(--primary)) 35%,var(--border))}.stat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}:is(.course-card,.feature,.part-card,.stat-card,.exam-part,.teaser):hover:after{opacity:1}.course-card:hover:before{transform:scaleY(1.75)}:is(.course-card,.feature,.stat-card,.teaser):hover .icon-tile,.part-card:hover>.course-head .icon-tile{animation:wiggle .65s var(--ease-out)}a.item{transition:border-color .2s,box-shadow .25s,transform .3s var(--ease-soft)}a.item:hover{transform:translate(4px)}a.item .item-end svg{transition:transform .35s var(--ease-spring)}a.item:hover .item-end svg{transform:translate(3px)}}@keyframes wiggle{25%{transform:rotate(-12deg) scale(1.12)}50%{transform:rotate(9deg) scale(1.12)}75%{transform:rotate(-4deg) scale(1.05)}}.stat-value{font-variant-numeric:tabular-nums;transform-origin:0 60%}.stat-value.counted{animation:count-pop .55s var(--ease-spring)}@keyframes count-pop{40%{transform:scale(1.14);color:var(--primary)}}:root{interpolate-size:allow-keywords}@supports selector(::details-content){details.fold::details-content{block-size:0;overflow-y:clip;transition:block-size .42s var(--ease-soft),content-visibility .42s allow-discrete}details.fold[open]::details-content{block-size:auto}}details.fold{transition:box-shadow .25s,border-color .25s}details.fold[open]{box-shadow:var(--shadow);border-color:var(--border-strong)}details.fold>summary{border-radius:inherit;transition:background .2s}details.fold[open]>summary{border-bottom-left-radius:0;border-bottom-right-radius:0}details.fold>summary .chev{transition:transform .4s var(--ease-spring)}@media(hover:hover){details.fold>summary:hover{background:var(--surface-2)}details.fold:not([open])>summary:hover .chev{transform:translate(3px)}}details.fold[open] .chips li{animation:chip-in .4s var(--ease-spring) backwards}details.fold[open] .lessons li{animation:lesson-in .4s var(--ease-soft) backwards}details.fold[open] :is(.chips,.lessons) li:nth-child(2){animation-delay:.03s}details.fold[open] :is(.chips,.lessons) li:nth-child(3){animation-delay:.06s}details.fold[open] :is(.chips,.lessons) li:nth-child(4){animation-delay:.09s}details.fold[open] :is(.chips,.lessons) li:nth-child(5){animation-delay:.12s}details.fold[open] :is(.chips,.lessons) li:nth-child(6){animation-delay:.15s}details.fold[open] :is(.chips,.lessons) li:nth-child(7){animation-delay:.18s}details.fold[open] :is(.chips,.lessons) li:nth-child(8){animation-delay:.21s}details.fold[open] :is(.chips,.lessons) li:nth-child(9){animation-delay:.24s}details.fold[open] :is(.chips,.lessons) li:nth-child(10){animation-delay:.27s}details.fold[open] :is(.chips,.lessons) li:nth-child(n+11){animation-delay:.3s}@keyframes chip-in{0%{opacity:0;transform:scale(.7) translateY(6px)}}@keyframes lesson-in{0%{opacity:0;transform:translate(-14px)}}.foot nav a{background:linear-gradient(currentColor,currentColor) 0 calc(100% - 4px) / 0 1.5px no-repeat;transition:background-size .35s var(--ease-soft),color .15s}.back-link svg,.section-head>a svg{transition:transform .35s var(--ease-spring)}@media(hover:hover){.foot nav a:hover{background-size:100% 1.5px}.back-link:hover svg{transform:translate(-4px)}.section-head>a:hover svg{transform:translate(4px)}}.auth-side .auth-side-title{animation:rise .9s var(--ease-soft) .1s backwards}.auth-side .auth-feature{animation:feat-in .65s var(--ease-soft) backwards}.auth-side .auth-feature:nth-child(1){animation-delay:.25s}.auth-side .auth-feature:nth-child(2){animation-delay:.35s}.auth-side .auth-feature:nth-child(3){animation-delay:.45s}.auth-side .auth-feature:nth-child(4){animation-delay:.55s}.auth-side .auth-feature .icon-tile{animation:tile-pop .75s var(--ease-spring) backwards;animation-delay:inherit}.auth-side .foot-note{animation:fade-up .7s var(--ease-out) .75s backwards}.auth-side>:not(.hero-deco){position:relative;z-index:1}@keyframes feat-in{0%{opacity:0;transform:translate(-22px)}}.auth-hello{min-height:92px}.auth-hello .tenki-hello{height:auto;margin:-10px 0 0 -10px}.auth-hello .tenki-box{width:124px}.auth-title.swap>*{animation:fade-up .4s var(--ease-out) backwards}.auth-title.swap>p{animation-delay:.05s}#account[data-dir=fwd]>*{animation:step-fwd .45s var(--ease-soft) backwards}#account[data-dir=back]>*{animation:step-back .45s var(--ease-soft) backwards}#account[data-dir]>:nth-child(2){animation-delay:.04s}#account[data-dir]>:nth-child(3){animation-delay:.08s}#account[data-dir]>:nth-child(n+4){animation-delay:.12s}@keyframes step-fwd{0%{opacity:0;transform:translate(26px)}}@keyframes step-back{0%{opacity:0;transform:translate(-26px)}}.form>:nth-child(2){animation-delay:.04s}.form>:nth-child(3){animation-delay:.08s}.form>:nth-child(4){animation-delay:.12s}.form>:nth-child(n+5){animation-delay:.16s}.segmented{position:relative;isolation:isolate}.segmented:before{content:"";position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 5px);z-index:-1;border-radius:9px;background:var(--surface);box-shadow:var(--shadow-sm);transform:translate(calc(var(--i, 0) * (100% + 2px)))}.segmented.slide:before{animation:seg-slide .45s var(--ease-spring) backwards}@keyframes seg-slide{0%{transform:translate(calc(var(--from, 0) * (100% + 2px)))}}.segmented [role=tab]{transition:color .2s}.segmented [role=tab][aria-selected=true]{background:transparent;box-shadow:none}.field label{transition:color .2s}.field:focus-within>label{color:var(--primary-ink)}.input{transition:border-color .2s,box-shadow .25s,background-color .2s}.input.bad{border-color:var(--danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 22%,transparent)}.pw-toggle[aria-pressed=true] svg{animation:eye-flip .35s var(--ease-spring)}@keyframes eye-flip{0%{transform:scaleY(.2)}}.pw-meter{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:2px}.pw-meter i{position:relative;height:6px;border-radius:3px;overflow:hidden;background:var(--surface-3)}.pw-meter i:after{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--meter, var(--primary));transform:scaleX(0);transform-origin:0 50%;transition:transform .4s var(--ease-soft),background-color .3s}.pw-meter i.on:after{transform:scaleX(1)}.pw-meter i:nth-child(2):after{transition-delay:.04s}.pw-meter i:nth-child(3):after{transition-delay:.08s}.pw-meter i:nth-child(4):after{transition-delay:.12s}.pw-meter[data-score="1"]{--meter: var(--danger)}.pw-meter[data-score="2"]{--meter: #f59e0b}.pw-meter[data-score="3"]{--meter: var(--primary)}.pw-meter[data-score="4"]{--meter: var(--success)}.pw-meter-row{display:flex;justify-content:space-between;gap:8px;min-height:1.3em;font-size:.8rem}.pw-meter-label{font-weight:800;color:var(--muted);transition:color .2s}.pw-meter-label[data-score="1"]{color:var(--danger-ink)}.pw-meter-label[data-score="2"]{color:var(--warn-ink)}.pw-meter-label[data-score="3"]{color:var(--primary-ink)}.pw-meter-label[data-score="4"]{color:var(--success-ink)}.pw-meter-label.up{display:inline-block;animation:chip-pop .4s var(--ease-spring)}.otp{position:relative}.otp-slots{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;pointer-events:none}.otp-slot{position:relative;height:58px;border-radius:12px;border:1.5px solid var(--border-strong);background:var(--surface);display:flex;align-items:center;justify-content:center;font-size:1.55rem;font-weight:800;color:var(--text);transition:border-color .2s,box-shadow .2s,background-color .2s}.otp-slot.filled{border-color:color-mix(in srgb,var(--primary) 55%,var(--border-strong));background:var(--primary-soft);color:var(--primary-ink)}.otp-slot.pop{animation:slot-pop .35s var(--ease-spring)}.otp:focus-within .otp-slot.active{border-color:var(--primary);box-shadow:var(--ring)}.otp:focus-within .otp-slot.active:after{content:"";width:2px;height:26px;border-radius:2px;background:var(--primary);animation:caret 1s steps(1) infinite}.otp.done .otp-slot{animation:slot-wave .55s var(--ease-spring) backwards}.otp.done .otp-slot:nth-child(2){animation-delay:.04s}.otp.done .otp-slot:nth-child(3){animation-delay:.08s}.otp.done .otp-slot:nth-child(4){animation-delay:.12s}.otp.done .otp-slot:nth-child(5){animation-delay:.16s}.otp.done .otp-slot:nth-child(6){animation-delay:.2s}.otp.bad .otp-slot{border-color:var(--danger);background:var(--danger-soft);color:var(--danger-ink)}.otp input{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:12px;background:transparent;color:transparent;caret-color:transparent;font-size:16px;letter-spacing:2em;outline:none;box-shadow:none!important}.otp input::selection{background:transparent}@keyframes slot-pop{0%{transform:scale(.8)}60%{transform:scale(1.1)}}@keyframes slot-wave{40%{transform:translateY(-8px)}}@keyframes caret{50%{opacity:0}}.notice:not([hidden]){animation:notice-in .45s var(--ease-spring)}.notice.ok svg path{stroke-dasharray:12;animation:draw-12 .5s var(--ease-out) .15s backwards}.notice.error svg{animation:wiggle .55s var(--ease-out) .1s}@keyframes notice-in{0%{opacity:0;transform:translateY(-6px) scale(.97)}}@keyframes draw-12{0%{stroke-dashoffset:12}}.shake{animation:shake .48s cubic-bezier(.36,.07,.19,.97)}@keyframes shake{15%,55%{transform:translate(-8px)}35%,75%{transform:translate(7px)}90%{transform:translate(-3px)}}.profile-head .avatar{position:relative;animation:avatar-pop .7s var(--ease-spring) .1s backwards}.profile-head .avatar:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid color-mix(in srgb,var(--primary) 45%,transparent);opacity:0;animation:avatar-ring 2.4s var(--ease-out) .7s 3}@keyframes avatar-ring{0%{opacity:.9;transform:scale(.9)}to{opacity:0;transform:scale(1.35)}}#account .list>li{animation:step-fwd .5s var(--ease-soft) backwards}#account .list>li:nth-child(1){animation-delay:.16s}#account .list>li:nth-child(2){animation-delay:.26s}#account .list>li:nth-child(n+3){animation-delay:.36s}.confetti{position:fixed;inset:0;z-index:90;pointer-events:none;overflow:hidden}.confetti i{position:absolute;background:var(--c);border-radius:2px;opacity:0;transform:translate(-50%,-50%);animation:confetti 1.6s var(--d, 0s) forwards}@keyframes confetti{0%{opacity:1;transform:translate(-50%,-50%) scale(.5);animation-timing-function:cubic-bezier(.1,.8,.3,1)}45%{opacity:1;transform:translate(-50%,-50%) translate(var(--x),var(--y)) rotate(calc(var(--r) * .5));animation-timing-function:cubic-bezier(.5,0,.9,.6)}to{opacity:0;transform:translate(-50%,-50%) translate(var(--x),calc(var(--y) + var(--fall))) rotate(var(--r))}}@media print{.rv{opacity:1!important;transform:none!important}.hero-deco,.tenki-spot,.cta-tenki,.confetti{display:none!important}}.linklike:disabled{color:var(--muted);cursor:default;text-decoration:none}
