.grow{flex:1;min-width:0}.block{display:block}.nowrap{flex-wrap:nowrap}.row.tight{gap:6px}.ellipsis{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.wide{width:100%}.label-strong{color:var(--ink);font-size:14px;font-weight:800}.label-muted{color:var(--muted);font-size:13.5px;font-weight:800}.big-emoji{font-size:30px;line-height:1;display:inline-block}.pill-row{flex-wrap:wrap;gap:6px;display:flex}.gold{color:var(--gold);font-weight:800}.btn.sky{background:var(--sky);color:var(--on-fill)}.btn.teal{background:var(--teal);color:var(--on-fill)}.pop-in{animation:.38s cubic-bezier(.3,1.6,.5,1) tr-pop}.pop-in-soft{animation:.3s ease-out both tr-in}@keyframes tr-pop{0%{transform:scale(.85)}60%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes tr-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.breathe-soft{animation:1.5s ease-in-out infinite tr-breathe}@keyframes tr-breathe{50%{transform:scale(1.12)}}@media (prefers-reduced-motion:reduce){.pop-in,.pop-in-soft,.breathe-soft,.shake,.star.pop,.floatup{animation:none!important}.fc-inner,.ring-arc,.bar>span,.time-bar span{transition:none!important}}.home{gap:16px}.home-hero{color:#fff;background:linear-gradient(160deg, var(--head1), var(--head2));border-radius:28px;padding:22px 18px 20px 22px;position:relative;overflow:hidden}.home-hero:after{content:"";pointer-events:none;background:#ffffff14;border-radius:50%;width:220px;height:220px;position:absolute;top:-70px;right:-60px}.hero-top{z-index:1;align-items:center;gap:12px;display:flex;position:relative}.hero-name{flex:1;min-width:0}.hero-name h1{color:#fff;margin:0;font-size:26px}.hero-name p{opacity:.92;margin:2px 0 0;font-size:14.5px;font-weight:700}.icon-btn.hero-out{color:#fff;place-items:center;display:grid}.icon-btn.hero-out:hover{background:#ffffff26}.hero-xp{white-space:nowrap;z-index:1;align-items:center;gap:12px;margin-top:16px;font-size:14px;font-weight:800;display:flex;position:relative}.hero-bar{background:#ffffff40;border-radius:99px;flex:1;height:10px;overflow:hidden}.hero-bar span{background:#fff;border-radius:99px;height:100%;transition:width .8s;display:block}.home-hero .emblem{background:#ffffff2e!important}.home-grid{grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);align-items:start;gap:18px;display:grid}.home-main{flex-direction:column;grid-area:1/1;gap:14px;display:flex}.home-side{flex-direction:column;grid-area:1/2;gap:12px;display:flex}.home-main .section-title{margin-top:4px}.home-main>section>p{margin:-4px 2px 8px}.card.enrol-card{flex-direction:column;gap:10px;display:flex}.enrol-board{color:var(--ink);font-size:17px}.board-badge{color:var(--on-fill);letter-spacing:.5px;border-radius:50%;flex:none;place-items:center;font-weight:900;display:inline-grid}.board-badge.img{background:#fff;border:1px solid #00000014}.board-badge.img img{object-fit:contain;width:80%;height:80%}.home-duo{grid-template-columns:1fr 1fr;gap:12px;display:grid}.card.streak-card,.card.goal-card{flex-direction:column;gap:4px;display:flex}.card.goal-card{text-align:center;justify-content:center;align-items:center;gap:8px}.streak-num{color:var(--flame);font-size:32px;font-weight:900;line-height:1}.week-dots{gap:4px;margin:6px 0 2px;display:flex}.week-dot{flex-direction:column;flex:1;align-items:center;gap:1px;display:flex}.week-dot i{background:color-mix(in srgb, var(--neutral) 18%, transparent);border-radius:50%;width:16px;height:16px;display:block}.week-dot i.on{background:var(--flame)}.week-dot small{color:var(--muted);font-size:10px;font-weight:700}.ring{flex:none;place-items:center;display:inline-grid;position:relative}.ring svg{position:absolute;inset:0}.ring-arc{transition:stroke-dashoffset .8s}.ring-in{flex-direction:column;align-items:center;line-height:1.05;display:flex;position:relative}.ring-num{color:var(--ink);font-size:24px;font-weight:900}.ring-in small{color:var(--muted);font-size:11.5px;font-weight:800}.card.exam-card{background:var(--blue);color:var(--on-fill);border-color:#0000;align-items:center;gap:12px;display:flex}.card.exam-card b{font-size:16.5px;display:block}.card.exam-card small{opacity:.85;font-weight:700}.exam-days{color:var(--on-fill);white-space:nowrap;background:#ffffff2e;border-radius:12px;padding:4px 12px;font-weight:900;font-size:20px!important}.quest-track{align-items:center;gap:10px;display:flex}.quest-segs{flex:1;gap:4px;display:flex}.quest-segs span{background:color-mix(in srgb, var(--neutral) 18%, transparent);border-radius:5px;flex:1;height:10px;transition:background .3s}.quest-segs span.on{background:var(--gold)}.quest-prize{font-size:24px;display:inline-block}.quest-note{margin:4px 2px 10px}.limit-card{background:color-mix(in srgb, var(--purple) 12%, var(--card));border:1px solid color-mix(in srgb, var(--purple) 30%, transparent);border-radius:16px;margin-bottom:10px;padding:12px 14px;font-size:14.5px}.quests{flex-direction:column;gap:10px;display:flex}.card.task-card{cursor:pointer;font:inherit;color:inherit;border-left:5px solid var(--k);align-items:center;gap:14px;transition:transform .1s,border-color .15s,box-shadow .15s;display:flex}.card.task-card:hover:not(:disabled){box-shadow:0 6px 18px color-mix(in srgb, var(--k) 18%, transparent);transform:translateY(-1px)}.card.task-card:disabled{cursor:not-allowed;opacity:.55}.card.task-card.done{background:color-mix(in srgb, var(--neutral) 7%, var(--card));border-left-color:var(--green)}.card.task-card.done:disabled{opacity:1}.task-icon{background:color-mix(in srgb, var(--k) 16%, transparent);border-radius:16px;flex:none;place-items:center;width:54px;height:54px;font-size:27px;display:grid}.task-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.task-body b{color:var(--ink);font-size:16px}.task-body small{font-size:13.5px}.task-go{color:var(--k);font-size:28px;font-weight:900}.shortcuts{grid-template-columns:1fr 1fr;gap:12px;display:grid}.shortcut{color:var(--on-fill);text-align:left;cursor:pointer;border:0;border-radius:20px;flex-direction:column;gap:2px;padding:16px;transition:transform .1s,filter .15s;display:flex}.shortcut:hover{filter:brightness(1.06);transform:translateY(-2px)}.shortcut span{font-size:28px}.shortcut b{font-size:16px}.shortcut small{opacity:.85;font-weight:700}@media (width<=900px){.home-grid{grid-template-columns:1fr}.home-main,.home-side{grid-area:auto/1}}@media (width<=760px){.home-hero{border-radius:0 0 28px 28px;margin:-16px -16px 0;padding:26px 12px 20px 20px}.hero-name h1{font-size:23px}}@media (width<=380px){.home-duo{grid-template-columns:1fr}}.train header h1{margin-bottom:2px}.train-chips .chip{padding:9px 16px;font-size:15px}.course-head{background:color-mix(in srgb, var(--c) 10%, var(--card));border:1px solid color-mix(in srgb, var(--c) 30%, var(--line));border-radius:20px;align-items:center;gap:14px;padding:14px 16px;display:flex}.course-head h2{margin:0;font-size:19px}.course-emoji{background:color-mix(in srgb, var(--c) 18%, var(--card));border-radius:16px;flex:none;place-items:center;width:50px;height:50px;font-size:28px;display:grid}.limit-line{color:var(--red);background:color-mix(in srgb, var(--red) 8%, var(--card));border-radius:14px;padding:10px 14px;font-size:14px;font-weight:800}.topic-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));align-items:start;gap:14px;display:grid}.card.topic-card{border-top:5px solid var(--c);flex-direction:column;gap:10px;display:flex}.topic-top{align-items:flex-start;gap:8px;display:flex}.topic-top h3{margin:0 0 2px;font-size:17.5px}.topic-pills{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.chapters{margin:0;line-height:1.45}.topic-actions{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.act-btn{cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:color-mix(in srgb, var(--c,var(--blue)) 13%, var(--card));color:var(--ink);border:0;border-radius:12px;padding:10px 6px;font-size:14px;font-weight:800;transition:background .15s,transform 80ms;overflow:hidden}.act-btn:hover:not(:disabled){background:color-mix(in srgb, var(--c,var(--blue)) 24%, var(--card))}.act-btn:active:not(:disabled){transform:scale(.97)}.act-btn:disabled{opacity:.45;cursor:not-allowed}.act-btn.written{background:color-mix(in srgb, var(--purple) 13%, var(--card))}.lesson-list{border-top:1px dashed var(--line);flex-direction:column;gap:2px;padding-top:8px;display:flex}.lesson-head{color:var(--teal);justify-content:space-between;align-items:center;margin-bottom:2px;font-size:14.5px;font-weight:800;display:flex}.lesson-row{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:10px;width:100%;padding:8px 6px;display:flex}.lesson-row:hover:not(:disabled){background:color-mix(in srgb, var(--teal) 9%, transparent)}.lesson-row:disabled{opacity:.5;cursor:not-allowed}.lesson-row b{color:var(--ink);font-size:14.5px;display:block}.lesson-row small{font-size:12.5px;display:block}.lesson-mark{text-align:center;flex:none;width:26px}.chev{color:var(--muted);font-size:22px}.show-all{color:var(--teal);align-self:flex-start;padding:6px}.train-foot{margin-top:6px}@media (width<=760px){.topic-grid{grid-template-columns:1fr}}@media (width<=420px){.topic-actions{grid-template-columns:1fr 1fr}}.session-body{flex-direction:column;flex:1;display:flex}.qview,.fview,.lview{flex-direction:column;gap:14px;width:100%;max-width:720px;margin:0 auto;padding-top:4px;display:flex}.q-status{align-items:center;gap:8px;display:flex}.score-wrap{display:inline-flex;position:relative}.score-wrap .floatup{font-size:18px;top:-6px;right:4px}.timer.danger .pill{animation:.8s ease-in-out infinite tr-pulse}@keyframes tr-pulse{50%{transform:scale(1.1)}}.time-bar{background:color-mix(in srgb, var(--teal) 15%, transparent);border-radius:99px;height:4px;margin-bottom:-8px;overflow:hidden}.time-bar span{background:var(--teal);height:100%;transition:width .25s linear;display:block}.time-bar span.danger{background:var(--red)}.q-area{flex-direction:column;gap:12px;display:flex}.card.q-card .prompt{margin:0;font-size:21px;line-height:1.4}.option.tr-option{min-height:56px;transition:border-color .15s,background .15s,transform 80ms}.option.tr-option:active:not(:disabled){transform:scale(.99)}.option.tr-option .opt-text{flex:1}.option.tr-option.right .letter{background:var(--green);color:var(--on-fill)}.option.tr-option.wrong .letter{background:var(--red);color:var(--on-fill)}.option.tr-option.chosen .letter{background:var(--blue);color:var(--on-fill)}.option.tr-option.done{background:color-mix(in srgb, var(--neutral) 10%, var(--card));color:var(--muted)}.option.tr-option.done .letter{background:color-mix(in srgb, var(--neutral) 30%, transparent)}.key-hint{margin:0}@media (hover:none){.key-hint{display:none}}.answer-card{border:1.5px solid;border-radius:18px;padding:14px 16px}.answer-card.ans-good{border-color:color-mix(in srgb, var(--green) 50%, transparent);background:color-mix(in srgb, var(--green) 11%, var(--card))}.answer-card.ans-bad{border-color:color-mix(in srgb, var(--red) 45%, transparent);background:color-mix(in srgb, var(--red) 9%, var(--card))}.answer-head{margin-bottom:4px;font-size:18px;font-weight:900;display:block}.answer-card.ans-good .answer-head{color:var(--green)}.answer-card.ans-bad .answer-head{color:var(--red)}.answer-line{font-weight:800}.answer-card p{margin:4px 0 0}.duo-btns{grid-template-columns:1fr 1fr;gap:12px;display:grid}.flashcard{perspective:1200px;cursor:pointer;background:0 0;border:0;border-radius:28px;width:100%;height:310px;margin-top:8px;padding:0}.fc-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .45s;display:block;position:relative}.flashcard.flipped .fc-inner{transform:rotateY(180deg)}.fc-face{text-align:center;backface-visibility:hidden;border-radius:28px;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex;position:absolute;inset:0;overflow:auto}.fc-front{background:linear-gradient(150deg, var(--purple), color-mix(in srgb, var(--purple) 70%, var(--pink)));color:var(--on-fill);box-shadow:0 10px 30px color-mix(in srgb, var(--purple) 30%, transparent)}.fc-front .fc-text{font-size:24px;font-weight:900}.fc-front small{opacity:.75;font-weight:800}.fc-back{background:color-mix(in srgb, var(--purple) 14%, var(--card));color:var(--ink);border:2px solid color-mix(in srgb, var(--purple) 35%, transparent);transform:rotateY(180deg)}.fc-back .fc-text{font-size:21px;font-weight:800}.fview .label-strong{align-self:center}.video-card{color:var(--ink);background:color-mix(in srgb, var(--sky) 14%, var(--card));border:1px solid color-mix(in srgb, var(--sky) 35%, transparent);border-radius:18px;align-items:center;gap:12px;padding:14px 16px;text-decoration:none;display:flex}.video-card b,.video-card small{display:block}.video-card small{color:var(--muted);font-weight:700}.card.key-card{min-height:260px;animation:.25s ease-out tr-in}.key-point{color:var(--ink);margin-top:10px;font-size:22px;font-weight:800;line-height:1.45}.example-box{background:color-mix(in srgb, var(--teal) 9%, var(--card));border-radius:14px;margin-top:12px;padding:12px 14px}.example-box h3{margin:0 0 4px}.example-box p{color:var(--teal);white-space:pre-wrap;margin:0;font-weight:700}.step-label{text-transform:uppercase;letter-spacing:.6px;font-size:13px;font-weight:900}.bullets{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.bullets li{padding-left:22px;font-size:16.5px;line-height:1.5;position:relative}.bullets li:before{content:"";background:var(--teal);border-radius:50%;width:8px;height:8px;position:absolute;top:.6em;left:4px}.celebrate{text-align:center;flex-direction:column;align-items:center;gap:10px;width:100%;max-width:560px;margin:0 auto;padding:18px 0 30px;display:flex}.celebrate-emoji{font-size:84px;line-height:1.1}.celebrate-title{margin:4px 0 6px;font-size:24px}.xp-pill{color:var(--gold);background:color-mix(in srgb, var(--gold) 16%, transparent);border-radius:999px;padding:4px 14px;font-size:17px;font-weight:900;display:inline-flex}.levelup{text-align:left;background:color-mix(in srgb, var(--gold) 18%, var(--card));border:1.5px solid color-mix(in srgb, var(--gold) 40%, transparent);border-radius:18px;align-items:center;gap:12px;width:100%;margin-top:6px;padding:14px 16px;font-size:16.5px;display:flex}.new-badges{flex-direction:column;gap:8px;width:100%;margin-top:8px;display:flex}.new-badges h3{margin:0}.badge-card{text-align:left;background:color-mix(in srgb, var(--purple) 10%, var(--card));border:1px solid color-mix(in srgb, var(--purple) 25%, transparent);border-radius:18px;align-items:center;gap:12px;padding:12px 16px;display:flex}.badge-card span:last-child{flex-direction:column;display:flex}.badge-card small{color:var(--muted)}.badge-emoji{font-size:36px}.celebrate-actions{flex-direction:column;gap:10px;width:100%;margin-top:18px;display:flex}.ilesson{flex-direction:column;flex:1;gap:10px;width:100%;max-width:760px;margin:0 auto;display:flex}.il-progress{flex-direction:column;gap:6px;display:flex}.step-dots{gap:4px;display:flex}.step-dots span{background:color-mix(in srgb, var(--neutral) 18%, transparent);border-radius:99px;flex:1;height:7px;transition:background .3s}.step-dots span.inter{height:7px}.step-dots span.past{background:var(--teal)}.step-dots span.now{background:color-mix(in srgb, var(--teal) 55%, transparent)}.il-step{outline:none;flex-direction:column;flex:1;gap:12px;padding:8px 0 12px;animation:.25s ease-out tr-in;display:flex}.step-title{margin:0;font-size:23px}.step-body{white-space:pre-wrap;margin:0;font-size:17px;line-height:1.6}.step-q{color:var(--ink);margin:0;font-size:18px;font-weight:800}.tint-green{background:color-mix(in srgb, var(--green) 8%, var(--card))}.tint-purple{background:color-mix(in srgb, var(--purple) 7%, var(--card))}.solution,.order-done{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.order-done{padding:14px 16px}.solution li,.order-done li{align-items:flex-start;gap:10px;font-size:16.5px;line-height:1.5;display:flex}.sol-num{background:color-mix(in srgb, var(--purple) 18%, transparent);border-radius:50%;flex:none;place-items:center;width:26px;height:26px;margin-top:1px;font-size:13px;font-weight:900;display:grid}.order-done .sol-num{background:color-mix(in srgb, var(--green) 22%, transparent)}.match-cols{grid-template-columns:1fr 1fr;gap:10px;display:grid}.match-cols .option.tr-option{min-height:52px;padding:10px 12px;font-size:15px}.blank-form{flex-direction:column;gap:10px;display:flex}.blank-form input{font-size:18px;font-weight:700}.feedback{border:1px solid;border-radius:14px;padding:12px 14px;font-size:15px;font-weight:700}.feedback-good{background:color-mix(in srgb, var(--green) 10%, var(--card));border-color:color-mix(in srgb, var(--green) 50%, transparent)}.feedback-bad{background:color-mix(in srgb, var(--red) 9%, var(--card));border-color:color-mix(in srgb, var(--red) 45%, transparent)}.feedback-info{background:color-mix(in srgb, var(--attention) 10%, var(--card));border-color:color-mix(in srgb, var(--attention) 50%, transparent)}.il-nav{padding:12px 0 calc(12px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--line);z-index:5;grid-template-columns:1fr 2fr;gap:10px;display:grid;position:sticky;bottom:0}@media (width<=520px){.match-cols{gap:6px}.match-cols .option.tr-option{gap:8px;padding:8px;font-size:14px}.match-cols .letter{width:24px;height:24px;font-size:12px}.card.q-card .prompt{font-size:19px}.flashcard{height:280px}}.fc-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.fc-label{text-transform:uppercase;letter-spacing:.08em;opacity:.8;font-size:12px;font-weight:900}.recall-steps{flex-direction:column;gap:8px;margin:0;padding-left:20px;display:flex}.celebrate-note{max-width:460px;margin:4px auto 0}main.activity:has(.ex-wide){max-width:1240px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}kbd{border:1px solid var(--line);background:var(--card);color:var(--ink);border-bottom-width:2px;border-radius:6px;padding:3px 6px;font:800 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.ex-shell{flex-direction:column;flex:1;gap:14px;padding-top:12px;display:flex}.ex-intro{flex-direction:column;gap:12px;width:100%;max-width:620px;margin:0 auto;padding:12px 0 24px;display:flex}.ex-intro-emoji{font-size:56px;line-height:1}.ex-intro h1{margin:0}.ex-kind{color:var(--teal);margin:0;font-weight:800}.card.ex-rules{flex-direction:column;gap:8px;display:flex}.card.ex-rules p{margin:0}.card.ex-rules hr{border:0;border-top:1px solid var(--line);width:100%;margin:4px 0}.ex-sec-line{color:var(--ink);font-weight:800}.ex-keys-help{border:1px dashed var(--line);border-radius:16px;padding:12px 16px}.ex-keys-help h3{margin:0 0 6px;font-size:15px}.ex-keys-help ul{flex-direction:column;gap:6px;margin:0;padding-left:18px;font-size:14.5px;display:flex}.ex-intro-actions{flex-direction:column;gap:10px;display:flex}.ex-intro-actions .btn{width:100%}.ex-running{gap:0;min-height:100vh;padding-top:0}.ex-head{z-index:30;background:var(--bg);align-items:center;gap:10px;padding:10px 0;display:flex;position:sticky;top:0}.ex-head-title{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.ex-head-title b{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:16.5px;overflow:hidden}.ex-progress{z-index:29;background:var(--bg);padding-bottom:10px;position:sticky;top:60px}.ex-timer{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--muted);background:color-mix(in srgb, var(--neutral) 12%, transparent);border:1.5px solid #0000;border-radius:12px;align-items:center;gap:6px;padding:6px 12px;font-size:18px;font-weight:900;display:inline-flex}.ex-timer-warn{color:var(--attention);background:color-mix(in srgb, var(--attention) 12%, transparent);border-color:var(--attention)}.ex-timer-danger{color:var(--red);background:color-mix(in srgb, var(--red) 12%, transparent);border-color:var(--red);animation:1.2s ease-in-out infinite ex-pulse}@keyframes ex-pulse{50%{opacity:.5}}.ex-body{flex:1;grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:22px;padding:8px 0 20px;display:grid}.ex-main{flex-direction:column;gap:12px;min-width:0;max-width:820px;display:flex}.ex-qhead{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ex-qhead h2{flex:1;margin:0}.ex-of{font-size:15px;font-weight:700}.ex-flag{border:1.5px solid var(--line);cursor:pointer;color:var(--ink);background:0 0;border-radius:999px;padding:6px 13px;font-size:14px;font-weight:800}.ex-flag:hover{border-color:var(--attention)}.ex-flag.on{border-color:var(--attention);background:color-mix(in srgb, var(--attention) 18%, transparent)}.card.ex-prompt{padding:18px 20px}.card.ex-prompt .prompt{margin:0;font-size:20px;line-height:1.4}.ex-opt-text{white-space:pre-wrap;flex:1}.ex-opt-mine{color:var(--blue);white-space:nowrap;font-size:12px;font-weight:800}.ex-main .option{padding:15px 16px}.ex-side{position:sticky;top:92px}.ex-pal{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:20px;flex-direction:column;gap:10px;padding:16px;display:flex}.ex-pal h3{margin:0;font-size:16px}.ex-pal-sum{color:var(--muted);flex-wrap:wrap;gap:4px 12px;margin:0;font-weight:800;display:flex}.ex-pal-grid{grid-template-columns:repeat(auto-fill,minmax(42px,1fr));gap:8px;max-height:48vh;padding:3px;display:grid;overflow:auto}.ex-cell{cursor:pointer;background:color-mix(in srgb, var(--neutral) 14%, var(--card));min-width:42px;height:42px;color:var(--muted);border:0;border-radius:10px;place-items:center;font-size:14px;font-weight:800;display:grid;position:relative}.ex-cell.done{background:var(--green);color:var(--on-fill);font-size:12.5px}.ex-cell.flag{background:var(--attention);color:var(--on-fill);font-size:12.5px}.ex-cell.seen{background:color-mix(in srgb, var(--red) 16%, var(--card));color:var(--red)}.ex-cell.cur{outline:3px solid var(--blue);outline-offset:2px;font-weight:900}.ex-cell:hover{filter:brightness(1.05)}.ex-cell-dot{background:var(--green);width:8px;height:8px;box-shadow:0 0 0 1.5px var(--card);border-radius:50%;position:absolute;top:3px;right:3px}.ex-legend{color:var(--muted);grid-template-columns:1fr;gap:6px 10px;margin:0;padding:0;font-size:13px;font-weight:700;list-style:none;display:grid}.ex-legend li{align-items:center;gap:6px;display:flex}.ex-legend .ex-cell{cursor:default;border-radius:4px;width:14px;min-width:14px;height:14px;display:inline-block}.ex-pal-keys{margin:0;line-height:2}.ex-pal-sec{color:var(--ink);margin:4px 0 0;font-size:14px}.ex-foot{z-index:25;padding:12px 0 calc(12px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--line);align-items:center;gap:10px;display:flex;position:sticky;bottom:0}.ex-foot .btn{min-width:120px}.ex-foot-hint{text-align:center;flex:1;font-weight:700}.ex-palette-btn{display:none!important}.ex-confirm{flex-direction:column;gap:6px;margin:0;padding:0;font-size:16px;list-style:none;display:flex}@media (width<=900px){.ex-body{grid-template-columns:1fr}.ex-side{display:none}.ex-palette-btn{display:inline-flex!important}.ex-foot-hint{display:none}.ex-foot .btn{flex:1;min-width:0;padding-left:8px;padding-right:8px}}@media (width<=520px){.ex-head{gap:6px}.ex-head-title b{font-size:15px}.ex-timer{padding:5px 9px;font-size:16px}.card.ex-prompt .prompt{font-size:18px}.ex-progress{top:58px}}@media (width<=600px){.modal-bg:has(.ex-sheet){place-items:end stretch;padding:0}.modal-bg:has(.ex-sheet) .modal{width:100%;max-height:80vh;padding-bottom:calc(20px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0}}.ex-sheet .ex-pal{box-shadow:none;border:0;padding:0}.ex-sheet .ex-pal-grid{max-height:none}.ex-sections{padding-bottom:8px}.ex-sec-note{color:var(--teal);margin:0;font-size:14px;font-weight:700}.card.ex-written-prompt{padding:18px 20px}.card.ex-written-prompt .prompt{margin:0;font-size:18.5px}.ex-source{color:var(--muted);margin:8px 0 0;font-size:12.5px;font-weight:700}.ex-answer{resize:vertical;min-height:140px;font-weight:500;line-height:1.5}.ex-check{cursor:pointer;align-items:center;gap:10px;padding:6px 2px;font-weight:700;display:flex}.ex-check input{width:20px;height:20px;accent-color:var(--green)}.ex-or{flex-direction:column;gap:6px;display:flex}.card.ex-model{border-color:color-mix(in srgb, var(--green) 40%, var(--line));background:color-mix(in srgb, var(--green) 6%, var(--card));flex-direction:column;gap:8px;display:flex}.ex-model-title{color:var(--green);margin:0}.ex-model-text{white-space:pre-wrap;margin:0}.card.ex-model h4{color:var(--ink);margin:6px 0 0;font-size:15px}.ex-keys{flex-direction:column;gap:4px;display:flex}.ex-key{cursor:pointer;border-radius:12px;align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.ex-key:hover{background:color-mix(in srgb, var(--green) 8%, transparent)}.ex-key input{width:20px;height:20px;accent-color:var(--green);flex:none;margin-top:2px}.ex-key-text{flex:1}.ex-found{white-space:nowrap;font-size:12.5px;font-weight:800}.ex-written-done{padding:12px 0}.ex-mark-head{flex-direction:column;gap:6px;padding:8px 0 4px;display:flex}.ex-mark-head h1{margin:0;font-size:22px}.card.ex-mark-q{flex-direction:column;gap:8px;display:flex}.card.ex-mark-q .row{flex-wrap:nowrap;align-items:flex-start}.card.ex-mark-q .prompt{flex:1;margin:0;font-size:17.5px}.ex-typed{white-space:pre-wrap;border-left:3px solid var(--line);margin:0;padding-left:10px}.ex-label{color:var(--muted);margin:6px 0 0;font-size:13px;font-weight:800}.ex-twocol{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}@media (width<=900px){.ex-twocol{grid-template-columns:1fr}}.ex-results{flex-direction:column;gap:6px;padding-bottom:20px;display:flex}.card.ex-hero{grid-template-columns:minmax(260px,340px) 1fr;align-items:center;gap:24px;padding:22px;display:grid}.ex-hero-score{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.ex-hero-title{margin:0;font-weight:800}.ex-auto{color:var(--red);margin:0;font-size:14px;font-weight:800}.ex-cheer{margin:0;font-size:21px}.ex-scoreline{color:var(--teal);margin:0;font-weight:800}.ex-ring{place-items:center;display:grid;position:relative}.ex-ring svg{position:absolute;inset:0}.ex-ring-arc{transition:stroke-dashoffset 1s}.ex-ring-in{flex-direction:column;align-items:center;line-height:1.1;display:flex;position:relative}.ex-ring-pct{font-size:34px;font-weight:900}.ex-ring-grade{color:var(--ink);font-size:14px;font-weight:800}.ex-hero-side{flex-direction:column;gap:14px;min-width:0;display:flex}.ex-stats{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.ex-stat{background:color-mix(in srgb, var(--neutral) 7%, transparent);border-radius:14px;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;display:flex}.ex-stat b{color:var(--ink);font-variant-numeric:tabular-nums;font-size:19px;font-weight:900}.ex-stat small{color:var(--muted);font-size:12.5px;font-weight:700}.ex-rewards{flex-direction:column;gap:8px;display:flex}.pill.ex-xp{color:var(--gold);background:color-mix(in srgb, var(--gold) 16%, transparent);font-size:15px}.ex-levelup,.ex-badge{background:color-mix(in srgb, var(--purple) 9%, transparent);border-radius:14px;align-items:center;gap:10px;padding:10px 12px;font-weight:800;display:flex}.ex-badge-emoji{font-size:30px}.ex-badge span:last-child{flex-direction:column;display:flex}.ex-results-grid{grid-template-columns:minmax(280px,380px) minmax(0,1fr);align-items:start;gap:22px;display:grid}.ex-topics-col{position:sticky;top:8px}.ex-topic{flex-direction:column;gap:5px;display:flex}.ex-topic-row{justify-content:space-between;gap:10px;font-size:15px;display:flex}.ex-topic-row b{white-space:nowrap}.ex-tip{color:var(--teal);margin:0;font-weight:700}.ex-review-list{margin-top:12px}.card.ex-rv{border-left-width:4px;flex-direction:column;gap:8px;display:flex}.card.ex-rv.is-right{border-left-color:var(--green)}.card.ex-rv.is-wrong{border-left-color:var(--red)}.card.ex-rv.is-skipped{border-left-color:var(--neutral)}.ex-rv-n{font-weight:800}.ex-rv-prompt{color:var(--ink);white-space:pre-wrap;margin:0;font-size:16.5px;font-weight:800}.ex-rv-opts{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.ex-rv-opts li{border-radius:8px;gap:8px;padding:4px 6px;display:flex}.ex-rv-opts li.ans{color:var(--green);background:color-mix(in srgb, var(--green) 8%, transparent);font-weight:800}.ex-rv-opts li.mine{color:var(--red);background:color-mix(in srgb, var(--red) 7%, transparent);font-weight:700}.ex-rv-expl{color:var(--teal);margin:0;font-size:14.5px}.ex-done{justify-content:center;padding-top:18px;display:flex}.ex-done .btn{min-width:260px}.ex-secmarks{border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.ex-secmarks h3{margin:0;font-size:15px}.ex-secmarks hr{border:0;border-top:1px solid var(--line);width:100%;margin:2px 0}@media (width<=900px){.card.ex-hero,.ex-results-grid{grid-template-columns:1fr}.ex-topics-col{position:static}}@media (width<=520px){.ex-stats{grid-template-columns:repeat(3,1fr)}.ex-done .btn{width:100%;min-width:0}}.ex-celebrate{text-align:center;flex-direction:column;align-items:center;gap:10px;width:100%;max-width:520px;margin:0 auto;padding:24px 0;display:flex}.ex-celebrate-emoji{font-size:80px;line-height:1;animation:.5s both pop}.ex-celebrate .btn{width:100%}.tt-head p{margin:0}.tt-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;display:grid}.card.tt-card{align-items:center;gap:12px;padding:14px 16px;display:flex}.tt-emoji{flex:none;font-size:28px;line-height:1}.tt-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.tt-body b{color:var(--ink);font-size:15.5px}.card.tt-card.locked .tt-body b{color:var(--muted)}.tt-body small{color:var(--muted);font-size:13.5px}.tt-history{flex-direction:column;gap:8px;display:flex}.card.tt-row{align-items:center;gap:10px;padding:12px 16px;display:flex}.tt-chev{color:var(--muted);font-size:22px}.card.tt-overlay{flex-direction:column;gap:2px;display:flex}.card.tt-overlay p{margin:0}@media (prefers-reduced-motion:reduce){.ex-timer-danger,.ex-celebrate-emoji{animation:none}.ex-ring-arc{transition:none}}:root{--pg-subj-mix:100%}@media (prefers-color-scheme:dark){:root{--pg-subj-mix:72%}}.pg-grid2{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.pg-grid2.pg-top{align-items:stretch}.pg-top .pg-summary{grid-auto-rows:1fr}.pg-grid2>section{flex-direction:column;min-width:0;display:flex}.pg-grid2>section>.card{flex:1}.pg-grid2 .section-title{margin-top:8px}@media (width<=900px){.pg-grid2{grid-template-columns:minmax(0,1fr)}}.pg-head p{margin:0;font-weight:700}.pg-card-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.pg-card-head h2{margin:0}.pg-filter{margin:-2px 0 10px}.pg-chart-card{padding:14px 16px}.pg-goals{flex-direction:column;display:flex}.pg-rings{grid-template-columns:repeat(3,1fr);justify-items:center;gap:8px;display:grid}.pg-goal{text-align:center;flex-direction:column;align-items:center;gap:1px;display:flex}.pg-goal-label{color:var(--ink);margin-top:4px;font-size:14.5px;font-weight:800}.pg-goal small{font-size:12.5px}.pg-ring{flex:none;place-items:center;display:inline-grid;position:relative}.pg-ring svg{position:absolute;inset:0}.pg-ring-center{flex-direction:column;align-items:center;line-height:1;display:flex;position:relative}.pg-ring-center b{color:var(--ink);font-size:21px;font-weight:900}.pg-met{color:var(--green);margin-top:2px;font-size:13px;font-weight:900}.pg-ring-arc{transition:stroke-dashoffset .8s cubic-bezier(.2,.8,.2,1)}.pg-exam{background:color-mix(in srgb, var(--orange) 11%, var(--card));border:1px solid color-mix(in srgb, var(--orange) 30%, transparent);text-align:left;border-radius:14px;align-items:center;gap:12px;margin-top:14px;padding:10px 12px;font-weight:700;display:flex}.pg-exam-days{background:var(--orange);min-width:58px;color:var(--on-fill);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;padding:6px 8px;line-height:1;display:flex}.pg-exam-days b{font-size:24px;font-weight:900}.pg-exam-days small{font-size:11.5px;font-weight:800}.pg-exam-none{cursor:pointer;width:100%;color:var(--muted);border:1.5px dashed var(--line);background:0 0;font-size:14.5px}.pg-exam-none:hover{border-color:var(--orange);color:var(--ink)}.pg-summary,.aw-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.aw-stats{grid-template-columns:repeat(4,minmax(0,1fr))}@media (width<=700px){.aw-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.pg-tile{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;flex-direction:column;gap:2px;min-width:0;padding:14px 16px;display:flex;position:relative;overflow:hidden}.pg-tile:before{content:"";background:var(--tint);width:4px;position:absolute;top:0;bottom:0;left:0}.pg-tile-emoji{font-size:22px}.pg-tile b{color:var(--ink);overflow-wrap:anywhere;font-size:22px;font-weight:900;line-height:1.2}.pg-tile small{color:var(--muted);font-weight:700}.pg-chart{width:100%;min-width:0;position:relative}.pg-chart svg{display:block;overflow:visible}.pg-center{justify-content:center;display:flex}.pg-grid{stroke:var(--line);stroke-width:1px}.pg-track{stroke:color-mix(in srgb, var(--neutral) 14%, transparent)}.pg-tick{fill:var(--muted);font-size:11px;font-weight:700}.pg-tick-now{fill:var(--ink);font-weight:900}.pg-axis-name{fill:var(--ink);font-size:12.5px;font-weight:800}.pg-axis-val{fill:var(--muted);font-size:12px;font-weight:800}.pg-point-val{fill:var(--ink);paint-order:stroke;stroke:var(--card);stroke-width:4px;font-size:12.5px;font-weight:900}.pg-bar-val{fill:var(--muted);font-size:10.5px;font-weight:800}.pg-target{stroke:var(--gold);stroke-width:1.5px;stroke-dasharray:6 5}.pg-target-label{fill:var(--gold);paint-order:stroke;stroke:var(--card);stroke-width:4px;font-size:11.5px;font-weight:900}.pg-dot-bg{fill:var(--card)}.pg-dot-ring{stroke:var(--card);stroke-width:2px}.pg-donut-top{fill:var(--ink);font-size:24px;font-weight:900}.pg-donut-bottom{fill:var(--muted);font-size:12px;font-weight:700}.pg-donut{flex-wrap:wrap;justify-content:center;align-items:center;gap:22px;padding:6px 0;display:flex}.pg-legend{flex-direction:column;gap:8px;min-width:150px;margin:0;padding:0;list-style:none;display:flex}.pg-legend li{grid-template-columns:12px 1fr auto;align-items:center;gap:10px;font-weight:700;display:grid}.pg-legend b{color:var(--muted);font-weight:800}.pg-swatch{border-radius:4px;width:12px;height:12px}.pg-chart-empty{text-align:center;color:var(--muted);pointer-events:none;place-items:center;padding:0 12px;font-weight:800;display:grid;position:absolute;inset:0 0 24px 30px}.pg-chart-empty>*{background:var(--card)}.pg-hbars{flex-direction:column;gap:10px;padding:8px 0;display:flex}.pg-hbar{grid-template-columns:90px 1fr 34px;align-items:center;gap:10px;font-weight:800;display:grid}.pg-hbar-track{background:color-mix(in srgb, var(--neutral) 15%, transparent);border-radius:99px;height:12px;overflow:hidden}.pg-hbar-track>span{border-radius:99px;height:100%;display:block}.pg-week-note{color:var(--muted);margin:8px 0 0;font-weight:700}.pg-grow{animation:.7s cubic-bezier(.2,.8,.2,1) both pg-grow}.pg-rise{animation:.6s ease-out both pg-rise}.pg-spin-in path{animation:.7s ease-out both pg-fade}@keyframes pg-grow{0%{transform:scale(0)}}@keyframes pg-rise{0%{opacity:0;transform:translateY(10px)}}@keyframes pg-fade{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.pg-grow,.pg-rise,.pg-spin-in path,.aw-badge.earned .aw-badge-icon{animation:none}.pg-ring-arc{transition:none}}.pg-empty{text-align:center;flex-direction:column;align-items:center;gap:4px;padding:18px 8px;display:flex}.pg-empty>span{font-size:36px}.pg-empty p{max-width:340px;margin:0;font-weight:700}.pg-insights{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.pg-insight{border-radius:14px;align-items:center;gap:12px;padding:10px 12px;display:flex}.pg-insight.good{background:color-mix(in srgb, var(--green) 9%, var(--card))}.pg-insight.weak{background:color-mix(in srgb, var(--attention) 11%, var(--card))}.pg-insight-mark{width:26px;height:26px;color:var(--on-fill);border-radius:50%;flex:none;place-items:center;font-weight:900;display:grid}.good .pg-insight-mark{background:var(--green)}.weak .pg-insight-mark{background:var(--attention)}.pg-insight-text{flex-direction:column;flex:1;min-width:0;display:flex}.pg-insight-text b{color:var(--ink)}.pg-insight-acc{font-size:18px;font-weight:900}@media (width<=520px){.pg-insight{flex-wrap:wrap}.pg-insight-text{flex-basis:calc(100% - 100px)}.pg-insight .btn{margin-left:38px}}.good .pg-insight-acc{color:var(--green)}.weak .pg-insight-acc{color:var(--attention)}.pg-topics{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px 28px;margin:0;padding:0;list-style:none;display:grid}.pg-topics li{flex-direction:column;gap:4px;display:flex}.pg-topic-line{color:var(--ink);justify-content:space-between;gap:10px;font-weight:800;display:flex}.pg-topic-score{color:var(--sc);font-size:17px}.pg-form{flex-direction:column;gap:16px;display:flex}.pg-slider{flex-direction:column;gap:6px;font-weight:700;display:flex}.pg-slider b{color:var(--blue)}.pg-slider input[type=range]{appearance:none;cursor:pointer;background:linear-gradient(to right, var(--blue) var(--fill,50%), color-mix(in srgb, var(--neutral) 22%, transparent) var(--fill,50%));border:0;border-radius:99px;height:8px;padding:0}.pg-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--card);border:4px solid var(--blue);border-radius:50%;width:24px;height:24px;box-shadow:0 1px 4px #00000040}.pg-slider input[type=range]::-moz-range-thumb{background:var(--card);border:4px solid var(--blue);border-radius:50%;width:18px;height:18px}.pg-slider input[type=range]:focus-visible{outline:2px solid var(--blue);outline-offset:6px}.pg-date{flex-direction:column;gap:4px;margin-top:4px;font-weight:700;display:flex}.pg-date input{max-width:240px}.aw-hero{color:var(--on-fill);background:radial-gradient(500px 200px at 100% 0%, color-mix(in srgb, var(--pink) 45%, transparent), transparent), var(--purple);box-shadow:var(--shadow);border-radius:24px;padding:22px 24px}.aw-hero-top{align-items:center;gap:16px;display:flex}.aw-hero-top>div:first-child{flex:1}.aw-level{font-size:34px;font-weight:900;line-height:1.05}.aw-title{opacity:.92;font-size:18px;font-weight:800}.aw-rank{flex-direction:column;align-items:center;gap:4px;font-size:13.5px;font-weight:800;display:flex}.aw-rank .emblem{background:color-mix(in srgb, var(--on-fill) 85%, transparent)!important}.aw-xpbar{background:color-mix(in srgb, var(--on-fill) 25%, transparent);border-radius:99px;height:12px;margin-top:14px;overflow:hidden}.aw-xpbar>span{background:var(--on-fill);border-radius:99px;height:100%;transition:width .8s;display:block}.aw-xptext{opacity:.92;margin:6px 0 0;font-size:14.5px;font-weight:700}.aw-badges{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}@media (width<=520px){.aw-badges{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}}.aw-badge{text-align:center;border:1.5px solid var(--line);background:var(--card);cursor:pointer;width:100%;height:100%;min-height:150px;box-shadow:var(--shadow);border-radius:18px;flex-direction:column;justify-content:flex-start;align-items:center;gap:4px;padding:14px 8px 12px;transition:transform .1s,border-color .15s;display:flex}.aw-badge:hover{border-color:color-mix(in srgb, var(--gold) 50%, var(--line));transform:translateY(-2px)}.aw-badge b{color:var(--ink);font-size:14px;line-height:1.2}.aw-badge small{color:var(--muted);font-size:12px;font-weight:700;line-height:1.3}.aw-badge-icon{border-radius:50%;flex:none;place-items:center;width:60px;height:60px;margin-bottom:4px;font-size:30px;display:grid}.aw-badge.earned{border-color:color-mix(in srgb, var(--gold) 45%, var(--line));background:color-mix(in srgb, var(--gold) 6%, var(--card))}.aw-badge.earned .aw-badge-icon{background:color-mix(in srgb, var(--gold) 20%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--gold) 35%, transparent);animation:.45s both pop}.aw-badge.earned small{color:var(--green);font-weight:900}.aw-badge.locked .aw-badge-icon{background:color-mix(in srgb, var(--neutral) 13%, transparent);opacity:.7;font-size:26px}.aw-badge.locked b{color:var(--muted)}@media (width<=520px){.aw-badge{min-height:132px;padding:10px 4px}.aw-badge-icon{width:48px;height:48px;font-size:24px}.aw-badge small{font-size:11px}}.aw-modal-badge{border-radius:50%;place-items:center;width:96px;height:96px;margin:4px auto;font-size:50px;display:grid}.aw-modal-badge.earned{background:color-mix(in srgb, var(--gold) 20%, transparent)}.aw-modal-badge.locked{background:color-mix(in srgb, var(--neutral) 14%, transparent)}.aw-board{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.aw-row{border-radius:14px;align-items:center;gap:10px;padding:8px 10px;display:flex}.aw-row.me{background:color-mix(in srgb, var(--orange) 14%, transparent)}.aw-medal{text-align:center;width:34px;color:var(--muted);flex:none;font-size:20px;font-weight:900}.aw-who{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.aw-who b{color:var(--ink)}.aw-pts{color:var(--gold);white-space:nowrap;font-weight:900}:root{--bg:#f7f8fa;--card:#fff;--ink:#1e293b;--text:#1e293b;--muted:#64748b;--line:#e5e9f0;--blue:#2563eb;--deep:#1e40af;--teal:#0d9488;--gold:#b45309;--orange:#e8613c;--flame:#ea580c;--green:#16a34a;--purple:#7c3aed;--pink:#db2777;--sky:#0284c7;--attention:#d97706;--red:#dc2626;--neutral:#64748b;--on-fill:#fff;--head1:#2563eb;--head2:#3b5bdb;--shadow:0 1px 2px #0f172a0d, 0 4px 14px #0f172a0d;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0f172a;--card:#172033;--ink:#e2e8f0;--text:#e2e8f0;--muted:#94a3b8;--line:#263247;--blue:#60a5fa;--deep:#93c5fd;--teal:#2dd4bf;--gold:#fbbf24;--orange:#fb8c6b;--flame:#fb923c;--green:#4ade80;--purple:#a78bfa;--pink:#f472b6;--sky:#38bdf8;--attention:#fbbf24;--red:#f87171;--neutral:#94a3b8;--on-fill:#0f172a;--head1:#1e3a8a;--head2:#312e81;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font:16px/1.5 Nunito,system-ui,-apple-system,Segoe UI,sans-serif}h1,h2,h3{color:var(--ink);margin:0 0 6px;font-weight:900;line-height:1.2}h1{font-size:26px}h2{font-size:19px}h3{font-size:16px}p{margin:0 0 8px}a{color:var(--blue)}button{font:inherit;color:inherit}input,select,textarea{font:inherit;color:var(--text);background:var(--card);border:1.5px solid var(--line);border-radius:12px;width:100%;padding:11px 13px}input:focus,select:focus,textarea:focus{outline:2px solid var(--blue);outline-offset:1px;border-color:#0000}:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.muted{color:var(--muted)}.small{font-size:13.5px}.center{text-align:center}.up,.ok{color:var(--green)}.down,.bad{color:var(--red)}.warn{color:var(--attention)}.stack{flex-direction:column;gap:12px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.row-end{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.row-center{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.spacer{flex:1}.grid2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;display:grid}.grid3{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.btn{cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-size:15.5px;font-weight:800;transition:transform 80ms,filter .15s;display:inline-flex}.btn:active:not(:disabled){transform:scale(.97)}.btn:hover:not(:disabled){filter:brightness(1.06)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--blue);color:var(--on-fill)}.btn-cta{background:var(--orange);color:var(--on-fill)}.btn-success{background:var(--green);color:var(--on-fill)}.btn-secondary{background:var(--card);color:var(--ink);border:1.5px solid var(--line)}.btn-ghost{color:var(--blue);background:0 0}.btn-danger{background:var(--red);color:var(--on-fill)}.btn-sm{border-radius:11px;padding:8px 14px;font-size:14px}.link{color:var(--blue);cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.icon-btn{cursor:pointer;width:40px;height:40px;color:var(--ink);background:0 0;border:0;border-radius:12px;font-size:20px}.icon-btn:hover{background:color-mix(in srgb, var(--blue) 10%, transparent)}.card{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);text-align:left;border-radius:20px;width:100%;padding:18px;display:block}.card.clickable{cursor:pointer;transition:transform .1s,border-color .15s}.card.clickable:hover{border-color:color-mix(in srgb, var(--blue) 45%, var(--line));transform:translateY(-1px)}.section-title{justify-content:space-between;align-items:baseline;margin:22px 2px 10px;display:flex}.section-title h2{margin:0}.stat{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;flex-direction:column;gap:2px;padding:14px;display:flex}.stat-emoji{font-size:22px}.stat b{color:var(--ink);font-size:22px;font-weight:900}.stat small{color:var(--muted);font-weight:700}.stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.avatar{background:color-mix(in srgb, var(--blue) 12%, var(--card));border-radius:50%;flex:none;place-items:center;display:inline-grid}.pill{white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:13px;font-weight:800;display:inline-flex}.bar{background:color-mix(in srgb, var(--neutral) 18%, transparent);border-radius:99px;width:100%;display:block;overflow:hidden}.bar>span{border-radius:99px;height:100%;transition:width .5s;display:block}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1.5px solid var(--line);background:var(--card);cursor:pointer;border-radius:999px;padding:7px 14px;font-size:14px;font-weight:800}.chip.on{background:var(--blue);color:var(--on-fill);border-color:var(--blue)}.notice{background:color-mix(in srgb, var(--blue) 10%, var(--card));border-radius:14px;padding:12px 14px;font-size:14.5px}.notice-error{background:color-mix(in srgb, var(--red) 12%, var(--card));color:var(--red);font-weight:700}.notice-warn{background:color-mix(in srgb, var(--attention) 14%, var(--card))}.empty{text-align:center;flex-direction:column;align-items:center;gap:6px;max-width:460px;margin:0 auto;padding:40px 16px;display:flex}.empty-emoji{font-size:54px}.loading{place-content:center;justify-items:center;gap:10px;min-height:70vh;display:grid}.breathe{border-radius:22px;animation:1.6s ease-in-out infinite breathe}@keyframes breathe{50%{transform:scale(1.06)}}.field{flex-direction:column;gap:6px;font-size:14px;font-weight:800;display:flex}.emblem{border:3px solid;border-radius:50%;flex:none;place-items:center;display:inline-grid}.stars{letter-spacing:2px}.star{color:color-mix(in srgb, var(--neutral) 35%, transparent)}.star.on{color:#f5b301}.star.pop{animation:.45s both pop;display:inline-block}@keyframes pop{0%{transform:scale(0)}70%{transform:scale(1.3)}to{transform:scale(1)}}.confetti{pointer-events:none;z-index:60;width:100%;height:100%;position:fixed;inset:0}.floatup{pointer-events:none;font-weight:900;animation:1s ease-out forwards floatup;position:absolute}@keyframes floatup{to{opacity:0;transform:translateY(-40px)}}.shake{animation:.4s shake}@keyframes shake{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.modal-bg{z-index:50;background:#0f172a80;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--card);border-radius:22px;flex-direction:column;gap:12px;width:min(520px,100%);max-height:90vh;padding:20px;display:flex;overflow:auto}.modal-head{justify-content:space-between;align-items:center;display:flex}.modal-head h2{margin:0}.toast{background:var(--ink);color:var(--bg);z-index:70;border-radius:14px;max-width:calc(100% - 32px);padding:11px 18px;font-weight:800;position:fixed;bottom:90px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #0003}.shell{grid-template-columns:220px 1fr;min-height:100vh;display:grid}.tabs{background:var(--card);border-right:1px solid var(--line);flex-direction:column;gap:4px;height:100vh;padding:18px 12px;display:flex;position:sticky;top:0}.brand{color:var(--ink);align-items:center;gap:10px;padding:4px 8px 18px;text-decoration:none;display:flex}.brand img{border-radius:10px}.brand span{flex-direction:column;line-height:1.1;display:flex}.brand b{font-size:17px;font-weight:900}.brand small{color:var(--gold);letter-spacing:.4px;font-size:11px;font-weight:700}.by{color:var(--gold);font-weight:700}.hello{margin:4px 0 0}.mobile-top{display:none}.brand-m{color:var(--ink);align-items:center;gap:8px;text-decoration:none;display:flex}.brand-m img{border-radius:8px}.brand-m b{font-size:16px;font-weight:900}.tab{color:var(--muted);border-radius:14px;align-items:center;gap:12px;padding:11px 14px;font-weight:800;text-decoration:none;display:flex}.tab-emoji{font-size:21px}.tab:hover{background:color-mix(in srgb, var(--orange) 8%, transparent)}.tab.on{background:color-mix(in srgb, var(--orange) 16%, transparent);color:var(--ink)}.main{width:100%;max-width:1100px;padding:22px 28px 60px}.page{flex-direction:column;gap:14px;display:flex}@media (width<=760px){.shell{grid-template-columns:1fr}.tabs{height:auto;padding:6px 4px calc(6px + env(safe-area-inset-bottom));border-right:0;border-top:1px solid var(--line);z-index:40;flex-direction:row;justify-content:space-around;position:fixed;inset:auto 0 0}.brand{display:none}.mobile-top{z-index:35;background:color-mix(in srgb, var(--card) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);padding:10px 16px;display:flex;position:sticky;top:0}.tab{text-align:center;flex-direction:column;flex:1;gap:0;padding:6px 4px;font-size:12px}.main{padding:16px 16px 100px}h1{font-size:23px}}.activity{flex-direction:column;max-width:860px;min-height:100vh;margin:0 auto;padding:0 16px 60px;display:flex}.backbar{z-index:30;background:var(--bg);align-items:center;gap:8px;padding:10px 0;display:flex;position:sticky;top:0}.backbar h1{text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;font-size:18px;overflow:hidden}.backbar-right{align-items:center;gap:8px;display:flex}.options{flex-direction:column;gap:10px;display:flex}.option{text-align:left;border:2px solid var(--line);background:var(--card);cursor:pointer;border-radius:16px;align-items:center;gap:12px;width:100%;padding:14px 16px;font-size:16px;font-weight:700;display:flex}.option:hover:not(:disabled){border-color:color-mix(in srgb, var(--blue) 50%, var(--line))}.option:disabled{cursor:default}.option .letter{background:color-mix(in srgb, var(--neutral) 15%, transparent);border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-weight:900;display:grid}.option.chosen{border-color:var(--blue);background:color-mix(in srgb, var(--blue) 9%, var(--card))}.option.right{border-color:var(--green);background:color-mix(in srgb, var(--green) 11%, var(--card))}.option.wrong{border-color:var(--red);background:color-mix(in srgb, var(--red) 10%, var(--card))}.prompt{color:var(--ink);white-space:pre-wrap;font-size:19px;font-weight:800}.signin{background:radial-gradient(1200px 500px at 50% -10%, color-mix(in srgb, var(--blue) 18%, transparent), transparent), var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:100vh;padding:24px 16px;display:flex}.signin-card{text-align:center;flex-direction:column;gap:10px;max-width:420px;padding:28px 24px;display:flex}.signin-logo{border-radius:16px;margin:0 auto}.signin form{text-align:left;margin:6px 0}.code-input{letter-spacing:6px;text-align:center;font-size:24px;font-weight:900}.center-page{flex-direction:column;justify-content:center;gap:12px;min-height:100vh;padding:16px;display:flex}
