.rankup-veil{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:18px;background:radial-gradient(80% 60% at 50% 40%,#2a3478ee,#050a1cf2)}.rankup-card{width:min(100%,420px);display:grid;gap:12px;justify-items:center;text-align:center;padding:26px 18px;border-radius:24px;border:2.5px solid transparent;background:linear-gradient(#1b2759,#0e1638) padding-box,linear-gradient(160deg,var(--amber),var(--brass-lo),var(--brass)) border-box}.rankup-card .emb{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;color:#3a2200;font:700 44px/1 var(--f-num);background:radial-gradient(circle at 40% 35%,var(--amber-hi),var(--amber) 55%,var(--amber-lo));box-shadow:0 0 0 12px #ffb54722,0 0 48px #ffb54788;animation:emb-in .7s ease-out}@keyframes emb-in{0%{transform:scale(.6);opacity:0}}.rankup-card .label{font:600 11px/1 var(--f-ui);letter-spacing:.16em;text-transform:uppercase;color:var(--brass)}.rankup-card h2{margin:0;font:700 38px/1.05 var(--f-num);color:var(--star);text-wrap:balance}.rankup-card p{margin:0;color:var(--star-soft);font:500 15px/1.4 var(--f-ui)}.rankup-card .ladder{list-style:none;margin:0;padding:0;display:grid;gap:4px;width:100%}.rankup-card .ladder li{display:flex;justify-content:space-between;padding:7px 12px;border-radius:10px;font:500 14px/1 var(--f-ui);color:var(--star-soft)}.rankup-card .ladder li.done{color:var(--star)}.rankup-card .ladder li.at{background:#ffb5471f;color:var(--star);box-shadow:inset 0 0 0 1.5px var(--amber)}.rankup-card .ladder b{font:700 14px/1 var(--f-num)}@media(prefers-reduced-motion:reduce){.rankup-card .emb{animation:none}}.board-screen{--edge: 12px;height:calc(100vh - var(--hub-h));height:calc(100dvh - var(--hub-h));position:relative;max-width:500px;margin:0 auto;padding-left:var(--edge);padding-right:var(--edge);display:flex;flex-direction:column;gap:12px;overflow:hidden}.sky{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;transition:opacity .4s;opacity:.85}.sky-bright{opacity:1;filter:brightness(1.35)}.sky .twinkle{animation:twinkle 3s ease-in-out infinite}@keyframes twinkle{50%{opacity:.15}}.board-screen>:not(.sky,.veil,.rotate-hint){position:relative;z-index:1}.hud{display:flex;align-items:center;justify-content:space-between;gap:8px}.round{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;padding:0;cursor:pointer}.hud-mid{text-align:center}.time{font:700 30px/1 var(--f-num);margin-top:4px;font-variant-numeric:tabular-nums}.pill{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px}.combo-n{font:700 20px/1 var(--f-num);color:var(--star-soft);display:inline-block;min-width:1.6em;text-align:right}.combo.c2 .combo-n,.combo.c3 .combo-n,.combo.c4 .combo-n{color:var(--amber);animation:flare .42s ease-out}.combo.c3,.combo.c4{box-shadow:inset 0 1px #ffffff2e,0 0 18px #ffb54755}@keyframes flare{0%{transform:scale(1.5);text-shadow:0 0 14px var(--amber)}to{transform:none}}.board-screen{--owl-want: 164px;--rows: 268px;--board-floor: 248px}@media(min-width:480px){.board-screen{--owl-want: 130px;--rows: 288px;--board-floor: 296px}}.tutor{display:flex;gap:10px;align-items:flex-start;flex:none;height:max(96px,min(var(--owl-want),calc(calc(100vh - var(--hub-h)) - var(--rows) - var(--board-floor))));height:max(96px,min(var(--owl-want),calc(calc(100dvh - var(--hub-h)) - var(--rows) - var(--board-floor))))}.tutor .card{max-height:100%;overflow-y:auto}@media(max-height:700px){.board-screen{gap:8px;--rows: 248px;--board-floor: 244px}.tutor .card{padding:8px 12px}.tutor .card-head{margin-bottom:3px}.tutor .card p{font-size:14px;margin-bottom:6px}}@media(max-height:700px)and (min-width:480px){.board-screen{--rows: 268px;--board-floor: 296px}}.porthole{flex:none;width:60px;height:60px;border-radius:50%;display:grid;place-items:center;border:3px solid transparent;background:radial-gradient(circle at 40% 30%,#2b3b7a,#0d1535) padding-box,linear-gradient(160deg,var(--brass-hi),var(--brass-lo),var(--brass)) border-box;box-shadow:0 6px 14px #00000080;transition:transform .2s ease-out}.tutor.open .porthole{transform:rotate(-8deg)}.card{flex:1;min-width:0;border-radius:16px 16px 16px 4px;padding:10px 12px;background:linear-gradient(var(--parchment),var(--parchment-lo));color:var(--ink);box-shadow:0 8px 18px #00000080}.tutor:not(.open) .card{background:linear-gradient(#1b2759,#0e1638);color:var(--star-soft);box-shadow:inset 0 0 0 1px #f1d89833}.tutor.open .card{animation:rise .2s ease-out}@keyframes rise{0%{transform:translateY(8px);opacity:0}}.card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.tutor.open .who{color:var(--brass-lo)}.close{border:0;background:none;font-size:20px;line-height:1;color:var(--ink);cursor:pointer;padding:0 4px}.card p{margin:0 0 8px;font:500 15px/1.3 var(--f-ui)}.tutor:not(.open) .card p{margin:0;font-size:14px}.acts{display:flex;gap:6px;flex-wrap:wrap}.btn{font:600 13px/1 var(--f-ui);padding:9px 12px;border-radius:999px;border:0;cursor:pointer}.btn.lamp{background:linear-gradient(#ffd27f,#e79a2a);color:#3a2200;box-shadow:inset 0 1px #fff8,0 2px #9b5f10}.btn.ghost{background:var(--ink);color:var(--star)}.btn.ghost-dark{background:#ffffff14;color:var(--star);box-shadow:inset 0 0 0 1px #f1d89855}.btn.wide{width:100%;padding:14px;font-size:16px}.grid-rim{position:relative;align-self:center;margin-block:auto;width:min(100%,calc(calc(100vh - var(--hub-h)) - 360px));width:min(100%,calc(calc(100dvh - var(--hub-h)) - 360px));padding:8px;border-radius:18px;border:4px solid transparent;background:radial-gradient(circle at 30% 0%,#2a3a74,#0d1535) padding-box,linear-gradient(160deg,var(--brass-hi),var(--brass-lo) 45%,var(--brass) 70%,var(--brass-lo)) border-box;box-shadow:0 0 0 1px #00000070,0 18px 40px #000a,inset 0 0 30px #00000090}.board-screen:has(>.tutor) .grid-rim{width:min(100%,calc(calc(100vh - var(--hub-h)) - var(--rows) - max(96px,min(var(--owl-want),calc(calc(100vh - var(--hub-h)) - var(--rows) - var(--board-floor))))));width:min(100%,calc(calc(100dvh - var(--hub-h)) - var(--rows) - max(96px,min(var(--owl-want),calc(calc(100dvh - var(--hub-h)) - var(--rows) - var(--board-floor))))))}.grid-rim.solved{animation:rimflash .9s 1.2s ease-out}@keyframes rimflash{30%{box-shadow:0 0 0 2px var(--brass-hi),0 0 40px var(--amber),inset 0 0 30px #00000090}}.grid{position:relative;display:grid;gap:2px;grid-template-columns:repeat(3,1fr) 8px repeat(3,1fr) 8px repeat(3,1fr);grid-template-rows:repeat(3,auto) 8px repeat(3,auto) 8px repeat(3,auto)}.box-rule{position:absolute;pointer-events:none;background:var(--brass);border-radius:2px;box-shadow:0 0 6px #f1d89866}.box-rule.v{top:0;bottom:0;left:calc(50% - 1px);width:2px;grid-row:1 / -1}.box-rule.h{left:0;right:0;top:calc(50% - 1px);height:2px;grid-column:1 / -1}.cell{position:relative;aspect-ratio:1;display:grid;place-items:center;padding:0;border:0;cursor:pointer;border-radius:5px;min-width:0;background:radial-gradient(circle at 35% 28%,var(--glass-hi),var(--glass) 70%);box-shadow:inset 0 1px #ffffff1c,inset 0 -2px 3px #00000060;color:var(--star);font:700 clamp(17px,5.6vw,26px)/1 var(--f-num);transition:background .12s}.cell.mine{color:var(--amber);text-shadow:0 0 10px #ffb54799}.cell.peer{background:radial-gradient(circle at 35% 28%,#2e3d78,#18224a 70%)}.cell.same{box-shadow:inset 0 0 0 1.5px #ffb54799,inset 0 1px #ffffff1c}.cell.sel{background:radial-gradient(circle at 50% 10%,#6b78b8,#2a3874 75%);box-shadow:inset 0 1px #fff5,0 0 14px #f1d89866}.cell.beam{background:linear-gradient(#f1d89840,#f1d89814),radial-gradient(circle at 50% 0%,#6d7ab8,#2c3a78 75%);box-shadow:inset 0 1px #fff4,0 0 14px #f1d89866}.cell.target{animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{50%{box-shadow:inset 0 1px #fff3,0 0 0 2px var(--amber),0 0 18px var(--amber)}}.cell.clash{color:var(--ember);text-shadow:0 0 10px #ff6a3d99}.cell.clash .digit{animation:flicker .36s steps(2) 2}.cell.clash-with{animation:pulse .7s ease-out 1}@keyframes flicker{50%{opacity:.25}}.digit{display:inline-block}.digit.ignite{animation:ignite .26s ease-out both}@keyframes ignite{0%{transform:scale(.6);text-shadow:0 0 22px var(--amber-hi)}60%{transform:scale(1.08)}to{transform:none}}.notes{position:absolute;inset:2px;display:grid;grid-template-columns:repeat(3,1fr);font:500 clamp(8px,2.3vw,11px)/1 var(--f-ui);color:var(--brass-hi);opacity:.75;text-shadow:none}.notes span{display:grid;place-items:center}.sweep{position:absolute;inset:0;pointer-events:none;border-radius:6px;overflow:hidden;animation:sweepfade .9s ease-out forwards}.sweep:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,#0000 20%,#ffe7a655 45%,#fff9,#ffe7a655 55%,#0000 80%);background-size:300% 100%;animation:sheen .6s ease-in-out forwards}@keyframes sheen{0%{background-position:100% 0}to{background-position:0 0}}@keyframes sweepfade{0%{box-shadow:0 0 #0000}30%{box-shadow:0 0 18px #ffd27f88}to{box-shadow:0 0 #0000;opacity:0}}.gain{position:absolute;right:10px;top:-30px;pointer-events:none;font:700 20px/1 var(--f-num);color:var(--amber);text-shadow:0 0 12px #ffb547aa;animation:gain 1.1s ease-out forwards}.gain.big{font-size:26px}@keyframes gain{0%{transform:translateY(10px);opacity:0}20%{opacity:1}to{transform:translateY(-26px);opacity:0}}.grid-rim.solved .digit{animation:ignite .3s ease-out both}.tools{margin-top:auto;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:8px}.tool{height:42px;border-radius:999px;cursor:pointer;display:grid;place-items:center;font:600 12px/1 var(--f-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--brass-hi)}.tool.on,.tool.lamp-tool{color:#2d1a00;background:linear-gradient(#ffe0a0,#f0a531) padding-box,linear-gradient(160deg,var(--brass-hi),var(--brass-lo)) border-box}.tool:active,.key:active{transform:translateY(2px)}.pad{display:grid;grid-template-columns:repeat(9,1fr);gap:5px}.key{aspect-ratio:.74;border-radius:12px;cursor:pointer;padding:0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;box-shadow:0 3px #05091a,inset 0 1px #fff3}.key-d{font:700 clamp(19px,6vw,26px)/1 var(--f-num);color:var(--star)}.key-n{font:600 10px/1 var(--f-ui);color:var(--brass-hi);min-height:10px}.key.done{opacity:.3}.key.glow{box-shadow:0 3px #05091a,0 0 0 2px var(--amber),0 0 18px var(--amber)}.key.glow .key-d{color:var(--amber)}.veil{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:16px;background:#050a1ccc;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.sheet{width:min(100%,360px);display:flex;flex-direction:column;gap:12px;align-items:stretch;text-align:center;padding:22px 20px;border-radius:22px;border:2.5px solid transparent;background:linear-gradient(#1b2759,#0e1638) padding-box,linear-gradient(160deg,var(--brass-hi),var(--brass-lo),var(--brass)) border-box;box-shadow:0 20px 50px #000c;animation:rise .3s ease-out}.switches{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:8px}.switch{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px;font-size:14px}.switch:before{content:"";width:9px;height:9px;border-radius:50%;box-shadow:inset 0 0 0 1.5px currentColor;opacity:.45}.switch.on:before{background:var(--amber);box-shadow:0 0 8px var(--amber);opacity:1}.privacy{text-align:left;font-size:13px;line-height:1.45;opacity:.8}.privacy summary{cursor:pointer;text-align:center;padding:6px}.privacy p{margin:6px 0 0}.sheet h2{margin:0;font:700 32px/1.1 var(--f-num)}.stars{display:flex;justify-content:center;gap:10px;font-size:40px;color:#fff2}.stars .on{color:var(--amber);text-shadow:0 0 16px var(--amber);animation:ignite .4s ease-out both}.end dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}.end dl div{padding:10px;border-radius:14px;background:#ffffff0d}.end dd{margin:6px 0 0;font:700 24px/1 var(--f-num);font-variant-numeric:tabular-nums}.end dd.pb{color:var(--amber)}.end .flag{align-self:center;padding:6px 12px;border-radius:999px;background:var(--amber);color:#3a2200;font:700 11px/1 var(--f-ui);letter-spacing:.14em;text-transform:uppercase}.end .end-tomorrow{margin:0;text-align:center;font:500 14px/1.35 var(--f-ui);color:var(--star-soft)}.end .rank-box{display:grid;gap:4px;padding:12px;border-radius:16px;border:1.5px solid var(--brass-lo);background:#ffffff08;text-align:center}.end .rank-box b{font:700 30px/1 var(--f-num);color:var(--amber)}.end .rank-box span{font:500 14px/1.3 var(--f-ui);color:var(--star-soft)}.end .rank-box.checking span{animation:checking 1.4s ease-in-out infinite}@keyframes checking{50%{opacity:.5}}@media(prefers-reduced-motion:reduce){.end .rank-box.checking span{animation:none}}@media(min-height:760px){.board-screen{gap:14px;--rows: 278px}}@media(min-height:760px)and (min-width:480px){.board-screen{--rows: 298px}}.cell.focus{background:radial-gradient(circle at 50% 15%,#7f8cd0,#34428a 75%);box-shadow:inset 0 0 0 2.5px var(--amber),0 0 22px #ffb547aa}.cell.evidence{box-shadow:inset 0 0 0 2px var(--brass-hi),0 0 14px #f1d89888}.cell.evidence .digit{color:var(--amber-hi);text-shadow:0 0 12px var(--amber)}.notes .dim{opacity:.18}.notes .only{color:var(--amber-hi, #ffd27f);font-weight:700;font-size:1.3em;opacity:1}.notes .crossed{position:relative;color:var(--ember);opacity:1;font-weight:700;font-size:1.35em;text-shadow:0 0 6px #ff6a3d88}.notes .crossed:after{content:"";position:absolute;left:18%;right:18%;top:50%;height:1.5px;background:var(--ember);transform:rotate(-35deg);box-shadow:0 0 4px var(--ember);animation:strike .3s ease-out both}@keyframes strike{0%{transform:rotate(-35deg) scaleX(0)}}.race{min-height:96px;display:flex;flex-direction:column;gap:2px}.race-labels{display:flex;justify-content:space-between}.race-labels .you{color:var(--amber-hi)}.race-labels .them{color:#dce4ff}.race svg{width:100%;height:auto;max-height:110px;overflow:visible}.race-track{fill:none;stroke:var(--brass-hi);stroke-opacity:.3;stroke-dasharray:3 5}.race-finish{fill:none;stroke:var(--brass-hi);stroke-opacity:.6}.tutor.ghost-room{display:block}.tutor.ghost-room .race{height:100%;min-height:0}.tutor.ghost-room .race svg{flex:1;min-height:0;max-height:none;height:100%}.end .ghost-line{margin:2px 0 0;font:600 15px/1.3 var(--f-ui);color:var(--amber-hi);text-align:center}.end .verdict-win{color:var(--amber);text-shadow:0 0 18px var(--amber)}.coach-chips{display:flex;gap:6px;margin-top:4px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.coach-chips::-webkit-scrollbar{display:none}.coach-chips{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent)}.coach-chips .chip{flex:none;white-space:nowrap}.chip.warn{border-color:var(--ember);color:var(--ember)}.chip.warn.on{background:var(--ember);color:#2a0e04}.board-screen>.coach-sheet{position:absolute;left:var(--edge);right:var(--edge);bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:3;display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:18px;overflow-y:auto;background:linear-gradient(var(--parchment),var(--parchment-lo));color:var(--ink);box-shadow:0 -6px 24px #000a;animation:rise .2s ease-out}.coach-sheet-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.coach-sheet .coach-line{font-size:15px;line-height:1.38}.chip{font:600 12.5px/1 var(--f-ui);padding:7px 9px;border-radius:999px;border:1px solid #f1d89855;color:var(--star);background:#ffffff0d;display:inline-flex;gap:5px;align-items:center;cursor:pointer}.chip.new{border-color:var(--amber);color:var(--amber);box-shadow:0 0 10px #ffb54755}.chip-new{font:700 9px/1 var(--f-ui);letter-spacing:.1em;text-transform:uppercase;padding:2px 4px;border-radius:4px;background:var(--amber);color:#3a2200}.chip.more{border-style:dashed;color:var(--star-soft);background:none;cursor:default}.chip.on{background:var(--amber);color:#3a2200;border-color:transparent}.chip:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.coach-title{margin:0 0 3px;font:700 17px/1.15 var(--f-num);color:var(--ink)}.tutor:not(.open) .coach-title{color:var(--amber)}.coach-line{margin:0 0 6px;font:500 13.5px/1.3 var(--f-ui)}.tutor:not(.open) .coach-line{color:var(--star-soft);font-size:13.5px}.quest-row{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin:6px 0}.q-fam{font:600 10.5px/1 var(--f-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--brass);margin-right:2px}.q{font:600 12px/1 var(--f-ui);padding:6px 8px;border-radius:999px;border:1px dashed #f1d89844;color:var(--star-soft)}.q.done{border:0;background:var(--amber);color:#3a2200}.cell.cut{box-shadow:inset 0 0 0 2px var(--ember),0 0 12px #ff6a3d66}.x-draw{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:2}.x-draw line{stroke:var(--amber);stroke-width:4;stroke-linecap:round;filter:drop-shadow(0 0 6px #ffb547) drop-shadow(0 0 14px #ffb547aa);stroke-dasharray:600;stroke-dashoffset:600;animation:x-draw .7s ease-out forwards}.x-draw line+line{animation-delay:.25s}.x-draw circle{fill:var(--amber);filter:drop-shadow(0 0 8px #ffb547)}@keyframes x-draw{to{stroke-dashoffset:0}}@media(prefers-reduced-motion:reduce){.x-draw line{animation:none;stroke-dashoffset:0}}.skills-used-h{font:600 11px/1 var(--f-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--brass);text-align:left;margin-top:6px}.skills-used{display:grid;gap:6px;margin:4px 0 2px;text-align:left}.skills-used .row{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-radius:12px;background:#ffffff0d;font:500 15px/1.2 var(--f-ui);color:var(--star)}.skills-used .row b{font:700 16px/1 var(--f-num);color:var(--star-soft)}.skills-used .row.first{box-shadow:inset 0 0 0 1.5px var(--amber)}.skills-used .row.first i{font-style:normal;color:var(--amber);font-weight:700;margin-left:6px}.end .tapes{display:grid;gap:7px;text-align:left}.end .tape-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;align-items:end}.end .tape-row .who{font:600 11px/1.2 var(--f-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--star-soft);overflow-wrap:anywhere}.end .tape-row .fin{font:700 18px/1 var(--f-num);font-variant-numeric:tabular-nums}.end .tape-row.you .who,.end .tape-row.you .fin{color:var(--amber)}.end .tape-row svg{grid-column:1 / -1;width:100%;height:26px;display:block}.end .tapes .paper{fill:var(--parchment);stroke:var(--ink);stroke-opacity:.25;stroke-width:1}.end .tapes .minute{stroke:var(--ink);stroke-opacity:.18;stroke-width:1}.end .tapes .mark,.end .tapes .flag{stroke:var(--ink);stroke-width:1.6}.end .tapes .flag{stroke-width:2.4}.end .tape-row.you .mark,.end .tape-row.you .flag{stroke:var(--amber-lo)}.end .tapes .scale{display:flex;justify-content:space-between;font:500 10px/1 var(--f-ui);color:var(--dim);font-variant-numeric:tabular-nums}@media(min-width:960px){.play-board{max-width:1320px;display:grid;grid-template-columns:minmax(0,1fr) 400px;grid-template-rows:auto auto auto minmax(190px,1fr) auto;grid-template-areas:"board hud" "board tutor" "board tools" "board pad" "board nav";column-gap:48px;row-gap:14px;padding:24px 40px 20px}.play-board>.hud{grid-area:hud}.play-board>.tutor,.play-board>.race{grid-area:tutor}.play-board>.tutor{height:auto;min-height:150px}.play-board>.tutor .card{max-height:none;overflow:visible}.play-board>.tutor .coach-chips{flex-wrap:wrap;overflow:visible}.play-board>.grid-rim,.play-board:has(>.tutor)>.grid-rim{grid-area:board;align-self:center;justify-self:center;margin:0;width:min(100%,calc(100dvh - var(--hub-h) - 44px))}.play-board>.tools{grid-area:tools}.play-board>.pad{grid-area:pad;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);align-self:start;height:100%;max-height:360px;gap:8px}.play-board>.pad .key{aspect-ratio:auto;width:100%;height:auto;flex-direction:row;align-items:center;gap:3px}.play-board>.pad .key-d{font-size:34px}.play-board>.pad .key-n{font-size:13px;min-height:13px;position:relative;top:-.85em}.play-board>.bottom-nav{grid-area:nav;margin:4px -4px 0}}.lesson-screen{position:relative;max-width:500px;margin:0 auto;height:calc(100vh - var(--hub-h));height:calc(100dvh - var(--hub-h));display:flex;flex-direction:column;gap:14px;padding:14px 14px calc(14px + env(safe-area-inset-bottom,0px));overflow:hidden}.lesson-screen>:not(.sky){position:relative;z-index:1}.lesson-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.lesson-head .label{font:600 11px/1 var(--f-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--brass)}.lesson-head h1{margin:4px 0 0;font:700 28px/1.1 var(--f-num);color:var(--star)}.stages{display:flex;gap:6px;align-items:center}.stages span{font:600 10.5px/1 var(--f-ui);letter-spacing:.1em;text-transform:uppercase;padding:6px 10px;border-radius:999px;border:1px solid #ffffff26;color:var(--star-soft)}.stages span.on{background:var(--amber);color:#3a2200;border-color:transparent}.stages span.done{color:var(--amber);border-color:#ffb54766}.stages .count{margin-left:auto;border:0;padding:0;letter-spacing:.14em}.stage-board{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.lesson-screen:not(.spot-lesson) .stage-board{flex:0 0 auto;margin-top:auto}.lesson-screen:not(.spot-lesson) .owl-say{margin-bottom:auto}.unit{display:grid;gap:4px;padding:8px;border-radius:16px;border:3px solid var(--brass);background:linear-gradient(#111b44,#0b1334);box-shadow:0 10px 30px #0008}.unit-row{grid-template-columns:repeat(9,minmax(0,40px));width:min(100%,420px)}.unit-col{grid-template-columns:40px}.unit-box{grid-template-columns:repeat(3,72px)}.u-cell{aspect-ratio:1;display:grid;place-items:center;border-radius:8px;background:linear-gradient(#2a376f,#1a2350);color:var(--star);font:700 24px/1 var(--f-num)}.unit-box .u-cell{font-size:34px}.unit-col .u-cell{width:40px;font-size:22px}.u-cell.gap{background:#34428a;box-shadow:inset 0 0 0 2.5px var(--amber),0 0 16px #ffb54788;animation:gap-pulse 1.8s ease-in-out infinite}.u-cell.gap.solved{color:var(--amber);animation:none;box-shadow:inset 0 0 0 2.5px var(--amber),0 0 22px #ffb547cc}.u-cell.gap.wrong{color:var(--ember);box-shadow:inset 0 0 0 2.5px var(--ember);animation:none}.u-cell.point{box-shadow:inset 0 0 0 2.5px var(--ember),0 0 14px #ff6a3d88;color:var(--ember)}@keyframes gap-pulse{50%{box-shadow:inset 0 0 0 2.5px var(--amber),0 0 4px #ffb54744}}.tally{display:flex;gap:5px;flex-wrap:wrap;justify-content:center}.tally span{position:relative;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;border:1.5px solid #ffffff2a;color:var(--star-soft);font:700 15px/1 var(--f-num)}.tally span.ticked{opacity:.45}.tally span.ticked i{position:absolute;right:-3px;top:-4px;font:700 11px/1 var(--f-ui);font-style:normal;color:var(--amber)}.tally span.left{border-color:var(--amber);color:var(--amber);box-shadow:0 0 12px #ffb54777}.owl-say{display:grid;grid-template-columns:52px 1fr;gap:12px;align-items:start}.owl-say .speech{border-radius:16px 16px 16px 4px;padding:12px 14px;background:linear-gradient(var(--parchment),var(--parchment-lo));color:var(--ink);display:grid;gap:6px;min-height:64px}.owl-say .speech h2{margin:0;font:700 19px/1.15 var(--f-num);color:var(--ink)}.owl-say .speech p{margin:0;font:500 15.5px/1.4 var(--f-ui);color:#2e3458}.owl-say .speech.right p{color:#1f5a2c;font-weight:700}.owl-say .speech.wrong p{color:#6a2a14}.lesson-btns{display:flex;gap:10px}.lesson-btns .btn{flex:1;padding:15px;font-size:16px}.lesson-btns .btn:disabled{opacity:.35}.lesson-skip{align-self:center;min-height:44px;margin:-8px 0 -6px;padding:0 16px;border:0;background:none;cursor:pointer;font:600 14px/1 var(--f-ui);color:var(--star-soft);text-decoration:underline;text-underline-offset:4px;text-decoration-color:#ffffff40}.lesson-skip:hover,.lesson-skip:focus-visible{color:var(--star)}.lesson-pad{display:grid;grid-template-columns:repeat(9,1fr);gap:5px}.lesson-pad .key{height:54px}.lesson-pad .key.miss{box-shadow:inset 0 0 0 2px var(--ember)}.lesson-done{flex:1;display:grid;place-content:center;justify-items:center;gap:14px;text-align:center}.lesson-done .big-star{font-size:72px;line-height:1;color:var(--amber);text-shadow:0 0 28px var(--amber)}.lesson-done h2{margin:0;font:700 34px/1.1 var(--f-num);color:var(--star)}.lesson-done p{margin:0;max-width:30ch;color:var(--star-soft);font:500 16px/1.45 var(--f-ui)}@media(prefers-reduced-motion:reduce){.u-cell.gap{animation:none}}.spot-board{display:grid;grid-template-columns:repeat(3,1fr) 3px repeat(3,1fr) 3px repeat(3,1fr);grid-template-rows:repeat(3,auto) 3px repeat(3,auto) 3px repeat(3,auto);gap:3px;width:min(100%,362px);padding:7px;border-radius:16px;border:3px solid var(--brass);background:linear-gradient(#111b44,#0b1334);box-shadow:0 10px 30px #0008}.s-cell{aspect-ratio:1;min-width:0;display:grid;place-items:center;padding:0;border:0;border-radius:6px;background:linear-gradient(#2a376f,#1a2350);color:var(--star);font:700 21px/1 var(--f-num)}.s-cell.off{background:#19224a;color:#c7cbe46b}.s-cell.lit{box-shadow:inset 0 0 0 1.5px #c9a45c88}.s-cell.gap{background:#34428a;box-shadow:inset 0 0 0 2.5px var(--amber),0 0 16px #ffb54788;animation:gap-pulse 1.8s ease-in-out infinite}.s-cell.gap.solved{color:var(--amber);animation:none;box-shadow:inset 0 0 0 2.5px var(--amber),0 0 22px #ffb547cc}.s-cell.wrong{color:var(--ember);box-shadow:inset 0 0 0 2.5px var(--ember);animation:none}.s-cell.ruler,.s-cell.point{color:var(--ember);box-shadow:inset 0 0 0 2px var(--ember),0 0 12px #ff6a3d88}.s-cell.ruled{background:repeating-linear-gradient(135deg,#1a2350 0 5px,#ff6a3d38 5px 7px);color:#ff6a3daa}.s-cell.ruled:after{content:"×";font:600 18px/1 var(--f-ui)}button.s-cell{cursor:pointer}button.s-cell:focus-visible{outline:2px solid var(--amber-hi);outline-offset:1px}.spot-board .beam{pointer-events:none;border-radius:6px;background:#ff6a3d26;border:1.5px dashed #ff8a5ccc;margin:-2px}@media(prefers-reduced-motion:reduce){.s-cell.gap{animation:none}}.bottom-nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:2px;padding:6px 4px calc(4px + env(safe-area-inset-bottom,0px));border-top:1px solid #f1d89822;flex:none}.bottom-nav button{display:grid;justify-items:center;gap:3px;padding:4px 0;border:0;background:none;cursor:pointer;color:var(--star-soft);border-radius:12px}.bottom-nav .ic{position:relative;display:grid;place-items:center;width:40px;height:28px;border-radius:999px}.bottom-nav .lbl{font:600 10px/1 var(--f-ui);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.bottom-nav button.on{color:var(--amber)}.bottom-nav button.on .ic{background:#ffb5471f;box-shadow:inset 0 0 0 1px #ffb54755}.bottom-nav button:hover:not(.on){color:var(--star)}.bottom-nav button:focus-visible{outline:2px solid var(--brass-hi);outline-offset:1px}.bottom-nav .new{position:absolute;top:2px;right:6px;width:7px;height:7px;border-radius:50%;background:var(--amber);box-shadow:0 0 6px var(--amber)}.bottom-nav .hub-games{position:relative;display:grid;justify-items:center;align-content:center;gap:5px;margin:-6px 0 calc(-4px - env(safe-area-inset-bottom,0px)) -4px;padding:10px 0 calc(4px + env(safe-area-inset-bottom,0px));background:#2b1d12;color:#c9b08a;text-decoration:none;font:700 12px/1 Figtree,Segoe UI,system-ui,sans-serif}.bottom-nav .hub-games:before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:conic-gradient(from 45deg,#d8b98a 0 25%,#a8743f 0 50%,#6b4423 0 75%,#d8b98a 0) 0 0 / 6px 6px}.bottom-nav .hub-games svg{width:24px;height:24px}.bottom-nav .hub-games:hover{color:#f3e7d1}.bottom-nav .hub-games:focus-visible{outline:3px solid #f2b705;outline-offset:-3px}.run-screen .countdown{font-size:34px}.run-screen.urgent .countdown{color:var(--ember);text-shadow:0 0 14px #ff6a3d88;animation:urgent 1s ease-in-out infinite}@keyframes urgent{50%{transform:scale(1.06)}}.run-screen .pill-n{font:700 18px/1 var(--f-num);min-width:3ch;text-align:right}.run-strip{position:relative;display:flex;justify-content:space-between;align-items:center;min-height:28px;padding:0 4px}.run-strip .penalty,.run-strip .board-done{position:absolute;left:50%;top:0;transform:translate(-50%);font:700 22px/1 var(--f-num);animation:gain 1.1s ease-out forwards}.run-strip .penalty{color:var(--ember);text-shadow:0 0 12px #ff6a3d99}.run-strip .board-done{color:var(--amber);text-shadow:0 0 12px #ffb547aa}.end .new-best{margin:0;font:600 14px/1 var(--f-ui);letter-spacing:.16em;text-transform:uppercase;color:var(--amber)}.night-screen:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:calc(var(--day, 0) * .7);background:radial-gradient(120% 70% at 50% 0%,#6a3f78,#3a2560 45%,transparent 80%);transition:opacity 1s linear}.horizon{height:8px;border-radius:999px;background:#ffffff14;overflow:hidden}.horizon i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--ember),var(--amber));box-shadow:0 0 12px #ff9b6a88;transition:width .25s linear}@media(prefers-reduced-motion:reduce){.night-screen:before,.horizon i{transition:none}}.trial-dots{display:flex;gap:7px;justify-content:center}.trial-dots i{width:22px;height:22px;display:grid;place-items:center;font:700 18px/1 var(--f-num);font-style:normal;color:#3c4683}.trial-dots i.won{color:var(--amber);text-shadow:0 0 10px #f5c56b;animation:star-lit .6s ease-out}.trial-dots i.now{color:var(--star)}@keyframes star-lit{0%{transform:scale(1.6)}}.trial-card{position:relative;display:grid;gap:6px;padding:12px 16px;border-radius:18px;border:2px solid var(--brass-lo);background:linear-gradient(#222c5a,#141c42)}.trial-card .label{color:var(--brass-hi)}.trial-card .named{animation:named .5s ease-out}@keyframes named{0%{opacity:0;transform:translateY(4px)}}.trial-card p{margin:0;font:500 16px/1.35 var(--f-ui);color:var(--star)}.trial-card .penalty{position:absolute;right:14px;top:10px;font:700 22px/1 var(--f-num);color:var(--ember);text-shadow:0 0 12px #ff6a3d99;animation:gain 1.1s ease-out forwards}.trial-list{margin:0;padding:0 0 0 1.4em;columns:2;column-gap:1.8em;text-align:left;font:500 13px/1.3 var(--f-ui);color:var(--star-soft)}.trial-list li{break-inside:avoid;margin-bottom:2px}.trial-list li::marker{color:var(--amber)}.trial-screen .cell.target{background:radial-gradient(circle at 50% 15%,#7f8cd0,#34428a 75%);box-shadow:inset 0 0 0 2.5px var(--amber),0 0 16px #ffb54799}@media(prefers-reduced-motion:reduce){.trial-dots i.won,.trial-card .named{animation:none}}.lb-screen{overflow-y:auto;padding-bottom:16px;gap:12px}.lb-title{margin:0;font:700 30px/1.1 var(--f-num);color:var(--star);text-align:center}.lb-spacer{visibility:hidden}.lb-tabs{display:grid;grid-template-columns:1fr 1fr;padding:4px;border-radius:999px;background:#ffffff0d;border:1px solid #ffffff1a}.lb-tabs button{border:0;background:none;padding:10px;border-radius:999px;font:600 12px/1 var(--f-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--star-soft);cursor:pointer}.lb-tabs button.on{background:linear-gradient(#ffd27f,#e79a2a);color:#3a2200}.lb-tabs button:focus-visible{outline:2px solid var(--brass-hi);outline-offset:2px}.lb-meta{display:flex;justify-content:space-between;font:600 11px/1 var(--f-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--brass);padding-inline:4px}.lb-empty{margin:24px 0;text-align:center;color:var(--star-soft);font:500 16px/1.4 var(--f-ui)}.lb-sky{position:relative;flex:none;height:300px;border-radius:20px;border:1.5px solid var(--brass-lo);overflow:hidden;background:radial-gradient(120% 90% at 50% 100%,#1b2a66,var(--sky) 70%)}.lb-sky .dot{position:absolute;border-radius:50%;background:var(--star-soft);transform:translate(-50%,50%)}.lb-sky .axis{position:absolute;left:4%;right:4%;bottom:11%;height:1px;background:#ffffff2a}.lb-sky .tick{position:absolute;bottom:3%;transform:translate(-50%);font:600 11px/1 var(--f-ui);letter-spacing:.08em;color:var(--star-soft);font-variant-numeric:tabular-nums}.lb-sky .top{position:absolute;transform:translate(-50%,50%);font:700 13px/1 var(--f-num);color:var(--amber);text-shadow:0 0 8px #ffb54788}.lb-sky .me{position:absolute;bottom:40%;width:16px;height:16px;border-radius:50%;transform:translate(-50%,50%);background:radial-gradient(circle,var(--amber-hi),var(--amber) 60%,transparent 70%);box-shadow:0 0 0 6px #ffb54722,0 0 24px var(--amber)}.lb-sky .me-line{position:absolute;bottom:11%;height:29%;width:1px;background:linear-gradient(transparent,#ffb54788)}.lb-sky .tag{position:absolute;bottom:46%;transform:translate(-50%);padding:6px 10px;border-radius:10px;background:#0e1638ee;border:1.5px solid var(--amber);font:600 12px/1.25 var(--f-ui);color:var(--star);text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums}.lb-sky .tag b{display:block;font:700 18px/1 var(--f-num);color:var(--amber)}.lb-sky .tag.start{transform:translate(-12px)}.lb-sky .tag.end{transform:translate(calc(-100% + 12px))}.lb-legend{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0}.lb-legend div{padding:10px;border-radius:14px;background:#ffffff0b;text-align:center;display:grid;gap:4px}.lb-legend dt{font:600 10px/1 var(--f-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--star-soft)}.lb-legend dd{margin:0;font:700 22px/1 var(--f-num);color:var(--star);font-variant-numeric:tabular-nums}.lb-legend .hi dd{color:var(--amber)}.lb-ledger{display:grid;gap:8px}.podium{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:8px;align-items:end}.podium>div{display:grid;gap:6px;justify-items:center;padding:12px 6px;border-radius:16px;border:1.5px solid var(--brass-lo);background:linear-gradient(#26305c,#141c42);text-align:center;min-width:0}.podium>div.first{border-color:var(--amber);box-shadow:0 0 22px #ffb54733;padding-block:18px}.podium>div.you{box-shadow:inset 0 0 0 1.5px var(--amber)}.podium>div.vacant{visibility:hidden}.podium i{font:700 15px/1 var(--f-num);font-style:normal;color:var(--brass)}.podium .first i{color:var(--amber);font-size:18px}.podium b{font:600 13px/1.2 var(--f-ui);color:var(--star);overflow-wrap:anywhere}.podium em{font:700 20px/1 var(--f-num);font-style:normal;color:var(--star);font-variant-numeric:tabular-nums}.lb-ledger .rows{list-style:none;margin:0;padding:0;display:grid;gap:4px}.lb-ledger .rows li{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;padding:9px 12px;border-radius:12px;background:#ffffff08}.lb-ledger .rows i{font:700 15px/1 var(--f-num);font-style:normal;color:var(--star-soft);text-align:right;font-variant-numeric:tabular-nums}.lb-ledger .rows b{font:500 15px/1.2 var(--f-ui);color:var(--star)}.lb-ledger .rows em{font:700 17px/1 var(--f-num);font-style:normal;color:var(--star);font-variant-numeric:tabular-nums}.lb-ledger .rows li.gap{display:block;background:none;padding:0;text-align:center;color:var(--star-soft);letter-spacing:.3em}.lb-ledger .rows li.you{background:linear-gradient(90deg,#ffb5472e,#ffb54710);box-shadow:inset 0 0 0 1.5px var(--amber)}.lb-ledger .rows li.you i,.lb-ledger .rows li.you em{color:var(--amber)}.lb-ledger .rows li.you b{font-weight:600}.lb-name{margin-top:4px;padding:14px;border-radius:999px;border:1.5px solid #ffffff30;background:none;color:var(--star-soft);font:500 15px/1.2 var(--f-ui);cursor:pointer}.lb-name b{color:var(--star);font-weight:600}.lb-name span{color:var(--amber);margin-left:6px}.lb-name:focus-visible{outline:2px solid var(--brass-hi);outline-offset:2px}.replay-screen{padding-bottom:max(16px,env(safe-area-inset-bottom))}.replay-screen .speed{cursor:pointer;font:inherit;color:inherit}.replay-screen .tools{grid-auto-columns:1fr 2fr}.replay-screen .tool svg{display:block}.replay-scrub{-webkit-appearance:none;appearance:none;width:100%;height:28px;margin:0;background:none;cursor:pointer}.replay-scrub::-webkit-slider-runnable-track{height:6px;border-radius:999px;background:linear-gradient(90deg,var(--brass-lo),var(--brass-hi));box-shadow:inset 0 1px 2px #0008}.replay-scrub::-moz-range-track{height:6px;border-radius:999px;background:linear-gradient(90deg,var(--brass-lo),var(--brass-hi))}.replay-scrub::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;margin-top:-8px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff6dc,var(--amber) 60%,#b86d10);box-shadow:0 0 12px var(--amber);border:none}.replay-scrub::-moz-range-thumb{width:22px;height:22px;border-radius:50%;border:none;background:radial-gradient(circle at 35% 30%,#fff6dc,var(--amber) 60%,#b86d10);box-shadow:0 0 12px var(--amber)}.replay-scrub:focus-visible{outline:2px solid var(--amber-hi);outline-offset:4px;border-radius:999px}.chart-screen{position:relative;max-width:500px;margin:0 auto;padding-left:14px;padding-right:14px;height:calc(100vh - var(--hub-h));height:calc(100dvh - var(--hub-h));display:flex;flex-direction:column;gap:8px;overflow:hidden}.chart-screen>:not(.sky){position:relative;z-index:1}.chart-screen .time{font-size:24px}.sky-chart{flex:1;min-height:0;position:relative;width:100%}.sky-chart svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.trunk{stroke:var(--brass-hi);stroke-opacity:.18;stroke-width:1}.branch{fill:none;stroke:var(--brass-hi);stroke-opacity:.4;stroke-width:1.2}.branch.lit{stroke-opacity:.75}.fam-tag{position:absolute;display:grid;transform:translateY(calc(-100% - 5px));white-space:nowrap;padding:0;border:0;background:none;cursor:pointer}.fam-tag:after{content:"";position:absolute;inset:-12px -8px}span.fam-tag{pointer-events:none;cursor:default}.fam-tag:focus-visible{outline:2px solid var(--brass-hi);outline-offset:4px;border-radius:4px}.fam-tag:not(.middle){width:max-content;max-width:112px;white-space:normal;text-align:left}.fam-tag.end{transform:translate(-100%,calc(-100% - 5px));justify-items:end;text-align:right;max-width:84px}.fam-tag.middle{transform:translate(-50%,calc(-100% - 5px))}.fam-tag.fam-chains{max-width:64px}.fam-tag.fam-lines{max-width:none;white-space:nowrap}.fam-tag.fam-groups{max-width:112px}.fam{font:600 11px/1.25 var(--f-ui);letter-spacing:1.6px;text-transform:uppercase;color:var(--brass-hi);--halo: #0b1430;text-shadow:0 0 3px var(--halo),0 0 6px var(--halo),0 0 10px var(--halo)}.star{position:absolute;transform:translate(-50%,-50%);width:36px;height:36px;padding:0;border:0;cursor:pointer;border-radius:50%;background:none;display:grid;place-items:center}.star:before{content:"";width:8px;height:8px;border-radius:50%;background:#9aa5d6;box-shadow:0 0 0 1px #c7cbe455}.star.learned:before{width:12px;height:12px;background:#fff6da;box-shadow:0 0 10px #ffe7a6}.star.next:before{width:13px;height:13px;background:#ffd27f;box-shadow:0 0 #ffb547aa;animation:beacon 1.8s ease-out infinite}@keyframes beacon{0%{box-shadow:0 0 #ffb547aa}to{box-shadow:0 0 0 14px #ffb54700}}.star:focus-visible{outline:1.5px solid var(--amber);outline-offset:2px}.star.ring{width:52px;height:52px}.star.ring:before{width:40px;height:40px;background:none;box-shadow:inset 0 0 0 2px #9aa5d6,0 0 0 7px #0000,inset 0 0 0 9px #0b1430,inset 0 0 0 11px #9aa5d688}.star.ring.learned:before{box-shadow:inset 0 0 0 2px var(--amber),inset 0 0 0 9px #0b1430,inset 0 0 0 11px var(--amber),0 0 18px #ffb54788}.home-screen{position:relative;max-width:500px;margin:0 auto;padding-left:14px;padding-right:14px;height:calc(100vh - var(--hub-h));height:calc(100dvh - var(--hub-h));display:flex;flex-direction:column;gap:12px;overflow:hidden}.home-screen>:not(.sky,.clock-veil){position:relative;z-index:1}.pill-n{font:700 18px/1 var(--f-num)}.path{flex:1;min-height:0;position:relative}.trail{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.trail polyline{fill:none;stroke:var(--brass-hi);stroke-width:.5;stroke-dasharray:1.2 2;vector-effect:non-scaling-stroke;opacity:.7}.node{position:absolute;transform:translate(-50%,-50%);display:grid;justify-items:center}.lvl{border:0;padding:0;cursor:pointer;border-radius:50%;display:grid;place-items:center;font:700 18px/1 var(--f-num)}.node.done .lvl{width:46px;height:46px;color:#2c1d00;background:radial-gradient(circle at 40% 30%,#fff7da,#e7c77a 55%,#a07c34);box-shadow:0 0 16px #f1d89888}.node.now .lvl{width:74px;height:74px;font-size:30px;color:#2c1700;background:radial-gradient(circle at 40% 30%,#fff,#ffcf7a 50%,#e48b14);box-shadow:0 0 0 6px #ffb54733,0 0 40px #ffb547aa;animation:bob 2.4s ease-in-out infinite}@keyframes bob{50%{transform:translateY(-6px)}}.node.lock .lvl{width:38px;height:38px;font-size:15px;cursor:default;color:#aab3da;background:#1a2552;box-shadow:inset 0 0 0 1.5px #6e7aa6}.node-stars{margin-top:4px;font-size:11px;letter-spacing:1px;color:var(--amber);text-shadow:0 0 6px var(--amber)}.node-owl{position:absolute;left:calc(100% + 6px);top:50%;transform:translateY(-50%)}.dock{display:flex;flex-direction:column;gap:10px;padding-bottom:4px}.daily{border-radius:20px;padding:14px 14px 14px 18px;display:flex;align-items:center;justify-content:space-between;gap:10px}.daily h2{margin:4px 0 0;font:700 26px/1 var(--f-num)}.daily p{margin:6px 0 0;font:500 13px/1.3 var(--f-ui);color:var(--star-soft)}.daily-btns{display:grid;gap:8px;flex:none}.daily .race-ghost{padding:9px 14px;border-radius:999px;border:1.5px solid var(--brass-lo);background:none;color:inherit;font:600 13px/1.1 var(--f-ui);cursor:pointer;white-space:nowrap}.daily .race-ghost:focus-visible{outline:2px solid var(--brass-hi);outline-offset:2px}.daily .best{color:var(--amber);font-weight:700;font-variant-numeric:tabular-nums}.play{flex:none;font:700 20px/1 var(--f-num);padding:14px 22px;border-radius:999px;border:0;cursor:pointer;background:linear-gradient(#ffe0a0,#f0a531);color:#2d1a00;box-shadow:inset 0 2px #fff9,0 4px #9b5f10,0 0 24px #ffb54766}.saver{border-radius:16px;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;gap:10px}.saver .play{font-size:15px;padding:10px 14px}.hud-right{display:flex;align-items:center;gap:8px}.clock-veil{position:fixed;inset:0;z-index:10;display:flex;align-items:flex-end;justify-content:center;background:#050a1ccc;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.clock-sheet{width:min(100%,480px);display:flex;flex-direction:column;gap:10px;padding:20px 16px calc(20px + env(safe-area-inset-bottom,0px));border-radius:26px 26px 0 0;border:2.5px solid transparent;border-bottom:0;animation:rise .3s ease-out;background:linear-gradient(#1b2759,#0e1638) padding-box,linear-gradient(160deg,var(--brass-hi),var(--brass-lo),var(--brass)) border-box}.clock-sheet h2{margin:0 0 4px;text-align:center;font:700 28px/1.1 var(--f-num);color:var(--star)}.clock-sheet .mode{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;padding:12px;border-radius:16px;text-align:left;background:#ffffff0b;border:1px solid #ffffff14;color:var(--star);font:inherit}.clock-sheet button.mode{cursor:pointer}.clock-sheet .ic{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 2px var(--brass-lo);color:var(--amber);font:700 18px/1 var(--f-num)}.clock-sheet .mode-t{display:flex;flex-direction:column;gap:2px;min-width:0}.clock-sheet .mode-t b{font:700 19px/1.1 var(--f-num)}.clock-sheet .mode-t small{font:500 13px/1.3 var(--f-ui);color:var(--star-soft)}.clock-sheet .rec{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font:600 10px/1 var(--f-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--star-soft)}.clock-sheet .rec b{font:700 18px/1 var(--f-num);letter-spacing:0;color:var(--amber);font-variant-numeric:tabular-nums}.clock-sheet .tiers{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.clock-sheet .tiers button{font:600 10px/1 var(--f-ui);letter-spacing:.1em;text-transform:uppercase;padding:8px 10px;border-radius:999px;cursor:pointer;background:transparent;color:var(--star-soft);border:1px solid #ffffff38}.clock-sheet .tiers button.on{background:var(--amber);color:#3a2200;border-color:transparent}.clock-sheet :focus-visible{outline:2px solid var(--amber);outline-offset:2px}@media(prefers-reduced-motion:reduce){.clock-sheet{animation:none}}.rank-pill{display:inline-flex;align-items:center;gap:8px;padding:5px 12px 5px 5px;border-radius:999px;cursor:pointer;border:2px solid var(--amber);background:#ffffff0d;box-shadow:0 0 14px #ffb54733;color:var(--star);text-align:left}.rank-pill .emb{width:26px;height:26px;flex:none;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 40% 35%,var(--amber-hi),var(--amber) 55%,var(--amber-lo));color:#3a2200;font:700 14px/1 var(--f-num)}.rank-pill b{font:700 15px/1 var(--f-num)}.rank-pill:focus-visible{outline:2px solid var(--brass-hi);outline-offset:2px}.streak-pill{gap:6px;color:var(--amber)}.streak-pill .pill-n{color:var(--star)}.settings-sheet .mode{grid-template-columns:1fr auto}.settings-sheet .switch{justify-content:space-between}.daily .from{color:var(--star);font-weight:600}.daily .from b{color:var(--amber);font:700 15px/1 var(--f-num);font-variant-numeric:tabular-nums;margin-left:4px}.daily p.heard{color:var(--amber-hi)}.themes-screen{position:relative;max-width:500px;margin:0 auto;padding-left:14px;padding-right:14px;min-height:calc(100vh - var(--hub-h));min-height:calc(100dvh - var(--hub-h));display:flex;flex-direction:column;gap:14px}.themes-screen>:not(.sky){position:relative;z-index:1}.looks{list-style:none;margin:0;padding:0 0 16px;display:flex;flex-direction:column;gap:14px}.look{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:14px;align-items:center;padding:12px;border-radius:20px}.preview{display:block;width:100%;height:auto;border-radius:12px;box-shadow:0 6px 16px #0006}.look.locked .preview{filter:saturate(.7) brightness(.9)}.look-meta{display:flex;flex-direction:column;gap:10px;align-items:flex-start;min-width:0}.look-meta h2{margin:0;font:700 24px/1.1 var(--f-num)}.earn{display:flex;flex-direction:column;gap:8px;width:100%}.earn .label{letter-spacing:.08em;line-height:1.35}.bar{display:block;height:6px;border-radius:3px;background:#ffffff1f;overflow:hidden}.bar>span{display:block;height:100%;background:linear-gradient(90deg,var(--brass),var(--amber))}@font-face{font-family:Bodoni Moda;font-weight:700;font-display:swap;src:url(/sudoku/fonts/bodoni-moda-700-latin.woff2) format("woff2")}@font-face{font-family:Jost;font-weight:400 700;font-display:swap;src:url(/sudoku/fonts/jost-latin.woff2) format("woff2")}:root{--sky: #0b1430;--sky-hi: #203070;--sky-deep: #060b1d;--glass: #121b3d;--glass-hi: #25336a;--brass: #c9a45c;--brass-hi: #f1d898;--brass-lo: #7c6128;--star: #f3e9cf;--star-soft: #c7cbe4;--amber: #ffb547;--amber-hi: #ffe0a0;--amber-lo: #e48b14;--ember: #ff6a3d;--ink: #22284a;--parchment: #f6eed8;--parchment-lo: #e9dcb8;--dim: #8e98c4;--f-num: "Bodoni Moda", "Didot", "Bodoni 72", Georgia, serif;--f-ui: "Jost", "Futura", "Century Gothic", system-ui, sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:radial-gradient(120% 70% at 50% 0%,var(--sky-hi) 0%,var(--sky) 55%,var(--sky-deep) 100%) fixed,var(--sky);color:var(--star);font-family:var(--f-ui);-webkit-tap-highlight-color:transparent;overscroll-behavior:none}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--amber);outline-offset:2px}:root{--hub-h: 0px;--top-inset: env(safe-area-inset-top, 0px)}hub-bar{display:block;position:relative;z-index:5;padding-top:env(safe-area-inset-top,0px);background:#6b4423}[data-round] hub-bar{display:none}.screen{min-height:calc(100vh - var(--hub-h));min-height:calc(100dvh - var(--hub-h));padding-top:calc(var(--top-inset) + 12px);padding-bottom:calc(env(safe-area-inset-bottom,0px) + 12px)}.modal-capped{max-height:90vh;overflow-y:auto}.brass{border:2px solid transparent;background:linear-gradient(#18235096,#0c1433) padding-box,linear-gradient(160deg,var(--brass-hi),var(--brass-lo) 60%,var(--brass)) border-box;box-shadow:inset 0 1px #ffffff2e,0 4px 12px #00000073}.label{font:600 10px/1 var(--f-ui);letter-spacing:.2em;text-transform:uppercase;color:var(--brass-hi)}.rotate-hint{display:none}@media(orientation:landscape)and (max-height:500px){.rotate-hint{display:block;position:fixed;top:6px;left:50%;translate:-50% 0;z-index:90;background:var(--parchment);color:var(--ink);font-size:11px;padding:4px 12px;border-radius:999px;pointer-events:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}@font-face{font-family:Barlow Condensed;font-weight:600;font-display:swap;src:url(/sudoku/fonts/barlow-condensed-600-latin.woff2) format("woff2")}@font-face{font-family:Barlow Condensed;font-weight:700;font-display:swap;src:url(/sudoku/fonts/barlow-condensed-700-latin.woff2) format("woff2")}[data-theme=metro]{--tile: #eef2ef;--grout: #c9d1cc;--cobalt: #1e3c8f;--cobalt-hi: #2e54b8;--cobalt-lo: #0f2259;--trim: #b08d4a;--signal: #ffd45c;--rail: #a6851c;--sky: #e2e8e4;--star: #1a2030;--star-soft: #3b4256;--ink: #1a2030;--brass: var(--cobalt-hi);--brass-hi: var(--cobalt);--brass-lo: var(--cobalt-lo);--amber: var(--cobalt);--amber-hi: var(--cobalt-hi);--ember: #c8372d;--parchment: #ffffff;--parchment-lo: #f4f6f5;--f-num: "Barlow Condensed", "Arial Narrow", system-ui, sans-serif;--f-ui: "Barlow Condensed", "Arial Narrow", system-ui, sans-serif;color-scheme:light}:root[data-theme=metro] body,.preview[data-theme=metro]{color:var(--ink);background:linear-gradient(180deg,#fff5,#fff0 40%,#0000000d),repeating-linear-gradient(0deg,var(--grout) 0 2px,#0000 2px 26px),repeating-linear-gradient(90deg,var(--grout) 0 2px,#0000 2px 52px),linear-gradient(var(--tile),#e2e8e4) fixed}[data-theme=metro] .sky{display:none}[data-theme=metro] .brass{border:2px solid var(--cobalt);background:linear-gradient(#fff,#eef2ef);color:var(--cobalt);box-shadow:0 2px 0 var(--cobalt-lo)}[data-theme=metro] .label{color:var(--cobalt);letter-spacing:.14em;font-weight:700}[data-theme=metro] .time,[data-theme=metro] .pill-n,[data-theme=metro] .combo-n{color:var(--ink);font-weight:700}[data-theme=metro] .combo.c3,[data-theme=metro] .combo.c4{box-shadow:0 2px 0 var(--cobalt-lo),0 0 0 3px var(--signal)}[data-theme=metro] .porthole{border-radius:10px;border:3px solid #f4eedc;background:var(--cobalt);box-shadow:0 0 0 2px var(--cobalt),0 6px 14px #0003}[data-theme=metro] .tutor.open .porthole{transform:none}[data-theme=metro] .card,[data-theme=metro] .tutor:not(.open) .card{border-radius:10px;background:#fff;color:var(--ink);box-shadow:0 0 0 2px var(--cobalt),0 8px 16px #0002}[data-theme=metro] .card p{font-size:17px;font-weight:600}@media(max-height:700px){[data-theme=metro] .tutor .card p{font-size:16px}}[data-theme=metro] .tutor.open .who{color:var(--cobalt)}[data-theme=metro] .btn{border-radius:6px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}[data-theme=metro] .btn.lamp{background:var(--signal);color:#1b1d22;box-shadow:0 2px 0 var(--rail)}[data-theme=metro] .btn.ghost{background:#e7ecf6;color:var(--cobalt)}[data-theme=metro] .btn.ghost-dark{background:#fff;color:var(--cobalt);box-shadow:inset 0 0 0 2px var(--cobalt)}[data-theme=metro] .grid-rim{border-radius:6px;padding:6px;border:0;background:linear-gradient(#d8c08a,#8c6a2e);box-shadow:0 10px 26px #0003,inset 0 1px #fff8}[data-theme=metro] .grid{background:var(--grout);padding:2px;gap:2px}[data-theme=metro] .cell{border-radius:3px;background:linear-gradient(160deg,#fff,#f3f6f4 45%,#dfe6e2);box-shadow:inset 0 2px #fff,inset 0 -2px 2px #0000001f;color:var(--cobalt);font-weight:700}[data-theme=metro] .cell.mine{color:var(--ink);font-weight:600;text-shadow:none}[data-theme=metro] .cell.peer{background:linear-gradient(160deg,#f4f7ff,#e3eaf7)}[data-theme=metro] .cell.same{box-shadow:inset 0 0 0 2px var(--cobalt-hi),inset 0 2px #fff}[data-theme=metro] .cell.sel,[data-theme=metro] .cell.focus{background:linear-gradient(160deg,#fff8de,#ffe9a8 60%,#f2d27a);box-shadow:inset 0 0 0 2.5px var(--cobalt)}[data-theme=metro] .cell.beam{background:linear-gradient(160deg,#fffbe9,#fff0c2);box-shadow:inset 0 2px #fff}[data-theme=metro] .cell.evidence{box-shadow:inset 0 0 0 2.5px var(--cobalt)}[data-theme=metro] .cell.evidence .digit{color:var(--cobalt);text-shadow:none}[data-theme=metro] .cell.clash{color:var(--ember);text-shadow:none}[data-theme=metro] .notes{color:var(--cobalt);opacity:.7}[data-theme=metro] .notes .crossed{text-shadow:none}[data-theme=metro] .gain{color:var(--cobalt);text-shadow:none;background:#fff;border-radius:5px;padding:3px 7px;box-shadow:0 0 0 2px var(--cobalt)}[data-theme=metro] .sweep:after{background:linear-gradient(100deg,#0000 20%,#2e54b844 45%,#2e54b866,#2e54b844 55%,#0000 80%);background-size:300% 100%}[data-theme=metro] .tool{border-radius:7px;font-size:15px;font-weight:700;color:var(--cobalt)}[data-theme=metro] .tool.on,[data-theme=metro] .tool.lamp-tool{background:var(--cobalt);color:#fff;border-color:var(--cobalt)}[data-theme=metro] .key{aspect-ratio:1;border-radius:50%;border:0;background:radial-gradient(circle at 40% 30%,var(--cobalt-hi),var(--cobalt) 70%);box-shadow:0 0 0 2px #fff,0 3px 0 2px var(--cobalt-lo);margin-bottom:16px}[data-theme=metro] .key-d{color:#fff;font-weight:700}[data-theme=metro] .key-n{position:absolute;bottom:-17px;color:var(--cobalt);font-size:12px;font-weight:700}[data-theme=metro] .key.glow{box-shadow:0 0 0 2px #fff,0 0 0 5px var(--signal),0 3px 0 5px var(--rail)}[data-theme=metro] .key.glow .key-d{color:var(--signal)}[data-theme=metro] .veil{background:#1a2030b3}[data-theme=metro] .sheet{border-radius:12px;border:0;background:#fff;color:var(--ink);box-shadow:0 0 0 3px var(--cobalt),0 20px 50px #0006}[data-theme=metro] .sheet h2{color:var(--cobalt);text-transform:uppercase;letter-spacing:.04em}[data-theme=metro] .stars{color:#dfe6e2}[data-theme=metro] .stars .on{color:var(--signal);text-shadow:0 0 0 var(--rail),0 2px 0 var(--rail)}[data-theme=metro] .end dl div{background:#eef2f8}[data-theme=metro] .end .verdict-win{color:var(--cobalt);text-shadow:none}[data-theme=metro] .trail polyline{stroke:var(--cobalt);stroke-width:6;stroke-dasharray:none;opacity:1}[data-theme=metro] .node.done .lvl{background:var(--cobalt);color:#fff;box-shadow:0 0 0 3px #fff,0 0 0 5px var(--cobalt)}[data-theme=metro] .node.now .lvl{background:var(--signal);color:#1b1d22;box-shadow:0 0 0 4px #fff,0 0 0 7px #1b1d22}[data-theme=metro] .node.lock .lvl{background:#fff;color:var(--star-soft);box-shadow:inset 0 0 0 2.5px var(--ink)}[data-theme=metro] .node-stars{color:var(--rail);text-shadow:none}[data-theme=metro] .daily h2{color:var(--cobalt);text-transform:uppercase}[data-theme=metro] .daily p{color:var(--star-soft)}[data-theme=metro] .play{background:var(--signal);color:#1b1d22;box-shadow:0 3px 0 var(--rail);font-family:var(--f-ui);text-transform:uppercase;letter-spacing:.04em}[data-theme=metro] .trunk{stroke:var(--ink);stroke-opacity:.85;stroke-width:7;stroke-linecap:round}[data-theme=metro] .branch{stroke-width:7;stroke-dasharray:none;stroke-opacity:.55;stroke-linejoin:round;stroke-linecap:round}[data-theme=metro] .branch.lit{stroke-opacity:1}[data-theme=metro] .branch.fam-basics{stroke:#1e3c8f}[data-theme=metro] .branch.fam-lines{stroke:#b08d4a}[data-theme=metro] .branch.fam-sets{stroke:#2e7d6b}[data-theme=metro] .branch.fam-fish{stroke:#8e2f2a}[data-theme=metro] .branch.fam-wings{stroke:#5b4b8a}[data-theme=metro] .branch.fam-chains{stroke:#3d6fb0}[data-theme=metro] .branch.fam-groups{stroke:#a0612a}[data-theme=metro] .branch.fam-unique{stroke:#4f5b66}[data-theme=metro] .fam{color:var(--ink);font-weight:700;--halo: #f3f6f4}[data-theme=metro] .star:before{width:10px;height:10px;background:#fff;box-shadow:0 0 0 2.5px var(--ink)}[data-theme=metro] .star.learned:before{width:11px;height:11px;background:var(--ink);box-shadow:0 0 0 2.5px var(--ink)}[data-theme=metro] .star.next:before{background:#fff;box-shadow:0 0 0 2.5px var(--ink),0 0 0 7px var(--signal);animation:none}[data-theme=metro] .star.ring:before{width:44px;height:22px;border-radius:11px;background:#fff;box-shadow:inset 0 0 0 3px var(--ink)}[data-theme=metro] .race-track{stroke:var(--ink);stroke-opacity:.6;stroke-dasharray:none;stroke-width:3}[data-theme=metro] .race-finish{stroke:var(--ink)}[data-theme=metro] .race-labels .you{color:var(--cobalt)}[data-theme=metro] .race-labels .them{color:#8e2f2a}[data-theme=metro] .blitz-screen.urgent .countdown{color:var(--ember);text-shadow:none}[data-theme=metro] .node-owl{display:none}[data-theme=metro] .pad{margin-bottom:18px}@font-face{font-family:Antonio;font-weight:600 700;font-display:swap;src:url(/sudoku/fonts/antonio-latin.woff2) format("woff2")}@font-face{font-family:Manrope;font-weight:500 800;font-display:swap;src:url(/sudoku/fonts/manrope-latin.woff2) format("woff2")}[data-theme=tournament]{--lac: #0e0e10;--lac-hi: #2c2c33;--bone: #ede6d6;--bone-lo: #c9c0ac;--gold: #d4a93c;--gold-hi: #f3d27a;--flag: #d2453a;--sky: #0e0e10;--star: var(--bone);--star-soft: var(--bone-lo);--ink: #1b1a17;--brass: var(--gold);--brass-hi: var(--gold-hi);--brass-lo: #7b5a14;--amber: var(--gold-hi);--amber-hi: #fff2c4;--ember: var(--flag);--parchment: #f4eedf;--parchment-lo: #e1d6bd;--f-num: "Antonio", "Arial Narrow", system-ui, sans-serif;--f-ui: "Manrope", system-ui, sans-serif}:root[data-theme=tournament] body,.preview[data-theme=tournament]{background:radial-gradient(90% 50% at 50% 0%,#26262c,var(--lac) 70%) fixed,var(--lac)}[data-theme=tournament] .sky{display:none}[data-theme=tournament] .brass{border:0;background:linear-gradient(#26262c,#121215);color:var(--bone);box-shadow:inset 0 1px #ffffff1f,0 0 0 1px #000,0 4px #000}[data-theme=tournament] .label{color:var(--bone-lo);font-weight:800}[data-theme=tournament] .time{font-weight:700}[data-theme=tournament] .combo.c2 .combo-n,[data-theme=tournament] .combo.c3 .combo-n,[data-theme=tournament] .combo.c4 .combo-n{color:var(--gold-hi)}[data-theme=tournament] .porthole{border:0;background:radial-gradient(circle at 35% 30%,#fff2c4,var(--gold) 50%,#7b5a14);box-shadow:0 0 0 3px var(--lac),0 0 0 4px #d4a93c88,0 8px 16px #000a}[data-theme=tournament] .tutor.open .porthole{transform:none}[data-theme=tournament] .card{border-radius:4px;color:var(--ink);background:repeating-linear-gradient(#0000 0 21px,#1b1a1714 21px 22px),linear-gradient(var(--parchment),var(--parchment-lo));box-shadow:0 10px 20px #000b}[data-theme=tournament] .tutor:not(.open) .card{background:linear-gradient(#1d1d22,#111114);color:var(--bone-lo);box-shadow:inset 0 0 0 1px #d4a93c33}[data-theme=tournament] .tutor.open .who{color:#7a6a3d}[data-theme=tournament] .card p{font-weight:600}@media(max-height:700px){[data-theme=tournament] .tutor .card p{font-size:13.5px}}[data-theme=tournament] .btn{border-radius:8px;font-weight:800}[data-theme=tournament] .btn.lamp{background:var(--ink);color:var(--gold-hi);box-shadow:none}[data-theme=tournament] .btn.ghost{background:#0000;color:var(--ink);box-shadow:inset 0 0 0 1.5px #1b1a1755}[data-theme=tournament] .sheet .btn.lamp{background:linear-gradient(var(--gold-hi),var(--gold));color:#1a1406}[data-theme=tournament] .btn.ghost-dark{background:#ffffff0f;color:var(--bone);box-shadow:inset 0 0 0 1px #d4a93c55}[data-theme=tournament] .grid-rim{border:0;border-radius:14px;padding:6px;background:linear-gradient(#2a2a30,#08080a);box-shadow:0 0 0 1px #000,0 0 0 2px #d4a93c55,0 22px 44px #000c}[data-theme=tournament] .grid{gap:3px}[data-theme=tournament] .cell{border-radius:6px;background:linear-gradient(165deg,#2c2c33,#141417 55%,#0b0b0d);box-shadow:inset 0 1px #ffffff26,inset 0 -1px #000;color:var(--bone);font-weight:600}[data-theme=tournament] .cell.mine{color:var(--gold-hi);text-shadow:0 0 8px #d4a93c55}[data-theme=tournament] .cell.peer{background:linear-gradient(165deg,#34343c,#1a1a1e 60%)}[data-theme=tournament] .cell.same{box-shadow:inset 0 0 0 1.5px #d4a93c99,inset 0 1px #ffffff26}[data-theme=tournament] .cell.sel,[data-theme=tournament] .cell.focus{background:linear-gradient(165deg,#3b3424,#1c180f 60%,#120f08);box-shadow:inset 0 0 0 2px var(--gold-hi),0 0 14px #d4a93c88}[data-theme=tournament] .cell.beam{background:linear-gradient(165deg,#3b3424,#1c180f 60%,#120f08);box-shadow:inset 0 1px #f3d27a55,inset 0 0 0 1px #d4a93c66}[data-theme=tournament] .cell.evidence{box-shadow:inset 0 0 0 2px var(--gold),0 0 12px #d4a93c77}[data-theme=tournament] .cell.evidence .digit{color:var(--gold-hi);text-shadow:none}[data-theme=tournament] .notes{color:var(--gold)}[data-theme=tournament] .gain{color:#1a1406;text-shadow:none;background:linear-gradient(var(--gold-hi),var(--gold));border-radius:999px;padding:4px 9px}[data-theme=tournament] .sweep:after{background:linear-gradient(100deg,#0000 20%,#f3d27a66 45%,#fff9,#f3d27a66 55%,#0000 80%);background-size:300% 100%}[data-theme=tournament] .tool{border-radius:10px;font-weight:800;font-size:11px;color:var(--bone-lo)}[data-theme=tournament] .tool.on,[data-theme=tournament] .tool.lamp-tool{color:#1a1406;background:linear-gradient(var(--gold-hi),var(--gold))}[data-theme=tournament] .key{border-radius:10px;box-shadow:inset 0 1px #ffffff26,0 4px #000,0 6px 10px #0008}[data-theme=tournament] .key-d{color:var(--bone);font-weight:600}[data-theme=tournament] .key-n{color:var(--gold);font-weight:800}[data-theme=tournament] .key.glow{box-shadow:0 4px #000,0 0 0 2px var(--gold-hi),0 0 16px var(--gold)}[data-theme=tournament] .key.glow .key-d{color:var(--gold-hi)}[data-theme=tournament] .veil{background:#000000c0}[data-theme=tournament] .sheet{border:0;border-radius:18px;background:linear-gradient(#1d1d22,#111114);box-shadow:inset 0 1px #ffffff1a,0 0 0 1px #000,0 0 0 2px #d4a93c44,0 20px 50px #000d}[data-theme=tournament] .sheet h2{text-transform:uppercase;letter-spacing:.02em}[data-theme=tournament] .stars .on{color:var(--gold-hi);text-shadow:0 0 14px var(--gold)}[data-theme=tournament] .end .verdict-win{background:linear-gradient(#fff6d6,var(--gold-hi) 40%,var(--gold) 60%,#8a6516);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none}[data-theme=tournament] .trail polyline{stroke:#8a6a2a;stroke-width:3;stroke-dasharray:none;opacity:.8}[data-theme=tournament] .node.done .lvl{background:radial-gradient(circle at 35% 30%,#fff2c4,var(--gold) 50%,#7b5a14);color:#1a1406;box-shadow:0 0 0 2px var(--lac),0 0 0 3px #d4a93c88}[data-theme=tournament] .node.now .lvl{background:linear-gradient(#f6f0e1,#d9cfb8);color:#141310;box-shadow:inset 0 2px #fff,0 5px #8f856d,0 0 30px #d4a93c55}[data-theme=tournament] .node.lock .lvl{background:#1a1a1e;color:#8a8890;box-shadow:inset 0 0 0 1.5px #5b5a60}[data-theme=tournament] .node-stars{color:var(--gold-hi)}[data-theme=tournament] .daily h2{text-transform:uppercase}[data-theme=tournament] .play{background:linear-gradient(#f6f0e1,#d9cfb8);color:#141310;box-shadow:inset 0 2px #fff,0 4px #8f856d;font-family:var(--f-num);text-transform:uppercase}[data-theme=tournament] .trunk{stroke:#3a3328;stroke-opacity:1;stroke-width:5;stroke-linecap:round}[data-theme=tournament] .branch{stroke:#3a3328;stroke-opacity:1;stroke-width:3;stroke-dasharray:none}[data-theme=tournament] .branch.lit{stroke:#8a6a2a}[data-theme=tournament] .fam{color:var(--bone-lo);font-weight:800;--halo: var(--lac)}[data-theme=tournament] .star:before{width:14px;height:14px;background:#1a1a1e;box-shadow:0 0 0 1.5px #5b5a60}[data-theme=tournament] .star.learned:before{width:18px;height:18px;background:radial-gradient(circle at 35% 30%,#fff2c4,var(--gold) 50%,#7b5a14);box-shadow:0 0 0 1.5px var(--lac)}[data-theme=tournament] .star.next:before{width:18px;height:18px;background:var(--lac);box-shadow:0 0 0 2px var(--gold-hi),inset 0 0 0 5px var(--lac),inset 0 0 0 9px var(--gold-hi);animation:none}[data-theme=tournament] .race-track{stroke:var(--gold);stroke-opacity:.4}[data-theme=tournament] .race-labels .you{color:var(--gold-hi)}[data-theme=tournament] .race-labels .them{color:var(--bone)}[data-theme=tournament] .node-owl{display:none}[data-theme=tournament] .star.ring:before{width:40px;height:40px;background:#141417;box-shadow:inset 0 0 0 2px #5b5a60,inset 0 0 0 9px #141417,inset 0 0 0 14px #5b5a60}[data-theme=tournament] .star.ring.learned:before{background:#141417;box-shadow:inset 0 0 0 2px var(--gold),inset 0 0 0 9px #141417,inset 0 0 0 14px var(--gold),0 0 18px #d4a93c66}
