.robocat{position:relative;flex:none;display:inline-block}.robocat svg{display:block;width:100%;height:100%;overflow:visible}.robocat__breath{transform-origin:100px 190px;animation:robocat-breath 3.4s ease-in-out infinite}.robocat__char{transform-origin:100px 190px;transition:transform .3s}.robocat__eyes{transition:transform .18s ease-out}.robocat--bounce .robocat__char{animation:robocat-hop .6s ease-out 2}.robocat--sad .robocat__char{transform:translateY(4px) rotate(-3deg)}.robocat--angry .robocat__char{animation:robocat-shake .35s ease-in-out 3}.robocat__tear{animation:robocat-tear 1.1s ease-in infinite}.robocat__tear--late{animation-delay:.45s}.robocat__steam path{animation:robocat-steam 1s ease-out infinite}.robocat__dots{position:absolute;top:-4%;right:-12%;display:flex;gap:.36em;padding:.5em .75em;font-size:max(7px,calc(var(--rc) * .07));background:#fff;border:1px solid var(--line);border-radius:1em}.robocat__dots i{width:.5em;height:.5em;border-radius:50%;background:var(--indigo);animation:robocat-dot 1.1s infinite}.robocat__dots i:nth-child(2){animation-delay:.18s}.robocat__dots i:nth-child(3){animation-delay:.36s}.robocat__spark{position:absolute;left:50%;top:40%;width:max(6px,calc(var(--rc) * .06));height:max(6px,calc(var(--rc) * .06));background:var(--saffron);clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);pointer-events:none;opacity:0;animation:robocat-spark .9s ease-out forwards}@keyframes robocat-breath{50%{transform:scale(1.015,.99)}}@keyframes robocat-hop{35%{transform:translateY(-14px) scale(1.03)}60%{transform:translateY(0) scale(.98,1.02)}}@keyframes robocat-shake{25%{transform:translate(-4px) rotate(-2deg)}75%{transform:translate(4px) rotate(2deg)}}@keyframes robocat-tear{0%{transform:translateY(-6px);opacity:0}20%{opacity:1}to{transform:translateY(26px);opacity:0}}@keyframes robocat-steam{0%{transform:translateY(6px);opacity:0}50%{opacity:1}to{transform:translateY(-8px);opacity:0}}@keyframes robocat-dot{0%,to{opacity:.3}40%{transform:translateY(-4px);opacity:1}}@keyframes robocat-spark{0%{opacity:0;transform:scale(.3)}30%{opacity:1}to{opacity:0;transform:translate(var(--dx),var(--dy)) scale(1.1)}}@media (prefers-reduced-motion: reduce){.robocat__breath,.robocat--bounce .robocat__char,.robocat--angry .robocat__char,.robocat__tear,.robocat__steam path,.robocat__dots i,.robocat__spark{animation:none}.robocat__tear,.robocat__steam path{opacity:1}}.robocat--alive{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.robocat__flush{opacity:0;transition:opacity .4s;mix-blend-mode:multiply}.robocat--fury .robocat__flush{opacity:.28}.robocat--fury .robocat__char{animation:robocat-shake .3s ease-in-out 4}.robocat--startle .robocat__char{animation:robocat-startle .32s ease-out}.robocat--wake .robocat__char{animation:robocat-wake .7s ease-out}.robocat--wake .robocat__eyes{animation:robocat-eyes-on .7s ease-out}.robocat--yawn .robocat__char{animation:robocat-yawn 1.4s ease-in-out forwards}.robocat--asleep .robocat__char{transform:translateY(3px) rotate(-4deg)}.robocat--asleep .robocat__breath{animation-duration:5.2s}.robocat--sleepy .robocat__eyes,.robocat--asleep .robocat__eyes{opacity:.55;transition:opacity .6s}.robocat__zzz{position:absolute;top:-6%;right:-4%;font-size:max(9px,calc(var(--rc) * .14));font-weight:800;color:var(--blue-dark, #0369a1);pointer-events:none}.robocat__zzz i{position:absolute;right:0;top:0;font-style:normal;opacity:0;animation:robocat-zzz 2.7s ease-out infinite}.robocat__zzz i:nth-child(2){animation-delay:.9s;font-size:.8em}.robocat__zzz i:nth-child(3){animation-delay:1.8s;font-size:.65em}@keyframes robocat-startle{30%{transform:translateY(-5px) scale(1.06) rotate(-5deg)}65%{transform:scale(.98) rotate(4deg)}}@keyframes robocat-wake{0%{transform:translateY(3px) rotate(-4deg)}40%{transform:translateY(-12px) scale(1.05)}70%{transform:translateY(0) scale(.98,1.02)}}@keyframes robocat-eyes-on{0%,30%{filter:brightness(2.2) drop-shadow(0 0 6px currentColor)}}@keyframes robocat-yawn{35%{transform:rotate(-6deg) scale(1.03,.97)}70%{transform:rotate(3deg) scale(.98,1.03)}to{transform:translateY(3px) rotate(-4deg)}}@keyframes robocat-zzz{0%{opacity:0;transform:translate(0) scale(.6)}25%{opacity:1}to{opacity:0;transform:translate(.9em,-1.6em) scale(1.1)}}@media (prefers-reduced-motion: reduce){.robocat--fury .robocat__char,.robocat--startle .robocat__char,.robocat--wake .robocat__char,.robocat--wake .robocat__eyes,.robocat--yawn .robocat__char,.robocat__zzz i{animation:none}.robocat__zzz i:first-child{opacity:1}}.shell__main{min-width:0;padding-bottom:calc(68px + var(--safe-bottom))}.shell--immersive .shell__main{padding-bottom:0}.nav{position:fixed;z-index:40;left:0;right:0;bottom:0;background:var(--sheet);border-top:2px solid var(--line);padding:8px calc(8px + var(--safe-right)) calc(8px + var(--safe-bottom)) calc(8px + var(--safe-left))}.shell--immersive .nav,.nav__brand,.nav__course,.nav__label--desktop{display:none}.nav__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr)}.nav__item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:56px;min-height:48px;margin:0 auto;border:2px solid transparent;border-radius:14px;color:var(--ink-3);text-decoration:none;font-size:11px;font-weight:700}.nav__item--active{color:var(--blue-dark);background:var(--blue-soft);border-color:var(--blue-line)}.nav__label--phone{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.nav__badge{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--orange);color:#fff;font-size:11px;font-weight:800;line-height:20px;text-align:center}.offline-note{display:flex;align-items:center;gap:8px;margin:0;padding:calc(8px + var(--safe-top)) var(--gutter) 8px;background:var(--gold-soft);color:var(--gold-dark);font-weight:600;font-size:13px}@media (min-width: 768px){.shell{display:grid;grid-template-columns:72px minmax(0,1fr);min-height:100dvh}.shell__main,.shell--immersive .shell__main{padding-bottom:0}.nav,.shell--immersive .nav{position:sticky;top:0;display:flex;flex-direction:column;height:100dvh;padding:calc(16px + var(--safe-top)) 10px 16px calc(10px + var(--safe-left));border-top:0;border-right:2px solid var(--line)}.nav__list{display:flex;flex-direction:column;gap:6px}.nav__item{width:48px;min-height:48px}}@media (min-width: 1200px){.shell{grid-template-columns:240px minmax(0,1fr)}.nav,.shell--immersive .nav{padding:28px 16px 20px}.nav__brand{display:block;font:800 28px/1.2 var(--font-display);color:var(--green);padding:0 12px 24px}.nav__item{width:auto;margin:0;flex-direction:row;justify-content:flex-start;gap:12px;min-height:50px;padding:0 12px;font-size:15px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:var(--ink-3)}.nav__label--desktop{display:inline}.nav__badge{position:static;margin-left:auto}.nav__course{display:flex;align-items:center;gap:10px;margin-top:auto;padding:12px;border:0;border:2px solid var(--line);border-radius:16px;background:var(--sheet);text-align:left}.nav__course-text{flex:1;display:flex;flex-direction:column}}.auth{min-height:100dvh;display:flex;flex-direction:column;align-items:center;gap:28px;padding:calc(40px + var(--safe-top)) var(--gutter) calc(24px + var(--safe-bottom));background:linear-gradient(to bottom,var(--c-band) 0,var(--c-band) calc(310px + var(--safe-top)),var(--ground) 0)}.auth__hero{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.auth__brand{font:800 48px/1.1 var(--font-display);color:var(--green-dark)}.auth__card{width:100%;max-width:420px;display:flex;flex-direction:column;gap:16px}.auth__modes{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;border-radius:14px;background:var(--well)}.auth__mode{min-height:var(--tap);border:0;border-radius:10px;background:none;font-size:14px;font-weight:600;color:var(--ink-2)}.auth__mode--on{background:var(--sheet);color:var(--blue-dark);font-weight:800;box-shadow:0 2px 0 var(--line-2)}.garland{display:block;overflow:visible}.garland__string{fill:none;stroke:var(--ink-3);stroke-width:.8;opacity:.6}.garland__flag{stroke-linejoin:round}.garland__flag--empty{stroke:var(--line-2);stroke-width:.9}.garland__flag--new{animation:garland-unfurl .5s cubic-bezier(.3,1.5,.6,1) both}@keyframes garland-unfurl{0%{transform:scaleY(0)}}.medallion{position:relative;display:inline-block;flex:none}.medallion svg{position:relative;display:block;overflow:visible}.medallion__disc{stroke-width:1.4}.medallion__char{font-size:26px;font-weight:700}.medallion__char--latin{font-family:var(--font-display);font-weight:600}.medallion--done .medallion__disc{fill:var(--turq);stroke:var(--turq)}.medallion--done .medallion__char{fill:#fff}.medallion--current .medallion__disc{fill:var(--cinnabar);stroke:var(--cinnabar)}.medallion--current .medallion__char{fill:#fff}.medallion--open .medallion__disc{fill:var(--sheet);stroke:var(--turq)}.medallion--open .medallion__char{fill:var(--turq)}.medallion--locked .medallion__disc{fill:var(--sheet);stroke:var(--line-2)}.medallion--locked .medallion__char{fill:var(--ink-3);font-weight:500}.medallion--current:before,.medallion__pulse{content:"";position:absolute;inset:-8px;border-radius:50%;background:#0ea5e91f}.medallion__pulse{background:none;border:2px solid rgba(14,165,233,.35);animation:medallion-pulse 2.4s ease-out infinite}@keyframes medallion-pulse{0%{transform:scale(.85);opacity:.9}to{transform:scale(1.25);opacity:0}}@media (prefers-reduced-motion: reduce){.medallion__pulse{animation:none;display:none}}.lesson-path{position:relative;margin:8px 0}.lesson-path__road{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.lesson-path__ribbon{fill:none;stroke:var(--road);stroke-width:16;stroke-linecap:round}.lesson-path__ribbon--done{stroke:var(--turq-soft)}.lesson-path__marking{fill:none;stroke:var(--sheet);stroke-width:1.5;stroke-dasharray:4 6;opacity:.9}.lesson-path__list{list-style:none;margin:0;padding:0}.lesson-path__stop{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center}.lesson-path__medallion{display:grid;place-items:center;padding:0;border:0;background:none;border-radius:50%}.lesson-path__medallion:disabled{cursor:default}.lesson-path__label{position:absolute;display:flex;flex-direction:column;width:max-content;max-width:min(52vw,220px)}.lesson-path__title{font-size:18px;font-weight:600;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lesson-path__status{font-size:13px;color:var(--ink-2)}.lesson-path__stop--current .lesson-path__status{color:var(--cinnabar-ink);font-weight:600}.lesson-path__stop--locked .lesson-path__title{color:var(--ink-3);font-weight:500}.lesson-path__stop--right .lesson-path__label{left:calc(100% + 14px)}.lesson-path__stop--left .lesson-path__label{right:calc(100% + 14px);text-align:right;align-items:flex-end}.lesson-path__stop--below .lesson-path__label{top:calc(100% + 6px);left:50%;transform:translate(-50%);text-align:center;align-items:center;max-width:132px}.lesson-path--wave .lesson-path__title{font-size:15px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.cpath,.cpath__nodes{list-style:none;margin:0;padding:0}.cpath{display:flex;flex-direction:column;gap:28px;padding:8px 0 24px}.cpath__header{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:12px 16px;border:2px solid var(--line);border-radius:var(--radius-card);background:var(--sheet)}.cpath__number{padding:2px 10px;border-radius:999px;background:var(--green);color:#fff;font-size:13px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.cpath__title{font-size:20px;font-weight:700}.cpath__title-ru{flex-basis:100%;font-size:14px;color:var(--ink-3)}.cpath__nodes{display:flex;flex-direction:column;align-items:center;gap:18px;padding-top:18px}.cpath__node{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;transform:translate(var(--x, 0))}.cpath__button{--face: var(--line);--edge: var(--line-2);--icon: var(--ink-3);display:grid;place-items:center;width:72px;height:72px;border:0;border-radius:50%;background:var(--face);color:var(--icon);box-shadow:0 6px 0 var(--edge);transition:transform .06s ease,box-shadow .06s ease}.cpath__button:active:not(:disabled){transform:translateY(6px);box-shadow:0 0 0 var(--edge)}.cpath__node--done .cpath__button{--face: var(--green);--edge: var(--green-dark);--icon: #fff}.cpath__node--current .cpath__button{--face: var(--blue);--edge: var(--blue-dark);--icon: #fff;width:88px;height:88px;box-shadow:0 7px 0 var(--edge),0 0 0 10px var(--blue-soft);animation:cpath-pulse 2.4s ease-in-out infinite}.cpath__node--open .cpath__button{--face: var(--blue-soft);--edge: var(--blue);--icon: var(--blue-dark)}.cpath__node--soon .cpath__button{--face: var(--well);--edge: var(--line);--icon: var(--line-2)}.cpath__label{font-size:14px;font-weight:800;color:var(--ink-3)}.cpath__node--done .cpath__label{color:var(--green-dark)}.cpath__node--current .cpath__label,.cpath__node--open .cpath__label{color:var(--blue-dark)}.cpath__cat{position:absolute;top:6px}.cpath__cat--right{left:calc(100% + 18px)}.cpath__cat--left{right:calc(100% + 18px)}@keyframes cpath-pulse{50%{box-shadow:0 7px 0 var(--edge),0 0 0 16px #0ea5e91f}}.avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;overflow:hidden;background:#eef2f7;box-shadow:inset 0 0 0 2px var(--line)}.avatar img{width:100%;height:100%;object-fit:cover;display:block}.badge-medal{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;color:#fff;background:var(--medal, var(--green));box-shadow:0 4px 0 var(--medal-edge, #15803d)}.badge-medal--flame{--medal: #fff1e6;--medal-edge: #fdba74}.badge-medal--cards{--medal: var(--blue);--medal-edge: var(--blue-dark)}.badge-medal--book,.badge-medal--books{--medal: var(--green);--medal-edge: #15803d}.badge-medal--star{--medal: var(--gold);--medal-edge: #b45309}.badge-medal--moon{--medal: #6366f1;--medal-edge: #4338ca}.badge-medal--sun{--medal: #f97316;--medal-edge: #c2410c}.badge-medal--trophy{--medal: #eab308;--medal-edge: #a16207}.badge-medal--bolt{--medal: #ec4899;--medal-edge: #be185d}.badge-medal--locked{--medal: var(--line);--medal-edge: var(--line-2);color:var(--ink-3)}.badge-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 10px}.badge-tile{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;height:128px;text-align:center}.badge-tile__title{max-width:100%;font-size:12px;font-weight:800;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.badge-tile--locked .badge-tile__title{color:var(--ink-3)}.badge-tile__count{color:var(--gold)}.badge-tile__how{max-width:100%;font-size:11px;line-height:1.25;color:var(--ink-3);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.badge-tile--locked .badge-medal{transform:scale(.86);opacity:.85}.unlock-backdrop{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:var(--gutter);background:#0f172a73;animation:unlock-fade .2s ease-out}.unlock{width:min(360px,100%);box-sizing:border-box;padding:26px 22px 22px;border-radius:26px;background:var(--ground);text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;animation:unlock-pop .45s cubic-bezier(.2,1.4,.4,1)}.unlock__stage{position:relative;width:150px;height:130px;display:flex;align-items:center;justify-content:center}.unlock__rays{position:absolute;inset:0;border-radius:50%;background:repeating-conic-gradient(rgba(245,158,11,.18) 0 12deg,transparent 12deg 30deg);animation:unlock-spin 8s linear infinite}.unlock__cat{position:absolute;right:-10px;bottom:-4px}.unlock__caps{margin:8px 0 0;font-size:13px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}.unlock__title{margin:0;font-size:26px;font-weight:800}.unlock__how{margin:0 0 14px;color:var(--ink-3);font-size:14px}@keyframes unlock-pop{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}@keyframes unlock-fade{0%{opacity:0}}@keyframes unlock-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.unlock,.unlock-backdrop,.unlock__rays{animation:none}}.league{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.league__row{width:100%;display:flex;align-items:center;gap:10px;min-height:52px;padding:6px 10px;border:0;border-radius:14px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.league__row:hover{background:#f3f4f6}.league__row:active{transform:scale(.99)}.league__row--me{background:#e0f2fe;font-weight:700}.league__row--me:hover{background:#d3ecfc}.league__row--first .league__rank{color:#b45309;font-weight:900}.league__rank{width:20px;flex-shrink:0;color:var(--ink-3);font-size:14px;font-weight:800;text-align:center}.league__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.league__wins{display:inline-flex;align-items:center;gap:1px;margin-left:6px;color:#b45309;font-size:12px;font-weight:800;vertical-align:middle}.league__langs{display:flex;gap:3px;flex-shrink:0}.league__lang{min-width:22px;height:20px;padding:0 4px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:#f3f4f6;color:var(--ink-3);font-size:11px;font-weight:800}.league__xp{flex-shrink:0;font-variant-numeric:tabular-nums;font-weight:700}.member{display:flex;flex-direction:column;gap:8px;padding-bottom:8px}.member__head{display:flex;align-items:center;gap:14px}.member__who{flex:1;min-width:0}.member__caps{margin:0;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--blue-dark)}.member__name{margin:2px 0;font-size:22px;font-weight:800;overflow-wrap:anywhere}.member__close{align-self:flex-start}.member__section{margin:12px 0 2px;font-size:15px;font-weight:800}.member__langs,.member__badges{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.member__lang{display:flex;align-items:center;gap:12px}.member__mark{width:40px;height:40px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:#e0f2fe;color:var(--blue-dark);font-weight:800}.member__lang-text{display:flex;flex-direction:column;min-width:0}.member__badges{flex-direction:row;flex-wrap:wrap;gap:10px 14px}.member__badge{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700}.lesson{--lesson-column: 720px;width:100%;max-width:calc(var(--lesson-column) + 2 * var(--gutter));box-sizing:border-box;overflow-x:clip;margin:0 auto;padding:calc(8px + var(--safe-top)) calc(var(--gutter) + var(--safe-right)) 0 calc(var(--gutter) + var(--safe-left));min-height:100dvh;display:flex;flex-direction:column}.lesson__head{display:flex;align-items:center;gap:12px;min-height:52px}.lesson__progress{flex:1}.lesson__chapter{margin:4px 0 16px;font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--blue-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lesson__chapter-lesson{letter-spacing:0;text-transform:none;color:var(--ink-3)}.lesson__step{flex:1;display:flex;flex-direction:column}.lesson__footer{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding:16px 0 calc(16px + var(--safe-bottom));background:linear-gradient(to bottom,rgba(255,255,255,0),var(--ground) 30%)}.lesson__footer .btn--primary:only-child,.lesson__footer .btn--ink:only-child{width:100%}@media (min-width: 768px){.lesson__footer .btn:not(.btn--block){min-width:220px}}.reader{flex:1;display:flex;flex-direction:column}.reader--wide{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}.lesson:has(.reader--wide){--lesson-column: 1040px}.reader__text{position:relative;display:flex;flex-direction:column;gap:8px;min-height:100%;min-width:0;width:100%}.reader__hint{margin-bottom:8px}.reader__title{font-size:22px;font-weight:600;margin:4px 0 8px}.reader__sentences{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.reader__sentences--plain{display:block}.reader__sentences--plain .sentence,.reader__sentences--plain .sentence__body{display:inline;padding:0}.reader__sentences--plain .sentence__text{font-size:22px;line-height:1.85}.sentence{display:flex;gap:10px;padding:6px 4px;border-radius:16px}.sentence--key .sentence__text{background:linear-gradient(transparent 62%,var(--gold-soft) 62%)}.sentence__number{flex:none;width:20px;padding-top:10px;font-size:12px;color:var(--ink-3);text-align:right}.sentence__body{flex:1;min-width:0}.sentence__speaker{font-weight:700;color:var(--ink-2)}.sentence__text{font-family:var(--font-han);font-size:22px;line-height:1.85}.sentence__ru{margin-top:4px;color:var(--ink-2)}.sentence__tools{display:flex;gap:6px;margin-top:2px}.chip-btn{display:inline-flex;align-items:center;gap:4px;min-height:32px;padding:0 12px;border:1.5px solid var(--line);border-radius:999px;background:var(--sheet);color:var(--ink-2);font:600 13px/1 var(--font-ui)}.chip-btn--on{border-color:var(--blue-line);background:var(--blue-soft);color:var(--blue-dark)}.grammar-note{margin-top:10px;padding:10px 14px;border:2px solid var(--gold);border-radius:16px;background:var(--gold-soft)}.grammar-note summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;cursor:pointer;list-style-position:outside}.grammar-note[open] summary{margin-bottom:6px}.grammar-note__tag{padding:2px 8px;border-radius:999px;background:var(--gold);color:#fff;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.grammar-note__title{font-size:20px}.grammar-note__pattern{color:var(--gold-dark);font-size:15px}.grammar-note__text{margin-top:4px;font-size:15px;line-height:1.5}@media (min-width: 768px){.sentence__text,.reader__sentences--plain .sentence__text{font-size:26px}}.token{display:inline;padding:0 1px;margin:0;border:0;border-radius:4px;background:none;font:inherit;line-height:inherit;color:inherit}.token-group{white-space:nowrap}.token--word{text-decoration:underline dotted var(--blue);text-underline-offset:6px;text-decoration-thickness:1.5px}.token--selected{color:var(--ink);background:#fef08a;box-shadow:inset 0 -3px #eab308}.word-popover{position:absolute;z-index:20;transform:translateY(calc(-100% - 10px));animation:pop-in .16s ease-out}.word-popover--below{transform:translateY(10px)}.word-card--compact{gap:6px;padding:14px 16px;box-shadow:0 12px 32px #0f172a2e,0 4px 0 var(--line)}.word-card--compact .word-card__word{font-size:30px}@keyframes pop-in{0%{opacity:0}}.reader__panel{position:sticky;top:16px;display:flex;flex-direction:column;gap:16px;height:calc(100dvh - 120px)}.reader__panel-empty{padding:16px;border:1px dashed var(--line-2);border-radius:var(--radius-card)}.word-card{display:flex;flex-direction:column;gap:8px}.word-card__head{display:flex;align-items:center;gap:10px}.word-card__word{font-size:40px;font-weight:700;line-height:1.1;flex:1}.word-card__ru{font-weight:700;font-size:17px}.word-card__example{padding:12px;border-radius:14px;background:var(--well)}.sound-btn{display:grid;place-items:center;flex:none;width:48px;height:48px;border:0;border-radius:14px;background:var(--blue);color:#fff;box-shadow:0 4px 0 var(--blue-dark)}.sound-btn:active{transform:translateY(4px);box-shadow:none}.prompt__ru{font-size:15px}.learn{flex:1;display:flex;flex-direction:column;gap:14px}.learn__dots{display:flex;flex-wrap:wrap;gap:6px}.learn__dot{width:10px;height:10px;border-radius:50%;background:var(--line)}.learn__dot--done{background:var(--green)}.learn__dot--now{background:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}.learn__card{display:flex;flex-direction:column;gap:8px;padding:22px 20px;border:2px solid var(--line);border-radius:24px;box-shadow:0 4px 0 var(--line);animation:learn-in .25s ease-out}.learn__head{display:flex;align-items:center;gap:14px}.learn__word{flex:1;font-size:56px;font-weight:700;line-height:1.1}.learn__pinyin{font-size:20px;font-weight:700;color:var(--blue-dark)}.learn__ru{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:21px;font-weight:800}.learn__pos{min-height:26px;font-size:12px}.learn__example{margin-top:6px;padding:12px 14px;border-radius:16px;background:var(--well)}.learn__example .han{font-size:18px;line-height:1.7}.learn__example mark{background:#fef08a;border-radius:4px;padding:0 2px;box-shadow:inset 0 -3px #eab308}.learn__footer .btn--secondary{flex:none;width:56px;padding:0}.learn__next{flex:1}@keyframes learn-in{0%{opacity:0;transform:translate(24px)}}.word-card__example .han{font-size:17px}.grammar{display:flex;flex-direction:column;gap:10px}.grammar__title{font-size:28px;font-weight:600}.grammar__pattern{color:var(--ink-2)}.grammar__examples{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.grammar__examples li{display:flex;flex-direction:column;padding-left:12px;border-left:2px solid var(--line-2)}.grammar__examples .han{font-size:18px}li.grammar__example--text{border-left-color:var(--c-a1)}.grammar__from-text{align-self:flex-start;min-height:22px;margin-top:4px;font-size:11px}.grammar__check{padding:10px 12px;border-radius:12px;background:var(--well)}.capture{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.capture__row{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 14px;border:1px solid var(--line);border-radius:14px;background:var(--sheet)}.capture__row input{width:22px;height:22px;accent-color:var(--ink)}.capture__row--owned{opacity:.7}.capture__word{min-width:72px;font-size:22px}.capture__gloss{flex:1;display:flex;flex-direction:column}.task__questions{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}.task__phrases{flex-wrap:wrap}.exercise{flex:1;display:flex;flex-direction:column;width:100%;min-width:0}.exercise__instruction{margin-bottom:12px}.exercise__body{flex:1}.prompt{font-family:var(--font-han);font-size:24px;font-weight:500;line-height:1.9}.prompt--source{flex:1;padding:14px 18px;border:1px solid var(--line);border-radius:16px;background:var(--sheet);font-family:var(--font-ui);font-size:17px;font-weight:500;line-height:1.5}.prompt__blank{display:inline-block;width:3em;margin:0 4px;border-bottom:2px solid var(--ink-3)}.icon-btn--framed{border:1px solid var(--line-2);background:var(--sheet);width:52px;height:52px}.options{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.options:has(.option--long){grid-template-columns:minmax(0,1fr)}.option--long{font-size:19px;text-align:left;line-height:1.6}.listen-btn{display:flex;align-items:center;justify-content:center;gap:12px;min-height:88px;border:2px solid var(--blue-line);border-radius:var(--radius-tile);background:var(--blue-soft);box-shadow:0 4px 0 var(--blue-line);color:var(--blue-dark);font:800 16px/1.2 var(--font-ui)}.listen-btn:active:not(:disabled){transform:translateY(4px);box-shadow:none}.prompt__ru-toggle{align-self:flex-start;padding-left:0}.prompt--ru{font-family:var(--font-ui);font-size:18px;line-height:1.5}.option,.tile,.slot{border:2px solid var(--line);border-radius:var(--radius-tile);background:var(--sheet);box-shadow:0 4px 0 var(--line)}.option:active:not(:disabled),.tile:active:not(:disabled){transform:translateY(4px);box-shadow:none}.option{min-height:56px;padding:8px 16px;font-family:var(--font-han);font-size:20px}.option--selected{border-color:var(--blue-line);background:var(--blue-soft);color:var(--blue-dark);box-shadow:0 4px 0 var(--blue-line)}.option--correct,.slot--correct{border-color:var(--green);background:var(--green-soft);color:var(--green-dark);box-shadow:0 4px 0 var(--green);animation:tile-hop .4s ease-out}.option--wrong,.slot--wrong{border-color:var(--red);background:var(--red-soft);color:var(--red-dark);box-shadow:0 4px 0 var(--red)}.slot{display:inline-flex;align-items:center;justify-content:center;min-width:3.4em;min-height:44px;margin:0 4px;padding:0 10px;font-family:var(--font-han);font-size:20px;vertical-align:middle;border-style:dashed;box-shadow:none}.slot--filled{border-style:solid;box-shadow:0 3px 0 var(--line)}.slot--input{width:auto;font-family:var(--font-ui);font-size:17px;border-style:solid;background:#fff}.bank{display:flex;flex-wrap:wrap;gap:10px;min-height:56px}.tile{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;min-width:56px;min-height:56px;padding:4px 12px}.tile--word{font-family:var(--font-han);font-size:20px}.tile:disabled:not(.tile--placeholder){opacity:.45}.tile__pinyin{font-size:11px;color:var(--ink-2)}.tile__text{font-size:22px;line-height:1.2}.tile--placeholder{background:var(--well);border-color:transparent;box-shadow:none}.answer-line{display:flex;flex-wrap:wrap;gap:10px;min-height:74px;padding:8px 0;border-bottom:1px solid var(--line-2)}.answer-line .tile:disabled{opacity:1}.answer-line--correct .tile{background:var(--turq);border-color:var(--turq);color:#fff;animation:tile-hop .4s ease-out}.answer-line--correct .tile__pinyin{color:#ffffffd9}.answer-line--wrong .tile{border-style:dashed}@keyframes tile-hop{40%{transform:translateY(-6px)}}.feedback{position:sticky;bottom:0;z-index:10;display:flex;flex-direction:column;gap:14px;margin:24px calc(-1 * var(--gutter)) 0;padding:20px var(--gutter) calc(20px + var(--safe-bottom));border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;background:var(--red-soft);animation:rise .45s cubic-bezier(.2,.8,.2,1)}.feedback__head{display:flex;align-items:center;gap:10px}.feedback__badge{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;color:#fff;background:var(--red)}.feedback--correct{background:var(--green-soft)}.feedback--correct .feedback__badge{background:var(--green)}.feedback__title{font-size:21px;font-weight:800;color:var(--red-dark)}.feedback--correct .feedback__title{color:var(--green-dark)}.feedback__xp{margin-left:auto;font-weight:800;color:var(--gold-dark)}.feedback__body{display:flex;align-items:flex-end;gap:12px}.feedback__bubble{flex:1;display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:16px;background:#ffffffbf}.feedback__answer{font-size:18px;font-weight:600}.complete{min-height:100dvh;display:flex;flex-direction:column;align-items:center;max-width:480px;margin:0 auto;padding:calc(48px + var(--safe-top)) var(--gutter) calc(20px + var(--safe-bottom));text-align:center}.complete__hero{position:relative;display:grid;place-items:center;width:100%;height:210px}.complete__confetti{position:absolute;inset:0;pointer-events:none}.confetti{position:absolute;width:10px;height:10px;border-radius:2px;transform:rotate(var(--rot));animation:confetti-fall 1.3s cubic-bezier(.3,.6,.4,1) var(--delay) both}.confetti--strip{width:5px;height:16px}.confetti--diamond{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}@keyframes confetti-fall{0%{transform:translateY(-200px) rotate(calc(var(--rot) - 180deg));opacity:0}20%{opacity:1}}.complete__title{margin-top:8px;font-size:30px;font-weight:800;color:var(--gold)}.complete__subtitle{margin-top:4px;font-size:17px;font-weight:600;color:var(--ink-3)}.complete__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%;margin:28px 0 0}.stat-tile{--tone: var(--gold);--tone-dark: var(--gold-dark);display:flex;flex-direction:column;overflow:hidden;border:2px solid var(--tone);border-radius:16px}.stat-tile--green{--tone: var(--green);--tone-dark: var(--green-dark)}.stat-tile--blue{--tone: var(--blue);--tone-dark: var(--blue-dark)}.stat-tile dt{padding:5px 0;background:var(--tone);color:#fff;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.stat-tile dd{margin:0;padding:12px 0;font-size:24px;font-weight:800;color:var(--tone-dark)}.complete__footer{width:100%;margin-top:auto;padding-top:28px}.open-task__outline{margin:0;padding-left:1.4em;font-size:18px;line-height:1.7}.open-task__keywords{flex-wrap:wrap;gap:8px}.open-task__keywords .chip{font-size:17px;white-space:nowrap}.chip--done{background:var(--green-soft);color:var(--green-dark)}.open-task__input{min-height:120px;font-family:var(--font-han);font-size:19px;line-height:1.6;resize:vertical}.open-task__status{align-items:center;gap:12px}.feedback--inline{position:static;margin:0;border-radius:var(--radius-card);animation:none}.center-screen--inline{min-height:40vh}.placement--center{min-height:100dvh;max-width:460px;margin:0 auto;padding:calc(24px + var(--safe-top)) var(--gutter) calc(24px + var(--safe-bottom));box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center}.placement__lead{margin:0;font-size:17px;font-weight:600}.placement__actions{width:100%;display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:8px}.placement__card{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:16px;padding:30px 18px 22px;border:2px solid var(--line);border-radius:22px;box-shadow:0 5px 0 var(--line);background:var(--ground);text-align:center}.placement__cat{position:absolute;top:-26px;right:14px}.placement__prompt{margin:0;font-size:15px;font-weight:800;color:var(--ink-3)}.placement__text{margin:0;font-size:clamp(26px,7vw,34px);line-height:1.35;font-weight:700;overflow-wrap:anywhere}.placement__text--long{font-size:19px;line-height:1.6;font-weight:600;text-align:left}.placement__explain{margin:14px 0 0;padding:12px 14px;border-radius:16px;background:var(--well);font-size:15px;line-height:1.45}.placement__explain--correct{background:var(--green-soft)}.placement__caps{margin:8px 0 0;font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.placement__level{margin:0;font-size:44px;font-weight:800;color:var(--blue-dark)}.placement__skills{margin:0;padding:0;list-style:none;font-weight:600}.placement__start{width:100%;box-sizing:border-box;padding:14px 16px;border-radius:18px;background:var(--blue-soft)}.placement__start .placement__caps{margin:0}.placement__start-title{margin:4px 0;font-size:19px;font-weight:800}.placement__note{margin:0;font-weight:600;color:var(--blue-dark)}.placement__honest{max-width:360px}.placement__open{width:100%;box-sizing:border-box;text-align:left}.placement__textarea{min-height:110px;padding:12px 14px;resize:vertical;font:inherit}.placement-offer{display:flex;flex-wrap:wrap;align-items:center;gap:12px 14px}.placement-offer__text{flex:1 1 180px;min-width:0}.placement-offer__text .t-card{margin:0 0 2px}.placement-offer__actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.placement-levels{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}.placement-levels__row{display:flex;align-items:center;gap:12px;min-height:52px}.placement-levels__info{flex:1;min-width:0;display:flex;align-items:baseline;gap:8px;white-space:nowrap}.placement-levels__lang{font-weight:800;flex:none}.placement-levels__level{min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:14px;color:var(--ink-3)}.placement-levels__btn{flex:none;min-height:40px;padding:0 14px;font-size:14px;white-space:nowrap}.band{position:relative;background:var(--sheet);border-bottom:2px solid var(--line);padding:calc(12px + var(--safe-top)) calc(var(--gutter) + var(--safe-right)) 22px calc(var(--gutter) + var(--safe-left))}.band__ornament{position:absolute;left:0;right:0;bottom:0}.band__top{display:flex;align-items:center;gap:12px}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:14px;padding:calc(12px + var(--safe-top)) calc(var(--gutter) + var(--safe-right)) 12px calc(var(--gutter) + var(--safe-left));background:var(--ground);border-bottom:2px solid var(--line)}.topbar__course{display:inline-flex;align-items:center;gap:8px;min-height:var(--tap);margin-right:auto;padding:0 12px;border:2px solid var(--line);border-radius:14px;background:var(--sheet);font-size:15px;font-weight:800}.topbar__mark{color:var(--c-a1);font-weight:700}.topbar__stat{display:inline-flex;align-items:center;gap:4px;font-size:17px;font-weight:800}.topbar__stat--streak{color:var(--orange)}.topbar__stat--xp{color:var(--blue)}.home__body{display:flex;flex-direction:column;gap:16px;padding:16px calc(var(--gutter) + var(--safe-right)) 24px calc(var(--gutter) + var(--safe-left));max-width:720px;margin:0 auto}.chapter-card{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border-radius:var(--radius-card);background:var(--green);color:#fff;box-shadow:0 5px 0 var(--green-dark)}.chapter-card--idle{background:var(--blue);box-shadow:0 5px 0 var(--blue-dark)}.chapter-card__caps{font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;opacity:.92}.chapter-card__title{font-size:21px;font-weight:800;line-height:1.3}.chapter-card__bar{height:12px;margin-top:6px;border-radius:999px;background:#ffffff59;overflow:hidden}.chapter-card__fill{height:100%;border-radius:inherit;background:#fff;transition:width .6s ease}.chapter-card__meta{font-size:14px;font-weight:600;opacity:.92}.home__tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.home-tile{display:flex;flex-direction:column;gap:4px;min-width:0;padding:12px 14px;border:2px solid var(--line);border-radius:18px;background:var(--sheet);box-shadow:0 4px 0 var(--line);text-align:left}.home-tile--link:active{transform:translateY(4px);box-shadow:none}.home-tile__label{font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3)}.home-tile__value{font-size:18px;font-weight:800}.home-tile__go{display:inline-flex;align-items:center;gap:2px;font-size:13px;font-weight:700;color:var(--blue-dark)}.progress--thin{height:8px;margin-top:4px}.home__cta{position:sticky;bottom:calc(68px + var(--safe-bottom));z-index:10;padding:12px calc(var(--gutter) + var(--safe-right)) 14px calc(var(--gutter) + var(--safe-left));background:linear-gradient(to top,var(--ground) 70%,rgba(255,255,255,0))}@media (min-width: 768px){.home__cta{bottom:0}.home__cta .btn{max-width:680px;margin:0 auto;display:flex}}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.band--desktop{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;padding:36px 48px 34px}.band__stats{display:flex;gap:36px}.stat{display:flex;flex-direction:column;align-items:center;gap:4px}.stat .t-number{display:inline-flex;align-items:center;gap:4px}.today__grid{display:grid;grid-template-columns:minmax(0,1fr) 336px;gap:24px;padding:28px 48px 48px;max-width:1240px}.plan{display:flex;flex-direction:column;padding:24px}.plan__row{display:flex;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}.plan__row--link{width:100%;border:0;border-bottom:1px solid var(--line);background:none;text-align:left}.plan__text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.plan__icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--well);color:var(--ink-2)}.plan__go{display:inline-flex;align-items:center;gap:4px;color:var(--ink-2);font-weight:600}.plan__tutor{display:flex;align-items:center;gap:14px;margin-top:16px;padding:14px 16px;border-radius:16px;background:var(--well)}.tutor-label{color:var(--indigo);font-size:12px;font-weight:700}.quick-start{width:100%;display:flex;align-items:center;gap:14px;padding:14px 16px;border:0;border-radius:20px;background:var(--gold);box-shadow:0 5px #b45309;color:#fff;font:inherit;text-align:left;cursor:pointer}.quick-start:active{transform:translateY(4px);box-shadow:0 1px #b45309}.quick-start__icon{width:46px;height:46px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;background:#ffffff38}.quick-start__text{flex:1;display:flex;flex-direction:column;min-width:0}.quick-start__text strong{font-size:19px;font-weight:800;text-shadow:0 1px 0 rgba(120,53,15,.35)}.quick-start__text span{font-size:14px;font-weight:600;text-shadow:0 1px 0 rgba(120,53,15,.3)}.words__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:20px}.words__stats>div{display:flex;flex-direction:column}.review{display:flex;flex-direction:column;gap:20px;max-width:560px;margin:0 auto}.review--empty{align-items:center;text-align:center}.review__front{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 0 4px;text-align:center}.review__word{font-size:44px;font-weight:600;line-height:1.2}.review__sentence{font-size:19px;color:var(--ink-2)}.review__back{display:flex;flex-direction:column;align-items:center;gap:4px;padding-top:16px;border-top:1px solid var(--line);text-align:center}.review__ru{font-size:19px;font-weight:700}.review__ratings{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.rating{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60px;border:1px solid var(--line-2);border-radius:var(--radius-tile);background:var(--sheet);box-shadow:inset 0 -2px 0 var(--line)}.rating__label{font-weight:700}.rating--3{border-color:var(--turq)}.rating--3 .rating__label{color:var(--turq-ink)}.chat{display:flex;flex-direction:column;gap:12px;min-height:0;height:100%}.chat__head{display:flex;align-items:center;gap:12px}.chat__list{flex:1;min-height:200px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:4px 0}.chat__notice{display:flex;flex-direction:column;gap:12px;align-items:flex-start;padding:16px;border-radius:16px;background:var(--well)}.bubble{max-width:88%;padding:10px 14px;border-radius:16px;white-space:pre-wrap;overflow-wrap:anywhere}.bubble p{margin:0}.bubble--user{align-self:flex-end;background:var(--well);border-bottom-right-radius:6px}.bubble--tutor{align-self:flex-start;background:var(--sheet);border:1px solid var(--line);border-bottom-left-radius:6px}.bubble--tutor .tutor-label{display:block;margin-bottom:2px}.chat__thinking{align-self:flex-start;padding:8px 24px 0 0}.chat__suggestions{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}.chat__suggestions .chip{flex:none;min-height:36px}.chat__composer{display:flex;align-items:flex-end;gap:8px;padding:8px 8px 8px 14px;border:1px solid var(--line-2);border-radius:16px;background:#fff}.chat__composer:focus-within{border-color:var(--indigo)}.chat__composer textarea{flex:1;min-height:28px;border:0;outline:0;resize:none;background:transparent;font-size:16px;line-height:1.5;padding:6px 0}.chat__send{display:grid;place-items:center;flex:none;width:var(--tap);height:var(--tap);border:0;border-radius:50%;background:var(--ink);color:#fff}.chat__send:disabled{background:var(--line-2)}.chat--compact .chat__list{min-height:120px}.profile__name{align-items:flex-end}.profile__name .field{flex:1}.profile__goal{margin:0;padding:0;border:0;display:flex;flex-direction:column;gap:8px}.profile__goals{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.chip.profile__goal-chip{justify-content:center;padding:0;font-size:15px;font-weight:800;border:2px solid var(--line);background:var(--sheet);box-shadow:0 3px 0 var(--line)}.chip.profile__goal-chip--on{background:var(--green);border-color:var(--green-dark);color:#fff;box-shadow:0 3px 0 var(--green-dark)}.chip.profile__goal-chip:active{transform:translateY(2px);box-shadow:0 1px 0 var(--line)}.profile__status{margin:0}.profile__name .btn{flex:none}.profile__switch{cursor:pointer}.profile__switch-text{flex:1;gap:2px}.switch{appearance:none;flex:none;width:56px;height:32px;margin:0;border-radius:999px;background:var(--line-2);position:relative;cursor:pointer;transition:background-color .15s ease}.switch:after{content:"";position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 2px #00000026;transition:transform .15s ease}.switch:checked{background:var(--green)}.switch:checked:after{transform:translate(24px)}.profile__swatches{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;justify-items:center}.swatch{width:100%;max-width:48px;aspect-ratio:1;min-height:0;padding:0;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px var(--line-2);cursor:pointer}.swatch--light{box-shadow:0 0 0 2px var(--ink-3)}.swatch[aria-checked=true]{box-shadow:0 0 0 3px var(--blue)}.profile__account{padding:0 4px}.league-screen__lead{margin-bottom:16px}.chat-screen{height:calc(100dvh - 68px - var(--safe-bottom));display:flex;flex-direction:column;max-width:760px}@media (min-width: 768px){.chat-screen{height:100dvh}}.profile__avatar{display:flex;gap:16px;align-items:center}.profile__avatar-actions{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;align-items:stretch}.profile__avatar-actions .btn{display:inline-flex;align-items:center;gap:8px}.profile__time{flex:0 1 160px}.profile__time .input{font-variant-numeric:tabular-nums}.course-sheet__lead{margin:4px 0 16px}.course-sheet__list{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:12px}.course-card{width:100%;display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:var(--radius-card);border:1px solid var(--line);background:color-mix(in srgb,var(--c-band) 45%,var(--sheet));text-align:left}.course-card--active{border:1.5px solid var(--ink);background:color-mix(in srgb,var(--c-band) 70%,var(--sheet))}.course-card:disabled:not(.course-card--active){cursor:default}.course-card__text{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.course-card__title{display:flex;align-items:center;gap:8px;font-weight:700;font-size:17px}.course-card__soon{min-height:22px;padding:0 8px;font-size:11px;background:var(--sheet)}.course-card__dots{display:flex;gap:4px;margin-top:6px}.course-card__dots i{width:14px;height:4px;border-radius:2px}.course-card__radio{flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1.5px solid var(--line-2);color:#fff}.course-card--active .course-card__radio{background:var(--ink);border-color:var(--ink)}.quick__card{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;padding:36px 20px 28px;border:2px solid var(--line);border-radius:22px;box-shadow:0 5px 0 var(--line);background:var(--ground);text-align:center}.quick__cat{position:absolute;top:-26px;right:14px}.quick__word{margin:0;font-size:clamp(40px,12vw,56px);line-height:1.15;font-weight:700;overflow-wrap:anywhere}.quick__back{display:flex;flex-direction:column;gap:4px}.quick__pinyin{margin:0;font-size:18px;font-weight:700;color:var(--blue-dark)}.quick__ru{margin:0;font-size:19px;font-weight:600}.quick__actions{position:sticky;bottom:0;display:flex;gap:12px;margin-top:auto;padding:20px 0 calc(20px + var(--safe-bottom));background:linear-gradient(to bottom,rgba(255,255,255,0),var(--ground) 30%)}.quick__btn{flex:1;min-height:56px}.quick--empty{min-height:100dvh;max-width:420px;margin:0 auto;padding:0 var(--gutter);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center}:root{color-scheme:light;--green: #22c55e;--green-dark: #15803d;--green-soft: #dcfce7;--blue: #0ea5e9;--blue-dark: #0369a1;--blue-soft: #e0f2fe;--blue-line: #7dd3fc;--orange: #f97316;--gold: #f59e0b;--gold-dark: #b45309;--gold-soft: #fef3c7;--red: #ef4444;--red-dark: #b91c1c;--red-soft: #fee2e2;--ground: #ffffff;--sheet: #ffffff;--well: #f3f4f6;--line: #e5e7eb;--line-2: #d1d5db;--ink: #1f2937;--ink-2: #4b5563;--ink-3: #6b7280;--cinnabar: var(--green);--cinnabar-btn: var(--green);--cinnabar-rim: var(--green-dark);--cinnabar-ink: var(--green-dark);--turq: var(--blue);--turq-ink: var(--blue-dark);--turq-soft: var(--blue-soft);--saffron: var(--orange);--indigo: var(--blue-dark);--road: var(--line);--font-ui: "Rubik", system-ui, -apple-system, "Segoe UI", sans-serif;--font-hanzi: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--font-display: var(--font-ui);--font-han: var(--font-hanzi);--radius-card: 20px;--radius-btn: 16px;--radius-tile: 14px;--radius-sheet: 24px;--press: 4px;--shadow-flat: none;--shadow-raised: 0 10px 24px -14px rgba(31, 41, 55, .35);--gutter: 20px;--tap: 44px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);--c-band: var(--green-soft);--c-a1: var(--green);--c-a2: var(--blue);--c-a3: var(--gold);--c-orn: var(--green)}.th-cn{--c-band: #fee2e2;--c-a1: #dc2626;--c-a2: var(--gold);--c-a3: var(--green);--c-orn: #dc2626}.th-tr{--c-band: #ccfbf1;--c-a1: #0d9488;--c-a2: var(--orange);--c-a3: var(--blue);--c-orn: #0d9488}.th-en{--c-band: #e0e7ff;--c-a1: #4f46e5;--c-a2: var(--blue);--c-a3: var(--gold);--c-orn: #4f46e5}@media (min-width: 768px){:root{--gutter: 40px}}@media (min-width: 1200px){:root{--gutter: 48px}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;min-height:100dvh;background:var(--ground);color:var(--ink);font:400 16px/1.5 var(--font-ui);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:2px solid var(--indigo);outline-offset:2px}a{color:var(--indigo)}h1,h2,h3,p{margin:0}.han{font-family:var(--font-han)}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.t-screen{font:800 28px/1.2 var(--font-display);letter-spacing:-.01em}.t-card{font:800 21px/1.25 var(--font-display)}.t-section{font:800 18px/1.3 var(--font-ui)}.t-meta{font-size:13px;line-height:1.45;color:var(--ink-2)}.t-caps{font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}.t-number{font:800 22px/1.1 var(--font-display)}@media (min-width: 1200px){.t-screen{font-size:32px}}.card{background:var(--sheet);border:2px solid var(--line);border-radius:var(--radius-card);padding:20px}.card--raised{box-shadow:0 4px 0 var(--line)}.btn{--edge: transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 22px;border-radius:var(--radius-btn);border:2px solid transparent;font-weight:800;font-size:16px;line-height:1.2;text-decoration:none;box-shadow:0 var(--press) 0 var(--edge);transition:transform .06s ease,box-shadow .06s ease,background-color .15s ease}.btn:active:not(:disabled){transform:translateY(var(--press));box-shadow:0 0 0 var(--edge)}.btn--block{width:100%}.btn--primary{--edge: var(--green-dark);background:var(--green);color:#fff;text-transform:uppercase;letter-spacing:.04em;font-size:17px;text-shadow:0 1px 0 rgba(21,128,61,.35)}.btn--ink{--edge: var(--blue-dark);background:var(--blue);color:#fff;text-transform:uppercase;letter-spacing:.04em;text-shadow:0 1px 0 rgba(3,105,161,.35)}.btn--secondary{--edge: var(--line);background:var(--sheet);color:var(--ink-2);border-color:var(--line)}.btn--text{min-height:var(--tap);padding:0 12px;background:none;color:var(--blue-dark);font-size:15px;box-shadow:none}.btn--text:active:not(:disabled){transform:none}.btn:disabled{--edge: var(--line-2);background:var(--line);border-color:transparent;color:var(--ink-3);text-shadow:none;opacity:1}.icon-btn{display:inline-grid;place-items:center;width:var(--tap);height:var(--tap);border:0;border-radius:12px;background:none;color:var(--ink-3)}.icon-btn:hover{background:var(--well)}.chip{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 12px;border-radius:999px;border:0;background:var(--well);color:var(--ink);font-size:13px;font-weight:700}button.chip{min-height:var(--tap)}.field{display:flex;flex-direction:column;gap:6px}.field__label{font-size:13px;font-weight:600;color:var(--ink-2)}.input{min-height:52px;width:100%;padding:0 16px;border:2px solid var(--line);border-radius:var(--radius-btn);background:var(--well);font-size:16px}.input:focus{outline:none;border-color:var(--blue);background:#fff;box-shadow:0 0 0 3px var(--blue-soft)}.form-error{font-size:14px;color:var(--ink);background:var(--well);border-radius:12px;padding:10px 14px}.progress{height:14px;border-radius:999px;background:var(--line);overflow:hidden}.progress__fill{height:100%;border-radius:inherit;background:var(--green);box-shadow:inset 0 -4px #15803d40;transition:width .6s ease}.progress--course .progress__fill{background:var(--c-a1)}.progress--turq .progress__fill{background:var(--turq)}.ornament{display:none!important;height:14px;background-color:var(--c-orn);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='14' viewBox='0 0 44 14'%3E%3Cpath d='M0 13.45H44M22 13.45c0-4-2.6-7.2-6-7.2-2.4 0-3.8 1.6-3.8 3.3 0 1.4 1 2.4 2.4 2.4 1.2 0 2-.8 2-1.8 0-.8-.6-1.4-1.3-1.4M22 13.45c0-4 2.6-7.2 6-7.2 2.4 0 3.8 1.6 3.8 3.3 0 1.4-1 2.4-2.4 2.4-1.2 0-2-.8-2-1.8 0-.8.6-1.4 1.3-1.4' fill='none' stroke='black' stroke-width='1.1'/%3E%3C/svg%3E") repeat-x left bottom / 44px 14px;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='14' viewBox='0 0 44 14'%3E%3Cpath d='M0 13.45H44M22 13.45c0-4-2.6-7.2-6-7.2-2.4 0-3.8 1.6-3.8 3.3 0 1.4 1 2.4 2.4 2.4 1.2 0 2-.8 2-1.8 0-.8-.6-1.4-1.3-1.4M22 13.45c0-4 2.6-7.2 6-7.2 2.4 0 3.8 1.6 3.8 3.3 0 1.4-1 2.4-2.4 2.4-1.2 0-2-.8-2-1.8 0-.8.6-1.4 1.3-1.4' fill='none' stroke='black' stroke-width='1.1'/%3E%3C/svg%3E") repeat-x left bottom / 44px 14px}.ornament--insert{width:132px;margin:0 auto 12px}.sheet-backdrop{position:fixed;inset:0;z-index:50;display:flex;align-items:flex-end;justify-content:center;background:#11182773;animation:fade-in .2s ease}.sheet{width:100%;max-width:560px;max-height:88dvh;overflow-y:auto;background:var(--sheet);border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;padding:12px 20px calc(20px + var(--safe-bottom));animation:rise .45s cubic-bezier(.2,.8,.2,1)}.sheet__grip{width:40px;height:4px;margin:0 auto 16px;border-radius:2px;background:var(--line-2)}@media (min-width: 768px){.sheet-backdrop{align-items:center}.sheet{border-radius:var(--radius-sheet);padding-bottom:24px}}@keyframes rise{0%{transform:translateY(100%)}}@keyframes fade-in{0%{opacity:0}}.stack{display:flex;flex-direction:column;gap:12px}.stack--24{gap:24px}.row{display:flex;align-items:center;gap:12px}.spacer{flex:1}.center-screen{min-height:100dvh;display:grid;place-items:center;padding:24px var(--gutter);text-align:center}.screen{padding:calc(20px + var(--safe-top)) calc(var(--gutter) + var(--safe-right)) 32px calc(var(--gutter) + var(--safe-left));max-width:1040px;margin:0 auto}.screen__head{display:flex;align-items:center;gap:12px;margin-bottom:20px}.empty{text-align:center;color:var(--ink-2);padding:24px 8px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
