:root{--bg:#19191b;--bg-elevated:#232325;--bg-card:#1f1f21;--text:#fff;--text-muted:#9b9ba0;--text-on-accent:#fff;--btn-contrast-bg:#fff;--btn-contrast-fg:#19191b;--accent:#2787f5;--accent-soft:rgba(39,135,245,.18);--accent-mid:#87c7fa;--accent-light:#dce9fa;--success:#4ade80;--warn:#fbbf24;--error:#ff3b30;--border:#2d2d30;--shadow:0 4px 20px rgba(0,0,0,.5);--backdrop:#0d1a30;--tabs-bg:rgba(25,25,27,.95);--radius:18px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--page-top:env(safe-area-inset-top,0px);--page-bottom:max(env(safe-area-inset-bottom,0px),12px);--tabs-h:76px}:root[data-theme=light]{--bg:#eef1f5;--bg-card:#fff;--bg-elevated:#e6eaf1;--text:#1c1c1e;--text-muted:#6b7280;--border:#e1e4ea;--shadow:0 4px 20px rgba(0,0,0,.08);--backdrop:#d6e4fb;--tabs-bg:hsla(0,0%,100%,.92);--btn-contrast-bg:#1c1c1e;--btn-contrast-fg:#fff}.platform-vk{--page-top:max(env(safe-area-inset-top,0px),70px);--page-bottom:max(env(safe-area-inset-bottom,0px),16px)}*{box-sizing:border-box;margin:0;padding:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}[data-selectable],input,textarea{-webkit-user-select:text;-moz-user-select:text;user-select:text}img,svg{-webkit-user-drag:none;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}body,html{background-color:#0d1a30;background:var(--backdrop);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-x:none;overscroll-behavior-y:auto}button{font:inherit;color:inherit;cursor:pointer;background:none;border:none}@keyframes refStarBurst{0%{transform:translate(-50%,-50%) scale(.2) rotate(0deg);opacity:0}18%{opacity:1}to{transform:translate(calc(-50% + var(--tx, 0px)),calc(-50% + var(--ty, -60px))) scale(1) rotate(55deg);opacity:0}}.ref-star{position:absolute;top:50%;left:50%;pointer-events:none;animation-name:refStarBurst;animation-timing-function:ease-out;animation-iteration-count:infinite;animation-duration:2.7s;will-change:transform,opacity}@media (prefers-reduced-motion:reduce){.ref-star{display:none}}input,textarea{font:inherit;font-size:16px;color:var(--text);background:var(--bg-elevated);border:1px solid transparent;border-radius:14px;padding:14px 16px;outline:none;width:100%;transition:border-color .16s ease,background .16s ease}input::placeholder,textarea::placeholder{color:var(--text-muted)}input:focus,textarea:focus{border-color:var(--accent);background:var(--bg-card)}a{color:var(--accent);text-decoration:none}.app-root{min-height:100vh;display:flex;flex-direction:column;padding-top:var(--page-top);padding-bottom:calc(var(--tabs-h) + var(--page-bottom) + 20px);background:var(--bg);width:100%;max-width:540px;margin-inline:auto}.app-root.no-tabs{padding-bottom:var(--page-bottom)}nav[data-role=tabs]{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:540px;transition:transform .22s ease,opacity .22s ease}nav[data-role=tabs],nav[data-role=tabs] a{touch-action:manipulation}body.hide-tabs nav[data-role=tabs]{transform:translateX(-50%) translateY(110%);opacity:0;pointer-events:none}body.hide-tabs .app-root{padding-bottom:var(--page-bottom)}.btn{padding:16px 20px;border-radius:14px;font-weight:700;font-size:16px;transition:opacity .16s ease,background .16s ease,transform 80ms ease;width:100%;text-align:center;display:inline-flex;justify-content:center;align-items:center;gap:8px}.btn:active{transform:scale(.985)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:disabled{background:var(--bg-elevated);color:var(--text-muted)}.btn-ghost{background:var(--bg-elevated);color:var(--text)}.btn-white{background:var(--btn-contrast-bg);color:var(--btn-contrast-fg)}.btn-white:disabled{background:var(--bg-elevated);color:var(--text-muted)}:root[data-theme=light] .btn-buy:not(:disabled),:root[data-theme=light] .btn-white:not(:disabled){background:#0089fd;color:#fff}.sticky-cta{position:fixed;left:50%;transform:translateX(-50%);width:100%;max-width:540px;bottom:0;padding:14px 16px calc(8px + var(--page-bottom));background:linear-gradient(to top,var(--bg) 70%,transparent);z-index:30}.sticky-cta>.btn{width:100%}.has-cta{padding-bottom:calc(96px + var(--page-bottom))}input.checkbox{width:22px;height:22px;flex-shrink:0;padding:0;margin:1px 0 0;background:var(--bg-elevated);border-radius:6px;accent-color:var(--accent)}.cat-item{overflow:hidden;max-height:120px;opacity:1;margin-bottom:8px;transition:max-height .34s cubic-bezier(.2,0,.2,1),opacity .26s ease,margin-bottom .3s ease}.cat-item:last-child{margin-bottom:0}.cat-item.collapsed{max-height:0;opacity:0;margin-bottom:0;pointer-events:none}.ev-cover-img{opacity:0;transition:opacity .35s ease}.ev-cover-img.loaded{opacity:1}@media (prefers-reduced-motion:reduce){.cat-item,.ev-cover-img{transition:none}}.qr-reveal{max-height:0;opacity:0;overflow:hidden;margin-top:0;transition:max-height .34s cubic-bezier(.2,0,.2,1),opacity .26s ease,margin-top .26s ease}.qr-reveal.open{max-height:420px;opacity:1;margin-top:4px}@media (prefers-reduced-motion:reduce){.qr-reveal{transition:none}}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600}.status-pill.paid{background:rgba(74,222,128,.15);color:var(--success)}.status-pill.pending{background:rgba(251,191,36,.15);color:var(--warn)}.status-pill.cancelled,.status-pill.expired{background:hsla(0,0%,100%,.06);color:var(--text-muted)}@keyframes ptrSpin{to{transform:rotate(1turn)}}@keyframes skeletonPulse{0%,to{opacity:.4}50%{opacity:.7}}.skeleton{background:var(--bg-elevated);border-radius:14px;animation:skeletonPulse 1.2s ease-in-out infinite}@keyframes pageEnter{0%{opacity:0}to{opacity:1}}@keyframes appear{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.appear-1,.appear-2,.appear-3,.appear-4,.appear-5,.appear-6{animation:appear .32s cubic-bezier(.2,0,.2,1) forwards}.reveal-fade{animation:appear .28s cubic-bezier(.2,0,.2,1) forwards}@media (prefers-reduced-motion:reduce){.appear-1,.appear-2,.appear-3,.appear-4,.appear-5,.appear-6,.page-enter,.reveal-fade{animation:none!important}}@keyframes wheelSpark{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}12%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--sx, 0px)),calc(-50% + var(--sy, 0px))) scale(1)}}.wheel-spark{position:absolute;top:50%;left:50%;border-radius:50%;pointer-events:none;animation:wheelSpark .72s ease-out forwards}@keyframes wheelFlash{0%{opacity:.7;transform:translate(-50%,-50%) scale(.55)}to{opacity:0;transform:translate(-50%,-50%) scale(1.6)}}.wheel-flash{position:absolute;top:50%;left:50%;border-radius:50%;pointer-events:none;animation:wheelFlash .62s ease-out forwards}@keyframes wheelPulse{0%,to{box-shadow:0 0 18px var(--accent,#2787f5),0 6px 18px rgba(0,0,0,.5)}50%{box-shadow:0 0 30px var(--accent,#2787f5),0 6px 18px rgba(0,0,0,.5)}}@keyframes starRise{0%{opacity:0;transform:translateY(0) scale(.5)}12%{opacity:.9}85%{opacity:.5}to{opacity:0;transform:translateY(-80vh) scale(1)}}.rise-star{animation-name:starRise;animation-timing-function:linear;animation-iteration-count:infinite;will-change:transform,opacity}@media (prefers-reduced-motion:reduce){.rise-star{animation:none!important;opacity:0!important}}@keyframes wheelFall{0%{opacity:0;transform:translateY(-14px) scale(.65)}18%{opacity:1}70%{opacity:1}to{opacity:0;transform:translateY(70px) scale(.95)}}.wheel-fall{display:inline-block;animation:wheelFall var(--fall-dur,3.2s) linear infinite;will-change:opacity,transform}@media (prefers-reduced-motion:reduce){.wheel-fall,.wheel-flash,.wheel-spark{animation:none!important;opacity:0!important}}