:root{--bg:#fff;--bg2:#f5f5f8;--card:#fff;--raised:#fff;--ink:#0b0b0f;--ink2:#3c3c43b8;--ink3:#3c3c4373;--sep:#3c3c431f;--fill:#7676801f;--fill2:#76768033;--accent:#5b5bf6;--accent-ink:#4a48e0;--accent-soft:#5b5bf61a;--grad:linear-gradient(135deg, #7a5cff 0%, #19a9ff 100%);--green:#1fa64a;--green-soft:#30d15829;--red:#e5304f;--red-soft:#ff456021;--orange:#d97800;--yellow:#f5b400;--purple:#8e4ae8;--glass:#ffffffb8;--glass-border:#ffffffe6;--shadow:0 1px 2px #0f0f280a, 0 8px 28px -8px #0f0f281a;--shadow-lg:0 2px 6px #0f0f280d, 0 24px 60px -18px #28287847;--code-bg:#fafafc;--r:22px;--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#000;--bg2:#0c0c0e;--card:#1c1c1e;--raised:#2c2c2e;--ink:#fff;--ink2:#ebebf5b3;--ink3:#ebebf566;--sep:#54545880;--fill:#7676803d;--fill2:#7676805c;--accent:#7d7bff;--accent-ink:#9a98ff;--accent-soft:#7d7bff2e;--green:#30d158;--green-soft:#30d15833;--red:#ff5a72;--red-soft:#ff456038;--orange:#ff9f0a;--yellow:#ffd60a;--purple:#bf7bff;--glass:#1e1e20b8;--glass-border:#ffffff1a;--shadow:0 0 0 .5px #ffffff0f;--shadow-lg:0 24px 60px -18px #000c, 0 0 0 .5px #ffffff14;--code-bg:#141416;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font:400 16px/1.4 var(--font);-webkit-font-smoothing:antialiased;overscroll-behavior:none;-webkit-user-select:none;user-select:none;touch-action:manipulation;margin:0;overflow:hidden}h1,h2,h3,p{margin:0}button,input,select{font:inherit;color:inherit}button{cursor:pointer;text-align:inherit;background:0 0;border:0;padding:0}button:disabled{cursor:default}a{color:inherit;text-decoration:none}input{-webkit-user-select:text;user-select:text}:focus-visible{outline:2.5px solid var(--accent);outline-offset:2px}.tnum{font-variant-numeric:tabular-nums}.icon{flex:none;display:block}.muted{color:var(--ink2)}.weak{color:var(--ink2);font-weight:400}.fine{color:var(--ink3);text-align:center;margin:12px 8px 0;font-size:13px;line-height:1.4}.fine.left{text-align:left;margin:10px 4px 0}.empty{color:var(--ink3);text-align:center;padding:28px 16px;font-size:15px}.center-pad{place-items:center;padding:48px 0;display:grid}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}.spinner{border:3px solid var(--fill2);border-top-color:var(--accent);border-radius:50%;width:26px;height:26px;animation:.7s linear infinite spin;display:inline-block}.spinner.sm{border-width:2.5px;border-color:#fff #fff6 #fff6;width:18px;height:18px}@keyframes spin{to{transform:rotate(360deg)}}.btn{letter-spacing:-.01em;border-radius:16px;justify-content:center;align-items:center;gap:8px;min-height:52px;padding:0 22px;font-size:17px;font-weight:600;transition:transform .18s cubic-bezier(.3,1.4,.5,1),opacity .2s,background .2s;display:inline-flex}.btn:active:not(:disabled){transform:scale(.965)}.btn.block{width:100%;margin-top:12px;display:flex}.btn.grow{flex:1}.btn.xl{border-radius:19px;min-height:58px;margin-top:26px}.btn.primary{background:var(--grad);color:#fff;box-shadow:0 10px 26px -10px #5a5afab3}.btn.primary:disabled{background:var(--fill);color:var(--ink3);box-shadow:none}.btn.ghost{background:var(--fill);color:var(--ink)}.btn.glass{background:var(--card);color:var(--ink);box-shadow:inset 0 0 0 1px var(--sep), var(--shadow)}.circle-btn{background:var(--fill);width:36px;height:36px;color:var(--ink2);border-radius:50%;flex:none;place-items:center;transition:transform .2s;display:grid}.circle-btn:active{transform:scale(.88)}.circle-btn.lg{width:52px;height:52px;color:var(--orange);background:var(--card);box-shadow:inset 0 0 0 1px var(--sep), var(--shadow);border-radius:16px}.icon-btn{width:40px;height:40px;color:var(--accent);border-radius:12px;place-items:center;display:grid}.icon-btn.danger{color:var(--red)}.pill{letter-spacing:.01em;background:var(--fill);color:var(--ink2);vertical-align:middle;border-radius:99px;align-items:center;gap:3px;padding:2px 8px;font-size:11.5px;font-weight:650;display:inline-flex}.pill.d-easy{background:var(--green-soft);color:var(--green)}.pill.d-medium{color:var(--orange);background:#ff9f0a29}.pill.d-hard{background:var(--red-soft);color:var(--red)}.pill.d-extreme{color:var(--purple);background:#a05aff29}.pill.streak{color:var(--orange);background:#ff9f0a29}.pill.role{background:var(--accent-soft);color:var(--accent-ink);text-transform:capitalize}.pill.off{background:var(--red-soft);color:var(--red)}.dot{background:var(--ink3);border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.dot.d-easy{background:var(--green)}.dot.d-medium{background:var(--orange)}.dot.d-hard{background:var(--red)}.dot.d-extreme{background:var(--purple)}.shell{background:var(--bg);transform-origin:50% 40%;will-change:transform;position:fixed;inset:0}.content{-webkit-overflow-scrolling:touch;padding:calc(var(--sat) + 14px) 0 calc(var(--sab) + 108px);position:absolute;inset:0;overflow:hidden auto}.screen{max-width:560px;margin:0 auto;padding:0 18px}.large-title{padding:18px 2px 14px}.large-title h1{letter-spacing:-.035em;font-size:36px;font-weight:800;line-height:1.08}.eyebrow{color:var(--ink3);letter-spacing:-.005em;margin-bottom:2px;font-size:14px;font-weight:600;display:block}.section{letter-spacing:-.025em;align-items:center;gap:8px;margin:28px 2px 12px;font-size:21px;font-weight:750;display:flex}.section small{color:var(--ink3);letter-spacing:0;margin-left:auto;font-size:14px;font-weight:600}.section.sticky{top:calc(-1 * (var(--sat) + 14px) + var(--sat));z-index:2;background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(18px)saturate(180%);margin:22px -18px 10px;padding:10px 20px;font-size:18px;position:sticky}.tabbar{left:50%;bottom:calc(var(--sab) + 14px);background:var(--glass);-webkit-backdrop-filter:blur(28px)saturate(190%);width:min(100% - 36px,400px);box-shadow:inset 0 0 0 1px var(--glass-border), 0 0 0 .5px var(--sep), 0 14px 40px -12px #14143c47;z-index:10;border-radius:32px;width:min(100% - 28px,440px);padding:5px;display:flex;position:absolute;transform:translate(-50%)}.tab-badge,.badge{color:#fff;min-width:18px;height:18px;font:700 11px/18px var(--font);text-align:center;background:#ff3b5c;border-radius:9px;padding:0 5px;font-style:normal}.tab-badge{position:absolute;top:3px;left:calc(50% + 6px)}.badge{vertical-align:1px;margin-left:6px;display:inline-block}.tabbar button{z-index:1;color:var(--ink3);border-radius:27px;flex-direction:column;flex:1;align-items:center;gap:2px;padding:8px 0 7px;font-size:10.5px;font-weight:600;transition:color .25s,transform .2s;display:flex;position:relative}.tabbar button:active{transform:scale(.92)}.tabbar button.on{color:var(--accent)}.tab-ind{background:var(--accent-soft);border-radius:27px;width:60px;position:absolute;top:5px;bottom:5px;left:0}.lang-logo{color:var(--lc);background:color-mix(in srgb, var(--lc) 13%, transparent);border-radius:28%;flex:none;place-items:center;display:inline-grid}.lang-logo.bare{vertical-align:-3px;background:0 0;border-radius:0}:root[data-theme=dark] .lang-logo{color:var(--lcd);background:color-mix(in srgb, var(--lcd) 18%, transparent)}:root[data-theme=dark] .lang-logo.bare{background:0 0}.mark{flex:none;line-height:0;display:inline-block;overflow:hidden;box-shadow:0 14px 36px -12px #505aff99}.stars{color:var(--fill2);gap:1px;display:inline-flex}.stars .on{color:var(--yellow)}.avatar{color:#fff;border-radius:50%;flex:none;place-items:center;font-weight:700;line-height:1;display:inline-grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%;display:block}.ring{flex:none;place-items:center;display:inline-grid;position:relative}.ring svg{position:absolute;inset:0}.ring-label{place-items:center;display:grid;position:relative}.seg{background:var(--fill);border-radius:13px;padding:3px;display:flex;position:relative}.seg button{z-index:1;text-align:center;min-height:38px;color:var(--ink2);white-space:nowrap;border-radius:10px;flex:1;font-size:15px;font-weight:600;transition:color .2s;position:relative}.seg button.on{color:var(--ink)}.seg.small button{min-height:34px;font-size:13.5px}.seg-thumb{background:var(--raised);border-radius:10px;width:40px;position:absolute;top:3px;bottom:3px;left:0;box-shadow:0 1px 2px #00000014,0 3px 10px #0000001a}.toggle{background:var(--fill2);border-radius:99px;flex:none;width:51px;height:31px;transition:background .25s;position:relative}.toggle span{background:#fff;border-radius:50%;width:27px;height:27px;transition:transform .32s cubic-bezier(.3,1.5,.5,1);position:absolute;top:2px;left:2px;box-shadow:0 2px 6px #00000038}.toggle.on{background:#30d158}.toggle.on span{transform:translate(20px)}.toggle:disabled{opacity:.5}.sheet{z-index:60;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet-back{background:#0000005c;position:absolute;inset:0}.sheet-panel{background:var(--bg2);width:100%;max-width:560px;max-height:90dvh;padding:10px 18px calc(var(--sab) + 22px);border-radius:30px 30px 0 0;position:relative;overflow-y:auto;box-shadow:0 -20px 60px #0003}.sheet-grab{background:var(--fill2);border-radius:3px;width:38px;height:5px;margin:0 auto 14px}.sheet-title{letter-spacing:-.03em;margin:0 2px 12px;font-size:24px;font-weight:800}@media (min-width:620px){.sheet{align-items:center}.sheet-panel{border-radius:30px}}.toast{top:calc(var(--sat) + 12px);z-index:100;text-align:center;background:var(--glass);max-width:calc(100% - 32px);color:var(--ink);-webkit-backdrop-filter:blur(24px)saturate(180%);box-shadow:inset 0 0 0 1px var(--glass-border), 0 0 0 .5px var(--sep), 0 12px 36px -10px #0000004d;border-radius:99px;padding:11px 18px;font-size:14.5px;font-weight:600;position:fixed;left:50%;translate:-50%}.toast.error{color:var(--red)}.toast.success{color:var(--green)}.card{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);margin-top:12px;padding:16px}:root[data-theme=light] .card,:root[data-theme=light] .tile,:root[data-theme=light] .list,:root[data-theme=light] .lang-tile,:root[data-theme=light] .quick-card,:root[data-theme=light] .code-card{box-shadow:0 0 0 1px #14143c0d, var(--shadow)}.tiles{gap:10px;margin-top:12px;display:grid}.tiles.three{grid-template-columns:repeat(3,1fr)}.tiles.four{grid-template-columns:repeat(4,1fr);gap:8px}.tiles.kpi{grid-template-columns:repeat(2,1fr)}.tile{background:var(--card);box-shadow:var(--shadow);border-radius:20px;flex-direction:column;gap:1px;min-width:0;padding:14px 12px 12px;display:flex}.tile b{letter-spacing:-.03em;white-space:nowrap;font-size:24px;font-weight:750;line-height:1.15}.tile>span:not(.tile-ico){color:var(--ink2);font-size:12.5px;font-weight:550}.tile>small{color:var(--ink3);font-size:11.5px}.tiles.four .tile{padding:12px 10px 10px}.tiles.four .tile b{font-size:19px}.tiles.kpi .tile b{margin-top:2px;font-size:28px}.tile-ico{border-radius:10px;place-items:center;width:30px;height:30px;margin-bottom:8px;display:grid}.tile-ico.flame{color:var(--orange);background:#ff9f0a29}.tile-ico.bolt{background:var(--accent-soft);color:var(--accent)}.tile-ico.target{background:var(--green-soft);color:var(--green)}.list{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);margin-top:12px;overflow:hidden}.list.flat{background:var(--card);box-shadow:none!important}.row{width:100%;min-height:58px;color:var(--ink);align-items:center;gap:12px;padding:11px 14px;transition:background .15s;display:flex;position:relative}.row+.row:before{content:"";background:var(--sep);height:.5px;position:absolute;top:0;left:62px;right:0}button.row:active,a.row:active{background:var(--fill)}.row>.icon:last-child{color:var(--ink3)}.row-main{flex-direction:column;flex:1;min-width:0;display:flex}.row-main b{letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:600;overflow:hidden}.row-main small{color:var(--ink2);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.row-val{color:var(--ink2);white-space:nowrap;font-size:14px;font-weight:550}.row.danger{color:var(--red)}.row.dim{opacity:.55}.row:disabled{opacity:.5}.row-ico{color:#fff;border-radius:9px;flex:none;place-items:center;width:32px;height:32px;margin:0 2px;display:grid}.row-ico.red{background:#ff4f5e}.row-ico.blue{background:#0a84ff}.row-ico.purple{background:#7a5cff}.row-ico.gray{background:#8e8e93}.row-ico.green{background:#30b85c}.row select{background:var(--fill);border:0;border-radius:9px;padding:7px 10px;font-size:15px}.banner{background:var(--accent-soft);width:100%;color:var(--ink);border-radius:20px;align-items:center;gap:12px;margin-bottom:12px;padding:12px 14px;display:flex}.banner-ico{background:var(--grad);color:#fff;border-radius:12px;flex:none;place-items:center;width:38px;height:38px;display:grid}.banner>span:nth-child(2){flex-direction:column;flex:1;display:flex}.banner b{font-size:15px;font-weight:650}.banner small{color:var(--ink2);font-size:12.5px;line-height:1.3}.banner>.icon{color:var(--ink3)}.hero-card{background:var(--grad);color:#fff;width:100%;box-shadow:var(--shadow-lg);border-radius:28px;padding:20px 20px 18px;transition:transform .25s cubic-bezier(.3,1.4,.5,1);display:block;position:relative;overflow:hidden}.hero-card:after{content:"";pointer-events:none;background:radial-gradient(closest-side,#ffffff59,#0000);border-radius:50%;width:240px;height:240px;position:absolute;top:-110px;right:-70px}.hero-card:active{transform:scale(.975)}.hero-top{justify-content:space-between;align-items:center;display:flex}.hero-eyebrow{text-transform:uppercase;letter-spacing:.06em;opacity:.85;font-size:13px;font-weight:650}.hero-play{-webkit-backdrop-filter:blur(8px);z-index:1;background:#ffffff3d;border-radius:50%;place-items:center;width:40px;height:40px;display:grid;position:relative}.hero-level{letter-spacing:-.045em;margin-top:16px;font-size:46px;font-weight:800;line-height:1.05}.hero-progress{background:#ffffff42;border-radius:4px;height:7px;margin-top:16px;overflow:hidden}.hero-progress i{background:#fff;border-radius:4px;min-width:7px;height:100%;transition:width .9s cubic-bezier(.2,.9,.2,1);display:block}.hero-foot{opacity:.9;justify-content:space-between;margin-top:9px;font-size:13px;font-weight:600;display:flex}.quick{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.quick-card{background:var(--card);box-shadow:var(--shadow);border-radius:20px;flex-direction:column;gap:2px;padding:14px;transition:transform .22s cubic-bezier(.3,1.4,.5,1);display:flex}.quick-card:active{transform:scale(.955)}.quick-card b{letter-spacing:-.02em;margin-top:10px;font-size:17px;font-weight:700}.quick-card small{color:var(--ink2);font-size:12.5px}.quick-dots{gap:4px;display:flex}.quick-dots i{background:var(--fill2);border-radius:3px;width:16px;height:6px}.d-easy .quick-dots i.on{background:var(--green)}.d-medium .quick-dots i.on{background:var(--orange)}.d-hard .quick-dots i.on{background:var(--red)}.d-extreme .quick-dots i.on{background:var(--purple)}.chips{scrollbar-width:none;gap:8px;margin:0 -18px;padding:2px 18px 6px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{background:var(--fill);white-space:nowrap;color:var(--ink2);border-radius:99px;flex:none;align-items:center;gap:6px;padding:8px 14px;font-size:14px;font-weight:600;transition:background .25s,color .25s,transform .2s;display:inline-flex}.chip:active{transform:scale(.94)}.chip.on{background:var(--ink);color:var(--bg)}.chip.on .lang-logo{color:inherit}.lvl-grid{grid-template-columns:repeat(auto-fill,minmax(62px,1fr));gap:9px;display:grid}.lvl{aspect-ratio:1;background:var(--card);box-shadow:0 0 0 1px var(--sep);border-radius:19px;flex-direction:column;justify-content:center;align-items:center;gap:3px;transition:transform .22s cubic-bezier(.3,1.5,.5,1);display:flex;position:relative}.lvl:active{transform:scale(.9)}.lvl b{letter-spacing:-.02em;margin-top:6px;font-size:18px;font-weight:700;line-height:1}.lvl-lang{opacity:.9;line-height:0;position:absolute;top:6px;left:7px}.lvl.done{background:var(--accent-soft);box-shadow:none}.lvl.done b{color:var(--accent-ink)}.lvl.current{background:var(--grad);color:#fff;box-shadow:0 10px 22px -8px #5a5afab3}.lvl.current .lang-logo{color:#fff}.lvl.current .stars{color:#fff6}.lvl.locked{background:var(--bg2);box-shadow:none;color:var(--ink3)}.lvl.locked .lang-logo{color:var(--ink3)}.lvl-lock{place-items:center;height:9px;display:grid}.lang-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.lang-tile{background:var(--card);box-shadow:var(--shadow);opacity:.55;border-radius:22px;flex-direction:column;align-items:center;gap:9px;padding:16px 8px 13px;transition:box-shadow .25s,opacity .25s;display:flex;position:relative}.lang-tile b{letter-spacing:-.01em;font-size:13.5px;font-weight:650}.lang-tile .tick{background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:20px;height:20px;transition:transform .35s cubic-bezier(.3,1.7,.5,1);display:grid;position:absolute;top:9px;right:9px;transform:scale(0)}.lang-tile.on{opacity:1;box-shadow:0 0 0 2px var(--accent), var(--shadow)!important}.lang-tile.on .tick{transform:scale(1)}.auth{padding:calc(var(--sat) + 36px) 22px calc(var(--sab) + 28px);background:radial-gradient(120% 60% at 50% -10%, #7a5cff29, transparent 60%), var(--bg);position:fixed;inset:0;overflow-y:auto}.auth>*{max-width:420px;margin-left:auto;margin-right:auto}.auth-hero{text-align:center;margin-bottom:30px}.auth-hero h1{letter-spacing:-.04em;margin-top:16px;font-size:40px;font-weight:800}.auth-hero p{color:var(--ink2);margin-top:2px;font-size:17px}.auth-form{margin-top:18px;padding:2px;overflow:hidden}.field-group{background:var(--card);box-shadow:0 0 0 1px var(--sep);border-radius:18px;overflow:hidden}.field{align-items:center;min-height:54px;padding:0 16px;display:flex;position:relative}.field+.field:before{content:"";background:var(--sep);height:.5px;position:absolute;top:0;left:16px;right:0}.field span{flex:none;width:88px;font-size:15.5px;font-weight:550}.field input{background:0 0;border:0;outline:none;flex:1;min-width:0;padding:14px 0;font-size:16px}.field input::placeholder{color:var(--ink3)}.form-error{color:var(--red);margin:12px 6px 0;font-size:14px;font-weight:550}.or{color:var(--ink3);align-items:center;gap:12px;margin:16px 0 4px;font-size:13px;display:flex}.or:before,.or:after{content:"";background:var(--sep);flex:1;height:.5px}.install-icon{text-align:center;margin:4px 0 14px}.install-lead{color:var(--ink2);text-align:center;margin:0 6px 16px;font-size:15.5px}.steps{background:var(--card);border-radius:20px;margin:0 0 6px;padding:0;list-style:none;overflow:hidden}.steps li{align-items:center;gap:13px;padding:13px 14px;display:flex;position:relative}.steps li+li:before{content:"";background:var(--sep);height:.5px;position:absolute;top:0;left:64px;right:0}.step-ico{background:var(--accent-soft);width:38px;height:38px;color:var(--accent);border-radius:11px;flex:none;place-items:center;display:grid}.steps div{flex-direction:column;display:flex}.steps b{font-size:15.5px;font-weight:650}.steps span{color:var(--ink2);font-size:13px}.profile-head{align-items:center;gap:16px;padding:20px 2px 10px;display:flex}.profile-head h1{letter-spacing:-.03em;font-size:27px;font-weight:800;line-height:1.1}.profile-head p{color:var(--ink2);margin:2px 0 4px;font-size:14.5px}.chart-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.chart-head span{color:var(--ink2);font-size:13px;font-weight:550}.chart-head b{letter-spacing:-.02em;font-size:20px;font-weight:750}.chart-head small{color:var(--ink2);letter-spacing:0;font-size:12.5px;font-weight:500}.bars{border-bottom:1px solid var(--sep);touch-action:pan-y;cursor:crosshair;align-items:flex-end;gap:2px;height:84px;display:flex}.bar-col{flex:1;justify-content:center;align-items:flex-end;height:100%;display:flex}.bar-col i{background:var(--accent);border-radius:4px 4px 0 0;width:100%;max-width:18px;transition:opacity .15s;display:block}.bars:hover .bar-col:not(.on) i{opacity:.4}.chart-axis{color:var(--ink3);justify-content:space-between;margin-top:6px;font-size:11.5px;display:flex}.statbars{flex-direction:column;gap:13px;display:flex}.statbar{grid-template-columns:118px 1fr 74px;align-items:center;gap:10px;display:grid}.statbar-label{white-space:nowrap;align-items:center;gap:7px;font-size:14px;font-weight:600;display:flex}.statbar-track{background:var(--fill);border-radius:4px;height:8px;overflow:hidden}.statbar-track i{background:var(--accent);border-radius:4px;height:100%;transition:width .9s cubic-bezier(.2,.9,.2,1);display:block}.statbar-val{text-align:right;font-size:14px;font-weight:650}.statbar-val small{color:var(--ink3);font-size:11px;font-weight:500;display:block}.game{z-index:30;background:var(--bg);will-change:clip-path, transform;position:fixed;inset:0}.game-inner{flex-direction:column;max-width:640px;margin:0 auto;display:flex;position:absolute;inset:0}.confetti-host{z-index:50;pointer-events:none;position:absolute;top:38%;left:50%}.confetti{border-radius:3px;width:9px;height:13px;position:absolute;top:-6px;left:-4px}.game-bar{padding:calc(var(--sat) + 10px) 16px 8px;flex:none;align-items:center;gap:10px;display:flex}.game-bar-title{text-align:center;letter-spacing:-.01em;flex:1;font-size:16.5px;font-weight:700}.game-bar-title span{color:var(--ink3);font-weight:600}.game-bar-right{justify-content:flex-end;align-items:center;gap:10px;min-width:36px;display:flex}.timer{background:var(--fill);border-radius:99px;align-items:center;gap:4px;padding:5px 9px;font-size:14.5px;font-weight:700;display:inline-flex}.timer.low{background:var(--red-soft);color:var(--red);animation:1s ease-in-out infinite pulse}@keyframes pulse{50%{transform:scale(1.07)}}.hearts{color:var(--fill2);gap:2px;display:inline-flex}.hearts .on{color:#ff4f6d}.hearts span{transition:color .3s,transform .3s}.game-stage{-webkit-overflow-scrolling:touch;flex:1;padding:6px 14px 0;overflow-y:auto}.game-loading{place-items:center;height:60%;display:grid}.g-head{align-items:center;gap:13px;padding:6px 4px 0;display:flex}.g-head-text{min-width:0}.g-head h2{letter-spacing:-.03em;font-size:24px;font-weight:800;line-height:1.12}.g-meta{color:var(--ink2);align-items:center;gap:7px;margin-bottom:2px;font-size:13.5px;font-weight:600;display:flex}.g-goal{color:var(--ink2);padding:10px 4px 14px;font-size:15px;line-height:1.4}.code-card{background:var(--code-bg);box-shadow:0 0 0 1px var(--sep);border-radius:20px;overflow:hidden}.code-tab{border-bottom:.5px solid var(--sep);align-items:center;gap:10px;padding:10px 14px;font-size:12.5px;display:flex}.dots{gap:5px;display:inline-flex}.dots i{background:var(--fill2);border-radius:50%;width:9px;height:9px}.dots i:first-child{background:#ff5f57}.dots i:nth-child(2){background:#febc2e}.dots i:nth-child(3){background:#28c840}.fname{font-family:var(--mono);color:var(--ink2);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}.count{color:var(--accent-ink);background:var(--accent-soft);border-radius:99px;padding:2px 8px;font-size:11.5px;font-weight:650}.code{font:500 12.5px/1.5 var(--mono);padding:6px 5px 8px}.code-line{cursor:pointer;border-radius:9px;align-items:flex-start;padding:4.5px 6px 4.5px 0;transition:background .18s,box-shadow .18s;display:flex;position:relative}.code-line.blank{cursor:default;min-height:20px;padding-top:0;padding-bottom:0}.ln{text-align:right;width:30px;color:var(--ink3);font-variant-numeric:tabular-nums;flex:none;padding-right:10px;font-weight:400}.lc{white-space:pre-wrap;overflow-wrap:anywhere;tab-size:2;flex:1;min-width:0}.code-line.is-sel{background:var(--accent-soft);box-shadow:inset 0 0 0 1.5px var(--accent)}.code-line.is-sel .ln{color:var(--accent);font-weight:700}.code-line.is-bug{background:var(--green-soft);box-shadow:inset 0 0 0 1.5px var(--green)}.code-line.is-wrong{background:var(--red-soft);box-shadow:inset 0 0 0 1.5px var(--red)}.code-line .tag{color:#fff;border-radius:50%;flex:none;place-items:center;width:18px;height:18px;margin-left:4px;display:grid}.code-line.is-bug .tag{background:var(--green)}.code-line.is-wrong .tag{background:var(--red)}:root[data-theme=dark] .code-line .tag{color:#000}.hint-card{color:var(--ink);background:#ff9f0a21;border-radius:16px;align-items:flex-start;gap:10px;margin-top:12px;padding:12px 14px;font-size:14.5px;line-height:1.4;animation:.45s cubic-bezier(.3,1.5,.5,1) pop;display:flex}.hint-card .icon{color:var(--orange);margin-top:1px}@keyframes pop{0%{opacity:0;transform:scale(.92)translateY(8px)}}.game-foot{padding:14px 16px calc(var(--sab) + 16px);background:linear-gradient(to top, var(--bg) 62%, transparent);gap:10px;display:flex;position:absolute;bottom:0;left:0;right:0}.result-panel{left:8px;right:8px;bottom:calc(var(--sab) + 8px);background:var(--glass);-webkit-backdrop-filter:blur(30px)saturate(190%);max-height:50vh;box-shadow:inset 0 0 0 1px var(--glass-border), 0 0 0 .5px var(--sep), 0 -8px 50px -10px #14143c4d;border-radius:28px;flex-direction:column;padding:16px 16px 14px;display:flex;position:absolute}.verdict{flex:none;align-items:center;gap:12px;display:flex}.verdict>div{flex:1;min-width:0}.verdict h3{letter-spacing:-.025em;font-size:20px;font-weight:800;line-height:1.15}.verdict p{color:var(--ink2);font-size:14px;font-weight:550}.verdict-badge{color:#fff;border-radius:50%;flex:none;place-items:center;width:42px;height:42px;display:grid}.ok .verdict-badge{background:#30b85c}.bad .verdict-badge{background:#ff4f6d}.ok .verdict h3{color:var(--green)}.bad .verdict h3{color:var(--red)}.result-scroll{-webkit-overflow-scrolling:touch;margin:12px 0;overflow-y:auto}.explain{-webkit-user-select:text;user-select:text;font-size:15px;line-height:1.45}.diff{font:500 12px/1.45 var(--mono);border-radius:12px;margin-top:10px;overflow:hidden}.diff-row{gap:8px;padding:6px 10px;display:flex}.diff-row span{color:var(--ink3);text-align:right;flex:none;width:18px}.diff-row code{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;min-width:0}.diff-row.del{background:var(--red-soft)}.diff-row.del code{text-decoration:line-through;-webkit-text-decoration-color:color-mix(in srgb, var(--red) 60%, transparent);text-decoration-color:color-mix(in srgb, var(--red) 60%, transparent)}.diff-row.add{background:var(--green-soft)}.result-actions{flex:none;gap:10px;display:flex}.result-actions .btn{min-height:50px}.run-summary{padding:0 24px calc(var(--sab) + 40px);text-align:center;flex-direction:column;flex:1;justify-content:center;display:flex}.run-emoji{background:var(--grad);color:#fff;width:92px;height:92px;box-shadow:var(--shadow-lg);border-radius:30px;place-items:center;margin:0 auto 18px;display:grid}.run-summary h2{letter-spacing:-.035em;font-size:32px;font-weight:800}.run-summary .tiles{text-align:left;margin:22px 0 14px}.page{z-index:20;background:var(--bg2);will-change:transform;flex-direction:column;display:flex;position:fixed;inset:0}.nav-bar{padding:calc(var(--sat) + 8px) 10px 8px;background:color-mix(in srgb, var(--bg2) 80%, transparent);-webkit-backdrop-filter:blur(20px)saturate(180%);border-bottom:.5px solid var(--sep);flex:none;justify-content:space-between;align-items:center;display:flex;position:relative}.nav-bar>b{font-size:17px;font-weight:650;position:absolute;left:50%;translate:-50%}.nav-back{color:var(--accent);align-items:center;gap:2px;min-height:40px;padding-right:8px;font-size:17px;display:inline-flex}.page-scroll{-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.admin-wrap{max-width:1040px;padding:14px 16px calc(var(--sab) + 40px);margin:0 auto}.admin-wrap>.rise:first-child{max-width:520px;margin:0 auto 4px}.chart-grid{grid-template-columns:1fr;gap:0 14px;display:grid}.search input{background:var(--fill);border:0;border-radius:13px;outline:none;width:100%;margin-top:12px;padding:11px 14px;font-size:16px}.user-detail .section{margin-top:22px;font-size:18px}.mini-badge{color:#fff;border-radius:50%;flex:none;place-items:center;width:24px;height:24px;margin:0 6px;display:grid}.mini-badge.ok{background:#30b85c}.mini-badge.bad{background:#ff4f6d}@media (min-width:760px){.tiles.kpi{grid-template-columns:repeat(4,1fr)}.chart-grid{grid-template-columns:1fr 1fr}.admin .sheet-panel{max-width:640px}}@media (prefers-reduced-motion:reduce){.timer.low,.hint-card{animation:none}}.avatar-edit{border-radius:50%;flex:none;transition:transform .25s cubic-bezier(.3,1.5,.5,1);position:relative}.avatar-edit:active{transform:scale(.93)}.avatar-cam{background:var(--card);width:28px;height:28px;color:var(--ink);box-shadow:0 0 0 1px var(--sep), 0 4px 10px #00000024;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:2px;right:0}.photo-preview{place-items:center;padding:8px 0 14px;display:grid}.lb-filters{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.podium{grid-template-columns:1fr 1.12fr 1fr;align-items:end;gap:8px;margin:26px 0 4px;display:grid}.podium-col{text-align:center;flex-direction:column;align-items:center;gap:2px;min-width:0;display:flex}.podium-col b{letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-top:12px;font-size:15px;font-weight:700;overflow:hidden}.podium-col>span.tnum{color:var(--ink2);font-size:13px;font-weight:600}.podium-avatar{background:var(--fill2);border-radius:50%;padding:3px;line-height:0;position:relative}.p1 .podium-avatar{background:linear-gradient(135deg,#ffd60a,#ff9f0a);box-shadow:0 12px 30px -10px #ffaa0ab3}.p2 .podium-avatar{background:linear-gradient(135deg,#d5d8e0,#9aa0ae)}.p3 .podium-avatar{background:linear-gradient(135deg,#e6a877,#b8703c)}.podium-avatar .avatar{box-shadow:0 0 0 3px var(--bg)}.medal{min-width:24px;height:24px;font:800 13px/1 var(--font);color:#fff;box-shadow:0 0 0 3px var(--bg);border-radius:12px;place-items:center;display:grid;position:absolute;bottom:-9px;left:50%;translate:-50%}.p1 .medal{background:#f5a300}.p2 .medal{background:#8e94a3}.p3 .medal{background:#b8703c}.podium-block{background:linear-gradient(to bottom, var(--accent-soft), transparent);border-radius:16px 16px 0 0;width:100%;margin-top:10px;display:block}.p1 .podium-block{height:64px}.p2 .podium-block{height:42px}.p3 .podium-block{height:28px}.rank{text-align:center;width:26px;color:var(--ink3);flex:none;font-size:15px;font-weight:700}.row.is-me{background:var(--accent-soft)}.row.is-me .rank{color:var(--accent)}.row-val.strong{color:var(--ink);font-weight:700}.me-row{bottom:calc(var(--sab) + 96px);position:sticky;box-shadow:var(--shadow-lg)!important}.mini-btn{background:var(--accent);color:#fff;border-radius:99px;flex:none;place-items:center;min-height:34px;padding:0 14px;font-size:14px;font-weight:650;transition:transform .2s;display:inline-grid}.mini-btn:active{transform:scale(.92)}.mini-btn.ghost{background:var(--fill);color:var(--ink)}.mini-btn:disabled{opacity:.5}.row-tap{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.search.with-ico{color:var(--ink3);position:relative}.search.with-ico .icon{margin-top:6px;position:absolute;top:50%;left:12px;translate:0 -50%}.search.with-ico input{color:var(--ink);padding-left:38px}.search-results{min-height:180px}.player{text-align:center;padding-top:4px}.player h3{letter-spacing:-.03em;margin-top:12px;font-size:26px;font-weight:800}.player-action{min-height:34px;margin:12px 0 16px}.player .tiles{text-align:left}.player-langs{grid-template-columns:repeat(5,1fr);gap:6px;margin-top:14px;display:grid}.player-lang{color:var(--ink2);flex-direction:column;align-items:center;gap:4px;font-size:11px;display:flex}.player-lang b{color:var(--ink);margin-top:2px;font-size:16px}.player-lang.off{opacity:.4}
