:root{--bg:#1d273e;--surface:#263250;--surface-elevated:#2f3d5c;--primary:#fd6452;--text-primary:#e8dfc9;--text-secondary:#c9c1ad;--muted:#9a9fb3;--border:#3a486a;--line:rgba(232,223,201,0.28);--accent:#9dbebf;--band:#9dbebf;--band-ink:#1d273e;--band-ink-soft:#2c3a55;--success:#5ac08a;--danger:#ff8276;--radius:16px;--radius-lg:24px;--font-sans:"Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-display:"Gallinari","Montserrat",sans-serif;--font-display-weight:800;--primary-hover:#ff7a6a;--primary-press:#e5523f;--radius-sm:12px;--shadow:0 12px 36px rgba(6,10,20,0.45);--focus-ring:0 0 0 3px rgba(253,100,82,0.55);--cat-orange:#f0954a;--cat-red:#e4574f;--cat-purple:#a884d8}:root[lang=kk]{--font-display:"Montserrat",sans-serif}@font-face{font-family:Gallinari;src:url(/fest/fonts/GallinariExtraboldCond.woff) format("woff");font-weight:800;font-display:swap;unicode-range:u+00??,u+0400-045f,u+0490-0491,u+2000-206f}@font-face{font-family:Montserrat;src:url(/fest/fonts/Montserrat-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fest/fonts/Montserrat-SemiBold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fest/fonts/Montserrat-ExtraBold.woff2) format("woff2");font-weight:800;font-style:normal;font-display:swap}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%}body{background:var(--bg);color:var(--text-primary);font-family:var(--font-sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-webkit-tap-highlight-color:transparent}img{max-width:100%}button,input,select,textarea{font-family:inherit}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:none;box-shadow:var(--focus-ring)}h1,h2,h3{margin:0;font-family:var(--font-display);font-weight:var(--font-display-weight);letter-spacing:.01em;line-height:.95;text-transform:uppercase}:root[lang=kk] h1,:root[lang=kk] h2,:root[lang=kk] h3{letter-spacing:-.01em;line-height:1.05}h4,h5,h6{margin:0;font-weight:600}::selection{background:rgba(253,100,82,.35)}.fest-page{max-width:560px;margin:0 auto;padding:max(14px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) calc(20px + env(safe-area-inset-bottom, 0px)) max(16px,env(safe-area-inset-left,0px))}html{scroll-padding-bottom:120px}input,select,textarea{scroll-margin-bottom:120px}.fest-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.fest-stack{display:flex;flex-direction:column}.fest-muted{color:var(--muted)}.fest-secondary{color:var(--text-secondary)}.fest-back{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:48px;height:48px;padding:0 14px;border:2px solid var(--line);border-radius:999px;color:var(--text-primary);font-size:15px;font-weight:600;line-height:1;transition:background .15s ease,border-color .15s ease}.fest-back:hover{border-color:var(--text-primary)}.fest-back svg{width:20px;height:20px;flex:none}.fest-spinner{width:32px;height:32px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--primary);animation:fest-spin .8s linear infinite}@keyframes fest-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.fest-spinner{animation-duration:2.4s}}