:root{--bg:#f1f5ee;--bg-2:#e6ede4;--card:#fff;--card-2:#f6f9f4;--ink:#10261d;--ink-2:#33483e;--muted:#5b6e64;--line:#d6e0d8;--line-2:#b7c6bc;--forest:#17593e;--forest-ink:#fff;--forest-soft:#dcede3;--blaze:#ff6a13;--blaze-deep:#d9530a;--blaze-ink:#1b0d03;--blaze-soft:#ffe6d5;--blaze-text:#b84400;--gold:#e9a800;--ok:#18794e;--ok-soft:#dcf3e6;--bad:#cf323b;--bad-soft:#fde2e3;--half:#fff1c9;--cc:#2b57e0;--cc-soft:color-mix(in srgb, var(--cc) 14%, var(--card));--shadow:0 1px 0 #10261d0f, 0 12px 28px -20px #10261d8c;--radius:14px;--display:"Bricolage Grotesque", "Arial Rounded MT Bold", "Trebuchet MS", sans-serif;--body:"Atkinson Hyperlegible", Verdana, "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0c1712;--bg-2:#08110d;--card:#15241d;--card-2:#1b2e25;--ink:#e8f1ec;--ink-2:#c3d3ca;--muted:#93a89c;--line:#27392f;--line-2:#3b5246;--forest:#58c18f;--forest-ink:#06140d;--forest-soft:#16362a;--blaze:#ff7a2b;--blaze-deep:#c95310;--blaze-ink:#1b0d03;--blaze-soft:#3e2112;--blaze-text:#ff9a5c;--gold:#ffc633;--ok:#4fd08f;--ok-soft:#133a28;--bad:#ff7b82;--bad-soft:#43191d;--half:#3a3212;--cc-soft:color-mix(in srgb, var(--cc) 22%, var(--card));--shadow:0 1px 0 #0000004d, 0 14px 30px -20px #000000e6;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;padding-bottom:env(safe-area-inset-bottom,0px);font-size:17px;line-height:1.55}h1,h2,h3{font-family:var(--display);letter-spacing:-.02em;text-wrap:balance;margin:0;line-height:1.08}p{margin:0}a{color:var(--forest)}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--blaze);outline-offset:2px;border-radius:6px}img,svg{max-width:100%}.wrap{max-width:1040px;margin:0 auto;padding-inline:18px}.narrow{max-width:700px;margin:0 auto}.tnum{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.small{font-size:.88rem}.center{text-align:center}.stack{gap:14px;display:grid}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.row.end{justify-content:flex-end}.row.between{justify-content:space-between}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.btn{font-family:var(--display);background:var(--forest);color:var(--forest-ink);border:0;border-radius:11px;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-size:1rem;font-weight:700;text-decoration:none;transition:transform 80ms;display:inline-flex;box-shadow:inset 0 -3px #00000038}.btn:active{box-shadow:none;transform:translateY(2px)}.btn.blaze{background:var(--blaze);color:var(--blaze-ink);box-shadow:inset 0 -3px 0 var(--blaze-deep)}.btn.ghost{background:var(--card);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line-2)}.btn.quiet{color:var(--ink-2);box-shadow:none;background:0 0;padding-inline:10px}.btn.small{padding:8px 14px;font-size:.88rem}.btn.wide{width:100%}.btn.danger{background:var(--bad);color:#fff}.btn:disabled{opacity:.45;cursor:default;transform:none}.btn .g{width:18px;height:18px}label.field{gap:6px;font-size:.92rem;font-weight:700;display:grid}.input,textarea.input{background:var(--card-2);border:2px solid var(--line);border-radius:11px;width:100%;padding:11px 13px;font-size:1rem;font-weight:400}.input:focus{border-color:var(--forest);outline:none}.hint{color:var(--muted);font-size:.86rem;font-weight:400}.error{color:var(--bad);font-size:.92rem}.notice{background:var(--forest-soft);border-radius:11px;padding:12px 14px;font-size:.95rem}.notice.warn{background:var(--blaze-soft)}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.card.pad-lg{padding:28px 26px}.kicker{text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-size:.74rem;font-weight:700}.kicker.cc{color:var(--cc)}.tag{text-transform:uppercase;letter-spacing:.08em;background:var(--cc-soft);color:var(--cc);border-radius:99px;padding:3px 9px;font-size:.72rem;font-weight:700;display:inline-block}.topbar{z-index:40;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0px);position:sticky;top:0}.topbar-in{align-items:center;gap:10px;min-height:58px;display:flex}.logo{font-family:var(--display);letter-spacing:-.035em;color:var(--ink);align-items:center;gap:9px;font-size:1.28rem;font-weight:800;text-decoration:none;display:inline-flex}.logo .mark{background:var(--blaze);width:13px;height:26px;box-shadow:inset 0 -3px 0 var(--blaze-deep);border-radius:4px}.logo b{color:var(--forest);font-weight:800}.nav{gap:2px;margin-left:10px;display:flex}.nav a{color:var(--muted);border-radius:9px;padding:8px 11px;font-size:.95rem;font-weight:700;text-decoration:none}.nav a:hover{color:var(--ink)}.nav a.active{color:var(--ink);background:var(--card);box-shadow:inset 0 0 0 1.5px var(--line)}.spacer{flex:1}.points{background:var(--blaze);color:var(--blaze-ink);box-shadow:inset 0 -3px 0 var(--blaze-deep);border-radius:9px;align-items:baseline;gap:6px;padding:5px 11px;text-decoration:none;display:inline-flex;position:relative}.points b{font-family:var(--display);font-size:1.2rem;font-weight:800;line-height:1}.points span{text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;font-weight:700}.avatar-btn{background:var(--card);width:40px;height:40px;box-shadow:inset 0 0 0 1.5px var(--line);border-radius:50%;place-items:center;font-size:1.35rem;text-decoration:none;display:grid}.bump{animation:.45s bump}@keyframes bump{30%{transform:scale(1.12)}}main{padding-block:26px 70px}@media (width<=620px){body{font-size:16px}.nav{z-index:45;background:var(--card);border-top:1px solid var(--line);padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));justify-content:space-around;margin:0;position:fixed;bottom:0;left:0;right:0}.nav a{text-align:center;flex:1;padding:10px 4px}.nav a.active{box-shadow:none;background:var(--forest-soft)}main{padding-bottom:110px}.card{padding:18px 16px}.card.pad-lg{padding:22px 17px}}.landing-hero{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:36px;padding-block:34px 20px;display:grid}.landing-hero h1{letter-spacing:-.05em;font-size:clamp(2.7rem,8vw,5rem);font-weight:800}.landing-hero h1 em{color:var(--blaze-text);font-style:normal}.landing-hero .lede{color:var(--ink-2);max-width:44ch;margin-top:16px;font-size:1.12rem}.landing-hero .row{margin-top:24px}.trail-demo{aspect-ratio:4/5;justify-self:center;width:100%;max-width:380px;position:relative}.features{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-block:40px;display:grid}.feature h3{margin-bottom:6px;font-size:1.12rem}.feature p{color:var(--ink-2);font-size:.95rem}.feature .no{font-family:var(--display);color:var(--blaze-text);margin-bottom:8px;font-size:.9rem;font-weight:800}@media (width<=760px){.landing-hero{grid-template-columns:1fr;gap:10px}.trail-demo{max-width:260px}}.auth{max-width:430px;margin:10px auto 0}.auth h1{font-size:2rem}.tabs{background:var(--bg-2);border-radius:12px;grid-template-columns:1fr 1fr;padding:4px;display:grid}.tabs button{color:var(--muted);background:0 0;border:0;border-radius:9px;padding:9px;font-weight:700}.tabs button[aria-selected=true]{background:var(--card);color:var(--ink);box-shadow:var(--shadow)}.or{color:var(--muted);grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;font-size:.85rem;display:grid}.or:before,.or:after{content:"";background:var(--line);height:1px}.avatars{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}.avatars button{aspect-ratio:1;border:2px solid var(--line);background:var(--card-2);border-radius:12px;font-size:1.7rem}.avatars button[aria-pressed=true]{border-color:var(--blaze);background:var(--blaze-soft)}.home-head{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px;margin-bottom:22px;display:grid}.home-head h1{font-size:clamp(1.9rem,5vw,2.6rem)}.level{gap:6px;min-width:240px;display:grid}.level .t{justify-content:space-between;gap:12px;font-size:.86rem;display:flex}.level .t b{font-family:var(--display);font-size:1.05rem}.bar{background:var(--line);border-radius:99px;height:8px;overflow:hidden}.bar i{background:var(--blaze);border-radius:99px;height:100%;transition:width .6s cubic-bezier(.2,.8,.3,1);display:block}.bar.cc i{background:var(--cc)}.grid-home{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}@media (width<=860px){.grid-home,.home-head{grid-template-columns:1fr}.level{min-width:0}}.section-title{margin-bottom:12px;font-size:1.25rem}.course-list{gap:12px;display:grid}.filters{gap:10px;margin-bottom:16px;display:grid}.filter-group{gap:6px;display:grid}.filter-seg button{color:var(--ink-2)}.filter-seg button[aria-pressed=true]{background:var(--forest);border-color:var(--forest);color:var(--forest-ink)}.filter-seg button:focus-visible{outline:2px solid var(--blaze);outline-offset:2px}.exams-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.exams-head .section-title{margin-bottom:8px}.exam-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.exam-row{border-left:5px solid var(--cc,var(--line));background:var(--bg);border-radius:12px;grid-template-columns:7.5rem minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.exam-row .when{line-height:1.2;display:grid}.exam-row .when b{font-family:var(--display);font-size:1.05rem}.exam-row .when small{color:var(--muted);font-size:.8rem}.exam-row.soon .when b{color:var(--blaze-text)}.exam-row .what{gap:2px;min-width:0;display:grid}.exam-row .what b{overflow-wrap:anywhere}.exam-form{gap:12px;margin-top:12px;display:grid}.exams-inline{gap:8px;display:grid}@media (width<=520px){.exam-row{grid-template-columns:5.5rem minmax(0,1fr) auto;gap:8px}}.course-card{color:inherit;background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px 18px 18px 0;text-decoration:none;transition:transform .12s;display:grid;position:relative;overflow:hidden}.course-card:hover{transform:translateY(-2px)}.course-card .stripe{background:var(--cc);align-self:stretch}.course-card h3{margin-top:4px;font-size:1.25rem}.course-card p{color:var(--ink-2);margin-top:4px;font-size:.92rem}.course-card .meta{gap:6px;max-width:360px;margin-top:12px;display:grid}.course-card .go{font-family:var(--display);color:var(--cc);white-space:nowrap;font-weight:800}.board{gap:2px;display:grid}.board-row{border-radius:10px;grid-template-columns:26px 36px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 6px;display:grid}.board-row.me{background:var(--blaze-soft)}.board-row .pos{font-family:var(--display);color:var(--muted);text-align:center;font-weight:800}.board-row .av{text-align:center;font-size:1.5rem}.board-row .nm{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.board-row .pt{font-family:var(--display);font-weight:800}.invite-box{background:var(--card-2);border:2px dashed var(--line-2);border-radius:11px;align-items:center;gap:8px;padding:8px 8px 8px 12px;display:flex}.invite-box code{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.9rem;overflow:hidden}.course-head{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:20px;margin-bottom:18px;display:grid}.course-head h1{margin-top:6px;font-size:clamp(2rem,6vw,3rem)}@media (width<=760px){.course-head{grid-template-columns:1fr}}.ranks{grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:6px;margin-bottom:30px;display:grid}.rank-step{background:var(--card);border:1.5px solid var(--line);border-radius:10px;min-width:0;padding:9px 10px}.rank-step small{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.68rem;display:block}.rank-step b{font-family:var(--display);margin-top:3px;font-size:.84rem;line-height:1.15;display:block}.rank-step.done{background:var(--cc-soft);border-color:#0000}.rank-step.now{background:var(--cc);border-color:var(--cc);color:#fff}.rank-step.now small{color:inherit;opacity:.85}.world{margin-bottom:10px}.world-banner{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;padding:16px 0 6px;display:flex}.world-banner h2{font-size:clamp(1.35rem,3.6vw,1.8rem)}.world-banner .stars-sum{color:var(--muted);white-space:nowrap;font-size:.9rem}.trail{--dot-half:31px;position:relative}.trail svg.path{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.trail svg.path path{fill:none;stroke:var(--line-2);stroke-width:3px;stroke-dasharray:2 9;stroke-linecap:round;vector-effect:non-scaling-stroke}.node{color:inherit;align-items:center;gap:12px;width:max-content;max-width:46%;text-decoration:none;display:flex;position:absolute}.node.flip{text-align:right;flex-direction:row-reverse}.node .dot{width:62px;height:62px;font-family:var(--display);background:var(--card);color:var(--cc);box-shadow:var(--shadow), inset 0 0 0 3px var(--cc);border-radius:50%;flex:none;place-items:center;font-size:1.5rem;font-weight:800;transition:transform .12s;display:grid}.node:hover .dot{transform:scale(1.07)}.node.done .dot{background:var(--cc);color:#fff;box-shadow:var(--shadow)}.node.next .dot{animation:1.8s infinite pulse}@keyframes pulse{0%,to{box-shadow:var(--shadow), inset 0 0 0 3px var(--cc), 0 0 0 0 color-mix(in srgb, var(--blaze) 60%, transparent)}60%{box-shadow:var(--shadow), inset 0 0 0 3px var(--cc), 0 0 0 12px transparent}}.node .lbl{gap:2px;min-width:0;display:grid}.node .lbl b{font-family:var(--display);font-size:.98rem;line-height:1.15}.node .lbl .stars{font-size:.9rem}.node .lbl-marks{align-items:center;gap:6px;display:flex}.node .next-tag{text-transform:uppercase;letter-spacing:.08em;color:var(--blaze-text);font-size:.7rem;font-weight:700}@media (width<=520px){.trail{--dot-half:26px}.node{gap:9px;max-width:58%}.node .dot{width:52px;height:52px;font-size:1.25rem}.node .lbl b{font-size:.9rem}}.stars{letter-spacing:2px;color:var(--line-2);white-space:nowrap}.stars .on{color:var(--gold)}.blitz-cta{background:var(--ink);color:var(--bg);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-block:28px 8px;padding:20px 22px;display:flex}.blitz-cta h2{font-size:1.4rem}.blitz-cta p{opacity:.8;margin-top:4px;font-size:.95rem}.boss-cta{border:2px solid var(--blaze);background:var(--blaze-soft);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin:4px 0 18px;padding:14px 18px;display:flex}.boss-cta h3{font-family:var(--display);font-size:1.15rem}.boss-cta p{color:var(--muted);margin-top:3px;font-size:.92rem}.boss-cta.locked{border-style:dashed;border-color:var(--line);background:0 0}.master-tag{text-transform:uppercase;letter-spacing:.08em;color:var(--blaze-text);font-size:.7rem;font-weight:700}.master-panel{border-top-color:var(--blaze)}.lives{letter-spacing:3px;color:var(--line);font-size:1.5rem}.lives .on{color:var(--bad)}.rules{gap:4px;margin:12px 0 8px 1.2em;display:grid}.play-top{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.dots{gap:5px;margin-left:auto;display:flex}.dots i{background:var(--line);border-radius:99px;width:22px;height:6px}.dots i.cur{background:var(--cc)}.dots i.ok{background:var(--ok)}.dots i.half{background:var(--gold)}.dots i.bad{background:var(--bad)}.sound-toggle{margin-left:auto;padding:6px 8px;font-size:1.05rem;line-height:1}.dots~.sound-toggle{margin-left:0}.run-pts{font-family:var(--display);color:var(--blaze-text);font-size:.95rem;font-weight:800}.panel{background:var(--card);box-shadow:var(--shadow);border-top:6px solid var(--cc);border-radius:16px;padding:26px 24px}@media (width<=560px){.panel{padding:20px 16px}.dots i{width:14px}}.big-q{font-family:var(--display);margin-top:8px;font-size:clamp(1.35rem,3.8vw,1.75rem);font-weight:700;line-height:1.2}.ch-q{font-family:var(--display);margin-top:6px;font-size:1.22rem;font-weight:700;line-height:1.25}.opts{gap:9px;margin-top:18px;display:grid}.opts.tf{grid-template-columns:1fr 1fr}.opt{text-align:left;background:var(--card-2);border:2px solid var(--line);border-radius:11px;align-items:center;gap:10px;padding:13px 15px;font-size:1rem;line-height:1.35;transition:border-color .12s,background .12s;display:flex}.opt:hover:not(:disabled){border-color:var(--cc)}.opt:disabled{cursor:default}.opt .box{border:2px solid var(--line-2);border-radius:6px;flex:none;place-items:center;width:22px;height:22px;font-size:.8rem;font-weight:700;display:grid}.opt.picked{border-color:var(--cc);background:var(--cc-soft)}.opt.picked .box{background:var(--cc);border-color:var(--cc);color:#fff}.opt.right{border-color:var(--ok);background:var(--ok-soft)}.opt.wrong{border-color:var(--bad);background:var(--bad-soft)}.opt.missed{border-color:var(--ok);border-style:dashed}.opts.tf .opt{font-family:var(--display);justify-content:center;padding:16px;font-size:1.1rem;font-weight:700}.sort-row{border-top:1px solid var(--line);gap:8px;padding:12px 0;display:grid}.sort-row:first-child{border-top:0}.sort-row .it{font-weight:700}.seg{flex-wrap:wrap;gap:6px;display:flex}.seg button{background:var(--card-2);border:2px solid var(--line);border-radius:99px;padding:5px 12px;font-size:.88rem;font-weight:700}.seg button[aria-pressed=true]{background:var(--cc);border-color:var(--cc);color:#fff}.seg button.right{background:var(--ok);border-color:var(--ok);color:#fff}.seg button.wrong{background:var(--bad);border-color:var(--bad);color:#fff}.seg button.missed{border-color:var(--ok);border-style:dashed}.seg button:disabled{cursor:default}.placed{gap:6px;margin:16px 0 0;padding:0;list-style:none;display:grid}.placed li{background:var(--ok-soft);border-radius:9px;gap:10px;padding:9px 12px;font-size:.95rem;display:flex}.placed li b{font-family:var(--display);color:var(--ok)}.shake{animation:.38s shake}@keyframes shake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(4px)}30%,50%,70%{transform:translate(-6px)}40%,60%{transform:translate(6px)}}.fb{border-radius:11px;align-items:flex-start;gap:12px;margin-top:16px;padding:12px 15px;font-size:.95rem;display:flex}.fb.ok{background:var(--ok-soft)}.fb.bad{background:var(--bad-soft)}.fb.half{background:var(--half)}.fb .pts{font-family:var(--display);white-space:nowrap;font-size:1.25rem;font-weight:800;line-height:1.1}.fb.ok .pts{color:var(--ok)}.fb.bad .pts{color:var(--bad)}.fb strong{font-family:var(--display);display:block}.combo{background:var(--blaze);color:var(--blaze-ink);font-family:var(--display);border-radius:6px;margin-left:8px;padding:2px 8px;font-size:.8rem;font-weight:800;animation:.5s bump;display:inline-block}.actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.actions.center{justify-content:center}.qline{color:var(--muted);border-left:3px solid var(--line-2);margin-top:10px;padding-left:10px;font-size:.92rem}.answer{margin-top:12px;font-size:1.02rem;line-height:1.65}.answer>*+*{margin-top:.7em}.answer ul,.answer ol{margin-bottom:0;padding-left:1.3em}.answer li+li{margin-top:.3em}.answer strong{background:var(--blaze-soft);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:4px;padding:0 3px}textarea.answer-input{resize:vertical;min-height:150px;margin-top:14px;line-height:1.5}.kws{flex-wrap:wrap;gap:7px;margin-top:14px;display:flex}.kw{border:2px solid var(--line);border-radius:99px;padding:4px 11px;font-size:.86rem;font-weight:700}.kw.hit{background:var(--ok-soft);border-color:var(--ok)}.kw.miss{background:var(--card-2);color:var(--muted);border-style:dashed}.hunt{border:2px dashed var(--line-2);border-radius:14px;margin-top:14px;padding:12px 14px;transition:border-color .3s,background .3s}.hunt.all{border-style:solid;border-color:var(--ok);background:var(--ok-soft)}.hunt-head{flex-wrap:wrap;align-items:center;gap:10px;font-size:.95rem;display:flex}.hunt-pts{font-family:var(--display);color:var(--ok);font-weight:800}.hunt .kws{margin-top:10px}.kw.slot{text-align:center;min-width:64px;color:var(--muted);background:var(--card-2);border-style:dashed}.kw.hit{animation:.4s kw-pop}.pen-tag{color:var(--blaze-text);margin-left:auto;font-size:.85rem;font-weight:800;animation:.4s kw-pop}.pen-won{font-family:var(--display);color:var(--blaze-text);margin-top:12px;font-size:1.2rem;font-weight:800;animation:.5s kw-pop}.pen-mark{font-size:.85rem}@keyframes kw-pop{0%{transform:scale(.6)}60%{transform:scale(1.15)}to{transform:scale(1)}}.skip-link{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;margin:14px auto 0;padding:4px 8px;font-size:.8rem;text-decoration:underline;display:block}.done-stars{letter-spacing:6px;color:var(--line-2);margin-top:6px;font-size:2.8rem}.done-stars .on{color:var(--gold);animation:.5s both star-in;display:inline-block}.done-stars .on:nth-child(2){animation-delay:.15s}.done-stars .on:nth-child(3){animation-delay:.3s}@keyframes star-in{0%{transform:scale(0)rotate(-40deg)}to{transform:scale(1)rotate(0)}}.tally{text-align:left;gap:4px;max-width:330px;margin:18px auto 0;font-size:.95rem;display:grid}.tally div{border-bottom:1px dashed var(--line);justify-content:space-between;gap:10px;padding:5px 0;display:flex}.tally div:last-child{font-family:var(--display);border-bottom:0;font-size:1.1rem;font-weight:800}.score-big{font-family:var(--display);margin:10px 0 8px;font-size:clamp(3rem,12vw,4.4rem);font-weight:800;line-height:1}.timer{background:var(--line);border-radius:99px;height:10px;margin-bottom:14px;overflow:hidden}.timer i{background:var(--blaze);height:100%;display:block}.bl-head{font-family:var(--display);justify-content:space-between;align-items:baseline;margin-bottom:6px;font-weight:800;display:flex}.bl-head .sc{font-size:1.5rem}.bl-head .tl{color:var(--muted);font-size:1.1rem}.bl-head .tl.low{color:var(--bad)}.modal-bg{z-index:80;background:#050c0994;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--card);text-align:center;width:100%;max-width:390px;box-shadow:var(--shadow);border-top:8px solid var(--blaze);border-radius:18px;padding:28px 26px}.modal h2{margin:10px 0 8px;font-size:2rem}.modal p{color:var(--ink-2)}.toast{left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:90;background:var(--ink);color:var(--bg);box-shadow:var(--shadow);border-radius:99px;max-width:calc(100% - 32px);padding:11px 18px;font-weight:700;position:fixed;transform:translate(-50%)}@media (width<=620px){.toast{bottom:calc(86px + env(safe-area-inset-bottom,0px))}}canvas.confetti{pointer-events:none;z-index:100;position:fixed;inset:0}.page-loading{min-height:40vh;color:var(--muted);place-items:center;display:grid}.spin{border:3px solid var(--line);border-top-color:var(--blaze);border-radius:50%;width:30px;height:30px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}footer.site{border-top:1px solid var(--line);color:var(--muted);padding-block:22px 34px;font-size:.86rem}footer.site a{color:inherit}.prose{max-width:68ch}.prose h2{margin-top:1.6em;font-size:1.3rem}.prose p,.prose ul{margin-top:.7em}.admin-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.admin-stats .card{gap:2px;padding:16px;display:grid}.admin-stats b{font-family:var(--display);font-size:1.8rem}.admin-stats span{color:var(--muted);font-size:.88rem}.admin-list{gap:2px;padding:8px;display:grid}.admin-row{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;grid-template-columns:36px minmax(0,1fr) 7.5rem 4.5rem 3rem 4.5rem;align-items:center;gap:10px;padding:8px;display:grid}.admin-row:hover,.admin-item.open>.admin-row{background:var(--bg)}.admin-row.head{cursor:default;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.75rem;font-weight:700}.admin-row.head:hover{background:0 0}.admin-row .av{text-align:center;font-size:1.5rem}.admin-row .who{min-width:0;display:grid}.admin-row .who small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.admin-row .num{text-align:right}.admin-detail{gap:12px;padding:6px 12px 16px 54px;display:grid}.admin-course .line{flex-wrap:wrap;justify-content:space-between;gap:10px;margin-bottom:5px;display:flex}@media (width<=640px){.admin-stats{grid-template-columns:1fr 1fr 1fr;gap:8px}.admin-stats b{font-size:1.35rem}.admin-row{grid-template-columns:30px minmax(0,1fr) 3.5rem 2.5rem}.admin-row>:nth-child(3),.admin-row>:nth-child(6){display:none}.admin-detail{padding-left:12px}}.spot-wrap{-webkit-user-select:none;user-select:none;border-radius:14px;margin-top:12px;position:relative;overflow:hidden}.spot-wrap img,.figure img{width:100%;height:auto;display:block}.spot{cursor:pointer;background:0 0;border:0;width:34px;height:34px;padding:0;position:absolute;transform:translate(-50%,-50%)}.spot .dot{background:var(--blaze);border:3px solid #fff;border-radius:50%;width:22px;height:22px;margin:6px;transition:transform .12s;display:block;box-shadow:0 1px 4px #00000073}.spot:not(:disabled):hover .dot{transform:scale(1.2)}.spot.right .dot{background:var(--ok)}.spot.wrong .dot{background:var(--bad)}.spot.show .dot{background:var(--ok);animation:.5s 2 bump}.spot:disabled{cursor:default}.spot .tag-l{white-space:nowrap;color:#fff;pointer-events:none;background:#141816d9;border-radius:6px;padding:1px 6px;font-size:.72rem;font-weight:700;position:absolute;top:100%;left:50%;transform:translate(-50%)}.spot-ask{color:var(--blaze-text)}.figure{border-radius:14px;margin:16px 0 4px;overflow:hidden}.figure figcaption{color:var(--muted);padding-top:6px;font-size:.82rem}.deep-tag{vertical-align:middle;font-family:var(--body,inherit);letter-spacing:.08em;text-transform:uppercase;color:var(--blaze-ink);background:var(--blaze);border-radius:6px;margin-right:10px;padding:3px 8px;font-size:.68rem;font-weight:800;display:inline-block}.deep-lock{color:var(--muted);margin:4px 0 8px;font-size:.92rem}.world.locked .trail{opacity:.45;filter:grayscale(.6)}.master-cta{border:2px solid var(--gold,#d6a21e);background:color-mix(in srgb, var(--gold,#d6a21e) 12%, var(--card));border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:18px 0 6px;padding:16px 20px;display:flex}.master-cta>div{flex:320px;min-width:0}.master-cta h2{font-size:1.3rem}.master-cta p{color:var(--muted);margin-top:4px;font-size:.92rem}.master-chips{flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;display:flex}.master-chips .chip{color:inherit;border:1px solid var(--line);background:var(--card);border-radius:99px;padding:4px 10px;font-size:.82rem;font-weight:700;text-decoration:none}.master-chips .chip:hover{border-color:var(--blaze)}.feed-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.feed-list li{border-radius:10px;grid-template-columns:30px minmax(0,1fr);align-items:start;gap:8px;padding:6px;font-size:.92rem;display:grid}.feed-list li.new{background:var(--blaze-soft)}.feed-list .av{text-align:center;font-size:1.3rem}.feed-list small{color:var(--muted)}.coverage{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);margin:18px 0 6px;padding:12px 16px}.coverage.has-gaps{border-color:var(--gold)}.coverage summary{cursor:pointer;gap:2px;list-style:none;display:grid}.coverage summary::-webkit-details-marker{display:none}.coverage summary:after{content:"Visa målen ▾";color:var(--muted);font-size:.8rem}.coverage[open] summary:after{content:"Dölj ▴"}.cov-title{font-family:var(--display);font-size:1.05rem;font-weight:800}.cov-sum{color:var(--muted);font-size:.9rem}.cov-warn{color:var(--blaze-text)}.cov-list{gap:6px;margin:10px 0 0;padding:0;list-style:none;display:grid}.cov-list li{grid-template-columns:1.6rem minmax(0,1fr);gap:6px;font-size:.92rem;display:grid}.cov-list li small{color:var(--muted)}.cov-list li.gap{color:var(--blaze-text)}.cov-level{border:1px solid var(--line);border-radius:5px;margin-right:2px;padding:0 5px;font-size:.7rem}.cov-not{background:var(--blaze-soft);border-radius:10px;margin-top:12px;padding:10px 12px;font-size:.92rem}.cov-not ul{margin:6px 0 0 1.1em}.pen-cta{border:2px solid var(--blaze);background:var(--blaze-soft);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:18px 0 6px;padding:16px 20px;display:flex}.pen-cta>div{flex:320px;min-width:0}.pen-cta h2{font-size:1.3rem}.pen-cta p{color:var(--muted);margin-top:4px;font-size:.92rem}.arena{color:#efe6d2;box-shadow:var(--shadow), inset 0 0 0 1px #d4a72c47;background:radial-gradient(120% 80% at 50% 0,#2c2720 0%,#15130f 55%,#0b0a08 100%);border-radius:18px;margin-top:14px;padding:22px 18px 18px;transition:background .6s;position:relative;overflow:hidden}.arena.raging{box-shadow:var(--shadow), inset 0 0 0 1px #ff3b3066;background:radial-gradient(120% 80% at 50% 0,#3d1612 0%,#190b09 60%,#0b0606 100%)}.arena .kicker{color:#c9b88f}.arena .hint{color:#b9ad94}.arena-intro,.arena-end{text-align:center;justify-items:center;gap:6px;display:grid}.boss-name{letter-spacing:.06em;text-transform:uppercase;color:#f1d9a0;text-shadow:0 0 18px #d4a72c59;margin-top:6px;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.7rem,7vw,2.5rem);font-weight:700}.boss-title{color:#c9b88f;font-family:Georgia,Times New Roman,serif;font-style:italic}.arena-rules{text-align:left;color:#e4dac3;gap:6px;max-width:46ch;margin:14px 0 0;padding-left:1.1em;font-size:.95rem;display:grid}.arena-text{color:#d8ccb2;margin-top:8px}.btn.big{padding:14px 26px;font-size:1.1rem}.arena-top{align-items:center;gap:14px;display:flex}.arena-status{flex:1;gap:8px;min-width:0;display:grid}.arena .lives{color:#4a3b33}.arena .lives .on{color:#ff4d4d}.attack{color:#e4dac3;font-size:.85rem}.attack b{font-family:var(--display)}.attack-bar{background:#ffffff1f;border-radius:99px;height:8px;margin-top:4px;overflow:hidden}.attack-bar i{background:linear-gradient(90deg,#ff3b30,#ffb020);height:100%;transition:width .1s linear;display:block}.arena-card{background:var(--card);color:var(--ink);border-radius:14px;margin-top:14px;padding:16px}.boss-bar{margin-top:16px}.boss-bar-name{letter-spacing:.05em;color:#efe6d2;justify-content:space-between;align-items:baseline;gap:8px;font-family:Georgia,Times New Roman,serif;font-size:.95rem;display:flex}.rage-tag{font-family:var(--display);text-transform:uppercase;letter-spacing:.08em;color:#ff6b5e;font-size:.72rem;font-weight:800}.boss-bar-track{background:#2a0f0c;border:1px solid #6b5520;border-radius:3px;height:12px;margin-top:5px;overflow:hidden}.boss-bar-track i{background:linear-gradient(#d93a30,#8e1410);height:100%;transition:width .5s cubic-bezier(.2,.8,.2,1);display:block}.rage-banner{font-family:var(--display);color:var(--bad);margin-top:12px;font-weight:800;animation:.5s kw-pop}.died-banner,.felled-banner{text-transform:uppercase;letter-spacing:.14em;background:linear-gradient(90deg,#0000,#000000c7 15% 85%,#0000);width:calc(100% + 36px);margin:6px -18px 4px;padding:22px 10px;font-family:Georgia,Times New Roman,serif;line-height:1.1;animation:1.6s ease-out both banner-in}.died-banner{color:#c8231b;font-size:clamp(2.1rem,10vw,3.3rem)}.felled-banner{color:#f1c75a;text-shadow:0 0 22px #f1c75a8c;gap:6px;font-size:clamp(1.5rem,7vw,2.3rem);display:grid}.felled-banner span{letter-spacing:.2em;color:#d8c08a;text-shadow:none;font-size:.5em}@keyframes banner-in{0%{opacity:0;letter-spacing:.02em;transform:scale(1.08)}45%{opacity:1}to{opacity:1;letter-spacing:.14em;transform:scale(1)}}.trophy{font-family:var(--display);color:#f1d9a0;font-weight:800}.trophy.new{color:#ffd24a;font-size:1.15rem;animation:.6s 1s both kw-pop}.felled-by{text-align:left;color:#e4dac3;background:#ffffff0f;border:1px solid #ffffff24;border-radius:12px;width:100%;margin-top:6px;padding:12px 14px}.felled-by .q{color:#f4ecd8;margin:4px 0;font-weight:700}.arena .tally div{border-bottom-color:#ffffff24}.boss-portrait{flex:none;display:block;overflow:visible}.boss-portrait .aura{transform-box:fill-box;transform-origin:50%}.boss-portrait.angry .aura{animation:1.2s ease-in-out infinite aura-pulse}.boss-portrait.hurt{animation:.45s boss-hurt}.boss-portrait.fallen{filter:grayscale(.9)brightness(.7)}@keyframes aura-pulse{50%{opacity:.55;transform:scale(1.06)}}@keyframes boss-hurt{0%{filter:brightness(2.4)saturate(.3)}20%{transform:translate(-6px)rotate(-2deg)}40%{transform:translate(6px)rotate(2deg)}60%{transform:translate(-4px)}to{filter:none;transform:none}}.boss-cta .who{align-items:center;gap:12px;min-width:0;display:flex}.boss-cta .who>div{min-width:0}.boss-cta .boss-sub{color:var(--muted);font-family:Georgia,Times New Roman,serif;font-size:.88rem;font-style:italic}.boss-cta .won{color:var(--ok);font-weight:700}.map-wrap{border:1px solid var(--line);touch-action:pan-y;-webkit-user-select:none;user-select:none;background:#cfe3ee;border-radius:14px;min-height:120px;margin-top:12px;position:relative;overflow:hidden}.map-wrap.zoomed{touch-action:none;cursor:grab}.map-inner path,.map-inner circle{vector-effect:non-scaling-stroke}.map-zoom{gap:6px;display:grid;position:absolute;top:8px;right:8px}.map-zoom button{color:#10261d;touch-action:manipulation;background:#ffffffeb;border:1px solid #b7c6bc;border-radius:10px;place-items:center;width:40px;height:40px;font-size:1.35rem;font-weight:800;line-height:1;display:grid;box-shadow:0 2px 8px #0000002e}.map-zoom button:disabled{opacity:.4}.map-wrap svg{width:100%;height:auto;display:block}.map-wrap [data-name]{cursor:pointer;transition:fill .2s}@media (hover:hover){.map-wrap:not(.done) [data-name]:not(.right):hover{fill:#ffe9a8}}.map-wrap circle[data-name]{fill:#ffffff59;stroke:#8c7d5e;stroke-width:1.5px}.map-wrap [data-name].off{fill:#ded8c8;stroke:#b9b09a;pointer-events:none}.map-wrap circle[data-name].off{display:none}.map-wrap [data-name].right{fill:#7fcf93}.map-wrap [data-name].wrong{fill:#f19a8f}.map-wrap [data-name].miss{fill:#e5534b}.map-wrap [data-name].show{fill:#ffcf33;animation:.32s 4 alternate map-blink}@keyframes map-blink{to{fill:#fff3c4}}.map-wrong{color:var(--bad);font-weight:700}.drill{justify-items:center;gap:12px;margin-top:12px;display:grid}.drill-pips{gap:6px;display:flex}.drill-pips i{background:var(--line);border-radius:50%;width:12px;height:12px}.drill-pips i.cur{background:var(--cc);box-shadow:0 0 0 3px var(--cc-soft)}.drill-pips i.ok{background:var(--ok)}.drill-pips i.bad{background:var(--bad)}.drill-pic{width:min(100%,300px);height:auto;max-height:190px}.drill-pic.cake{width:150px}.drill-q{font-family:var(--display);text-align:center;font-variant-numeric:tabular-nums;font-size:clamp(1.7rem,8vw,2.3rem);font-weight:800;line-height:1.3}.drill-q.long{font-size:1.35rem;font-weight:700;line-height:1.4}.drill-box{border:3px dashed var(--line-2);background:var(--card);vertical-align:middle;border-radius:10px;justify-content:center;align-items:center;min-width:2.3em;min-height:1.35em;margin:0 .15em;padding:0 .2em;transition:background .15s,border-color .15s;display:inline-flex}.drill-box.right{border:3px solid var(--ok);background:var(--ok-soft);animation:.4s kw-pop}.drill-box.wrong{border:3px solid var(--bad);background:var(--bad-soft)}.drill-fix{min-height:1.5em;color:var(--bad);font-weight:700}.drill-done{font-family:var(--display);font-size:1.3rem;font-weight:800}.numpad,.drill-choices{grid-template-columns:repeat(3,1fr);gap:8px;width:min(100%,300px);display:grid}.pad{font-family:var(--display);border:2px solid var(--line);background:var(--card-2);min-height:58px;color:var(--ink);touch-action:manipulation;border-radius:14px;font-size:1.6rem;font-weight:800}.pad:active:not(:disabled){background:var(--cc-soft);transform:scale(.96)}.pad:disabled{opacity:.55}.pad.soft{color:var(--muted);font-size:1.3rem}.pad.go{background:var(--cc);border-color:var(--cc);color:#fff;font-size:1.25rem}.drill-choices .pad{min-height:70px;font-size:2rem}.frac{vertical-align:middle;flex-direction:column;align-items:center;font-size:.8em;line-height:1;display:inline-flex}.frac>span:first-child{border-bottom:2px solid;padding:0 .15em .05em}.frac>span:last-child{padding-top:.05em}.col-calc{font-family:var(--display);font-variant-numeric:tabular-nums;justify-items:center;font-size:clamp(2rem,10vw,2.6rem);font-weight:800;line-height:1.25;display:grid}.col-line{background:var(--ink);grid-column:1/-1;width:100%;height:3px;margin:2px 0 6px}.col-ans{grid-column:2/-1;justify-items:center;min-width:0;margin:0;padding:0;display:grid}.adm-user{gap:10px;display:grid}.adm-facts{gap:2px;font-size:.9rem;display:grid}.adm-flag{color:var(--bad);font-weight:700}.adm-course{border:1px solid var(--line);background:var(--card);border-radius:12px;padding:2px 12px}.adm-course>summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:6px 10px;padding:10px 0;list-style:none;display:grid}.adm-course>summary::-webkit-details-marker{display:none}.adm-station>summary::-webkit-details-marker{display:none}.adm-course>summary .bar{grid-column:1/-1;display:block}.adm-world{gap:2px;margin:6px 0 12px;display:grid}.adm-station>summary{cursor:pointer;border-radius:8px;grid-template-columns:2.6rem minmax(0,1fr) auto;align-items:baseline;gap:2px 10px;padding:6px 8px;list-style:none;display:grid}.adm-station>summary:hover,.adm-station[open]>summary{background:var(--bg)}.adm-station>summary .id{color:var(--muted);font-family:ui-monospace,monospace;font-size:.8rem}.adm-station>summary .st{color:var(--gold);letter-spacing:1px}.adm-station>summary .small{grid-column:2/-1}.adm-unplayed{padding:4px 8px}.adm-perch,.adm-attempts{gap:4px;margin:6px 0 10px 2.6rem;padding:0;list-style:none;display:grid}.adm-attempt{border-left:3px solid var(--line);gap:3px;padding:4px 0 4px 10px;display:grid}.adm-attempt .head{flex-wrap:wrap;align-items:center;gap:4px 10px;display:flex}.adm-attempt ul{margin:0;padding-left:1rem}.adm-attempt .chips{gap:3px;display:inline-flex}.adm-attempt .chips i{background:var(--line);border-radius:4px;place-items:center;width:1.45em;height:1.45em;font-size:.72rem;font-style:normal;font-weight:700;display:inline-grid}.adm-attempt .chips i.ok{background:var(--ok-soft);color:var(--ok)}.adm-attempt .chips i.half{background:var(--half)}.adm-attempt .chips i.bad{background:var(--bad-soft);color:var(--bad)}@media (width<=640px){.adm-perch,.adm-attempts{margin-left:0}}.pass-card{border-left:8px solid var(--cc);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;display:grid}.pass-card h2{margin-top:4px;font-size:1.45rem}.pass-card p.small{margin-top:4px}.pass-card.rest{border-left-color:var(--ok)}.pass-card.rest h2{color:var(--ok)}@media (width<=520px){.pass-card{grid-template-columns:1fr}.pass-card .btn{width:100%}}.pass-rest{font-family:var(--display);color:var(--ok);font-weight:700}.pass-done h1{margin-top:6px;font-size:clamp(2rem,6vw,2.6rem)}.pass-lead{margin-top:8px;font-size:1.1rem}.pass-gained{font-family:var(--display);color:var(--blaze-text);margin-top:10px;font-size:1.3rem;font-weight:800}.pass-sec{margin-top:24px}.pass-sec h2{font-size:1.15rem}.pass-got{gap:6px;margin:10px 0 0;padding:0;list-style:none;display:grid}.pass-got li{background:var(--ok-soft);border-radius:9px;padding:9px 12px}.pass-got li span{color:var(--ok);font-weight:800}.pass-review{margin-top:12px}.pass-review h3{flex-wrap:wrap;align-items:baseline;gap:8px;font-size:1rem;display:flex}.pass-miss{gap:8px;margin:6px 0 0;padding:0;list-style:none;display:grid}.pass-miss li{border-left:3px solid var(--gold);overflow-wrap:anywhere;gap:3px;padding:4px 0 4px 12px;display:grid}.pass-miss strong{background:var(--ok-soft);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:4px;padding:0 4px}.pass-right{gap:2px;margin:0;padding-left:1.3em;font-weight:700;display:grid}.pass-next{background:var(--cc-soft);border-radius:11px;margin-top:24px;padding:12px 14px}.pass-end{grid-template-columns:1fr 1fr;gap:10px;margin-top:20px;display:grid}@media (width<=420px){.pass-end{grid-template-columns:1fr}}.exam-path{gap:10px;display:grid}.pass-card .exam-path{border-top:1px dashed var(--line);grid-column:1/-1;padding-top:12px}.path-dots{align-items:flex-start;margin:0;padding:0;list-style:none;display:flex}.path-dots li{flex:1 1 0;justify-items:center;gap:4px;min-width:0;display:grid;position:relative}.path-dots li+li:before{content:"";background:var(--line-2);width:100%;height:3px;position:absolute;top:11px;right:50%}.path-dots li.done+li.done:before{background:var(--ok)}.path-dots .dot{z-index:1;border:3px solid var(--line-2);background:var(--card);color:#fff;border-radius:50%;place-items:center;width:25px;height:25px;font-size:.75rem;font-weight:800;line-height:1;display:grid;position:relative}.path-dots li.done .dot{background:var(--ok);border-color:var(--ok);color:var(--card)}.path-dots li.today .dot{border-color:var(--ok);box-shadow:0 0 0 4px var(--ok-soft)}.path-dots li.goal .dot{background:0 0;border:0;font-size:1.15rem}.path-dots small{color:var(--muted);white-space:nowrap;font-size:.72rem}.path-dots li.today small{color:var(--ink);font-weight:700}.review-left{margin-left:auto}.reminder-prompt{gap:8px;display:grid}.pass-card .reminder-prompt{background:var(--bg);border-radius:11px;grid-column:1/-1;padding:10px 12px}.reminder-toggle{border-top:1px solid var(--line);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding-top:4px;display:grid}.reminder-toggle input{width:20px;height:20px;accent-color:var(--forest);margin-top:3px}.reminder-toggle>span{gap:3px;display:grid}
