@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-400-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-500-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-600-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jetbrains-mono-500-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jetbrains-mono-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/jetbrains-mono-700-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/jetbrains-mono-700-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Oswald;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/oswald-500-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Oswald;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/oswald-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Oswald;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/oswald-600-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Oswald;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/oswald-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Oswald;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/oswald-700-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Oswald;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/oswald-700-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--rgb-bg: 10 10 10;--rgb-card: 19 19 19;--rgb-card-raise: 26 26 26;--rgb-teal: 30 162 177;--rgb-teal-bright: 43 192 209;--rgb-teal-deep: 24 127 139;--rgb-yellow: 255 229 0;--rgb-yellow-deep: 204 183 0;--rgb-green: 0 200 122;--rgb-green-muted: 14 92 66;--rgb-red: 255 59 59;--rgb-red-muted: 180 84 84;--rgb-red-muted-bg: 42 23 23;--rgb-red-text: 192 112 112;--rgb-text: 245 245 245;--rgb-muted: 138 138 138;--rgb-line: 38 38 38;--rgb-line-raise: 51 51 51;--rgb-control-edge: 98 98 98;--c-bg: rgb(var(--rgb-bg));--c-card: rgb(var(--rgb-card));--c-card-raise: rgb(var(--rgb-card-raise));--c-teal: rgb(var(--rgb-teal));--c-teal-bright: rgb(var(--rgb-teal-bright));--c-teal-deep: rgb(var(--rgb-teal-deep));--c-yellow: rgb(var(--rgb-yellow));--c-yellow-deep: rgb(var(--rgb-yellow-deep));--c-green: rgb(var(--rgb-green));--c-green-muted: rgb(var(--rgb-green-muted));--c-red: rgb(var(--rgb-red));--c-red-muted: rgb(var(--rgb-red-muted));--c-red-muted-bg: rgb(var(--rgb-red-muted-bg));--c-red-text: rgb(var(--rgb-red-text));--c-text: rgb(var(--rgb-text));--c-muted: rgb(var(--rgb-muted));--c-line: rgb(var(--rgb-line));--c-line-raise: rgb(var(--rgb-line-raise));--c-control-edge: rgb(var(--rgb-control-edge))}:root{--motion-fast: .15s;--motion-base: .25s;--motion-slow: .4s;--ease: cubic-bezier(.22, 1, .36, 1);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{background:var(--c-bg);color:var(--c-text);font-family:Inter,sans-serif;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);overscroll-behavior:none}button{font-family:inherit;cursor:pointer;border:none}@keyframes dober-pulse{0%,to{opacity:1}50%{opacity:.55}}@keyframes dober-pop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}@keyframes screen-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.screen-enter{animation:screen-enter var(--motion-slow) var(--ease) both}@keyframes node-enter{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}.node-enter{animation:node-enter var(--motion-fast) var(--ease) both}@keyframes celebration-bounce{0%{transform:scale(.6);opacity:0}55%{transform:scale(1.15);opacity:1}75%{transform:scale(.97)}to{transform:scale(1);opacity:1}}.celebration-bounce{animation:celebration-bounce var(--motion-slow) var(--ease) both}.dober-pop-enter{animation:dober-pop var(--motion-slow) var(--ease) both}@keyframes particle-fly{0%{opacity:0;transform:translate(0) scale(.5) rotate(0)}12%{opacity:1}to{opacity:0;transform:translate(var(--tx),var(--ty)) scale(1) rotate(var(--rot))}}.particle{animation:particle-fly var(--motion-slow) var(--ease) both;pointer-events:none}.dober-btn{position:relative;overflow:hidden;box-shadow:0 6px 0 var(--lip, transparent);transition:transform .24s var(--ease-spring),box-shadow var(--motion-fast) var(--ease)}.dober-btn:active:not(:disabled){transform:translateY(6px);transition:transform 90ms ease-out;box-shadow:0 0 0 var(--lip, transparent)}@keyframes match-pending-pulse{0%,to{opacity:1}50%{opacity:.6}}.match-pending{animation:match-pending-pulse var(--motion-slow) var(--ease) infinite}:root{--ease-spring: cubic-bezier(.34, 1.56, .64, 1)}.dober-btn:after{content:"";position:absolute;top:0;bottom:0;left:-45%;width:40%;opacity:0;background:linear-gradient(100deg,transparent,rgba(255,255,255,.13),transparent);transform:skew(-18deg);pointer-events:none}.dober-btn--cta:not(:disabled):after{animation:btn-sheen-idle 9s ease-in-out infinite}@keyframes btn-sheen-idle{0%{transform:translate(0) skew(-18deg);opacity:0}4%{opacity:1}16%{transform:translate(440%) skew(-18deg);opacity:1}17%,to{transform:translate(440%) skew(-18deg);opacity:0}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.node-breathe{animation:breathe 2s var(--ease) infinite}@keyframes boss-pulse{0%,to{transform:scale(1);opacity:.85}50%{transform:scale(1.12);opacity:.3}}.boss-pulse{animation:boss-pulse 1.6s var(--ease) infinite;will-change:transform,opacity}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.rise-in{animation:rise-in var(--motion-base) var(--ease) both;animation-delay:calc(var(--i, 0) * 60ms)}@keyframes soft-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.soft-shake{animation:soft-shake .3s var(--ease)}@keyframes latch-pop{0%{transform:scale(1)}45%{transform:scale(1.08)}to{transform:scale(1)}}.latch-pop{animation:latch-pop .26s var(--ease-spring)}@keyframes check-pop{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.check-pop{animation:check-pop .26s var(--ease-spring) both}@keyframes chart-in{0%{opacity:0}to{opacity:1}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.skeleton{position:relative;overflow:hidden;border-radius:8px;background:#ffffff0d}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.1) 50%,transparent 80%);animation:shimmer 1.5s ease-in-out infinite}body:before,body:after{content:"";position:fixed;border-radius:50%;pointer-events:none;z-index:0}body:before{width:78vw;height:78vw;top:-26vw;right:-22vw;background:radial-gradient(circle,#2bc0d142,#2bc0d133,#2bc0d11c 44%,#2bc0d10a 64%,#2bc0d100 80%)}body:after{width:68vw;height:68vw;bottom:-26vw;left:-22vw;background:radial-gradient(circle,#1ea2b130,#1ea2b126,#1ea2b114 44%,#1ea2b108 64%,#1ea2b100 80%)}#root{position:relative;z-index:1}:root[data-perf-tier=full] body:before{animation:orb-drift-a 22s ease-in-out infinite alternate}:root[data-perf-tier=full] body:after{animation:orb-drift-b 27s ease-in-out infinite alternate}@keyframes orb-drift-a{0%{transform:translate(0)}to{transform:translate(-5vw,6vw)}}@keyframes orb-drift-b{0%{transform:translate(0)}to{transform:translate(6vw,-5vw)}}.dober-surface{border-color:#ffffff29}.dober-surface.is-selected{border-color:var(--c-teal-bright)}.dober-card{transition:transform .14s var(--ease-spring),border-color var(--motion-fast) var(--ease)}.dober-card:active{transform:translateY(4px) scale(.995);transition:transform 90ms ease-out}.dober-card:hover{border-color:#2bc0d18c}.ripple{position:absolute;border-radius:50%;background:#ffffff4d;transform:scale(0);animation:ripple-go .56s var(--ease);pointer-events:none;z-index:0}@keyframes ripple-go{to{transform:scale(1);opacity:0}}@keyframes pop-in{0%{opacity:0;transform:scale(.85) translateY(6px)}60%{opacity:1;transform:scale(1.03)}to{transform:scale(1)}}.pop-in{animation:pop-in var(--motion-base) var(--ease-spring) both;animation-delay:calc(var(--i, 0) * 55ms)}@keyframes mascot-breathe{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-2px) scale(1.03)}}.mascot-idle{animation:mascot-breathe 2.6s var(--ease) infinite}@keyframes mascot-happy{0%{transform:translateY(0) scale(1)}20%{transform:translateY(0) scale(1.12,.88)}50%{transform:translateY(-14px) scale(.9,1.12)}75%{transform:translateY(0) scale(1.08,.94)}to{transform:translateY(0) scale(1)}}.mascot-happy{animation:mascot-happy .62s var(--ease-spring) both}@keyframes mascot-sad{0%,to{transform:rotate(0) translate(0)}20%{transform:rotate(-5deg) translate(-3px)}50%{transform:rotate(4deg) translate(3px)}80%{transform:rotate(-2deg) translate(-1px)}}.mascot-sad{animation:mascot-sad .48s var(--ease)}@keyframes combo-pop{0%{transform:scale(1)}40%{transform:scale(1.28)}to{transform:scale(1)}}.combo-pop{animation:combo-pop .32s var(--ease-spring)}@keyframes step-slide-in{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:none}}.step-slide-in{animation:step-slide-in var(--motion-base) var(--ease) both}.verdict-ring{position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:18px;border:2px solid transparent;pointer-events:none;opacity:0}.verdict-ring.is-wrong{border-color:var(--c-red-muted);animation:verdict-wrong .9s var(--ease) forwards}.verdict-ring.is-correct{border-color:var(--c-green);animation:verdict-correct var(--motion-slow) var(--ease-spring) forwards}.verdict-ring.is-still{animation:none}.verdict-ring.is-still.is-wrong{opacity:.35}.verdict-ring.is-still.is-correct{opacity:.6}@keyframes verdict-wrong{0%{opacity:0}20%{opacity:.9}to{opacity:.35}}@keyframes verdict-correct{0%{opacity:0;transform:scale(.98)}45%{opacity:1;transform:scale(1.01)}to{opacity:.6;transform:scale(1)}}@keyframes world-breathe{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes trail-flow{to{stroke-dashoffset:-28}}@keyframes plate-glow{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}:root[data-perf-tier=full] .world-breathe{animation:world-breathe 3.6s ease-in-out infinite}:root[data-perf-tier=full] .trail-flow{animation:trail-flow 1.6s linear infinite}:root[data-perf-tier=full] .plate-glow{animation:plate-glow 2.4s ease-in-out infinite}@media(prefers-reduced-motion:reduce){:root{--motion-fast: .01ms;--motion-base: .01ms;--motion-slow: .01ms}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:focus-visible{outline:3px solid var(--c-teal-bright);outline-offset:2px;box-shadow:0 0 0 5px var(--c-bg)}svg [role=button]:focus-visible{outline:3px solid var(--c-teal-bright);outline-offset:1px;box-shadow:none}@media(prefers-contrast:more){:root{--rgb-card: 44 44 44;--rgb-red-text: 204 140 140;--rgb-card-raise: 58 58 58;--rgb-line: 117 117 117;--rgb-line-raise: 140 140 140;--rgb-control-edge: 140 140 140;--rgb-muted: 176 176 176;--rgb-green-muted: 18 124 88;--rgb-red-muted-bg: 110 48 48}.dober-surface:not(.is-selected){border-color:rgb(var(--rgb-line-raise))}}@supports (font: -apple-system-body){:root{font:-apple-system-body;font-family:Inter,sans-serif;line-height:normal}}.touch-44{position:relative}.touch-44:after{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%);pointer-events:auto}
