@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--text:#1d2940;--muted:#5d6c86;--glass:#f8fbffb8;--glass-strong:#fafcffe6;--line:#ffffffbf;--accent:#2f6fb8;--accent-2:#5b4fb0;--warm:#b8323c;--shadow:0 18px 50px #12224247;--font:"Nunito Variable", "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:#cfdcea;height:100%;margin:0;overflow:hidden}body{font-family:var(--font);color:var(--text);-webkit-user-select:none;user-select:none;-webkit-font-smoothing:antialiased;font-weight:700}canvas#c{width:100vw;height:100vh;display:block;position:fixed;inset:0}#vignette{pointer-events:none;background:radial-gradient(#0000 42%,#080e1e1a 100%);display:none;position:fixed;inset:0}body.nopost #vignette{display:block}button{font-family:inherit;font-weight:inherit;cursor:pointer;color:inherit;border:none}.screen{z-index:10;justify-content:center;align-items:center;padding:16px;display:none;position:fixed;inset:0}.screen.show{animation:.6s cubic-bezier(.2,.8,.2,1) both rise;display:flex}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}#loading{color:#fff;background:linear-gradient(#8fb3d6,#e6eef7);flex-direction:column}.card{background:var(--glass);-webkit-backdrop-filter:blur(22px)saturate(1.25);border:1px solid var(--line);text-align:center;width:100%;max-width:640px;box-shadow:var(--shadow), inset 0 1px 0 #ffffffe6;border-radius:28px;padding:30px 30px 24px}#title{justify-content:flex-start;padding-left:max(16px,5vw)}#title .card{max-width:440px}.card{max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow-y:auto}.logo{letter-spacing:-.5px;color:#17233b;text-shadow:0 1px #fffc;font-size:clamp(44px,6.4vw,68px);font-weight:900;line-height:1}.logo:after{content:"";background:linear-gradient(90deg, var(--accent), var(--warm));border-radius:4px;width:54px;height:4px;margin:14px auto 0;display:block}#loading .logo{color:#fff;text-shadow:0 6px 24px #14285059}#loading .logo:after{background:#ffffffd9}.logo.small{font-size:52px}.tagline{color:var(--muted);margin:14px 0 20px;font-size:15.5px;font-weight:700;line-height:1.4}.sub{color:var(--muted);margin:8px 0 14px;font-weight:700}#loading .sub{color:#fffffff2}h2{letter-spacing:-.3px;color:#17233b;margin:0 0 14px;font-size:27px;font-weight:900}.tours{flex-direction:column;gap:10px;display:flex}.tour{color:#fff;text-align:left;background:linear-gradient(135deg,#3d82c9,#2b62a6);border-radius:18px;flex-direction:column;align-items:flex-start;gap:2px;padding:14px 46px 14px 18px;transition:transform .18s,box-shadow .18s,filter .18s;display:flex;position:relative;box-shadow:0 8px 20px #204c8a47,inset 0 1px #ffffff47}.tour:after{content:"›";opacity:.8;font-size:30px;font-weight:800;transition:transform .18s;position:absolute;top:50%;right:18px;transform:translateY(-54%)}.tour b{letter-spacing:-.2px;font-size:20px;font-weight:900}.tour span{opacity:.88;font-size:13.5px;font-weight:700}.tour:nth-child(2){background:linear-gradient(135deg,#4a5fb8,#37449a);box-shadow:0 8px 20px #303c8c47,inset 0 1px #ffffff47}.tour.zen{background:linear-gradient(135deg,#2f8f8a,#1f6f72);box-shadow:0 8px 20px #18606247,inset 0 1px #ffffff47}.tour:hover,.tour:focus-visible{filter:brightness(1.06);outline:none;transform:translateY(-2px)}.tour:hover:after{transform:translate(4px,-54%)}.tour:active{filter:brightness(.97);transform:translateY(1px)scale(.99)}.row{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px;display:flex}.opts{gap:8px;margin-top:18px}.chip{color:var(--text);background:#ffffffc7;border:1px solid #a0b4d28c;border-radius:999px;padding:8px 13px;font-size:13.5px;font-weight:800;transition:background .15s,transform .15s,opacity .15s;box-shadow:0 2px 6px #12224214}.chip:hover{background:#fff;transform:translateY(-1px)}.chip.off{opacity:.5;background:#fff6}.btn{background:#ffffffd9;border:1px solid #a0b4d299;border-radius:14px;padding:12px 24px;font-size:17px;font-weight:900;transition:transform .15s,filter .15s;box-shadow:0 4px 12px #1222421f}.btn.primary{color:#fff;background:linear-gradient(135deg,#3d82c9,#2b62a6);border-color:#0000;box-shadow:0 8px 20px #204c8a4d,inset 0 1px #ffffff47}.btn:hover{filter:brightness(1.05);transform:translateY(-1px)}.btn:active{transform:translateY(1px)}.vols{grid-template-columns:1fr 1fr;gap:8px 12px;margin-top:16px;display:grid}.vol{text-align:left;background:#fff9;border:1px solid #a0b4d28c;border-radius:16px;flex-direction:column;align-items:stretch;gap:6px;padding:8px 12px 10px;font-size:13.5px;font-weight:800;transition:opacity .15s;display:flex}.vol.off span{opacity:.5}.vol input{appearance:none;cursor:pointer;touch-action:pan-y;--fill:70%;background:0 0;width:100%;height:22px;margin:0}.vol input::-webkit-slider-runnable-track{background:linear-gradient(90deg, #3d82c9 var(--fill), #788caf59 var(--fill));border-radius:6px;height:6px}.vol input::-moz-range-track{background:linear-gradient(90deg, #3d82c9 var(--fill), #788caf59 var(--fill));border-radius:6px;height:6px}.vol input::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;border:2px solid #3d82c9;border-radius:50%;width:22px;height:22px;margin-top:-8px;box-shadow:0 2px 6px #12224240}.vol input::-moz-range-thumb{background:#fff;border:2px solid #3d82c9;border-radius:50%;width:18px;height:18px;box-shadow:0 2px 6px #12224240}.switches{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:12px;display:flex}.seg{background:#ffffff8c;border:1px solid #a0b4d28c;border-radius:999px;align-items:center;padding:3px;display:inline-flex}.seg span{padding:0 8px 0 10px;font-size:13px;font-weight:800}.seg button{color:var(--muted);background:0 0;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:800;transition:background .15s,color .15s}.seg button.on{color:#fff;background:linear-gradient(135deg,#3d82c9,#2b62a6);box-shadow:0 2px 8px #204c8a4d}.opts{margin-top:12px}.padfocus{outline-offset:3px;outline:3px solid #f2b63c}.vol input.padfocus{outline-offset:6px;border-radius:10px}body.pad .hint{display:block}body.nofs .fs{display:none}.loadbar{background:#ffffff59;border-radius:6px;width:min(260px,60vw);height:6px;overflow:hidden}.loadbar i{background:#fff;border-radius:6px;width:0%;height:100%;transition:width .35s;display:block}.hint{color:var(--muted);margin:16px 0 0;font-size:12.5px;font-weight:700;line-height:1.5}#hud{pointer-events:none;z-index:5;display:none;position:fixed;inset:0}#hud.show{display:block}.hud-left,.hud-right,.hud-mid{top:max(14px, env(safe-area-inset-top));align-items:center;gap:8px;display:flex;position:absolute}.hud-left{left:max(16px, env(safe-area-inset-left))}.hud-right{right:max(16px, env(safe-area-inset-right));pointer-events:auto}.hud-mid{flex-direction:column;gap:6px;left:50%;transform:translate(-50%)}.pill{background:var(--glass);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:999px;align-items:center;gap:8px;padding:5px 15px 5px 7px;font-size:19px;font-weight:900;display:flex;box-shadow:0 6px 18px #12224229}.pill.dist{padding:4px 14px;font-size:14px;display:none}.star-ico{color:#fff;background:linear-gradient(135deg,#cfe9ff,#7fb6e8);border-radius:50%;place-items:center;width:28px;height:28px;font-size:17px;display:inline-grid}#starPill.pulse{animation:.35s pulse}@keyframes pulse{50%{transform:scale(1.12)}}.progress{border:1px solid var(--line);background:#ffffff80;border-radius:999px;width:min(46vw,420px);height:8px;margin-top:8px;position:relative;box-shadow:0 4px 14px #12224229}.progress .bar{background:linear-gradient(90deg,#8cc4f2,#f2c26b,#e88aa8,#6d5bd0);border-radius:999px;width:0%;position:absolute;inset:0 auto 0 0}.sled-ico{filter:drop-shadow(0 2px 3px #0000004d);font-size:21px;position:absolute;top:-15px;left:0;transform:translate(-50%)}.end-ico{font-size:21px;position:absolute;top:-15px;right:-18px}.round{color:#24344f;background:var(--glass);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:50%;place-items:center;width:46px;height:46px;padding:0;font-size:18px;transition:transform .15s;display:grid;box-shadow:0 6px 18px #12224229}.round:hover{transform:scale(1.06)}.round:active{transform:scale(.94)}.round svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.place{text-align:center;opacity:0;color:#fff;width:max-content;max-width:92vw;transition:opacity 1.4s,transform 1.4s;position:absolute;top:17%;left:50%;transform:translate(-50%,-10px)}.place.show{opacity:1;transform:translate(-50%)}.place small{letter-spacing:4px;text-transform:uppercase;opacity:.92;text-shadow:0 2px 10px #0a1432b3;font-size:13px;font-weight:800;display:block}.place span{letter-spacing:-.5px;text-shadow:0 4px 24px #0a1432a6,0 1px 2px #0a143280;font-size:clamp(34px,5.4vw,58px);font-weight:900;line-height:1.1;display:block}.place span:after{content:"";background:#ffffffd9;border-radius:3px;width:46px;height:3px;margin:10px auto 0;display:block}.note{background:var(--glass);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);opacity:0;white-space:nowrap;border-radius:999px;padding:8px 18px;font-size:15px;font-weight:800;transition:opacity .6s;position:absolute;bottom:124px;left:50%;transform:translate(-50%);box-shadow:0 6px 18px #12224229}.note.show{opacity:1}.keys{color:#fff;text-shadow:0 2px 8px #0a1432b3;flex-wrap:wrap;justify-content:center;gap:16px;width:max-content;max-width:calc(100vw - 32px);font-size:14px;font-weight:800;transition:opacity 2s;display:flex;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}.keys.hide{opacity:0}kbd{min-width:28px;height:28px;color:var(--text);text-shadow:none;background:#ffffffeb;border:1px solid #a0b4d2b3;border-radius:8px;place-items:center;margin-right:4px;font-family:inherit;font-weight:900;display:inline-grid;box-shadow:0 2px #788caa99}.touch{padding:0 max(16px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));pointer-events:none;justify-content:space-between;align-items:flex-end;display:none;position:absolute;inset:auto 0 0}.touch .tside{flex-direction:column;align-items:center;gap:12px;display:flex}.tbtn{pointer-events:auto;-webkit-backdrop-filter:blur(12px)saturate(1.2);color:#fff;touch-action:none;background:linear-gradient(160deg,#ffffff6b,#ffffff29);border:1.5px solid #ffffffbf;border-radius:50%;place-items:center;width:84px;height:84px;padding:0;transition:background .1s,transform .1s;display:grid;box-shadow:0 8px 22px #0e1c3a38,inset 0 1px #ffffffb3}.tbtn svg{fill:none;stroke:currentColor;stroke-width:2.8px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 4px #0a143273);width:34px;height:34px}.tbtn.small{width:58px;height:58px}.tbtn.small svg{width:26px;height:26px}.tbtn.on{color:#24344f;background:#ffffffa8;transform:scale(.94)}@media (pointer:coarse){.touch{display:flex}.keys,.hint{display:none}.note{bottom:calc(max(18px, env(safe-area-inset-bottom)) + 176px);white-space:normal;text-align:center;border-radius:18px;width:max-content;max-width:calc(100vw - 32px)}}.finish-card{max-width:760px}.stats{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:16px;display:flex}.stat{background:#fffc;border:1px solid #a0b4d280;border-radius:12px;padding:7px 13px;font-size:14px;font-weight:800}.stat b{color:var(--accent);margin-left:6px;font-size:17px;font-weight:900}.badges{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;max-height:52vh;padding:4px;display:grid;overflow:auto}.badge{opacity:0;background:#ffffffd1;border:1px solid #a0b4d280;border-radius:18px;padding:14px 10px 12px;transition:opacity .4s,transform .5s cubic-bezier(.3,1.5,.5,1);transform:scale(.7)}.badge.in{opacity:1;transform:none}.badge .medal{background:radial-gradient(circle at 35% 30%,#fff8dc,#f1c45c 60%,#cf9a2e);border-radius:50%;place-items:center;width:62px;height:62px;margin:0 auto 10px;font-size:30px;display:grid;box-shadow:0 6px 14px #a06e144d,inset 0 -3px 6px #8c5a0a40,inset 0 2px 4px #fffc}.badge b{font-size:15.5px;font-weight:900;display:block}.badge small{color:var(--muted);margin-top:3px;font-size:12px;font-weight:700;line-height:1.3;display:block}.badge.locked .medal{filter:grayscale();opacity:.55;background:radial-gradient(circle at 35% 30%,#f3f5f8,#cbd5e1 60%,#9aa7b8);box-shadow:inset 0 -3px 6px #505f7333}.badge.locked b{color:#94a3b8}.badge.new{border-color:#e6b84a;box-shadow:0 0 0 3px #e6b84a47}#fade{opacity:0;pointer-events:none;z-index:20;background:#eef3f9;transition:opacity .8s;position:fixed;inset:0}#fade.on{opacity:1}@media (max-width:600px){#title{justify-content:center;padding-left:16px}.card{border-radius:24px;padding:22px 16px 18px}.hud-mid{top:calc(max(14px, env(safe-area-inset-top)) + 62px)}.progress{width:calc(100vw - 96px);margin-top:0}.place{top:21%}.tour b{font-size:18px}}@media (max-height:520px){.card{padding:14px 18px 12px}.logo{font-size:34px}.logo:after{margin-top:8px}.tagline{margin:6px 0 10px;font-size:13px}.tours{flex-direction:row;gap:8px}.tour{flex:1;padding:10px 12px}.tour:after{display:none}.tour b{font-size:15px}.tour span{font-size:11px}#title .card{max-width:620px}.opts,.vols,.switches{margin-top:8px}.vol{flex-direction:row;align-items:center;padding:5px 10px 6px}.vol span{white-space:nowrap}.hint{display:none}.badges{max-height:40vh}}
