.codeline{flex-wrap:wrap;align-items:center;gap:8px 12px;min-height:44px;display:flex}.codeline__open{border:1.5px dashed var(--line-strong);min-height:40px;font:inherit;color:var(--ink-2);cursor:pointer;transition:background .14s var(--ease-out), color .14s var(--ease-out), border-color .14s var(--ease-out);background:0 0;border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:.9rem;font-weight:750;display:inline-flex}.codeline__open svg{width:17px;height:17px}.codeline__open:hover{border-color:var(--ink);background:var(--paper);color:var(--ink)}.codeline.is-open{background:var(--paper);box-shadow:var(--lift-1);animation:card-in .24s var(--ease-out);border-radius:16px;width:fit-content;max-width:100%;padding:6px 6px 6px 14px}.codeline__icon{width:18px;height:18px;color:var(--ink-2);flex:none}.codeline__body{gap:4px;min-width:0;display:grid}.codeline--member{gap:8px 14px}.codeline__goal{align-items:center;gap:5px;font-size:.86rem;font-weight:700;display:inline-flex}.codeline--member .founder__days{width:180px}.founder__form{gap:8px;width:100%;max-width:420px;display:flex}.founder__form--compact{width:auto}.founder__input{border:0;border-bottom:2.5px solid var(--ink);background:var(--paper-2);min-width:0;min-height:48px;font-family:var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);caret-color:var(--red);border-radius:12px 12px 0 0;flex:1;padding:10px 14px;font-size:1.05rem;font-weight:800}.founder__form--compact .founder__input{width:170px;min-height:38px;padding:6px 10px;font-size:.92rem}.founder__input::placeholder{font-family:var(--ui);letter-spacing:0;text-transform:none;color:var(--ink-3);font-weight:600}.founder__input:focus{border-bottom-color:var(--red);background:#ffe53b59;outline:none}.founder__input[aria-invalid=true]{border-bottom-color:var(--red);animation:code-no .32s var(--ease-out)}@keyframes code-no{25%{translate:-5px}50%{translate:4px}75%{translate:-2px}}.founder__note{max-width:44ch;color:var(--red-ink);margin:0;font-size:.82rem;font-weight:650}.founder__note:empty{display:none}.founder__days{grid-template-columns:repeat(10,minmax(0,1fr));gap:4px;margin:0;padding:0;list-style:none;display:grid}.founder__days li{background:var(--paper-2);height:8px;box-shadow:inset 0 0 0 1.5px var(--line-strong);border-radius:999px}.founder__days li.is-done{background:var(--orange);box-shadow:none}.founder{background-image:none;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px 22px;padding:20px 24px;display:grid}.founder__body{justify-items:start;gap:10px;min-width:0;display:grid}.founder__body .title{margin:0;font-size:1.4rem}.founder__body>p{max-width:56ch;color:var(--ink-2);margin:0;line-height:1.5}.founder__body>p b{color:var(--ink)}.honor{--notch:7px;width:max-content;padding:3px calc(var(--notch) + 7px);clip-path:polygon(0 0, 100% 0, calc(100% - var(--notch)) 50%, 100% 100%, 0 100%, var(--notch) 50%);background:conic-gradient(from var(--foil,0deg), #ff9bd2, #ffe873, #8ff5c0, #8fd9ff, #c9b2ff, #ff9bd2);color:var(--ink);font-family:var(--display);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;vertical-align:middle;justify-self:start;align-items:center;gap:5px;font-weight:850;animation:6s linear infinite foil-turn;display:inline-flex;position:relative;overflow:hidden}.honor:after{content:"";animation:foil-sheen 2.8s var(--ease-out) infinite;mix-blend-mode:soft-light;pointer-events:none;background:linear-gradient(115deg,#0000 30%,#fffc 46%,#0000 62%);position:absolute;inset:0;transform:translate(-60%)}.honor svg{flex:none}.honor--sm{--notch:5px;padding:1px 11px;font-size:.6rem}.honor--sm svg{width:10px;height:10px}.honor--md{font-size:.72rem}.honor--md svg{width:13px;height:13px}.honor--lg{--notch:11px;padding:8px 24px;font-size:1rem}.honor--lg svg{width:18px;height:18px}.nameplate{flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.me__who>.nameplate{color:var(--ink)}.nameplate__name{font-family:var(--display);font-size:1.35rem;font-weight:850;line-height:1.1}.hud__me.is-founder{box-shadow:none;background:linear-gradient(var(--paper), var(--paper)) padding-box, conic-gradient(from var(--foil,0deg), #ff9bd2, #ffe873, #8ff5c0, #8fd9ff, #c9b2ff, #ff9bd2) border-box;border:3px solid #0000;animation:6s linear infinite foil-turn;position:relative}.hud__me.is-founder:after{content:"";background:var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffe873' d='M12 2l2.4 7.6L22 12l-7.6 2.4L12 22l-2.4-7.6L2 12l7.6-2.4z'/%3E%3C/svg%3E") center / 9px no-repeat;width:13px;height:13px;box-shadow:0 0 0 2px var(--yellow);border-radius:50%;position:absolute;bottom:-3px;right:-3px}.freveal{color:#fff;background:0 0;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;overflow:hidden}.freveal::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:rv-fade .4s var(--ease-out) both;background:#17183bdb}.freveal__stage{text-align:center;align-content:center;justify-items:center;gap:10px;min-height:100%;padding:24px 16px;display:grid;position:relative}.freveal__focus{place-items:center;display:grid;position:relative}.freveal__burst{width:0;height:0;position:absolute;top:50%;left:50%}.freveal__rays{background:repeating-conic-gradient(from 0deg, #ffe53b57 0 9deg, transparent 9deg 24deg);opacity:0;width:520px;height:520px;animation:rv-rays-in .6s .7s var(--ease-out) forwards, rv-spin 18s .7s linear infinite;border-radius:50%;position:absolute;top:-260px;left:-260px;-webkit-mask:radial-gradient(circle,#000 18%,#0000 68%);mask:radial-gradient(circle,#000 18%,#0000 68%)}.freveal__ring{border:6px solid var(--yellow);opacity:0;width:180px;height:180px;animation:rv-ring .7s .7s var(--ease-out) forwards;border-radius:50%;position:absolute;top:-90px;left:-90px}.freveal__card{background:linear-gradient(transparent 31px, var(--grid) 32px) 0 0 / 100% 32px, var(--paper);width:140px;height:184px;box-shadow:var(--lift-3);animation:rv-card-in .42s var(--ease-spring) both, rv-card-shake .26s .42s ease-in-out 1, rv-card-burst .26s .7s ease-in forwards;border-radius:14px;place-items:center;display:grid;position:absolute;top:-92px;left:-70px}.freveal__seal{background:var(--red);color:#fff;width:58px;height:58px;font-family:var(--display);border-radius:50%;place-items:center;font-size:1.1rem;font-weight:900;display:grid;transform:rotate(-12deg);box-shadow:inset 0 0 0 4px #ffffff59}.freveal__bit{opacity:0;animation:rv-bit 1.5s calc(.72s + var(--d)) cubic-bezier(.2, .7, .3, 1) forwards;border-radius:2px;position:absolute;top:-6px;left:-4px}.freveal__hero{z-index:1;opacity:0;animation:rv-pop .7s .76s var(--ease-spring) forwards;position:relative}.freveal__hero .tangyuan{filter:drop-shadow(0 18px 30px #00000073)}.freveal__words{z-index:1;justify-items:center;gap:8px;display:grid;position:relative}.freveal__kicker{color:#ffffffb8;opacity:0;animation:rv-up .42s 1.05s var(--ease-out) forwards;margin:0;font-weight:650}.freveal__name{color:#fff;overflow-wrap:anywhere;opacity:0;max-width:14ch;animation:rv-up .46s 1.12s var(--ease-out) forwards;margin:0;font-size:clamp(2.2rem,7vw,3.6rem);line-height:1}.freveal__honor{opacity:0;animation:.52s cubic-bezier(.3,1.6,.5,1) 1.3s forwards rv-stamp;display:block}.freveal__drops{font-family:var(--display);color:var(--yellow);opacity:0;animation:rv-up .42s 1.75s var(--ease-out) forwards;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin:6px 0 0;font-size:1.3rem;font-weight:900;display:inline-flex}.freveal__drops span{font-family:var(--ui);color:#ffffffb8;font-size:.88rem;font-weight:600}.freveal__actions{z-index:1;opacity:0;animation:rv-up .42s 2.1s var(--ease-out) forwards;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:14px;display:flex;position:relative}.freveal .freveal__later{--fg:#fff;color:#fff;box-shadow:inset 0 0 0 2px #ffffff80}.freveal .freveal__later:hover{color:#fff;background:#ffffff1f}.freveal.is-skipped *,.freveal.is-skipped::backdrop{animation-duration:1ms!important;animation-delay:0s!important}.freveal.is-skipped .freveal__rays{animation:1ms forwards rv-rays-in,18s linear infinite rv-spin!important}@keyframes rv-fade{0%{opacity:0}}@keyframes rv-card-in{0%{opacity:0;transform:translateY(60px)rotate(-8deg)scale(.7)}}@keyframes rv-card-shake{25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}@keyframes rv-card-burst{to{opacity:0;transform:scale(1.5)}}@keyframes rv-ring{0%{opacity:1;transform:scale(.3)}to{opacity:0;border-width:1px;transform:scale(2.4)}}@keyframes rv-rays-in{0%{opacity:0;scale:.4}to{opacity:1;scale:1}}@keyframes rv-spin{to{rotate:360deg}}@keyframes rv-bit{0%{opacity:1;transform:translate(0)rotate(0)}70%{opacity:1}to{opacity:0;transform:translate(var(--x), calc(var(--y) + 120px)) rotate(var(--r))}}@keyframes rv-pop{0%{opacity:0;transform:translateY(40px)scale(.2)rotate(-14deg)}to{opacity:1;transform:none}}@keyframes rv-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes rv-stamp{0%{opacity:0;transform:scale(2.2)rotate(-14deg)}to{opacity:1;transform:scale(1)rotate(-2deg)}}@media (prefers-reduced-motion:reduce){.freveal__card,.freveal__ring,.freveal__bit,.freveal__rays{display:none}.freveal__hero,.freveal__kicker,.freveal__name,.freveal__honor,.freveal__drops,.freveal__actions{animation-name:rv-fade-in!important;animation-duration:.3s!important}}@keyframes rv-fade-in{to{opacity:1}}.founders{gap:24px;display:grid}.founders__hero{gap:4px;display:grid}.founders__hero .display{font-size:clamp(2.4rem,5vw,3.6rem)}.founders__hero p{max-width:54ch;color:var(--ink-2);margin:10px 0 0;font-weight:550;line-height:1.5}.founders__gems{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:12px 0 0;padding:0;list-style:none;display:grid}.gem{text-align:center;background-image:none;justify-items:center;gap:4px;padding:18px 12px 16px;display:grid}.gem b{font-family:var(--display);font-size:1.05rem;font-weight:850}.gem span{color:var(--ink-2);font-size:.82rem}.gem .num{color:var(--ink);align-items:center;gap:4px;margin-top:4px;font-weight:750;display:inline-flex}.gem--code{box-shadow:0 0 0 2px var(--ink), var(--lift-2)}@media (width<=860px){.founders__gems{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.founder{grid-template-columns:minmax(0,1fr);justify-items:center;padding:20px 16px}.founder__body{justify-items:stretch}.founder__form--compact .founder__input,.codeline.is-open{width:100%}.codeline__body{flex:1}}.study{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:20px;display:grid}.chat{grid-template-rows:auto 1fr auto;padding:0;display:grid;overflow:hidden}.chat__head{background:var(--paper);border-bottom:2px solid var(--line);justify-content:space-between;align-items:baseline;gap:10px;padding:18px 22px 14px;display:flex}.chat__head .title{font-size:1.4rem}.chat__count{align-items:center;gap:5px;font-size:.86rem;font-weight:700;display:inline-flex}.chat__list{scroll-behavior:smooth;flex-direction:column;gap:12px;height:clamp(280px,100dvh - 520px,560px);margin:0;padding:18px 22px;list-style:none;display:flex;overflow-y:auto}.chat__empty{text-align:center;max-width:36ch;color:var(--ink-2);justify-items:center;gap:8px;margin:auto;display:grid}.chat__empty p{margin:0;line-height:1.5}.chat__event{background:#ffe53b80;border-radius:999px;align-self:center;align-items:center;gap:4px;padding:4px 12px;font-size:.82rem;display:inline-flex}.msg{max-width:82%;animation:card-in .26s var(--ease-out);align-items:flex-end;gap:8px;display:flex}.msg.is-mine{flex-direction:row-reverse;align-self:flex-end}.msg__body{gap:3px;min-width:0;display:grid}.msg.is-mine .msg__body{justify-items:end}.msg__meta{color:var(--ink-3);font-size:.74rem}.msg__meta b{color:var(--ink-2)}.msg__bubble{background:var(--paper-2);box-shadow:inset 0 0 0 1.5px var(--line);overflow-wrap:anywhere;border-radius:4px 16px 16px;margin:0;padding:9px 13px;line-height:1.4}.msg.is-mine .msg__bubble{background:var(--violet);box-shadow:none;border-radius:16px 4px 16px 16px}.msg__bubble--phrase{font-weight:650}.msg__sticker{justify-items:center;font-size:.74rem;font-weight:750;display:grid}.msg__actions{opacity:0;transition:opacity .14s var(--ease-out);gap:2px;display:flex}.msg:hover .msg__actions,.msg:focus-within .msg__actions{opacity:1}.composer{background:var(--paper);border-top:2px solid var(--line);gap:10px;padding:14px 18px 16px;display:grid}.composer__phrases{flex-wrap:wrap;gap:6px;display:flex}.composer__phrases .chip{min-height:32px;font-size:.82rem}.composer__stickers{flex-wrap:wrap;gap:6px;display:flex}.composer__form{gap:8px;display:flex;position:relative}.composer__input{border:0;border-bottom:2.5px solid var(--ink);background:var(--paper-2);min-width:0;min-height:48px;font:inherit;color:var(--ink);caret-color:var(--red);border-radius:12px 12px 0 0;flex:1;padding:10px 70px 10px 14px;font-size:1rem}.composer__input:focus{border-bottom-color:var(--red);background:#b79bff40;outline:none}.composer__count{color:var(--ink-3);pointer-events:none;font-size:.74rem;position:absolute;top:50%;right:118px;transform:translateY(-50%)}.composer__count.is-near{color:var(--red-ink);font-weight:750}.composer__signin{color:var(--ink-2);margin:0;font-size:.9rem}.composer__error,.composer__done{border-radius:10px;margin:0;padding:8px 12px;font-size:.86rem;font-weight:650}.composer__error{background:var(--red-soft);color:var(--red-ink)}.composer__done{background:#5bea8e4d}.care{background:#4cc9ff33;border-radius:12px;gap:10px;padding:12px 14px;line-height:1.5;display:flex}.care svg{color:var(--red);flex:none;margin-top:3px}.care p{margin:0;font-size:.9rem}.study__side{gap:16px;display:grid}.study__people,.study__rules{background-image:none;padding:18px 18px 16px}.study__people .title,.study__rules .title{align-items:center;gap:6px;margin-bottom:10px;font-size:1.15rem;display:flex}.study__rules{background-color:var(--yellow)}.study__rules ul{gap:6px;margin:0;padding-left:18px;font-size:.86rem;line-height:1.45;display:grid}@media (width<=960px){.study{grid-template-columns:minmax(0,1fr)}}@media (width<=640px){.chat__list{padding:14px}.composer__phrases{scrollbar-width:none;flex-wrap:nowrap;margin-inline:-18px;padding-inline:18px;overflow-x:auto}.composer__phrases .chip{flex:none}.msg{max-width:92%}.msg__actions{opacity:1}.composer__input{padding-right:14px}.composer__count{display:none}.composer__form .btn{padding:0 14px}}.quick__sticker{background:var(--paper-2);cursor:pointer;transition:transform .16s var(--ease-out);border:0;border-radius:12px;justify-items:center;gap:2px;padding:6px 8px;font-size:.74rem;font-weight:750;display:grid}.quick__sticker:hover:not(:disabled){transform:translateY(-2px)rotate(-3deg)}.composer__phrases .chip:disabled,.quick__sticker:disabled{opacity:.45;cursor:wait}.arena .eyebrow{color:var(--ink-2);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:850}.arena-tabs{border-bottom:2px solid var(--ink);gap:4px;margin-top:-4px;display:flex}.arena-tabs__tab{min-height:54px;font:inherit;color:var(--ink-2);cursor:pointer;transition:background .14s var(--ease-out), color .14s var(--ease-out);background:0 0;border:2px solid #0000;border-bottom:0;border-radius:14px 14px 0 0;align-items:center;gap:8px;margin-bottom:-2px;padding:0 22px;font-size:1rem;font-weight:750;display:inline-flex;position:relative}.arena-tabs__tab svg{flex:none;width:20px;height:20px}.arena-tabs__tab:hover{color:var(--ink);background:#fbfcffb3}.arena-tabs__tab:active{transform:translateY(1px)}.arena-tabs__tab[aria-selected=true]{border-color:var(--ink);background:var(--paper);color:var(--ink);box-shadow:0 2px 0 var(--paper)}.arena-tabs__tab:focus-visible{outline:3px solid var(--blue);outline-offset:-5px}.arena-tabs__label{background:linear-gradient(transparent 56%, var(--mark) 56% 92%, transparent 92%) no-repeat 0 0 / 0% 100%;transition:background-size .36s var(--ease-out);padding:0 3px}.arena-tabs__tab[aria-selected=true] .arena-tabs__label{background-size:100% 100%}.arena-tabs__badge{background:var(--red);color:#fff;min-width:20px;height:20px;animation:pop-in .36s var(--ease-spring) both;border-radius:999px;place-items:center;padding:0 6px;font-size:.72rem;font-weight:800;display:grid}.arena-panel[hidden]{display:none!important}.arena-panel{animation:card-in .28s var(--ease-out)}.arena-play{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start;gap:22px;display:grid}.arena-play__main{gap:22px;min-width:0;display:grid}.speedcard{background-image:none;gap:18px;padding:24px;display:grid}.speedcard__intro .title{margin:4px 0 6px;font-size:clamp(1.45rem,2.4vw,1.9rem)}.speedcard__intro p:last-child{max-width:48ch;color:var(--ink-2);margin:0;font-size:.94rem;line-height:1.5}.speedcard__rank{border-radius:var(--r-md);background:var(--mark);align-items:center;gap:18px;padding:16px 20px 16px 14px;display:flex}.speedcard__rank>svg{flex:none}.speedcard__body{flex:1;gap:6px;min-width:0;display:grid}.speedcard__name{font-family:var(--display);font-size:1.6rem;font-weight:900;line-height:1}.speedcard__rp{font-size:.9rem;font-weight:750}.speedcard .meter{background:#fbfcffb8}.speedcard .meter>span{background:var(--ink)}.speedcard__next{color:var(--ink-2);font-size:.84rem;font-weight:650}.speedcard__actions{flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}.arena-ranks{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:22px;display:grid}.pen-ladder,.arena-board{background-image:none;padding:24px}.pen-ladder__head .title,.arena-board__head .title{margin:4px 0 6px;font-size:1.6rem}.pen-ladder__head p:last-child,.arena-board__head p:last-child{color:var(--ink-2);margin:0 0 18px;font-size:.9rem;line-height:1.45}.pen-ladder__list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.pen-ladder__list li{border-radius:var(--r-md);grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:66px;padding:7px 14px 7px 7px;display:grid;position:relative}.pen-ladder__list li:not(:last-child):after{content:"";background:var(--line-strong);border-radius:2px;width:3px;position:absolute;top:58px;bottom:-14px;left:32px}.pen-ladder__list li.is-done:after{background:var(--ink)}.pen-ladder__emblem{z-index:1;background:var(--paper-2);border-radius:50%;place-items:center;width:52px;height:52px;display:grid;position:relative}.pen-ladder__list li.is-done .pen-ladder__emblem{background:var(--mark)}.pen-ladder__list li.is-here{background:var(--mark);box-shadow:var(--lift-1)}.pen-ladder__list li.is-here .pen-ladder__emblem{background:var(--paper)}.pen-ladder__list li:not(.is-here):not(.is-done) .pen-ladder__emblem,.pen-ladder__list li:not(.is-here):not(.is-done) .pen-ladder__name{opacity:.55}.pen-ladder__name{gap:1px;min-width:0;line-height:1.2;display:grid}.pen-ladder__name b{font-family:var(--display);font-size:1.12rem;font-weight:850}.pen-ladder__name small{color:var(--ink-2);font-size:.78rem;font-weight:650}.pen-ladder__state{color:var(--ink-2);white-space:nowrap;align-items:center;gap:4px;font-size:.8rem;font-weight:750;display:inline-flex}.pen-ladder__state--here{background:var(--ink);color:#fff;border-radius:999px;padding:5px 11px}.pen-ladder__state--ahead{color:var(--ink-3)}.pen-ladder__foot{border-top:2px dashed var(--grid-strong);margin:16px 0 0;padding-top:12px;font-size:.88rem;font-weight:700}.arena-board__head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.arena-board__sample{border:1.5px solid var(--ink);white-space:nowrap;border-radius:999px;flex:none;padding:5px 10px;font-size:.7rem;font-weight:800}.arena-board__list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.arena-board__list li{border-bottom:1px solid var(--line);grid-template-columns:26px 38px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:58px;padding:6px 12px;display:grid}.arena-board__list li.is-you{border:2px solid var(--ink);border-radius:var(--r-md);background:var(--yellow)}.arena-board__place{color:var(--ink-3);font-size:.82rem;font-weight:800}.arena-board__person{gap:1px;min-width:0;line-height:1.2;display:grid}.arena-board__person b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.arena-board__person small,.arena-board__score small{color:var(--ink-2);font-size:.74rem;font-weight:650}.arena-board__score{font-family:var(--display);white-space:nowrap;font-size:1.1rem;font-weight:850}.arena-board__go{margin-top:18px}@media (width<=960px){.arena-play,.arena-ranks{grid-template-columns:minmax(0,1fr)}}@media (width<=640px){.arena-tabs{gap:2px}.arena-tabs__tab{flex-direction:column;flex:1;justify-content:center;gap:2px;min-height:60px;padding:6px 4px;font-size:.86rem}.arena-tabs__badge{position:absolute;top:6px;right:calc(50% - 26px)}.speedcard,.pen-ladder,.arena-board{padding:20px 16px}.speedcard__rank{gap:12px}.speedcard__rank>svg{width:64px;height:64px}.speedcard__actions .btn--lg{flex:1}.arena-board__head{flex-wrap:wrap}.arena-board__list li{gap:8px;padding-inline:8px}}:root{--paper:#fbfcff;--paper-2:#f0f4fc;--grid:#dfe8f7;--grid-strong:#c9d7ef;--margin-rule:#ffb3b6;--ink:#17183b;--ink-2:#3f4270;--ink-3:#6a6e98;--line:#17183b24;--line-strong:#17183b47;--red:#e5262d;--red-ink:#c4161d;--red-soft:#ffe1e2;--yellow:#ffe53b;--pink:#ff6fb1;--green:#5bea8e;--blue:#4cc9ff;--orange:#ffa23a;--violet:#b79bff;--d-craft:var(--pink);--d-info:var(--green);--d-conventions:var(--orange);--d-expression:var(--blue);--display:"Anybody", "Onest", system-ui, sans-serif;--ui:"Onest", system-ui, -apple-system, "Segoe UI", sans-serif;--read:"Source Serif 4", "Iowan Old Style", Georgia, serif;--hand:"Gochi Hand", "Onest", cursive;--zh:"ZCOOL KuaiLe", "PingFang SC", "Hiragino Sans GB", sans-serif;--lift-1:0 1px 1px #17183b0f, 0 6px 14px -8px #17183b38;--lift-2:0 2px 2px #17183b0d, 0 16px 32px -14px #17183b57;--lift-3:0 3px 4px #17183b0f, 0 28px 60px -22px #17183b73;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--r-sm:8px;--r-md:14px;--r-lg:16px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--yellow);color:var(--ink);font-family:var(--ui);-webkit-font-smoothing:antialiased;font-feature-settings:"ss01", "cv11";margin:0;font-size:16px;line-height:1.5}::selection{background:var(--yellow);color:var(--ink)}:focus-visible{outline:3px solid var(--ink);outline-offset:3px;border-radius:6px}a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:2px;-webkit-text-decoration-color:var(--red);text-decoration-color:var(--red)}button{font:inherit;color:inherit}img,svg{max-width:100%;display:block}.zh{font-family:var(--zh);letter-spacing:0;white-space:nowrap;word-break:keep-all;font-weight:400}.num{font-variant-numeric:tabular-nums}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}*{scrollbar-width:thin;scrollbar-color:var(--ink-3) transparent}.display{font-family:var(--display);font-variation-settings:"wdth" 118;letter-spacing:-.03em;text-wrap:balance;margin:0;font-weight:860;line-height:.94}.title{font-family:var(--display);font-variation-settings:"wdth" 108;letter-spacing:-.02em;text-wrap:balance;margin:0;font-weight:800;line-height:1.05}.hand{font-family:var(--hand);letter-spacing:.01em;font-weight:400}.hl{z-index:0;white-space:nowrap;--mark:var(--yellow);position:relative}.hl:before{content:"";z-index:-1;background:var(--mark);transform:skewX(-8deg) scaleX(var(--swipe,1));transform-origin:0;transition:transform .62s var(--ease-out);border-radius:.14em .34em .2em .42em;position:absolute;inset:.12em -.14em .02em -.1em}.hl--pink{--mark:var(--pink)}.hl--green{--mark:var(--green)}.hl--blue{--mark:var(--blue)}.hl--orange{--mark:var(--orange)}.hl--violet{--mark:var(--violet)}.hl--paper{--mark:var(--paper)}.hl.is-pending{--swipe:0}.hl--wrap{white-space:normal;background-image:linear-gradient(var(--mark), var(--mark));-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-size .72s var(--ease-out);background-position:0 72%;background-repeat:no-repeat;background-size:100% 70%;padding:0 .08em}.hl--wrap:before{display:none}.hl--wrap.is-pending{background-size:0% 70%}.pen-circle{display:inline-block;position:relative}.pen-circle svg{pointer-events:none;width:calc(100% + .78em);max-width:none;height:calc(100% + .6em);position:absolute;inset:-.32em -.38em -.28em -.4em;overflow:visible}.pen-circle path{fill:none;stroke:var(--red);stroke-width:3.2px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset .9s var(--ease-out) .3s}.pen-circle.is-pending path{stroke-dashoffset:1px}.btn{--bg:var(--ink);--fg:#fff;appearance:none;border-radius:var(--r-md);background:var(--bg);min-height:48px;color:var(--fg);font-family:var(--ui);letter-spacing:-.005em;cursor:pointer;box-shadow:var(--lift-1);transition:transform .16s var(--ease-out), box-shadow .2s var(--ease-out), background-color .2s var(--ease-out);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border:0;justify-content:center;align-items:center;gap:.55em;padding:0 1.35em;font-size:1rem;font-weight:700;text-decoration:none;display:inline-flex}.btn:hover{box-shadow:var(--lift-2);transform:translateY(-1px)}.btn:active{box-shadow:var(--lift-1);transition-duration:60ms;transform:translateY(1px)scale(.97)}.btn:disabled{opacity:.38;cursor:not-allowed;box-shadow:none;transform:none}.btn svg{flex:none;width:1.15em;height:1.15em}.btn--lg{border-radius:var(--r-lg);min-height:58px;padding:0 1.7em;font-size:1.08rem}.btn--sm{border-radius:10px;min-height:38px;padding:0 1em;font-size:.9rem}.btn--hl{--bg:var(--yellow);--fg:var(--ink)}.btn--red{--bg:var(--red);--fg:#fff}.btn--paper{--bg:var(--paper);--fg:var(--ink)}.btn--ghost{--bg:transparent;--fg:var(--ink);box-shadow:inset 0 0 0 2px var(--line-strong)}.btn--ghost:hover{box-shadow:inset 0 0 0 2px var(--ink)}.btn--block{width:100%}.chip{appearance:none;border:2px solid var(--line-strong);background:var(--paper);cursor:pointer;min-height:36px;transition:background-color .16s var(--ease-out), border-color .16s var(--ease-out), transform .12s var(--ease-out);border-radius:999px;align-items:center;gap:.4em;padding:0 .95em;font-size:.88rem;font-weight:650;display:inline-flex}.chip:hover{border-color:var(--ink)}.chip:active{transform:scale(.96)}.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.chip svg{width:1em;height:1em}.tag{background:var(--mark,var(--yellow));color:var(--ink);letter-spacing:.01em;white-space:nowrap;border-radius:6px;align-items:center;gap:.35em;padding:.18em .6em .2em;font-size:.78rem;font-weight:700;display:inline-flex}.tag svg{width:1em;height:1em}.sheet{background-color:var(--paper);background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);border-radius:var(--r-sm);box-shadow:var(--lift-2);background-position:-1px -1px;background-size:22px 22px;position:relative}.sheet--ruled:after{content:"";background:var(--margin-rule);pointer-events:none;width:2px;position:absolute;top:0;bottom:0;left:44px}.sheet--plain{background-image:none}.bubble{border:2px solid var(--ink);background:var(--paper);isolation:isolate;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:.9rem;font-weight:750;display:grid;position:relative;overflow:hidden}.bubble:before{content:"";background:var(--ink);transition:transform .26s var(--ease-out);z-index:-1;border-radius:50%;position:absolute;inset:0;transform:scale(0)}.is-picked .bubble:before,.bubble.is-filled:before{transform:scale(1)}.is-picked .bubble,.bubble.is-filled{color:#fff}.stamp{outline-offset:3px;color:var(--red);font-family:var(--display);font-variation-settings:"wdth" 92;text-transform:uppercase;letter-spacing:.02em;mix-blend-mode:multiply;border:3px solid;border-radius:10px;outline:1.5px solid;place-items:center;padding:.35em .7em .3em;font-weight:900;line-height:1;display:inline-grid;transform:rotate(-8deg)}.stamp.is-landing{animation:stamp-land .46s var(--ease-spring) both}@keyframes stamp-land{0%{opacity:0;transform:rotate(-14deg)scale(1.9)}55%{opacity:1;transform:rotate(-7deg)scale(.92)}to{opacity:1;transform:rotate(-8deg)scale(1)}}.sticker{--mark:var(--yellow);aspect-ratio:1;background:var(--mark);box-shadow:var(--lift-2);color:var(--ink);text-align:center;isolation:isolate;border:5px solid #fff;border-radius:22%;place-items:center;gap:2px;padding:12%;display:grid;position:relative;overflow:hidden}.sticker__name{letter-spacing:-.01em;font-size:.72rem;font-weight:800;line-height:1.1}.sticker svg{width:52%;height:auto}.sticker--gloss:after{content:"";pointer-events:none;background:linear-gradient(125deg,#ffffff8c 0 22%,#0000 23% 100%);position:absolute;inset:0}.sticker--holo{background:conic-gradient(from var(--foil,0deg), #ff9bd2, #ffe873, #8ff5c0, #8fd9ff, #c9b2ff, #ff9bd2);animation:6s linear infinite foil-turn}.sticker--holo:after{content:"";animation:foil-sheen 2.8s var(--ease-out) infinite;mix-blend-mode:soft-light;pointer-events:none;background:linear-gradient(115deg,#0000 30%,#ffffffbf 46%,#0000 62%);position:absolute;inset:0;transform:translate(-60%)}.sticker--empty{background:var(--paper-2);border-style:dashed;border-color:var(--grid-strong);box-shadow:none;color:var(--ink-3)}@property --foil{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes foil-turn{to{--foil:360deg}}@keyframes foil-sheen{0%,40%{transform:translate(-70%)}to{transform:translate(70%)}}.speech{background:var(--paper);border-radius:var(--r-md);box-shadow:var(--lift-1);padding:.85em 1.05em;font-weight:560;line-height:1.4;position:relative}.speech:after{content:"";background:inherit;border-radius:3px;width:16px;height:16px;position:absolute;top:22px;left:-7px;transform:rotate(45deg)}.speech--below:after{top:auto;bottom:-7px;left:32px}.meter{--mark:var(--yellow);background:var(--paper-2);height:12px;box-shadow:inset 0 0 0 1.5px var(--line);border-radius:999px;position:relative;overflow:hidden}.meter>span{background:var(--mark);border-radius:inherit;transform:scaleX(var(--value,0));transform-origin:0;transition:transform .7s var(--ease-out);position:absolute;inset:0}.meter--thick{height:18px}.reveal{transition:opacity .7s var(--ease-out), transform .7s var(--ease-out), filter .7s var(--ease-out)}.reveal.is-pending{opacity:0;filter:blur(6px);transform:translateY(26px)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.hl--wrap.is-pending{background-size:100% 70%}.reveal.is-pending,.hl.is-pending,.pen-circle.is-pending path{opacity:1;filter:none;--swipe:1;stroke-dashoffset:0;transform:none}}body[data-surface=landing]{background:var(--yellow)}.landing{--gutter:clamp(16px, 4vw, 48px);overflow-x:clip}.skip{z-index:100;background:var(--ink);color:#fff;border-radius:10px;padding:10px 14px;font-weight:700;position:absolute;top:-60px;left:12px}.skip:focus{top:12px}.logo{align-items:center;gap:10px;text-decoration:none;display:inline-flex}.logo__seal{background:var(--ink);width:38px;height:38px;color:var(--yellow);transition:transform .3s var(--ease-out);border-radius:11px;place-items:center;font-size:24px;line-height:1;display:grid;transform:rotate(-4deg)}a:hover .logo__seal{transform:rotate(4deg)scale(1.06)}.logo__word{font-family:var(--display);font-variation-settings:"wdth" 112;letter-spacing:-.03em;color:var(--ink);font-size:1.35rem;font-weight:850}.lnav{z-index:40;padding:14px var(--gutter);transition:background-color .24s var(--ease-out), box-shadow .24s var(--ease-out);background:0 0;justify-content:space-between;align-items:center;gap:20px;display:flex;position:sticky;top:0}.lnav.is-scrolled{background:var(--yellow);box-shadow:0 1px #17183b1f,0 12px 24px -18px #17183b80}.lnav__brand{text-decoration:none}.lnav__links{gap:clamp(14px,2.4vw,32px);font-weight:650;display:flex}.lnav__links a{padding:6px 0;text-decoration:none;position:relative}.lnav__links a:after{content:"";background:var(--paper);z-index:-1;transform-origin:0;height:.55em;transition:transform .36s var(--ease-out);border-radius:3px;position:absolute;bottom:2px;left:-4px;right:-4px;transform:skew(-8deg)scaleX(0)}.lnav__links a:hover:after,.lnav__links a:focus-visible:after{transform:skew(-8deg)scaleX(1)}.lnav__links a{isolation:isolate}.lnav__actions{align-items:center;gap:16px;display:flex}.lnav__signin{font-weight:650;text-decoration:none}.lnav__signin:hover{text-decoration:underline}.hero{min-height:calc(100svh - 70px);padding:clamp(12px, 3vh, 40px) var(--gutter) clamp(56px, 8vh, 96px);grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);align-items:center;gap:clamp(28px,5vw,72px);max-width:1360px;margin:0 auto;display:grid}.hero__title{font-variation-settings:"wdth" 104;font-size:clamp(2.8rem,5vw,5.4rem)}.hero__line{display:block}.hero__line+.hero__line{margin-top:.04em}.hero__lead{max-width:36ch;color:var(--ink-2);margin:28px 0 0;font-size:clamp(1.08rem,1.4vw,1.24rem);font-weight:500;line-height:1.5}.hero__cta{flex-wrap:wrap;align-items:center;gap:14px 20px;margin-top:32px;display:flex}.hero__free{color:var(--ink-2);font-size:.95rem;font-weight:600}.hero__facts{color:var(--ink-2);border-top:2px solid #17183b29;flex-wrap:wrap;gap:8px 22px;max-width:560px;margin:36px 0 0;padding-top:18px;font-size:.92rem;display:flex}.hero__facts b{font-family:var(--display);color:var(--ink);font-weight:850}.demo{padding:18px 8px 70px 0;position:relative}.demo__stack span{background:var(--paper);border-radius:var(--r-sm);box-shadow:var(--lift-1);position:absolute;inset:22px 12px 74px 6px}.demo__stack span:first-child{background:var(--paper-2);transform:rotate(3.4deg)translate(10px,8px)}.demo__stack span:last-child{transform:rotate(1.4deg)translate(4px,4px)}.demo__sheet{box-shadow:var(--lift-3);transition:transform .5s var(--ease-out);padding:22px 26px 26px 66px;position:relative;transform:rotate(-1.1deg)}.demo__sheet.is-missed{transform:rotate(-2.2deg)translateY(4px)}.demo__head{align-items:center;gap:10px;margin-bottom:14px;display:flex}.demo__count{color:var(--ink-3);font-size:.82rem;font-weight:650}.demo__ink{align-items:center;gap:4px;margin-left:auto;font-weight:800;display:inline-flex}.demo__confidence{opacity:0;pointer-events:none;transition:opacity .26s var(--ease-out), transform .26s var(--ease-out);flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;display:flex;transform:translateY(6px)}.demo__confidence.is-open{opacity:1;pointer-events:auto;transform:none}.demo__confidence-label{margin-right:4px;font-size:.9rem;font-weight:700}.demo__verdict{gap:12px;margin-top:16px;display:grid;position:relative}.demo__stamp{z-index:2;background:#fbfcffb3;font-size:1.5rem;position:absolute;top:56px;right:18px}.stamp--miss{color:var(--red)}.demo__clip{z-index:2;pointer-events:none;animation:clip-on .52s var(--ease-spring) both;align-items:flex-start;gap:6px;display:flex;position:absolute;top:-16px;right:150px}.demo__due{background:var(--red);color:#fff;white-space:nowrap;border-radius:6px;margin-top:10px;padding:3px 9px;font-size:.78rem;font-weight:800;transform:rotate(3deg)}@keyframes clip-on{0%{opacity:0;transform:translateY(-22px)rotate(-12deg)}to{opacity:1;transform:none}}.demo__traps{flex-wrap:wrap;gap:8px;display:flex}.demo__why p{color:var(--ink-2);max-height:9.6em;margin:0;font-size:.94rem;line-height:1.55;overflow:auto}.demo__why strong{color:var(--ink)}.demo__actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.demo__conf{color:var(--red);justify-self:start;font-size:1.05rem;transform:rotate(-2deg)}.demo__mascot{z-index:3;pointer-events:none;flex-direction:row-reverse;align-items:flex-end;gap:8px;display:flex;position:absolute;bottom:-34px;left:-54px}.demo__mascot .speech{max-width:300px;margin-bottom:26px;font-size:.92rem}.demo__mascot .speech--below:after{top:auto;bottom:16px;left:-7px}.qsheet{gap:18px;display:grid}.qsheet--split{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(20px,3vw,44px)}.passage p{font-family:var(--read);font-optical-sizing:auto;color:var(--ink);max-width:68ch;margin:0;font-size:1.06rem;line-height:1.62}.passage p+p{margin-top:14px}.passage__label{font-family:var(--ui);letter-spacing:.02em;margin-bottom:2px;font-size:.82rem;font-weight:800;display:block}.passage__blank{vertical-align:-.18em;border-bottom:2.5px solid var(--ink);background:#ffe53b6b;border-radius:3px 3px 0 0;width:4.4em;height:1.05em;margin:0 .15em;display:inline-block}.passage__notes{font-family:var(--read);margin:12px 0 0;padding-left:1.2em;line-height:1.5}.passage__notes li+li{margin-top:6px}.qsheet__prompt{margin:0 0 12px;font-weight:700;line-height:1.4}.choices{gap:6px;display:grid}.choice{border-radius:12px;align-items:center;display:flex;position:relative}.choice__hit{text-align:left;cursor:pointer;min-height:50px;transition:background-color .14s var(--ease-out);background:0 0;border:0;border-radius:12px;flex:1;align-items:center;gap:12px;padding:7px 10px;display:flex}.choice__hit:hover:not(:disabled){background:#4cc9ff29}.choice__hit:active:not(:disabled) .bubble{transform:scale(.9)}.choice__hit:disabled{cursor:default}.choice__hit .bubble{transition:transform .12s var(--ease-out)}.choice__text{-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:4px;padding:1px 3px;font-size:1rem;line-height:1.4}.choice.is-picked .choice__hit{background:#ffe53b8c}.choice.is-struck .choice__text{color:var(--ink-3);-webkit-text-decoration:line-through 2px var(--ink-2);text-decoration:line-through 2px var(--ink-2)}.choice.is-struck .bubble{border-color:var(--ink-3);color:var(--ink-3)}.choice.is-answer .choice__text{background:var(--green)}.choice.is-wrong .choice__text{-webkit-text-decoration:line-through 2.5px var(--red);text-decoration:line-through 2.5px var(--red)}.choice.is-wrong .choice__hit,.choice.is-answer .choice__hit{background:0 0}.choice__strike{cursor:pointer;opacity:0;width:34px;height:34px;transition:opacity .14s var(--ease-out);background:0 0;border:0;border-radius:8px;flex:none;place-items:center;display:grid}.choice:hover .choice__strike,.choice__strike:focus-visible,.choice__strike[aria-pressed=true]{opacity:1}.choice__strike svg{width:18px;height:18px}.choice__strike path{stroke:var(--ink-2);stroke-width:2.5px;stroke-linecap:round}.choice__strike:hover{background:var(--paper-2)}.choice__mark{pointer-events:none;position:absolute;top:50%;left:-8px;transform:translateY(-50%)}.pen-mark path{fill:none;stroke:var(--red);stroke-width:4.2px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1px;animation:pen-draw .36s var(--ease-out) forwards}@keyframes pen-draw{to{stroke-dashoffset:0}}.band{padding:clamp(72px, 10vw, 136px) var(--gutter);position:relative}.band__inner{max-width:1240px;margin:0 auto}.band__inner--split{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(32px,5vw,80px);display:grid}.band__title{font-size:clamp(2.4rem,5.2vw,4.6rem)}.band__lead{max-width:54ch;margin:22px 0 48px;font-size:clamp(1.05rem,1.35vw,1.2rem);font-weight:500;line-height:1.55}.band--paper{background-color:var(--paper);background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);background-size:26px 26px}.band--pink{background:var(--pink)}.band--violet{background:var(--violet)}.band--green{background:var(--green)}.band--blue{background:var(--blue)}.facts{gap:14px;max-width:46ch;margin:0;padding:0;list-style:none;display:grid}.facts li{border-radius:var(--r-md);background:#fbfcff8c;padding:14px 16px;line-height:1.45}.steps{counter-reset:step;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,28px);margin:0;padding:0;list-style:none;display:grid}.step{counter-increment:step}.step__art{aspect-ratio:5/4;place-items:center;margin-bottom:18px;padding:18px;display:grid;position:relative;overflow:hidden}.step__art:before{content:counter(step);background:var(--ink);width:28px;height:28px;color:var(--yellow);font-family:var(--display);border-radius:50%;place-items:center;font-size:.9rem;font-weight:900;display:grid;position:absolute;top:10px;left:10px}.step .title{font-size:1.3rem}.step p{color:var(--ink-2);margin:8px 0 0;line-height:1.5}.mini-bubbles{gap:7px;display:grid}.mini-row{gap:7px;display:flex}.bubble--mini{border-width:1.6px;width:18px;height:18px}.chip--static{pointer-events:none;position:absolute;bottom:12px;right:12px}.mini-grades{gap:4px;width:78%;display:grid}.mini-grade{align-items:center;gap:10px;height:26px;display:flex}.mini-line{background:var(--grid-strong);border-radius:4px;flex:1;height:8px}.step__stamp{font-size:1.4rem;position:absolute;bottom:14px;right:14px}.mini-traps{gap:8px;display:grid}.mini-trap{background:var(--paper);box-shadow:inset 0 0 0 2px var(--line);border-radius:10px;align-items:center;gap:10px;padding:6px 12px 6px 8px;font-size:.86rem;font-weight:700;display:flex}.mini-trap.is-on{background:var(--pink);box-shadow:var(--lift-1);transform:rotate(-2deg)scale(1.04)}.mini-due{align-items:center;gap:14px;display:flex}.mini-days{grid-template-columns:repeat(2,auto);gap:8px;display:grid}.mini-days span{background:var(--paper-2);font-weight:800;font-family:var(--display);text-align:center;border-radius:8px;padding:6px 10px}.mini-days .is-next{background:var(--red);color:#fff}.step.is-pending .pen-mark path{animation:none}.nbdemo__spread{padding:22px 22px 18px 62px;position:relative;transform:rotate(1deg)}.nbdemo__head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.nbdemo__head .title{font-size:1.6rem}.nbdemo__ink{align-items:center;gap:4px;font-size:1.1rem;font-weight:800;display:inline-flex}.nbdemo__note{margin:14px 0 0 12px;font-size:1.05rem;transform:rotate(-1deg)}.nbdemo__reset{color:var(--ink-2);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;margin-top:8px;padding:6px 4px;font-weight:650;display:inline-flex}.slips{margin:0;padding:0;list-style:none}.slip{border-bottom:1.5px dashed var(--grid-strong);grid-template-columns:26px minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:14px 4px;display:grid;position:relative}.slip:last-child{border-bottom:0}.slip__clip{place-items:center;width:26px;margin-left:-36px;display:grid}.slip__body{gap:3px;min-width:0;display:grid}.slip__skill{justify-self:start;font-weight:750}.slip__trap{color:var(--ink-2);align-items:center;gap:6px;font-size:.86rem;display:inline-flex}.slip__beats{gap:5px;display:flex}.slip__beats span{border:2px solid var(--ink-3);border-radius:50%;width:11px;height:11px}.slip__beats .is-on{background:var(--ink);border-color:var(--ink)}.slip__due{color:var(--ink-2);text-align:right;min-width:74px;font-size:.86rem;font-weight:750}.slip__due.is-due,.slip.is-due .slip__due{color:var(--red-ink)}.slip__due.is-done{color:var(--ink)}.slip__stamp{pointer-events:none;font-size:.95rem;position:absolute;top:6px;right:92px}.slip.is-beaten .slip__clip{opacity:.4}.speed{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(28px,5vw,72px);display:grid}.versus{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:26px 22px;display:grid;position:relative;transform:rotate(-1deg)}.versus__side{text-align:center;justify-items:center;gap:2px;display:grid}.versus__side b{font-size:1.1rem}.versus__rank{color:var(--ink-2);font-size:.84rem;font-weight:650}.versus__score{font-family:var(--display);margin-top:8px;font-size:2.6rem;font-weight:900;line-height:1}.versus__mid{justify-items:center;gap:10px;display:grid}.versus__mid .display{color:var(--red);font-size:2.2rem}.versus__clock{background:var(--ink);color:#fff;border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:.9rem;font-weight:750;display:inline-flex}.versus__sample{color:var(--ink-2);font-size:.95rem;position:absolute;bottom:8px;right:14px}.ranks{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:clamp(48px,7vw,88px) 0 0;padding:0;list-style:none;display:grid;position:relative}.ranks:before{content:"";border-top:3px dashed #17183b66;position:absolute;top:42px;left:10%;right:10%}.ranks li{text-align:center;justify-items:center;gap:4px;display:grid;position:relative}.ranks svg{filter:drop-shadow(0 8px 10px #17183b38);transition:transform .3s var(--ease-out)}.ranks li:hover svg{transform:rotate(-8deg)scale(1.08)}.ranks b{font-family:var(--display);font-variation-settings:"wdth" 108;margin-top:6px;font-size:1.05rem;font-weight:850}.ranks span{color:var(--ink-2);font-size:.82rem;font-weight:650}.skills{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:clamp(24px,4vw,64px);display:grid}.skills__radar{background:var(--paper);border-radius:var(--r-lg);box-shadow:var(--lift-2);place-items:center;padding:12px;display:grid;position:relative}.skills__radar .radar{width:100%;height:auto}.skills__note{color:var(--ink-2);margin:0;position:absolute;bottom:10px;right:16px}.radar__ring{fill:none;stroke:var(--grid-strong);stroke-width:1.4px}.radar__spoke{stroke-width:4px;stroke-linecap:round;transition:opacity .2s var(--ease-out)}.radar__shape{fill:#ffe53bc7;stroke:var(--ink);stroke-width:2.5px;stroke-linejoin:round;mix-blend-mode:multiply;transition:all .6s var(--ease-out)}.radar__dot{fill:var(--ink);transition:r .2s var(--ease-out)}.radar__label{cursor:default;outline:none}.radar__label text{font-family:var(--ui);fill:var(--ink);font-size:13.5px;font-weight:700}.radar__label.is-focus text{text-decoration:underline;-webkit-text-decoration-color:var(--red);text-decoration-color:var(--red);font-weight:850;text-decoration-thickness:2px}.stars-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.stars-row{cursor:pointer;text-align:left;transition:background-color .16s var(--ease-out);background:#fbfcff80;border:0;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px 8px 12px;font-size:.9rem;font-weight:700;display:flex}.stars-row.is-focus{background:var(--paper);box-shadow:inset 6px 0 0 -2px var(--mark), var(--lift-1)}.stars-row__stars{gap:2px;display:flex}.stars-row__stars svg,.stop__star{width:18px;height:18px;fill:var(--paper);stroke:var(--ink);stroke-width:1.6px;stroke-linejoin:round}.stars-row__stars svg.is-lit,.stop__star.is-lit{fill:var(--yellow)}.skills__card{animation:card-in .38s var(--ease-out);margin-top:18px;padding:22px 24px}.skills__card .title{margin:10px 0 8px;font-size:1.6rem}.skills__card p{color:var(--ink-2);margin:0;line-height:1.55}.skills__move{color:var(--ink)!important;margin-top:12px!important}@keyframes card-in{0%{opacity:0;transform:translateY(8px)rotate(-.6deg)}}.rewards{grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr);grid-template-areas:"pack wardrobe""streak wardrobe";gap:clamp(18px,3vw,36px);display:grid}.rewards__pack{border-radius:var(--r-lg);background:#fbfcff73;grid-area:pack;align-items:center;gap:24px;padding:22px;display:flex}.rewards__reveal{flex:1;place-items:center;min-height:190px;display:grid}.rewards__shelf{grid-template-columns:repeat(2,96px);gap:14px;display:grid}.rewards__shelf .sticker:nth-child(odd){transform:rotate(-6deg)}.rewards__shelf .sticker:nth-child(2n){transform:rotate(5deg)}.reveal-pop{text-align:center;animation:pop-in .64s var(--ease-spring) both;justify-items:center;gap:10px;display:grid}.reveal-pop p{margin:0}@keyframes pop-in{0%{opacity:0;transform:translateY(30px)rotateY(160deg)scale(.4)}to{opacity:1;transform:none}}.sticker__count{font-size:.7rem;font-weight:800;position:absolute;top:4px;right:6px}.pack{cursor:pointer;filter:drop-shadow(0 14px 16px #17183b4d);width:132px;height:172px;transition:transform .2s var(--ease-out);background:0 0;border:0;flex:none;padding:0;display:grid;position:relative}.pack:hover:not(:disabled){transform:rotate(-3deg)translateY(-4px)}.pack:active:not(:disabled){transform:scale(.96)}.pack:disabled{cursor:default;filter:none;opacity:.55}.pack__top{background:var(--ink);clip-path:polygon(0 100%,0 30%,8% 0,16% 30%,25% 0,33% 30%,42% 0,50% 30%,58% 0,67% 30%,75% 0,83% 30%,92% 0,100% 30%,100% 100%);height:28px;transition:transform .42s var(--ease-out), opacity .42s var(--ease-out);position:absolute;inset:0 0 auto}.pack__body{background:var(--ink);color:var(--yellow);text-align:center;border-radius:0 0 14px 14px;place-content:center;justify-items:center;gap:6px;font-size:.95rem;font-weight:800;display:grid;position:absolute;inset:26px 0 0}.pack__body svg{width:40px;height:40px}.pack__hint{font-family:var(--hand);color:#fff;font-size:.95rem;font-weight:400}.pack.is-tearing .pack__top{opacity:0;transform:translate(30px,-40px)rotate(24deg)}.pack.is-tearing .pack__body{animation:pack-shake .42s var(--ease-out)}@keyframes pack-shake{0%,to{transform:none}20%{transform:rotate(-4deg)}40%{transform:rotate(4deg)}60%{transform:rotate(-3deg)}80%{transform:rotate(2deg)}}.rewards__wardrobe{background:var(--paper);border-radius:var(--r-lg);box-shadow:var(--lift-2);grid-area:wardrobe;grid-template-rows:auto 1fr;gap:18px;padding:24px;display:grid}.wardrobe-stage{background:var(--paper-2);border-radius:var(--r-md);place-items:center;padding:10px 0 0;display:grid}.wardrobe-rack{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;display:grid}.rack-item{cursor:pointer;text-align:center;transition:background-color .14s var(--ease-out);background:0 0;border:0;border-radius:12px;justify-items:center;gap:2px;padding:10px 6px;font-size:.78rem;font-weight:700;line-height:1.2;display:grid}.rack-item:hover{background:var(--paper-2)}.rack-item[aria-checked=true]{background:var(--yellow)}.rack-item__price{color:var(--ink-2);align-items:center;gap:3px;font-weight:650;display:inline-flex}.rewards__streak{grid-area:streak;padding:20px 22px}.rewards__streak p{color:var(--ink-2);margin:14px 0 0;line-height:1.5}.rewards__streak strong{color:var(--ink)}.streak-row{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.streak-day{background:var(--paper-2);border-radius:10px;justify-items:center;gap:4px;padding:8px 0;font-size:.78rem;font-weight:750;display:grid}.streak-day.is-done{background:#ffa23a47}.streak-day.is-taped{background:#4cc9ff4d}.streak-day.is-today{box-shadow:inset 0 0 0 2px var(--ink)}.colleges{margin-top:12px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.colleges__track{gap:16px;width:max-content;animation:60s linear infinite marquee;display:flex}.colleges:hover .colleges__track{animation-play-state:paused}.college{background:var(--paper);border-radius:var(--r-md);width:168px;box-shadow:var(--lift-1);color:var(--ink-2);justify-items:center;gap:8px;padding:18px 12px 14px;font-size:.86rem;display:grid}.college img{width:auto;height:44px}.college b{font-family:var(--display);color:var(--ink);font-size:1.1rem;font-weight:900}@keyframes marquee{to{transform:translate(-50%)}}.finale{padding:clamp(80px, 12vw, 150px) var(--gutter);text-align:center;background:var(--yellow);justify-items:center;gap:24px;display:grid}.finale__title{max-width:15ch;font-size:clamp(2.4rem,5.6vw,4.8rem)}.finale__list{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:8px;display:flex}.lfoot{padding:32px var(--gutter) 40px;background:var(--ink);color:#e9ebff;flex-wrap:wrap;align-items:center;gap:14px 26px;font-size:.92rem;display:flex}.lfoot .logo__seal{background:var(--yellow);color:var(--ink)}.lfoot .logo__word{color:#fff}.lfoot a{color:#fff;align-items:center;gap:6px;font-weight:650;display:inline-flex}.lfoot__note{color:#b9bce0;flex-basis:100%;font-size:.82rem}@media (width<=1060px){.lnav__links{display:none}.hero{grid-template-columns:minmax(0,1fr);gap:40px;min-height:0}.hero__lead{max-width:46ch}.demo{width:100%;max-width:640px;margin:0 auto}.demo__mascot{bottom:-30px;left:-6px}.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.band__inner--split,.speed,.skills{grid-template-columns:minmax(0,1fr)}.rewards{grid-template-columns:minmax(0,1fr);grid-template-areas:"pack""wardrobe""streak"}}@media (width<=640px){.lnav{padding-block:10px}.lnav__signin{display:none}.hero__title{font-size:clamp(2.7rem,13vw,3.6rem)}.demo{padding-bottom:96px}.demo__sheet{padding:18px 16px 20px 46px}.sheet--ruled:after{left:30px}.demo__stack span{inset:22px 4px 98px}.demo__mascot .speech{max-width:200px;font-size:.86rem}.demo__clip{right:12px}.steps{grid-template-columns:minmax(0,1fr)}.nbdemo__spread{padding:18px 14px 14px 44px;transform:none}.slip{grid-template-columns:22px minmax(0,1fr) auto;gap:10px}.slip__beats{display:none}.slip__clip{margin-left:-30px}.slip__stamp{right:70px}.ranks{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:22px}.ranks:before{display:none}.stars-grid{grid-template-columns:minmax(0,1fr)}.rewards__pack{flex-direction:column}.versus{padding:22px 12px}}.feats{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,28px);display:grid}.feat{align-content:start;gap:14px;padding:clamp(20px,2.4vw,32px);display:grid}.feat__icon{border-radius:var(--r-md);background:var(--yellow);place-items:center;width:52px;height:52px;display:grid}.feat__title{font-variation-settings:"wdth" 118;margin:0;font-family:Anybody,sans-serif;font-size:clamp(1.25rem,2vw,1.6rem);font-weight:860;line-height:1.1}.feat ul{gap:8px;margin:0;padding-left:1.1em;line-height:1.5;display:grid}.feat .btn{justify-self:start}.fn a{color:inherit;font-weight:800;text-decoration:none}.whyc{background:var(--yellow);border-radius:var(--r-lg,18px);gap:14px;max-width:72ch;margin-top:clamp(28px,4vw,56px);padding:clamp(20px,2.6vw,36px);display:grid}.whyc p{margin:0;line-height:1.5}.whyc__list{gap:6px;margin:0;padding-left:1.1em;font-weight:650;display:grid}.fine{color:#b9bce0;border-top:1px solid #fff3;flex-basis:100%;gap:10px;padding-top:22px;font-size:.82rem;line-height:1.5;display:grid}.fine h2{letter-spacing:.08em;text-transform:uppercase;color:#e9ebff;margin:0;font-size:.82rem}.fine ol{gap:6px;margin:0;padding-left:1.3em;display:grid}.fine p{margin:0}@media (width<=760px){.feats{grid-template-columns:minmax(0,1fr)}}.demo__why .demo__fix{margin-top:8px}body[data-surface=game]{background-color:var(--paper-2);background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);background-size:26px 26px;background-attachment:fixed}.game{grid-template:"hud hud""tabs main"1fr/118px minmax(0,1fr);min-height:100svh;display:grid}.hud{z-index:30;background:var(--yellow);grid-area:hud;justify-content:space-between;align-items:center;gap:16px;padding:10px clamp(14px,3vw,32px);display:flex;position:sticky;top:0;box-shadow:0 1px #17183b1a,0 10px 22px -18px #17183b8c}.hud__brand{text-decoration:none}.hud__stats{align-items:center;gap:clamp(6px,1.4vw,14px);display:flex}.hud__stat{background:#fbfcffb3;border-radius:999px;align-items:center;gap:6px;padding:6px 12px 6px 8px;font-size:.95rem;display:inline-flex}.hud__stat b{font-family:var(--display);font-size:1.05rem;font-weight:900}.hud__stat.is-lit{background:var(--paper);box-shadow:var(--lift-1)}.hud__label{color:var(--ink-2);font-size:.82rem;font-weight:600}.hud__level{background:var(--ink);color:#fff;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;display:inline-flex}.hud__lv{font-family:var(--display);white-space:nowrap;font-size:.95rem;font-weight:900}.hud__level .meter{width:92px;height:10px;box-shadow:none;background:#ffffff2e}.tabs{grid-area:tabs;align-self:start;gap:10px;padding:28px 0;display:grid;position:sticky;top:62px}.tab{background:var(--mark);color:var(--ink);box-shadow:var(--lift-1);transition:transform .26s var(--ease-out), box-shadow .2s var(--ease-out);border-radius:0 16px 16px 0;justify-items:center;gap:4px;margin-right:18px;padding:14px 8px 12px;font-size:.82rem;font-weight:750;text-decoration:none;display:grid;position:relative;transform:translate(-10px)}.tab svg{width:24px;height:24px}.tab:hover{transform:translate(-4px)}.tab.is-active{box-shadow:var(--lift-2);margin-right:0;transform:translate(0)}.tab__badge{background:var(--red);color:#fff;border-radius:999px;place-items:center;min-width:20px;height:20px;padding:0 5px;font-size:.72rem;font-weight:800;display:grid;position:absolute;top:6px;right:8px}.game__main{grid-area:main;width:100%;max-width:1240px;margin:0 auto;padding:clamp(18px,3vw,36px) clamp(16px,3vw,40px) 96px}.panel{background:var(--paper);border-radius:var(--r-md);box-shadow:var(--lift-1);padding:18px 20px 20px}.panel__head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.panel__title{font-size:1.18rem}.panel__aside{color:var(--ink-3);align-items:center;gap:4px;font-size:.82rem;font-weight:650;display:inline-flex}.panel__link{align-items:center;gap:4px;font-size:.9rem;font-weight:700;text-decoration:none;display:inline-flex}.panel__link:hover{text-decoration:underline}.panel__note{color:var(--ink-2);margin:14px 0 0;font-size:.86rem;line-height:1.45}.panel .btn{margin-top:12px}.empty{color:var(--ink-2);margin:0;line-height:1.5}.quests{gap:16px;margin:0;padding:0;list-style:none;display:grid}.quest{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"text reward""meter reward";align-items:center;gap:6px 14px;display:grid}.quest__text{grid-area:text;justify-content:space-between;gap:8px;font-size:.92rem;font-weight:650;display:flex}.quest__count{color:var(--ink-3);font-weight:700}.quest .meter{grid-area:meter}.quest .meter>span{background:var(--green)}.quest__reward,.quest__claim{grid-area:reward;align-items:center;gap:4px;font-size:.88rem;font-weight:750;display:inline-flex}.quest .quest__claim{margin-top:0}.quest.is-claimed .quest__text{color:var(--ink-2)}.stamp--sm{outline-offset:2px;border-width:2px;border-radius:7px;outline-width:1px;padding:.3em .5em .25em;font-size:.72rem}.stamp--big{outline-offset:4px;border-width:4px;outline-width:2px;font-size:clamp(2.2rem,5vw,3.4rem)}.stamp--dot{outline-offset:2px;border-radius:50%;width:38px;height:38px;padding:0;font-size:1rem}.stampcard{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}.stampcard__slot{aspect-ratio:1;border:2px dashed var(--grid-strong);border-radius:50%;place-items:center;display:grid}.stampcard__slot.is-stamped{border-color:#0000}.league{gap:4px;margin:0;padding:0;list-style:none;display:grid}.league__row{border-radius:10px;grid-template-columns:22px 30px minmax(0,1fr) auto;align-items:center;gap:10px;padding:6px 8px;font-size:.9rem;display:grid}.league__row.is-up .league__place{color:var(--ink);background:var(--green)}.league__row.is-you{background:var(--yellow);font-weight:750}.league__place{width:22px;height:22px;color:var(--ink-2);border-radius:6px;place-items:center;font-size:.78rem;font-weight:800;display:grid}.league__name{text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.league__xp{color:var(--ink-2);font-weight:750}.opener{align-items:center;gap:20px;display:flex}.opener .pack{width:112px;height:148px}.opener__reveal{text-align:center;flex:1;place-items:center;min-height:150px;display:grid}.opener__reveal p{font-size:.88rem}.opener__hint{color:var(--ink-2);gap:4px;margin:0;display:grid}.opener__hint .hand{color:var(--red);font-size:1.25rem;transform:rotate(-2deg)}.today{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:clamp(20px,3vw,36px);display:grid}.today__main{gap:26px;min-width:0;display:grid}.today__side{gap:18px;display:grid;position:sticky;top:84px}.today__duo{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:18px;display:grid}.greet{align-items:center;gap:14px;display:flex}.greet__speech{max-width:46ch;margin:0;font-size:1.02rem}.page-card{margin-top:18px;padding:0}.page-card__tab{background:var(--mark);border-radius:12px 12px 0 0;padding:7px 16px 12px;font-size:.86rem;font-weight:800;position:absolute;top:-30px;left:66px}.page-card__clips{z-index:2;gap:2px;display:flex;position:absolute;top:-20px;right:34px}.page-card__body{padding:34px 32px 30px 72px;position:relative}.page-card__title{font-size:clamp(2.3rem,4.6vw,3.8rem)}.page-card__meta{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:6px 14px;margin:14px 0 26px;font-size:1.04rem;font-weight:550;display:flex}.page-card__meta svg{width:18px;height:18px}.page-card__stop{background:var(--mark);color:var(--ink);border-radius:6px;align-items:center;gap:6px;padding:2px 10px;font-size:.86rem;font-weight:750;display:inline-flex}.page-card__go{flex-wrap:wrap;align-items:center;gap:18px 28px;display:flex}.goal{flex:1;gap:6px;min-width:190px;max-width:300px;display:grid}.goal__label{color:var(--ink-2);font-size:.86rem;font-weight:650}.goal__label b{color:var(--ink)}.comebacks-strip{padding:4px 2px}.cb-row{flex-wrap:wrap;align-items:stretch;gap:10px;display:flex}.cb-due{border-radius:var(--r-md);background:var(--red);color:#fff;text-align:left;cursor:pointer;box-shadow:var(--lift-2);transition:transform .16s var(--ease-out);border:0;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;column-gap:12px;padding:10px 18px 10px 16px;display:grid}.cb-due:hover{transform:translateY(-2px)rotate(-1deg)}.cb-due:active{transform:scale(.97)}.cb-due .display{grid-row:span 2;font-size:2.6rem}.cb-due span{font-weight:700}.cb-due__go{opacity:.92;align-items:center;gap:4px;font-size:.86rem;display:inline-flex}.cb-chip{border-radius:var(--r-md);background:var(--paper);box-shadow:inset 0 -4px 0 var(--mark), var(--lift-1);align-content:center;gap:2px;padding:10px 14px;display:grid}.cb-chip__skill{font-size:.9rem;font-weight:750}.cb-chip__due{color:var(--ink-2);font-size:.8rem;font-weight:650}.speed-cta{border-radius:var(--r-md);background:var(--violet);text-align:left;cursor:pointer;width:100%;box-shadow:var(--lift-1);transition:transform .16s var(--ease-out), box-shadow .16s var(--ease-out);border:0;align-items:center;gap:14px;padding:16px 18px;display:flex}.speed-cta:hover{box-shadow:var(--lift-2);transform:translateY(-2px)}.speed-cta>span{flex:1;display:grid}.speed-cta b{font-family:var(--display);font-size:1.15rem;font-weight:850}.speed-cta span span{color:var(--ink-2);font-size:.86rem;font-weight:600}.speed-cta svg{width:26px;height:26px}.path{max-width:680px;margin:0 auto}.path__head{text-align:center;margin-bottom:18px}.path__head .display{font-size:clamp(2.4rem,5vw,3.6rem)}.path__head p{color:var(--ink-2);margin:10px 0 0;font-weight:600}.chapter{margin-top:46px}.chapter__tab{z-index:6;border-radius:var(--r-md);background:var(--mark);box-shadow:var(--lift-2);justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex;position:sticky;top:70px}.chapter__tab .title{font-size:1.25rem}.chapter__tab .num{font-weight:800}.trail{padding:20px 0 0;position:relative}.trail__stops{margin:0;padding:0;list-style:none;position:relative}.path{overflow-x:clip}.trail{--k:1}.trail__line{width:400px;max-width:none;transform:scaleX(var(--k));pointer-events:none;margin-left:-200px;position:absolute;top:20px;left:50%;overflow:visible}.trail__line path{fill:none;stroke:var(--ink);stroke-width:3px;stroke-dasharray:2 9;stroke-linecap:round;opacity:.45}.trail__line path.trail__done{stroke:var(--mark);stroke-dasharray:none;stroke-width:10px;opacity:1}.stop{justify-content:center;height:118px;display:flex;position:relative}.stop__anchor{transform:translateX(calc(var(--sway) * var(--k) * 1px));align-content:start;justify-items:center;gap:6px;display:grid;position:relative}.stop__bubble{border:4px solid var(--ink);background:var(--paper);width:74px;height:74px;color:var(--ink);cursor:pointer;box-shadow:var(--lift-1);transition:transform .2s var(--ease-out), box-shadow .2s var(--ease-out);border-radius:50%;place-items:center;display:grid}.stop__bubble svg{width:30px;height:30px}.stop__bubble:hover:not(:disabled){box-shadow:var(--lift-2);transform:scale(1.08)}.stop__bubble:active:not(:disabled){transform:scale(.94)}.stop.is-done .stop__bubble{background:var(--ink);color:var(--mark)}.stop.is-current .stop__bubble{background:var(--yellow);animation:stop-pulse 1.8s var(--ease-out) infinite}.stop.is-open .stop__bubble{background:var(--mark);border-style:solid}.stop.is-open .stop__label:after{content:"open";background:var(--ink);color:#fff;border-radius:999px;margin-left:4px;padding:0 6px;font-size:.68rem;font-weight:750}.stop.is-locked .stop__bubble{border-style:dashed;border-color:var(--ink-3);color:var(--ink-3);cursor:not-allowed;box-shadow:none;background:var(--paper)}.stop--boss .stop__bubble{border-color:var(--red);border-width:5px;width:86px;height:86px}.stop--boss.is-locked .stop__bubble{border-color:#e5262d80}.stop--chest .stop__bubble{background:var(--violet);border-radius:18px}.stop--chest.is-locked .stop__bubble{background:var(--paper)}@keyframes stop-pulse{0%{box-shadow:0 0 0 0 #17183b59, var(--lift-1)}70%{box-shadow:0 0 0 16px #17183b00, var(--lift-1)}to{box-shadow:0 0 0 0 #17183b00, var(--lift-1)}}.stop__label{white-space:nowrap;background:#fbfcffeb;border-radius:6px;align-items:center;gap:4px;padding:2px 8px;font-size:.84rem;font-weight:700;display:inline-flex}.stop.is-locked .stop__label{color:var(--ink-3)}.stop__label .stop__star{width:16px;height:16px}.stop__mascot{position:absolute;top:2px;right:calc(100% + 10px)}.stop__start{position:absolute;top:18px;left:calc(100% + 14px)}.stop__clip{position:absolute;top:-10px;right:-6px}.play{flex-direction:column;gap:18px;min-height:100svh;padding-bottom:12px;display:flex}.play--loading{text-align:center;place-content:center;justify-items:center;gap:14px;padding:24px;display:grid}.play--loading .hand{font-size:1.3rem}.play__bar{z-index:20;background:var(--yellow);align-items:center;gap:16px;padding:12px clamp(14px,3vw,32px);display:flex;position:sticky;top:0;box-shadow:0 10px 22px -18px #17183b8c}.play__leave{cursor:pointer;background:#fbfcffb3;border:0;border-radius:12px;place-items:center;width:42px;height:42px;display:grid}.play__leave:hover{background:var(--paper)}.play__title{line-height:1.2;display:grid}.play__title b{font-family:var(--display);font-variation-settings:"wdth" 108;font-size:1.15rem;font-weight:850}.play__title span{color:var(--ink-2);font-size:.82rem;font-weight:600}.play__dots{gap:6px;margin:0 0 0 auto;padding:0;list-style:none;display:flex}.bubble--dot{cursor:pointer;width:32px;height:32px;font-size:.8rem}.bubble--dot.is-here{box-shadow:0 0 0 3px var(--paper), 0 0 0 6px var(--ink)}.bubble--dot.is-comeback{border-color:var(--red)}.bubble--dot.is-comeback.is-filled:before{background:var(--red)}.bubble--sm{width:28px;height:28px;font-size:.78rem}.play__sheet{width:min(1120px,100% - 2*clamp(12px,3vw,32px));min-height:clamp(320px,58vh,620px);animation:page-in .42s var(--ease-out);transition:opacity .18s var(--ease-out), transform .18s var(--ease-out);margin:26px auto 0;padding:30px 32px 32px 74px}.play__sheet.is-turning{opacity:0;transform:translate(-28px)rotate(-1.2deg)}.play__sheet.is-missed{box-shadow:0 0 0 3px var(--red-soft), var(--lift-2)}@keyframes page-in{0%{opacity:0;transform:translate(34px)rotate(1deg)}}.play__tags{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.tag--quiet{--mark:var(--paper-2);color:var(--ink-2)}.tag--comeback{--mark:var(--red-soft);color:var(--red-ink)}.tag--xs{margin-left:6px;padding:.1em .45em;font-size:.68rem}.play__foot{z-index:10;border-radius:var(--r-lg);background:var(--paper);width:min(1120px,100% - 2*clamp(12px,3vw,32px));box-shadow:var(--lift-3);justify-content:space-between;align-items:center;gap:14px;margin:auto auto 0;padding:12px 14px;display:flex;position:sticky;bottom:12px;transform:translateY(0)}.confidence{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.confidence__label{color:var(--ink-2);margin-right:4px;font-size:.9rem;font-weight:700}.confidence .chip:disabled{opacity:.4;cursor:not-allowed}.confidence.is-open .chip:not(:disabled){animation:chip-in .3s var(--ease-spring) both}.confidence.is-open .chip:nth-of-type(2){animation-delay:40ms}.confidence.is-open .chip:nth-of-type(3){animation-delay:80ms}@keyframes chip-in{0%{transform:translateY(6px)scale(.92)}}kbd{background:var(--paper-2);min-width:18px;height:18px;color:var(--ink-2);font-family:var(--ui);border-radius:5px;place-items:center;padding:0 4px;font-size:.7rem;font-weight:700;display:inline-grid}.chip[aria-pressed=true] kbd{color:#fff;background:#fff3}.play--grading{place-content:start center;gap:22px;padding:clamp(20px,5vh,56px) 16px 40px;display:grid}.grade{width:min(720px,100vw - 32px);padding:28px 30px 30px 74px}.grade__head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:16px;display:flex}.grade__head .display{font-size:clamp(2rem,4vw,2.8rem)}.grade__pen{color:var(--red);font-size:1.2rem}.grade__rows{margin:0;padding:0;list-style:none}.grade__row{border-bottom:1.5px dashed var(--grid-strong);min-height:52px;animation:row-in .36s var(--ease-out) both;grid-template-columns:26px minmax(0,1fr) auto 44px;align-items:center;gap:14px;display:grid}@keyframes row-in{0%{opacity:0;transform:translate(-10px)}}.grade__n{font-family:var(--display);color:var(--ink-3);font-weight:900}.grade__skill{font-weight:700}.grade__you{align-items:center;gap:8px;display:inline-flex}.grade__conf{font-family:var(--hand);color:var(--ink-2);min-width:64px;font-size:1.05rem}.grade__row.is-wrong .grade__skill{-webkit-text-decoration:line-through 2px var(--red);text-decoration:line-through 2px var(--red)}.grade__score{place-items:center end;min-height:84px;margin-top:14px;display:grid}.grade__after{opacity:0;transition:opacity .4s var(--ease-out), transform .4s var(--ease-out);flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 18px;display:flex;transform:translateY(12px)}.grade__after.is-in{opacity:1;transform:none}.grade__after .speech{max-width:38ch;margin:0}.review__steps{gap:6px;margin:0 0 0 auto;padding:0;font-size:.82rem;font-weight:700;list-style:none;display:flex}.review__steps li{color:var(--ink-2);background:#fbfcff99;border-radius:999px;padding:6px 12px}.review__steps li.is-here{background:var(--ink);color:#fff}.review__steps li.is-done{background:var(--paper);-webkit-text-decoration:line-through 2px var(--red);text-decoration:line-through 2px var(--red)}.review__clip{animation:clip-on .52s var(--ease-spring) both;position:absolute;top:-22px;right:60px}.review__hint{color:var(--red);font-size:1.05rem}.review__foot{width:min(1120px,100% - 2*clamp(12px,3vw,32px));margin:18px auto 0}.review__say{color:var(--ink-2);align-items:center;gap:12px;margin:0;font-weight:600;display:flex}.review__traps .title{margin:0 0 12px;font-size:1.3rem}.trap-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.trap-card{border-radius:var(--r-md);background:var(--paper);box-shadow:var(--lift-1);text-align:left;cursor:pointer;transition:transform .18s var(--ease-out), background-color .16s var(--ease-out);border:0;align-content:start;justify-items:start;gap:6px;padding:14px;display:grid}.trap-card:hover{transform:translateY(-3px)rotate(-1deg)}.trap-card:active{transform:scale(.97)}.trap-card[aria-pressed=true]{background:var(--pink);transform:rotate(-2deg)scale(1.03)}.trap-card b{font-size:.98rem}.trap-card span{color:var(--ink-2);font-size:.82rem;line-height:1.35}.review__why{border-radius:var(--r-lg);background:var(--paper);box-shadow:var(--lift-2);animation:card-in .38s var(--ease-out);gap:16px;padding:20px 22px;display:grid}.review__rationale{max-width:80ch;margin:0;line-height:1.6}.review__filed{flex-wrap:wrap;align-items:center;gap:14px 18px;display:flex}.review__filed .btn{margin-left:auto}.play--rewards{padding:clamp(20px,5vh,48px) 16px 48px}.loot{gap:22px;width:min(860px,100%);margin:0 auto;display:grid}.loot__hero{text-align:center;justify-items:center;gap:8px;display:grid;position:relative}.loot__hero .display{font-size:clamp(2.4rem,6vw,4rem)}.loot__hero .stamp{position:absolute;top:10px;right:6%}.loot__grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.loot__cell{border-radius:var(--r-md);background:var(--paper);box-shadow:var(--lift-1);align-content:start;gap:6px;padding:18px;font-weight:650;display:grid}.loot__cell--star{background:var(--yellow)}.loot__big{align-items:center;gap:8px;font-size:2.4rem;display:inline-flex}.loot__small{color:var(--ink-2);font-size:.84rem;font-weight:600}.loot__star{width:44px;height:44px}.loot__pack{padding:20px 24px}.loot__pack .title{margin:0 0 10px;font-size:1.2rem}.loot__quests{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.loot__quests li{background:var(--paper);color:var(--ink-2);border-radius:10px;align-items:center;gap:8px;padding:8px 12px;font-size:.88rem;font-weight:650;display:inline-flex}.loot__quests li.is-done{background:var(--green);color:var(--ink)}.loot__actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.loot__day{text-align:center;color:var(--ink-3);margin:0}.notebook{gap:22px;display:grid}.notebook__head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px;display:flex}.notebook__head .display{font-size:clamp(2.8rem,6vw,4.4rem)}.notebook__head .display .zh{font-size:1.05em}.notebook__head p{color:var(--ink-2);margin:8px 0 0;font-weight:600}.notebook__empty{flex-wrap:wrap;align-items:center;gap:24px;padding:32px 32px 32px 74px;display:flex}.notebook__empty>div{flex:1;min-width:240px}.notebook__empty p{color:var(--ink-2);max-width:52ch;line-height:1.55}.trap-filter{flex-wrap:wrap;gap:8px;display:flex}.trap-filter .num{color:inherit;opacity:.7}.notebook__insight{margin:0;font-size:1.05rem;font-weight:550}.notebook__page{padding:16px 24px 16px 66px}.slip--full{padding:0;display:block}.slip__row{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:26px minmax(0,1fr) auto auto;align-items:center;gap:14px;width:100%;padding:14px 4px;display:grid}.slip__row:hover{background:#4cc9ff14}.slip__peek{animation:card-in .3s var(--ease-out);padding:0 4px 16px 40px}.slip__prompt{margin:0 0 6px;font-weight:700}.slip__passage{font-family:var(--read);color:var(--ink-2);margin:0 0 8px;line-height:1.55}.slip__peek .hand{color:var(--red);margin:0}.cleared .title{margin-bottom:10px;font-size:1.2rem}.cleared ul{flex-wrap:wrap;gap:12px 18px;margin:0;padding:0;list-style:none;display:flex}.cleared li{align-items:center;gap:8px;font-weight:700;display:inline-flex}.arena{gap:24px;display:grid}.arena__head .display{font-size:clamp(2.6rem,5.4vw,4rem)}.arena__head p{color:var(--ink-2);max-width:52ch;margin:10px 0 0;font-weight:550}.arena__finding{text-align:center;justify-items:center;gap:24px;padding:80px 16px;display:grid}.pens-spin{gap:10px;display:flex}.pens-spin svg{animation:pen-bob .9s var(--ease-out) infinite alternate}.pens-spin svg:nth-child(2){animation-delay:.12s}.pens-spin svg:nth-child(3){animation-delay:.24s}.pens-spin svg:nth-child(4){animation-delay:.36s}@keyframes pen-bob{to{transform:translateY(-16px)rotate(12deg)}}.arena__versus{grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:60px 16px;display:grid}.vs-side{text-align:center;justify-items:center;gap:4px;display:grid}.vs-side--you{animation:slide-from-left .6s var(--ease-spring) both}.vs-side--them{animation:slide-from-right .6s var(--ease-spring) both}.vs-side .title{font-size:1.6rem}.vs-mark{color:var(--red);animation:stamp-land .5s var(--ease-spring) .3s both;font-size:clamp(3rem,8vw,5.4rem)}@keyframes slide-from-left{0%{opacity:0;transform:translate(-60px)}}@keyframes slide-from-right{0%{opacity:0;transform:translate(60px)}}.arena__result{text-align:center;justify-items:center;gap:12px;padding:40px 16px;display:grid}.arena__final{margin:0;font-size:clamp(3rem,8vw,5rem)}.arena__delta{align-items:center;gap:8px;margin:0;font-weight:600;display:inline-flex}.arena__actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px;display:flex}.speedround{min-height:100svh;padding-bottom:32px}.sr-bar{z-index:20;background:var(--violet);grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:12px clamp(14px,3vw,32px) 18px;display:grid;position:sticky;top:0;box-shadow:0 10px 22px -18px #17183b8c}.sr-player{align-items:center;gap:10px;font-weight:750;display:flex;position:relative}.sr-player--them{justify-content:flex-end}.sr-score{text-align:center;min-width:1.2em;font-size:2.2rem}.sr-typing{color:var(--ink-2);font-size:.72rem;font-weight:650;position:absolute;bottom:-16px;right:0}.sr-typing.is-done{color:var(--ink)}.sr-mid{justify-items:center;gap:8px;display:grid;position:relative}.sr-clock{background:var(--ink);color:#fff;border-radius:999px;align-items:center;gap:6px;padding:5px 14px;font-size:1.05rem;font-weight:800;display:inline-flex}.sr-clock.is-low{background:var(--red);animation:1s steps(2,end) infinite tick}@keyframes tick{50%{transform:scale(1.06)}}.sr-log{gap:6px;margin:0;padding:0;list-style:none;display:flex}.sr-log li{border:2px solid var(--ink);background:var(--paper);border-radius:50%;width:14px;height:14px}.sr-log li.is-here{background:var(--yellow)}.sr-log li.is-right{background:var(--green)}.sr-log li.is-wrong{background:var(--red);border-color:var(--red)}.sr-clockbar{background:var(--ink);transform-origin:0;width:160px;height:5px;transform:scaleX(var(--value));border-radius:3px;margin-left:-80px;transition:transform 1s linear;position:absolute;bottom:-18px;left:50%}.me{gap:30px;display:grid}.me__card{background-image:none;flex-wrap:wrap;align-items:center;gap:28px;padding:26px 32px;display:flex}.me__avatar{background:var(--yellow);border-radius:50%;place-items:center;width:210px;height:210px;display:grid}.me__who{flex:1;gap:10px;min-width:260px;display:grid}.me__who .display{font-size:clamp(2.4rem,5vw,3.6rem)}.me__who>p{color:var(--ink-2);margin:0;font-weight:650}.me__stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:8px 0 0;display:grid}.me__stats div{background:var(--paper-2);border-radius:12px;padding:12px}.me__stats dt{color:var(--ink-2);font-size:.78rem;font-weight:700}.me__stats dd{font-family:var(--display);align-items:center;gap:4px;margin:2px 0 0;font-size:1.5rem;font-weight:900;display:flex}.me__section{min-width:0}.wardrobe{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.closet{border-radius:var(--r-md);background:var(--paper);box-shadow:var(--lift-1);text-align:center;cursor:pointer;transition:transform .18s var(--ease-out), box-shadow .18s var(--ease-out);border:0;align-content:start;justify-items:center;gap:4px;padding:16px 10px 14px;display:grid}.closet:hover:not(:disabled){box-shadow:var(--lift-2);transform:translateY(-3px)}.closet:active:not(:disabled){transform:scale(.97)}.closet:disabled{opacity:.5;cursor:not-allowed}.closet.is-worn{background:var(--yellow)}.closet b{font-size:.92rem}.closet__blurb{color:var(--ink-2);font-size:.78rem;line-height:1.3}.closet__price{background:var(--paper-2);border-radius:999px;align-items:center;gap:4px;margin-top:6px;padding:3px 10px;font-size:.8rem;font-weight:750;display:inline-flex}.closet.is-worn .closet__price{background:var(--ink);color:#fff}.me__duo{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}.me__radar{background-image:none;place-items:center;padding:8px;display:grid}.me__radar .radar{width:100%;height:auto}.me__stars{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:12px;display:grid}.me__starrow{background:var(--paper);box-shadow:inset 4px 0 0 var(--mark);border-radius:10px;align-items:center;gap:4px;padding:6px 10px;font-size:.84rem;font-weight:700;display:flex}.me__starrow>span{flex:1}.stickerbook{grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:12px;margin-top:18px;display:grid}.calendar{background-image:none;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;padding:16px;display:grid}.cal-day{background:var(--paper-2);min-height:54px;color:var(--ink-3);border-radius:10px;align-content:center;justify-items:center;gap:2px;font-size:.8rem;font-weight:700;display:grid}.cal-day.is-done{color:var(--ink);background:#ffa23a4d}.cal-day.is-taped{color:var(--ink);background:#4cc9ff52}.cal-day.is-today{box-shadow:inset 0 0 0 2px var(--ink);color:var(--ink)}.me__tools{border-radius:var(--r-md);border:2px dashed var(--grid-strong);padding:18px 20px}.me__tools .title{font-size:1.05rem}.me__tools p{color:var(--ink-2);margin:6px 0 12px;font-size:.9rem}.me__tools div{flex-wrap:wrap;gap:10px;display:flex}.lesson{flex-direction:column;min-height:100svh;display:flex}.lesson .play__bar{background:var(--mark)}.lesson__progress{background:#fbfcffb3;width:min(280px,40vw);margin-left:auto}.lesson__progress>span{background:var(--ink)}.lesson__stage{flex:1;grid-template-columns:minmax(0,300px) minmax(0,1fr);align-items:start;gap:clamp(18px,3vw,40px);width:min(1160px,100% - 32px);margin:28px auto 0;display:grid}.lesson__narrator{justify-items:center;gap:12px;display:grid;position:sticky;top:96px}.lesson__speech{animation:card-in .36s var(--ease-out);margin:0}.lesson__board{min-height:340px;animation:page-in .42s var(--ease-out);padding:30px 32px 32px 74px}.lesson__card .display{margin:14px 0 18px;font-size:clamp(2rem,4.2vw,3.2rem)}.lesson__card .hl{white-space:normal}.lesson__domain{color:var(--ink-2);margin:18px 0 0;font-size:.9rem;font-weight:650}.lesson__big{font-family:var(--read);max-width:52ch;margin:0;font-size:clamp(1.15rem,1.8vw,1.4rem);line-height:1.55}.lesson__swipe{background:linear-gradient(var(--yellow), var(--yellow)) no-repeat 0 85% / 0% 70%;animation:swipe-bg 1.2s var(--ease-out) .3s forwards;-webkit-box-decoration-break:clone;box-decoration-break:clone}@keyframes swipe-bg{to{background-size:100% 70%}}.flips{gap:12px;margin:0;padding:0;list-style:none;display:grid}.flip{cursor:pointer;perspective:900px;text-align:left;background:0 0;border:0;width:100%;min-height:74px;padding:0;position:relative}.flip:disabled{cursor:default;opacity:.5}.flip__front,.flip__back{border-radius:var(--r-md);backface-visibility:hidden;transition:transform .52s var(--ease-out);align-items:center;padding:14px 18px;display:flex;position:absolute;inset:0}.flip__front{background:var(--ink);color:var(--yellow);font-family:var(--display);font-size:1.2rem;font-weight:850}.flip__back{background:var(--mark);font-weight:600;line-height:1.4;transform:rotateX(180deg)}.flip.is-open .flip__front{transform:rotateX(-180deg)}.flip.is-open .flip__back{transform:rotateX(0)}.flip:not(.is-open):not(:disabled) .flip__front{animation:nudge 1.6s var(--ease-out) infinite}@keyframes nudge{0%,70%,to{transform:none}80%{transform:rotate(-1.4deg)}90%{transform:rotate(1.2deg)}}.lesson__card--done{justify-items:start;gap:8px;display:grid}.lesson__card--done p{color:var(--ink-2);font-size:1.05rem}.lesson__foot{flex-wrap:wrap;justify-content:center;gap:12px;padding:24px 16px 40px;display:flex}.start{background:var(--paper);grid-template-rows:auto 1fr auto;min-height:100svh;display:grid}body[data-surface=game] .start{background:0 0}.start__bar{grid-template-columns:1fr auto 1fr;align-items:center;padding:16px clamp(16px,4vw,40px);display:grid}.start__bar>a:first-child{text-decoration:none}.start__dots{gap:8px;margin:0;padding:0;list-style:none;display:flex}.start__dots li{background:var(--grid-strong);width:34px;height:8px;transition:background-color .3s var(--ease-out);border-radius:999px}.start__dots li.is-on{background:var(--ink)}.start__skip{justify-self:end;font-weight:700}.start__stage{align-content:center;justify-items:center;gap:8px;padding:0 16px;display:grid}.start__speech{text-align:center;max-width:34ch;animation:card-in .38s var(--ease-out);margin:0;font-size:clamp(1.1rem,2vw,1.3rem)}.start__speech.speech--below:after{left:calc(50% - 8px)}.start__answers{width:min(460px,100% - 32px);padding:24px 0 max(36px, env(safe-area-inset-bottom));gap:12px;margin:0 auto;display:grid}.answer-pill{background:var(--yellow);box-shadow:var(--lift-1);cursor:pointer;text-align:center;animation:card-in .42s var(--ease-out) both;transition:transform .16s var(--ease-out), box-shadow .16s var(--ease-out);border:0;border-radius:20px;justify-items:center;gap:2px;padding:14px 20px;display:grid}.answer-pill:nth-child(2){animation-delay:60ms}.answer-pill:nth-child(3){animation-delay:.12s}.answer-pill:hover{box-shadow:var(--lift-2);transform:translateY(-2px)}.answer-pill:active{transform:scale(.97)}.answer-pill b{font-family:var(--display);font-size:1.3rem;font-weight:850}.answer-pill span{color:var(--ink-2);align-items:center;gap:6px;font-size:.88rem;font-weight:600;display:inline-flex}.answer-pill.is-on{box-shadow:inset 0 0 0 3px var(--ink), var(--lift-1)}.answer-pill--go{background:var(--ink);color:#fff;padding:20px}.answer-pill--go span{color:#d6d8f5}.tangyuan--idle .ty-body{transform-origin:80px 136px;animation:3.2s ease-in-out infinite ty-bob}.tangyuan--idle .ty-eyes{transform-origin:80px 80px;animation:4.6s infinite ty-blink}.tangyuan--idle .ty-shadow{transform-origin:80px 144px;animation:3.2s ease-in-out infinite ty-shadow}@keyframes ty-bob{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-5px)scale(.985,1.015)}}@keyframes ty-blink{0%,94%,to{transform:scaleY(1)}96%{transform:scaleY(.1)}}@keyframes ty-shadow{50%{opacity:.7;transform:scaleX(.86)}}::view-transition-old(root){animation:.22s var(--ease-out) both vt-out}::view-transition-new(root){animation:.32s var(--ease-out) both vt-in}@keyframes vt-out{to{opacity:0;transform:translate(-24px)}}@keyframes vt-in{0%{opacity:0;transform:translate(24px)}}@media (width<=1180px){.today{grid-template-columns:minmax(0,1fr)}.today__side{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));position:static}.trap-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=860px){.qsheet--split,.me__duo,.today__duo,.lesson__stage{grid-template-columns:minmax(0,1fr)}.lesson__narrator{grid-template-columns:auto 1fr;place-items:center start;position:static}.lesson__narrator .tangyuan{width:84px;height:84px}}@media (width<=760px){.game{grid-template-columns:minmax(0,1fr);grid-template-areas:"hud""main"}.tabs{z-index:40;padding:0 6px max(6px, env(safe-area-inset-bottom));background:var(--paper);grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;position:fixed;inset:auto 0 0;box-shadow:0 -10px 24px -16px #17183b80}.tab{box-shadow:none;border-radius:0 0 14px 14px;margin:0;padding:10px 4px 8px;font-size:.72rem;transform:translateY(-6px)}.tab:hover{transform:translateY(-3px)}.tab.is-active{box-shadow:var(--lift-1);transform:translateY(0)}.tab svg{width:22px;height:22px}.hud__label,.hud__brand .logo__word{display:none}.hud__stat{padding:5px 9px 5px 6px}.hud__level .meter{width:44px}.game__main{padding-bottom:110px}.page-card__body{padding:28px 18px 24px 46px}.page-card__tab{left:40px}.sheet--ruled:after{left:30px}.play__sheet,.grade,.lesson__board,.notebook__page{padding-left:46px;padding-right:16px}.notebook__empty{padding:24px 18px 24px 46px}.play__dots{gap:3px}.bubble--dot{width:26px;height:26px;font-size:.7rem}.play__title span{display:none}.play__foot{flex-wrap:wrap;justify-content:center}.play__foot>.btn:first-child{order:2}.confidence{flex-basis:100%;order:1}.play__foot>.btn:last-child{order:3}.confidence__label{text-align:center;flex-basis:100%;margin:0}.trap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review__steps,.stop__start{display:none}.trail{--k:.62}.stop__mascot{right:calc(100% + 2px)}.stop__mascot .tangyuan{width:48px;height:48px}.me__stats{grid-template-columns:repeat(2,minmax(0,1fr))}.me__card{justify-content:center;padding:22px}.me__avatar{width:170px;height:170px}.sr-player b,.sr-player .tangyuan{display:none}.arena__versus{grid-template-columns:minmax(0,1fr);gap:4px}.grade__row{grid-template-columns:20px minmax(0,1fr) auto 36px;gap:8px}.grade__conf{display:none}.greet .tangyuan{flex:none;width:76px;height:76px}}.play--review .play__sheet{min-height:0}.tangyuan{flex:none;max-width:none}.tangyuan--art{object-fit:contain;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 6px 8px #17183b2e);transition:transform .26s var(--ease-spring)}.tangyuan--art.tangyuan--idle{animation:3.2s ease-in-out infinite art-bob}.tangyuan--art.tangyuan--sad{filter:drop-shadow(0 6px 8px #17183b2e)saturate(.7);transform:rotate(-7deg)translateY(3px)}.tangyuan--art.tangyuan--wow{transform:scale(1.06)translateY(-3px)}.tangyuan--art.tangyuan--think{transform:rotate(5deg)}@keyframes art-bob{0%,to{translate:0}50%{translate:0 -4%}}@media (width<=760px){.play__foot{gap:8px;padding:10px;bottom:8px}.confidence{gap:6px}.confidence__label{display:none}.confidence .chip{flex:1;justify-content:center;min-height:40px;padding:0 .6em}.confidence kbd{display:none}.play__foot>.btn{flex:1}}.tour{z-index:60;pointer-events:none;animation:tour-in .26s var(--ease-out) both;position:fixed;inset:0}.tour.is-leaving{animation:tour-out .24s var(--ease-out) both}.tour__ring{--mark:var(--yellow);box-shadow:0 0 0 4px var(--mark), 0 0 0 9999px #17183b6b;transition:top .52s var(--ease-out), left .52s var(--ease-out), width .52s var(--ease-out), height .52s var(--ease-out), box-shadow .3s var(--ease-out);border-radius:18px;position:fixed}.tour__caption{box-shadow:var(--lift-3);animation:tour-caption .32s var(--ease-spring) both;gap:2px;font-size:.95rem;display:grid;position:fixed}.tour__caption:after{display:none}.tour__title{font-family:var(--display);letter-spacing:-.01em;font-size:1.05rem}.tour__bar{background:var(--paper);box-shadow:var(--lift-2);pointer-events:auto;border-radius:999px;align-items:center;gap:12px;padding:8px 8px 8px 14px;display:flex;position:fixed;top:76px;left:50%;transform:translate(-50%)}.tour__dots{gap:6px;margin:0;padding:0;list-style:none;display:flex}.tour__dots li{background:var(--line);border-radius:999px;width:22px;height:6px;position:relative;overflow:hidden}.tour__dots li:after{content:"";background:var(--ink);transform-origin:0;position:absolute;inset:0;transform:scaleX(0)}.tour__dots li.is-done:after{transform:scaleX(1)}.tour__dots li.is-here:after{animation:tour-fill var(--hold,1.35s) linear both}.tour__skip{background:var(--ink);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:999px;padding:6px 14px;font-size:.85rem;font-weight:700}@keyframes tour-in{0%{opacity:0}}@keyframes tour-out{to{opacity:0}}@keyframes tour-caption{0%{opacity:0;transform:translateY(6px)scale(.96)}}@keyframes tour-fill{to{transform:scaleX(1)}}@media (width<=760px){.tour__bar{top:68px}}@media (prefers-reduced-motion:reduce){.tour__ring{transition:none}.tour__caption{animation:none}}.review__fix{background:var(--yellow);border-radius:var(--r-sm);align-items:flex-start;gap:10px;max-width:80ch;margin:0;padding:10px 14px;line-height:1.5;display:flex}.review__fix svg{flex:none;margin-top:1px}.estimate__range{margin:2px 0 8px;font-size:clamp(1.7rem,3.2vw,2.1rem);line-height:1;display:block}.estimate__note{color:var(--ink-2);margin:0;font-size:.86rem;line-height:1.45}.estimate__note+.estimate__note{margin-top:6px}.path__skip{max-width:46ch;color:var(--ink-2);text-align:center;margin:10px auto 0;font-size:.92rem;line-height:1.45}.auth{background:var(--yellow);grid-template-rows:auto 1fr;min-height:100svh;display:grid}body[data-surface=game] .auth{background:var(--yellow)}.auth__bar{justify-content:space-between;align-items:center;padding:14px clamp(16px,4vw,48px);display:flex}.auth__bar a{text-decoration:none}.auth__back{align-items:center;gap:6px;font-weight:700;display:inline-flex}.auth__back:hover{text-decoration:underline}.auth__stage{grid-template-columns:minmax(0,.9fr) minmax(0,1fr);align-items:center;gap:clamp(24px,5vw,80px);width:min(1120px,100% - 32px);margin:0 auto;padding:12px 0 56px;display:grid}.auth__mascot{justify-items:center;gap:6px;display:grid}.auth__speech{text-align:center;max-width:30ch;animation:card-in .36s var(--ease-out);margin:0;font-size:1.12rem}.auth__speech.speech--below:after{left:calc(50% - 8px)}.auth__perks{gap:10px;margin:18px 0 0;padding:0;font-size:1.02rem;font-weight:600;list-style:none;display:grid}.auth__perks .hl{font-weight:800}.card{background-color:var(--paper);background-image:linear-gradient(transparent 0 calc(100% - 1px), var(--grid) calc(100% - 1px));box-shadow:var(--lift-3);animation:card-in .42s var(--ease-out);background-size:100% 34px;border-radius:18px;padding:30px clamp(20px,3.4vw,40px);position:relative;transform:rotate(.6deg)}.card__hole{background:var(--yellow);border-radius:999px;width:54px;height:12px;margin-left:-27px;position:absolute;top:14px;left:50%;box-shadow:inset 0 2px 3px #17183b40}.card__head{border-bottom:2px solid var(--ink);justify-content:space-between;align-items:center;gap:12px;margin:10px 0 18px;padding-bottom:12px;display:flex}.card__school{align-items:center;gap:10px;font-size:.9rem;font-weight:800;display:inline-flex}.card__school .logo__seal{border-radius:9px;width:30px;height:30px;font-size:19px}.card__no{font-family:var(--hand);color:var(--red);font-size:1.05rem}.card__title{margin-bottom:18px;font-size:clamp(2.2rem,4.4vw,3.2rem)}.card__actions{gap:10px;display:grid}.auth-google svg{width:20px;height:20px}.auth-google{box-shadow:inset 0 0 0 2px var(--line-strong), var(--lift-1)}.card__divider{color:var(--ink-3);align-items:center;gap:12px;margin:20px 0 10px;font-size:.86rem;font-weight:700;display:flex}.card__divider:before,.card__divider:after{content:"";border-top:2px dashed var(--grid-strong);flex:1}.card__guest{cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--red);text-decoration-color:var(--red);text-underline-offset:.24em;background:0 0;border:0;align-items:center;gap:6px;padding:10px 2px;font-size:1rem;font-weight:750;text-decoration-thickness:2px;display:inline-flex}.card__fine{color:var(--ink-2);margin:8px 0 0;font-size:.86rem;line-height:1.45}.card__offline{background:#4cc9ff2e;border-radius:10px;align-items:flex-start;gap:8px;margin:0 0 16px;padding:10px 12px;font-size:.86rem;font-weight:600;line-height:1.4;display:flex}.card__offline svg{flex:none;margin-top:2px}.card__form{gap:14px;display:grid}.card__form p{margin:0;line-height:1.5}.card__error,.card__notice{border-radius:10px;padding:10px 12px;font-size:.92rem;font-weight:650}.card__error{background:var(--red-soft);color:var(--red-ink)}.card__notice{background:#5bea8e4d}.card__links{flex-wrap:wrap;gap:6px 18px;display:flex}.card__links button{color:var(--ink-2);cursor:pointer;background:0 0;border:0;padding:6px 0;font-size:.9rem;font-weight:650}.card__links button:hover{color:var(--ink);text-decoration:underline}.field{gap:4px;display:grid}.field__label{color:var(--ink-2);font-size:.82rem;font-weight:750}.field__wrap{display:block;position:relative}.field__input{border:0;border-bottom:2.5px solid var(--ink);width:100%;min-height:48px;font:inherit;color:var(--ink);caret-color:var(--red);transition:background-color .16s var(--ease-out), border-color .16s var(--ease-out);background:#f0f4fccc;border-radius:10px 10px 0 0;padding:10px 12px;font-size:1.05rem}.field__input::placeholder{color:var(--ink-3)}.field__input:focus{border-bottom-color:var(--red);background:#ffe53b59;outline:none}.field__input--big{font-family:var(--display);font-size:1.5rem;font-weight:800}.field__eye{cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:38px;height:38px;display:grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.field__eye:hover{background:var(--paper)}@media (width<=860px){.auth__stage{grid-template-columns:minmax(0,1fr);gap:18px;padding-top:0}.auth__mascot{grid-template-columns:auto 1fr;place-items:center start;gap:12px}.auth__mascot .tangyuan{order:-1;width:86px;height:86px}.auth__speech{text-align:left;font-size:.98rem}.auth__speech.speech--below:after{top:22px;bottom:auto;left:-7px}.auth__perks{display:none}.card{transform:none}}.hud__icon,.hud__me{width:40px;height:40px;color:var(--ink);cursor:pointer;transition:background-color .16s var(--ease-out), transform .14s var(--ease-out);background:#fbfcffb3;border:0;border-radius:50%;place-items:center;text-decoration:none;display:grid}.hud__icon svg{width:20px;height:20px}.hud__icon:hover,.hud__me:hover{background:var(--paper)}.hud__icon:active,.hud__me:active{transform:scale(.94)}.hud__icon[aria-pressed=false]{color:var(--ink-3)}.hud__me{background:var(--paper);box-shadow:inset 0 0 0 2px var(--ink)}.icon-btn{width:32px;height:32px;color:var(--ink-2);cursor:pointer;transition:background-color .14s var(--ease-out), color .14s var(--ease-out);background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.icon-btn:hover{background:var(--paper-2);color:var(--ink)}.icon-btn[aria-pressed=true]{background:var(--ink);color:#fff}.friend{background-image:none;padding:22px 24px 24px}.friend__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 14px;margin-bottom:16px;display:flex}.friend__head .title{font-size:1.5rem}.friend__mode{color:var(--ink-2);background:#4cc9ff33;border-radius:999px;padding:3px 10px;font-size:.78rem;font-weight:700}.friend__mode.is-online{background:#5bea8e59}.friend__split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;display:grid}.friend__half{border-radius:var(--r-md);background:var(--paper-2);align-content:start;gap:10px;padding:16px;display:grid}.friend__label{margin:0;font-size:.92rem;font-weight:800}.friend__hint{color:var(--ink-2);margin:0;font-size:.82rem;line-height:1.45}.friend__row{gap:10px;display:flex}.friend__name p{margin:0 0 10px;font-weight:600}.friend__error{background:var(--red-soft);color:var(--red-ink);border-radius:10px;margin:14px 0 0;padding:10px 12px;font-size:.9rem;font-weight:650}.code-input{border:0;border-bottom:3px solid var(--ink);background:var(--paper);width:100%;min-height:56px;font-family:var(--display);font-variation-settings:"wdth" 120;letter-spacing:.22em;text-transform:uppercase;color:var(--ink);caret-color:var(--red);border-radius:12px 12px 0 0;padding:8px 12px;font-size:1.7rem;font-weight:900}.code-input::placeholder{color:var(--grid-strong)}.code-input:focus{background:#ffe53b59;outline:none}.friend__hosting{text-align:center;justify-items:center;gap:14px;display:grid}.code{gap:8px;display:flex}.code__cell{background:var(--yellow);width:clamp(40px,7vw,58px);height:clamp(52px,9vw,72px);box-shadow:var(--lift-1);font-family:var(--display);font-variation-settings:"wdth" 110;animation:code-in .42s var(--ease-out) both;border-radius:12px;place-items:center;font-size:clamp(1.6rem,4vw,2.4rem);font-weight:900;display:grid}.code__cell:nth-child(odd){transform:rotate(-2deg)}.code__cell:nth-child(2n){transform:rotate(2deg)}@keyframes code-in{0%{opacity:0;translate:0 -14px}}.friend__share{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.friend__wait{align-items:center;gap:10px;font-size:1.15rem;display:flex}.friend__cancel{background:var(--paper-2);cursor:pointer;border:0;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.challenge{border-radius:var(--r-lg);background:var(--violet);box-shadow:var(--lift-2);animation:card-in .38s var(--ease-out);flex-wrap:wrap;align-items:center;gap:12px 16px;padding:14px 18px;display:flex}.challenge p{flex:1;margin:0;font-size:1.05rem}.friends{background-image:none;padding:18px 20px}.friends__list,.hall__people{gap:4px;margin:0;padding:0;list-style:none;display:grid}.person{border-radius:12px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:6px 8px;display:grid}.person.is-me{background:#ffe53b73}.person__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:750;display:grid;overflow:hidden}.person__status{color:var(--ink-3);font-size:.76rem;font-weight:600}.person__status.is-online{color:var(--ink)}.person__status.is-online:before{content:"";vertical-align:1px;background:#23b35a;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.person__friend{--mark:var(--green);margin-left:6px}.person__actions{gap:2px;display:flex}.sr-bar--friend{background:var(--violet)}.sr-logs{justify-items:center;gap:4px;display:grid}.sr-logs .sr-log:last-child li{width:10px;height:10px}.sr-player{position:relative}.emote-bubble{z-index:30;background:var(--paper);max-width:220px;box-shadow:var(--lift-2);white-space:nowrap;animation:pop-in .42s var(--ease-spring) both;border-radius:14px;place-items:center;padding:8px 12px;font-size:.9rem;font-weight:750;display:grid;position:absolute;top:calc(100% + 10px)}.emote-bubble--me{left:0}.emote-bubble--them{right:0}.emote-bar{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:flex}.emote-bar__sticker{background:var(--paper);width:44px;height:44px;box-shadow:var(--lift-1);cursor:pointer;transition:transform .14s var(--ease-out);border:0;border-radius:12px;place-items:center;display:grid}.emote-bar__sticker:hover{transform:translateY(-2px)}.emote-bar__sticker:active{transform:scale(.92)}.emote-bar__phrase{min-height:34px;font-size:.82rem}.friend-emotes{width:min(1120px,100% - 2*clamp(12px,3vw,32px));margin:14px auto 0}.vs-count{justify-items:center;gap:4px;display:grid}.vs-number{animation:stamp-land .5s var(--ease-spring) both;font-size:clamp(2.6rem,6vw,4rem)}.speedround--versus{place-items:center;display:grid}@media (width<=640px){.friend__split{grid-template-columns:minmax(0,1fr)}.hud__sound,.hud__stat:nth-child(2),.emote-bar__phrase{display:none}.hud__me{width:36px;height:36px}}.settings{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:18px;display:grid}.settings__block{background-image:none;align-content:start;gap:12px;padding:20px 22px;display:grid}.settings__block .title{font-size:1.25rem}.settings__line{color:var(--ink-2);margin:0;font-size:.92rem;line-height:1.5}.settings__line b{color:var(--ink)}.settings__row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.settings__row .field__input{flex:1;min-width:160px}.settings__note{color:var(--ink-2);font-size:.84rem;font-weight:650}.switch{cursor:pointer;background:0 0;border:0;justify-self:start;align-items:center;gap:10px;padding:6px 4px;font-weight:750;display:inline-flex}.switch__track{background:var(--grid-strong);width:48px;height:28px;transition:background-color .2s var(--ease-out);border-radius:999px;position:relative}.switch__knob{width:22px;height:22px;box-shadow:var(--lift-1);transition:transform .22s var(--ease-out);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px}.switch.is-on .switch__track{background:var(--ink)}.switch.is-on .switch__knob{background:var(--yellow);transform:translate(20px)}.settings__volume input[type=range]{width:100%;accent-color:var(--ink)}@media (width<=860px){.settings{grid-template-columns:minmax(0,1fr)}}body[data-surface=exam]{background:#f6f7fb}.hall-exams{gap:24px;display:grid}.exams__head{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:20px;display:grid}.exams__head .display{font-size:clamp(2.6rem,5.4vw,4rem)}.exams__head p{max-width:54ch;color:var(--ink-2);margin:10px 0 0;font-weight:550}.exams__score{background-image:none;gap:2px;min-width:230px;padding:16px 20px;display:grid;transform:rotate(1deg)}.exams__score-label{color:var(--ink-2);font-size:.8rem;font-weight:750}.exams__score .display{font-size:2.8rem}.exams__target{color:var(--ink-2);max-width:26ch;font-size:.82rem;line-height:1.4}.resume{background-color:var(--yellow);background-image:none;flex-wrap:wrap;align-items:center;gap:14px 18px;padding:18px 22px;display:flex}.resume>div{flex:1;min-width:220px}.resume .title{font-size:1.3rem}.resume p{color:var(--ink-2);margin:4px 0 0;font-weight:600}.pace{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.pace__option{border-radius:var(--r-md);background:var(--paper);box-shadow:inset 0 0 0 2px var(--line);text-align:left;cursor:pointer;transition:box-shadow .16s var(--ease-out), background-color .16s var(--ease-out);border:0;gap:2px;padding:12px 16px;display:grid}.pace__option b{font-size:1rem}.pace__option span{color:var(--ink-2);font-size:.82rem}.pace__option:hover{box-shadow:inset 0 0 0 2px var(--ink)}.pace__option[aria-checked=true]{background:var(--ink);color:#fff;box-shadow:none}.pace__option[aria-checked=true] span{color:#d6d8f5}.booklets{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:18px;margin:0;padding:0;list-style:none;display:grid}.booklet{gap:10px;display:grid}.booklet__cover{aspect-ratio:3/4;background:var(--cover);box-shadow:inset 10px 0 0 #17183b29, var(--lift-2);transition:transform .26s var(--ease-out);border-radius:6px 14px 14px 6px;flex-direction:column;align-items:flex-start;gap:8px;padding:18px 16px 16px 26px;display:flex;position:relative;overflow:hidden}.booklet:hover .booklet__cover{transform:translateY(-4px)rotate(-1deg)}.booklet__series{letter-spacing:.04em;text-transform:uppercase;font-size:.7rem;font-weight:800}.booklet__title{font-family:var(--display);font-variation-settings:"wdth" 104;letter-spacing:-.02em;margin:0;font-size:1.7rem;font-weight:880;line-height:1}.booklet__badge{background:var(--paper);border-radius:6px;justify-self:start;padding:3px 9px;font-size:.74rem;font-weight:800}.booklet__modules{gap:6px;width:100%;margin-top:auto;display:grid}.booklet__modules>span{background:#fbfcff8c;border-radius:8px;gap:4px;padding:7px 9px;font-size:.7rem;display:grid}.booklet__bubbles{gap:3px;display:flex}.booklet__bubbles i{border:1.5px solid var(--ink);border-radius:50%;width:9px;height:9px}.booklet__stamp{background:#fbfcffbf;font-size:1.6rem;position:absolute;bottom:18px;right:14px}.booklet__meta{color:var(--ink-2);justify-content:space-between;gap:8px;font-size:.8rem;font-weight:650;display:flex}.booklet__meta span{align-items:center;gap:4px;display:inline-flex}.history{background-image:none;padding:20px 24px 18px;position:relative}.history .title{font-size:1.2rem}.history__plot{--plot:170px;--labels:30px;margin-top:14px;position:relative}.history__bars{height:calc(var(--plot) + var(--labels) + 20px);align-items:flex-end;gap:14px;margin:0;padding:0;list-style:none;display:flex}.history__bars li{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:4px;max-width:110px;height:100%;display:flex}.history__value{font-size:.9rem;font-weight:800}.history__bar{width:70%;height:calc(var(--h) * var(--plot));background:var(--blue);border-radius:8px 8px 2px 2px;min-height:6px}.history__label{height:var(--labels);color:var(--ink-2);text-align:center;font-size:.72rem;font-weight:650;line-height:1.25}.history__target{left:0;right:0;bottom:calc(var(--labels) + 4px + var(--h) * var(--plot));border-top:2px dashed var(--red);font-family:var(--hand);color:var(--red);text-align:right;pointer-events:none;font-size:.95rem;position:absolute}.exams__fine{color:var(--ink-2);max-width:80ch;margin:0;font-size:.82rem}.exam{flex-direction:column;min-height:100svh;display:flex}.exam__body,.exam__review{flex:1}.exam--message{text-align:center;justify-content:center;align-items:center;gap:12px;padding:24px}.exam--message p{max-width:44ch;color:var(--ink-2)}.exam__bar{z-index:10;background:var(--paper);border-bottom:2px solid var(--ink);grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:10px clamp(14px,3vw,32px);display:grid;position:sticky;top:0}.exam__where{align-items:center;gap:10px;min-width:0;display:flex}.exam__where>span{min-width:0;line-height:1.2;display:grid}.exam__where b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.exam__module{color:var(--ink-2);font-size:.82rem;font-weight:600}.exam__clock{font-family:var(--display);align-items:center;gap:10px;font-size:1.4rem;font-weight:850;display:inline-flex}.exam__clock.is-low .num{color:var(--red-ink)}.exam__hidden,.exam__untimed{font-family:var(--ui);color:var(--ink-2);font-size:.92rem;font-weight:650}.exam__tool{background:var(--paper-2);min-height:34px;font-family:var(--ui);color:var(--ink);cursor:pointer;border:0;border-radius:999px;align-items:center;gap:5px;padding:0 10px;font-size:.82rem;font-weight:700;display:inline-flex}.exam__tool:hover{background:var(--grid)}.exam__leave{justify-self:end}.exam__warning{background:var(--red-soft);color:var(--red-ink);text-align:center;padding:8px 16px;font-size:.9rem;font-weight:700}.exam__body{grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:min(1200px,100%);margin:0 auto;display:grid}.exam__read,.exam__answer{padding:clamp(20px,3vw,40px)}.exam__read{border-right:2px solid var(--line)}.exam__read p{font-family:var(--read);max-width:64ch;margin:0 0 14px;font-size:1.08rem;line-height:1.65}.exam__figure{margin:0 0 16px}.exam__figure img{background:#fff;border-radius:8px;max-width:100%;height:auto}.exam__table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-bottom:16px;font-size:.92rem}.exam__table caption{text-align:left;margin-bottom:6px;font-weight:700}.exam__table th,.exam__table td{border:1.5px solid var(--line-strong);text-align:left;padding:6px 8px}.exam__table th{background:var(--paper-2)}.exam__qhead{border-bottom:2px dashed var(--line-strong);justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;padding-bottom:10px;display:flex}.exam__qnum{background:var(--ink);color:#fff;border-radius:8px;place-items:center;min-width:36px;height:36px;padding:0 8px;font-weight:800;display:grid}.exam__mark{min-height:36px;box-shadow:inset 0 0 0 2px var(--line-strong);cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:.86rem;font-weight:700;display:inline-flex}.exam__mark.is-on{background:var(--pink);box-shadow:none}.exam__foot{z-index:10;padding:10px clamp(14px, 3vw, 32px) max(10px, env(safe-area-inset-bottom));background:var(--paper);border-top:2px solid var(--ink);grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;display:grid;position:sticky;bottom:0}.exam__foot>.btn:last-child{justify-self:end}.exam__foot>.btn:first-child{justify-self:start}.exam__nav{position:relative}.exam__navbtn{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:6px;min-height:40px;padding:0 16px;font-weight:750;display:inline-flex}.exam__navbtn .is-flipped{transform:rotate(180deg)}.exam__popover{z-index:20;border-radius:var(--r-lg);background:var(--paper);width:min(380px,100vw - 32px);box-shadow:var(--lift-3);animation:card-in .24s var(--ease-out);gap:12px;padding:16px;display:grid;position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%)}.exam__grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.exam__cell{cursor:pointer;width:38px;height:38px;font-size:.8rem}.exam__cell.is-here{box-shadow:0 0 0 3px var(--paper), 0 0 0 5px var(--red)}.exam__cell.is-marked:after{content:"";background:var(--pink);clip-path:polygon(0 0,100% 0,100% 100%,50% 72%,0 100%);width:8px;height:12px;position:absolute;top:-2px;right:4px}.exam__cell{overflow:visible}.exam__review{text-align:center;align-content:start;justify-items:center;gap:14px;padding:clamp(24px,5vw,56px) 16px;display:grid}.exam__review p{max-width:52ch;color:var(--ink-2);margin:0}.exam__review .exam__grid{width:min(420px,100%)}.exam__review-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px;display:flex}.exam-report{min-height:100svh;padding-bottom:56px}.exam-report__head{justify-content:space-between;align-items:center;padding:14px clamp(16px,4vw,40px);display:flex}.report{width:min(900px,100% - 32px);margin:8px auto 0;padding:30px 32px 28px 74px}.report__top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.report__top .display{font-size:clamp(2rem,4.4vw,3rem)}.report__sub{color:var(--ink-2);margin:8px 0 0;font-weight:600}.report__score{justify-items:center;gap:8px;display:grid}.report__estimate{font-family:var(--hand);color:var(--red);font-size:1rem}.report__target{margin:20px 0 16px;font-size:1.1rem;font-weight:550}.report__domains{gap:10px;margin:0;padding:0;list-style:none;display:grid}.report__domains li{grid-template-columns:minmax(0,230px) minmax(0,1fr) 54px;align-items:center;gap:12px;display:grid}.report__clipped .stamp{vertical-align:middle;margin-right:10px}.report__dname{font-size:.92rem;font-weight:700}.report__dscore{text-align:right;font-weight:800}.report__clipped{border-top:2px dashed var(--grid-strong);color:var(--ink-2);margin:22px 0 0;padding-top:16px;line-height:1.5}.report__misses{gap:12px;width:min(900px,100% - 32px);margin:28px auto 0;display:grid}.report__misses .title{font-size:1.4rem}.misslist{gap:6px;margin:0;padding:0;list-style:none;display:grid}.missrow{border-radius:var(--r-md);background:var(--paper);box-shadow:var(--lift-1)}.missrow__head{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:12px 16px;display:grid}.missrow__where{font-size:.9rem;font-weight:650}.missrow__answers{color:var(--ink-2);font-size:.86rem}.missrow__answers b{color:var(--ink)}.missrow__body{animation:card-in .28s var(--ease-out);padding:0 16px 16px;line-height:1.55}.missrow__body p{max-width:80ch;margin:0 0 8px}.missrow__stem{font-weight:700}.report__actions{flex-wrap:wrap;gap:12px;margin-top:8px;display:flex}@media (width<=860px){.exams__head,.pace,.exam__body{grid-template-columns:minmax(0,1fr)}.exam__read{border-right:0;border-bottom:2px solid var(--line)}.exam__bar{grid-template-columns:1fr auto}.exam__where .logo{display:none}.exam__leave{grid-column:1/-1;justify-content:center;justify-self:stretch}.report{padding:24px 18px 22px 46px}.report__domains li{grid-template-columns:minmax(0,1fr) 54px}.report__domains .meter{grid-area:2/1/auto/-1}.missrow__head{grid-template-columns:minmax(0,1fr);gap:4px}.exam__grid{grid-template-columns:repeat(6,minmax(0,1fr))}.history__bars{gap:6px}}.speed-cta--exam{background:var(--blue)}.hud__stat--link{color:inherit;transition:background-color .16s var(--ease-out), box-shadow .16s var(--ease-out);text-decoration:none}.hud__stat--link:hover{background:var(--paper);box-shadow:var(--lift-1)}.shop{gap:24px;display:grid}.shop__head{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:20px;display:grid}.shop__head .display{font-size:clamp(2.6rem,5.4vw,4rem)}.shop__head p{max-width:54ch;color:var(--ink-2);margin:10px 0 0;font-weight:550;line-height:1.5}.shop__head p b{color:var(--ink)}.shop__balance{background-color:var(--blue);background-image:none;grid-template-columns:auto auto;align-items:center;column-gap:10px;padding:16px 22px;display:grid;transform:rotate(-1deg)}.shop__balance .display{font-size:2.8rem}.shop__worth{grid-column:1/-1;font-size:.84rem;font-weight:700}.shop__notice{border-radius:var(--r-md);background:#5bea8e59;align-items:flex-start;gap:8px;margin:0;padding:12px 16px;font-weight:600;line-height:1.45;display:flex}.shop__notice--preview{background:#4cc9ff38}.shop__notice svg{flex:none;margin-top:2px}.packs{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.pack-card{border-radius:var(--r-lg);background:var(--paper);box-shadow:var(--lift-1);text-align:center;transition:transform .22s var(--ease-out), box-shadow .22s var(--ease-out);align-content:start;justify-items:center;gap:6px;padding:26px 16px 18px;display:grid;position:relative}.pack-card:hover{box-shadow:var(--lift-2);transform:translateY(-4px)}.pack-card.is-best{box-shadow:inset 0 0 0 3px var(--ink), var(--lift-2);background:#4cc9ff3d}.pack-card__flag{background:var(--ink);color:#fff;white-space:nowrap;border-radius:999px;padding:4px 12px;font-size:.74rem;font-weight:800;position:absolute;top:-12px}.pack-card .title{font-size:1.3rem}.pack-card__drops{align-items:center;gap:6px;margin:0;font-weight:700;display:inline-flex}.pack-card__drops .display{font-size:2.2rem}.pack-card__math{min-height:26px;color:var(--ink-2);align-items:center;gap:6px;margin:0 0 8px;font-size:.84rem;font-weight:650;display:inline-flex}.pack-card__bonus{--mark:var(--green)}.shop__duo{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start;gap:18px;display:grid}.shop__panel{background-image:none;padding:20px 22px}.shop__panel .title{margin-bottom:10px;font-size:1.25rem}.price-list{margin:0;padding:0;list-style:none;display:grid}.price-list li{border-bottom:1.5px dashed var(--grid-strong);grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px 0;font-size:.92rem;font-weight:650;display:grid}.price-list li:last-child{border-bottom:0}.price-list li>.num{color:var(--ink-2);font-weight:750}.price-list--earn li{grid-template-columns:minmax(0,1fr) auto}.price-list--earn li>.num{color:var(--ink)}.shop__fine{color:var(--ink-2);margin:10px 0 0;font-size:.84rem}.rules{background-color:var(--yellow);background-image:none;gap:12px;padding:20px 22px;display:grid}.rules .title{font-size:1.25rem}.rules ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.rules li{align-items:flex-start;gap:8px;line-height:1.45;display:flex}.rules li svg{flex:none;margin-top:3px}.limit{gap:6px;max-width:420px;display:grid}.limit .meter{background:#fbfcffb3}.limit .meter>span{background:var(--ink)}.receipts .title{margin-bottom:8px;font-size:1.2rem}.receipts ol{gap:4px;margin:0;padding:0;list-style:none;display:grid}.receipts li{background:var(--paper);border-radius:10px;grid-template-columns:120px minmax(0,1fr) auto auto auto;align-items:center;gap:12px;padding:10px 14px;font-size:.9rem;font-weight:600;display:grid}.receipts li.is-refunded{color:var(--ink-3);text-decoration:line-through}.checkout{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade-in .2s var(--ease-out);background:#17183b73;place-items:center;padding:16px;display:grid;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}}.checkout__card{width:min(460px,100%);max-height:calc(100svh - 32px);animation:card-in .3s var(--ease-out);background-image:none;gap:16px;padding:24px;display:grid;position:relative;overflow:auto}.checkout__close{background:var(--paper-2);cursor:pointer;border:0;border-radius:50%;place-items:center;width:36px;height:36px;display:grid;position:absolute;top:12px;right:12px}.checkout__pack{border-bottom:2px dashed var(--grid-strong);align-items:center;gap:12px;padding-bottom:14px;display:flex}.checkout__pack svg{width:56px;height:auto}.checkout__pack .title{font-size:1.3rem}.checkout__pack p{margin:2px 0 0;font-size:1.1rem;font-weight:800}.checkout__step{gap:10px;display:grid}.checkout__step p{margin:0;line-height:1.5}.checkout__q{font-family:var(--display);font-size:1.3rem;font-weight:850}.answer-pill--quiet{background:var(--paper-2)}.checkout__link{background:var(--paper-2);overflow-wrap:anywhere;border-radius:10px;padding:10px 12px;font-size:.8rem;display:block}.checkout__row{flex-wrap:wrap;gap:8px;display:flex}.checkout__table{border-collapse:collapse;width:100%;font-size:.92rem}.checkout__table th,.checkout__table td{border-bottom:1.5px dashed var(--grid-strong);text-align:left;vertical-align:top;padding:8px 0}.checkout__table th{width:40%;color:var(--ink-2);font-weight:700}.checkout__muted{color:var(--ink-2)}.checkout__fine{color:var(--ink-2);font-size:.82rem}.checkout__done{text-align:center;justify-items:center}.checkout__done .display{font-size:3rem}@media (width<=1060px){.packs{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:24px}.shop__duo{grid-template-columns:minmax(0,1fr)}}@media (width<=640px){.shop__head{grid-template-columns:minmax(0,1fr)}.shop__balance{justify-self:start}.pack-card{padding:22px 10px 14px}.pack-card svg{width:60px;height:auto}.receipts li{grid-template-columns:minmax(0,1fr) auto;row-gap:2px}}.pack-card__drops svg{flex:none}@media (width<=640px){.pack-card__drops{flex-wrap:wrap;justify-content:center}.pack-card__drops .display{font-size:1.8rem}}
