:root{--ec-ease:cubic-bezier(0.22,1,0.36,1);--ec-ease-std:cubic-bezier(0.2,0,0,1);--ec-ease-in:cubic-bezier(0.4,0,1,1);--ec-dur-press:110ms;--ec-dur-fast:170ms;--ec-dur-state:230ms;--ec-dur-panel:300ms;--ec-dur:600ms;--ec-dur-media:900ms;--ec-step:70ms;--ec-step-ui:40ms;--ec-distance:22px;--ec-shift:8px;--ec-ok:#16a34a;--ec-warn:#d97706;--ec-bad:#dc2626}@media (max-width:680px){:root{--ec-dur:460ms;--ec-dur-media:700ms;--ec-dur-panel:260ms;--ec-step:55ms;--ec-step-ui:30ms;--ec-distance:14px;--ec-shift:6px}}@keyframes ec-up{0%{opacity:0;translate:0 var(--ec-distance)}}@keyframes ec-up-live{0%{opacity:0;translate:0 var(--ec-distance)}}@keyframes ec-fade{0%{opacity:0}}@keyframes ec-left{0%{opacity:0;translate:calc(var(--ec-distance) * -1) 0}}@keyframes ec-right{0%{opacity:0;translate:var(--ec-distance) 0}}@keyframes ec-scale{0%{opacity:0;scale:.965}}@keyframes ec-media{0%{opacity:.35;scale:1.035}}@keyframes ec-float{to{translate:0 -6px}}@keyframes ec-parallax-exit{to{translate:0 var(--ec-parallax,36px)}}[data-intro-stagger=up],[data-intro=up],[data-reveal=up],[data-stagger=up]{--ec-name:ec-up}[data-intro-stagger=fade],[data-intro=fade],[data-reveal=fade],[data-stagger=fade]{--ec-name:ec-fade}[data-intro-stagger=left],[data-intro=left],[data-reveal=left],[data-stagger=left]{--ec-name:ec-left}[data-intro-stagger=right],[data-intro=right],[data-reveal=right],[data-stagger=right]{--ec-name:ec-right}[data-intro-stagger=scale],[data-intro=scale],[data-reveal=scale],[data-stagger=scale]{--ec-name:ec-scale}[data-intro-stagger=media],[data-intro=media],[data-reveal=media],[data-stagger=media]{--ec-name:ec-media}[data-intro-stagger]>:nth-child(2),[data-stagger]>:nth-child(2){--ec-i:1}[data-intro-stagger]>:nth-child(3),[data-stagger]>:nth-child(3){--ec-i:2}[data-intro-stagger]>:nth-child(4),[data-stagger]>:nth-child(4){--ec-i:3}[data-intro-stagger]>:nth-child(5),[data-stagger]>:nth-child(5){--ec-i:4}[data-intro-stagger]>:nth-child(6),[data-stagger]>:nth-child(6){--ec-i:5}[data-intro-stagger]>:nth-child(7),[data-stagger]>:nth-child(7){--ec-i:6}[data-intro-stagger]>:nth-child(n+8),[data-stagger]>:nth-child(n+8){--ec-i:7}[data-intro-stagger]>*,[data-intro]{animation-name:var(--ec-name,ec-up);animation-duration:var(--ec-dur);animation-timing-function:var(--ec-ease);animation-fill-mode:backwards;animation-delay:calc(var(--ec-delay, 0s) + var(--ec-i, 0) * var(--ec-step))}[data-intro]{animation-delay:var(--ec-delay,0s)}[data-intro=media]{animation-duration:var(--ec-dur-media)}.motion-ready [data-reveal]:not([data-revealed]),.motion-ready [data-stagger]:not([data-revealed])>*{opacity:0}.motion-ready [data-reveal]:not([data-revealed]):focus-within,.motion-ready [data-stagger]:not([data-revealed])>:focus-within{opacity:1}[data-reveal][data-revealed=anim]{animation-name:var(--ec-name,ec-up);animation-duration:var(--ec-dur);animation-timing-function:var(--ec-ease);animation-fill-mode:backwards;animation-delay:var(--ec-delay,0s)}[data-stagger][data-revealed=anim]>*{animation-name:var(--ec-name,ec-up);animation-duration:var(--ec-dur);animation-timing-function:var(--ec-ease);animation-fill-mode:backwards;animation-delay:calc(var(--ec-delay, 0s) + var(--ec-i, 0) * var(--ec-step))}[data-stagger-live]>*{animation:ec-up-live var(--ec-dur) var(--ec-ease) backwards;animation-delay:calc(var(--ec-i, 0) * var(--ec-step))}@media (min-width:1200px) and (hover:hover) and (prefers-reduced-motion:no-preference){[data-float]{animation:ec-float 6.5s ease-in-out infinite alternate}[data-float=late]{animation-delay:-3.2s}}@supports (animation-timeline:view()){@media (min-width:1200px) and (prefers-reduced-motion:no-preference){[data-parallax]{animation-name:var(--ec-name,ec-up),ec-parallax-exit;animation-duration:var(--ec-dur-media),auto;animation-timing-function:var(--ec-ease),linear;animation-fill-mode:backwards,both;animation-delay:var(--ec-delay,0s),0s;animation-timeline:auto,view();animation-range:normal,exit 0 exit 100%}}}.about .about-card,.about .about-feature{transition:translate .35s var(--ec-ease),box-shadow .35s var(--ec-ease)}.about .about-cta-secondary,.about .about-more,.about .btn{transition:transform .2s var(--ec-ease),box-shadow .25s var(--ec-ease),scale .15s var(--ec-ease)}.about .about-more svg,.about .btn svg{transition:translate .25s var(--ec-ease)}@media (hover:hover) and (pointer:fine){.about .about-card:hover,.about .about-feature:hover{translate:0 -4px;box-shadow:0 16px 34px rgba(55,25,140,.12)}.about .about-more:hover svg,.about .btn:hover svg{translate:3px 0}.about .btn.primary:hover{box-shadow:0 14px 30px rgba(108,43,217,.32)}}.about .about-more:active,.about .btn:active{scale:.98}html[data-theme=dark] .about .about-card:hover,html[data-theme=dark] .about .about-feature:hover{box-shadow:0 16px 34px rgba(0,0,0,.35)}.footer a{transition:color .2s ease}.organizer-auth-card,.recovery-box{--ec-dur:420ms;--ec-step:45ms}.auth-tabs button{transition:background-color .25s var(--ec-ease),color .25s var(--ec-ease),box-shadow .25s var(--ec-ease),scale .15s var(--ec-ease)}.auth-box form>.btn:active,.auth-tabs button:active,.recovery-actions .btn:active{scale:.98}.auth-box label>span{transition:border-color .2s ease,box-shadow .2s ease}.auth-box form>.btn svg,.recovery-actions .btn svg,.recovery-back a svg{transition:translate .25s var(--ec-ease)}@media (hover:hover) and (pointer:fine){.auth-tabs button:not(.active):hover{color:var(--text);background:color-mix(in srgb,var(--violet) 8%,transparent)}.auth-box form>.btn:hover svg,.recovery-actions .btn:hover svg{translate:3px 0}.recovery-back a:hover svg{translate:-3px 0}.organizer-auth-card{transition:box-shadow .35s var(--ec-ease)}}@media (prefers-reduced-motion:reduce){[data-float],[data-intro-stagger]>*,[data-intro],[data-parallax],[data-reveal],[data-stagger-live]>*,[data-stagger]>*{animation:none!important}.motion-ready [data-reveal]:not([data-revealed]),.motion-ready [data-stagger]:not([data-revealed])>*{opacity:1}.about .about-card,.about .about-feature,.about .about-more svg,.about .btn,.about .btn svg,.auth-box form>.btn svg,.auth-box label>span,.auth-tabs button,.recovery-actions .btn svg,.recovery-back a svg{transition:none}.auth-box form>.btn:active,.auth-tabs button:active,.recovery-actions .btn:active{scale:none}}@media print{.motion-ready [data-reveal],.motion-ready [data-stagger]>*{opacity:1!important;animation:none!important}}@keyframes ec-enter{0%{opacity:0;translate:0 var(--ec-shift)}}@keyframes ec-enter-down{0%{opacity:0;translate:0 calc(var(--ec-shift) * -1)}}@keyframes ec-pop{0%{opacity:0;scale:.96}}@keyframes ec-nudge{25%{translate:-4px 0}55%{translate:3px 0}80%{translate:-1px 0}}@keyframes ec-pulse{40%{scale:1.04}}@keyframes ec-ring{0%{opacity:.5;scale:.85}to{opacity:0;scale:1.7}}@keyframes ec-tick{0%{opacity:.3;translate:0 6px}}@keyframes ec-skeleton{50%{opacity:.45}}@keyframes ec-grow{0%{scale:0 1}}[data-enter-stagger]>*,[data-enter]{animation:ec-enter var(--ec-dur-panel) var(--ec-ease) backwards}[data-enter-stagger=down]>*,[data-enter=down]{animation-name:ec-enter-down}[data-enter-stagger=pop]>*,[data-enter=pop]{animation-name:ec-pop}[data-enter-stagger=fade]>*,[data-enter=fade]{animation-name:ec-fade}[data-enter]{animation-delay:var(--ec-delay,0s)}.catalog-grid>*,.data-row,.stat-cards>article,.wallet-view>*,[data-enter-stagger]>*{animation-delay:calc(var(--ec-delay, 0s) + var(--ec-i, 0) * var(--ec-step-ui))}:is([data-stagger],[data-intro-stagger],[data-stagger-live],[data-enter-stagger],.stat-cards,.catalog-grid,.wallet-view,.data-card)>:first-child{--ec-i:0}:is([data-enter-stagger],.stat-cards,.catalog-grid,.wallet-view,.data-card)>:nth-child(2){--ec-i:1}:is([data-enter-stagger],.stat-cards,.catalog-grid,.wallet-view,.data-card)>:nth-child(3){--ec-i:2}:is([data-enter-stagger],.stat-cards,.catalog-grid,.wallet-view,.data-card)>:nth-child(4){--ec-i:3}:is([data-enter-stagger],.stat-cards,.catalog-grid,.wallet-view,.data-card)>:nth-child(5){--ec-i:4}:is([data-enter-stagger],.stat-cards,.catalog-grid,.wallet-view,.data-card)>:nth-child(6){--ec-i:5}:is([data-enter-stagger],.stat-cards,.catalog-grid,.wallet-view,.data-card)>:nth-child(7){--ec-i:6}:is([data-enter-stagger],.stat-cards,.catalog-grid,.wallet-view,.data-card)>:nth-child(n+8){--ec-i:7}.app-content,.catalog-grid>*,.data-card,.data-row,.empty-state,.flow-card,.stat-cards>article,.success-state,.wallet-view>*{animation-name:ec-enter;animation-duration:var(--ec-dur-panel);animation-timing-function:var(--ec-ease);animation-fill-mode:backwards}.empty-state>svg,.success-state>svg{animation:ec-pop .38s var(--ec-ease) 90ms backwards}.form-error,[role=alert]{animation:ec-enter-down var(--ec-dur-state) var(--ec-ease) backwards}[role=status]{animation:ec-fade var(--ec-dur-state) var(--ec-ease) backwards}.status{animation:ec-pop var(--ec-dur-state) var(--ec-ease) backwards;transition:background-color var(--ec-dur-state) var(--ec-ease-std),color var(--ec-dur-state) var(--ec-ease-std)}.btn{transition:transform var(--ec-dur-fast) var(--ec-ease),scale var(--ec-dur-press) var(--ec-ease-std),box-shadow var(--ec-dur-fast) var(--ec-ease),background-color var(--ec-dur-fast) var(--ec-ease-std),border-color var(--ec-dur-fast) var(--ec-ease-std),color var(--ec-dur-fast) var(--ec-ease-std),opacity var(--ec-dur-fast) var(--ec-ease-std)}.app-top button:active,.btn:active,.choice-grid button:active,.icon-button:active,.lang button:active,.mobile-menu:active{scale:.97}.btn:disabled,.btn[aria-disabled=true]{opacity:.6;cursor:not-allowed;transform:none}.btn[aria-busy=true]{opacity:.85;cursor:progress}.btn[aria-busy=true]:before{content:"";width:14px;height:14px;flex:none;border-radius:50%;border:2px solid;border-top:2px solid transparent;animation:spin .7s linear infinite}.app-top button,.icon-button,.lang button,.mobile-menu,.mobile-nav a,.side-admin a,.side-foot a,.side-foot button,.sidebar nav a{transition:background-color var(--ec-dur-fast) var(--ec-ease-std),color var(--ec-dur-fast) var(--ec-ease-std),scale var(--ec-dur-press) var(--ec-ease-std)}.icon-button svg,.mobile-menu svg{animation:ec-pop var(--ec-dur-state) var(--ec-ease) backwards}body{transition:background-color var(--ec-dur-state) var(--ec-ease-std),color var(--ec-dur-state) var(--ec-ease-std)}.mobile-nav a:active{scale:.94}.choice-grid button{transition:border-color var(--ec-dur-fast) var(--ec-ease-std),background-color var(--ec-dur-fast) var(--ec-ease-std),box-shadow var(--ec-dur-fast) var(--ec-ease),translate var(--ec-dur-fast) var(--ec-ease),scale var(--ec-dur-press) var(--ec-ease-std)}.choice-grid button.selected{box-shadow:0 8px 22px color-mix(in srgb,var(--violet) 16%,transparent)}.choice-grid button.selected svg{animation:ec-pulse .38s var(--ec-ease-std)}.catalog-head label,.filterbar label,.filterbar select,.textarea-wrap,:is(.app-content,.wizard,.flow-card,.catalog,.data-card) :is(input:not([type=checkbox],[type=radio],[type=file]),select,textarea){transition:border-color var(--ec-dur-fast) var(--ec-ease-std),box-shadow var(--ec-dur-fast) var(--ec-ease-std),background-color var(--ec-dur-fast) var(--ec-ease-std)}.filterbar select:focus-visible,:is(.app-content,.wizard,.flow-card,.data-card) :is(input:not([type=checkbox],[type=radio],[type=file]),select,textarea):focus-visible{outline:none;border-color:var(--violet);box-shadow:0 0 0 3px color-mix(in srgb,var(--violet) 20%,transparent)}.catalog-head label:focus-within,.filterbar label:focus-within{border-color:var(--violet);box-shadow:0 0 0 3px color-mix(in srgb,var(--violet) 18%,transparent)}[aria-invalid=true]{animation:ec-nudge .34s var(--ec-ease-std)}.auth-box label>span:has([aria-invalid=true]){border-color:var(--ec-bad);animation:ec-nudge .34s var(--ec-ease-std)}.auth-box label>span [aria-invalid=true]{animation:none}.event-card{transition:translate var(--ec-dur-panel) var(--ec-ease),box-shadow var(--ec-dur-panel) var(--ec-ease),border-color var(--ec-dur-fast) var(--ec-ease-std)}.event-card h3{transition:color var(--ec-dur-fast) var(--ec-ease-std)}@media (hover:hover) and (pointer:fine){.event-card:hover{translate:0 -4px;box-shadow:0 18px 38px rgba(55,25,140,.14);border-color:color-mix(in srgb,var(--violet) 30%,var(--line))}.event-card:hover h3{color:var(--violet)}.choice-grid button:not(.selected):hover{border-color:color-mix(in srgb,var(--violet) 45%,var(--line));translate:0 -2px}.side-admin a:hover,.side-foot a:hover,.side-foot button:hover,.sidebar nav a:hover{background:color-mix(in srgb,var(--violet) 9%,transparent)}html[data-theme=dark] .event-card:hover{box-shadow:0 18px 38px rgba(0,0,0,.4)}}.event-card:focus-within{border-color:color-mix(in srgb,var(--violet) 45%,var(--line))}[data-updating]{transition:opacity var(--ec-dur-state) var(--ec-ease-std)}[data-updating=true]{opacity:.5}.ec-skel{display:block;min-height:12px;border-radius:10px;background:color-mix(in srgb,var(--muted) 16%,var(--surface-2));animation:ec-skeleton 1.4s ease-in-out infinite}.ec-skel-card,.ec-skel-group{display:grid;gap:10px}.ec-skel-card{padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.ec-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}[data-tick]{display:inline-block;animation:ec-tick var(--ec-dur-state) var(--ec-ease) backwards;transition:color .4s var(--ec-ease-std)}[data-tick=up]{color:var(--ec-ok)}[data-tick=down]{color:var(--ec-warn)}.quota i em{transform-origin:left center;animation:ec-grow .7s var(--ec-ease) .12s backwards}.admin-banner{animation:ec-enter var(--ec-dur-panel) var(--ec-ease) backwards}.ec-result{--ec-tone:var(--violet);position:relative;display:flex;align-items:center;gap:14px;margin:14px 0;padding:16px 18px;border-radius:18px;border:2px solid var(--ec-tone);background:color-mix(in srgb,var(--ec-tone) 10%,var(--surface));color:var(--text);animation:ec-pop .2s var(--ec-ease) backwards}.ec-result.ok{--ec-tone:var(--ec-ok)}.ec-result.warn{--ec-tone:var(--ec-warn)}.ec-result.bad{--ec-tone:var(--ec-bad)}.ec-result-icon{position:relative;flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--ec-tone);color:#fff}.ec-result-icon svg{width:26px;height:26px}.ec-result.ok .ec-result-icon{animation:ec-pulse .42s var(--ec-ease-std) 80ms}.ec-result.ok .ec-result-icon:after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--ec-tone);opacity:0;animation:ec-ring .62s var(--ec-ease) 60ms}.ec-result.bad{animation:ec-pop .2s var(--ec-ease) backwards,ec-nudge .34s var(--ec-ease-std) .12s}.ec-result b{display:block;font-size:17px;line-height:1.25}.ec-result small{color:var(--muted)}[role=dialog]{animation:ec-fade var(--ec-dur-state) var(--ec-ease-std) backwards}[role=dialog]>*{animation:ec-pop var(--ec-dur-panel) var(--ec-ease) backwards}@media (max-width:760px){.nav.open{transform-origin:top center;animation:ec-enter-down var(--ec-dur-state) var(--ec-ease) backwards}.nav.open>*{animation:ec-fade var(--ec-dur-state) var(--ec-ease) backwards;animation-delay:60ms}}@media (max-width:900px){.sidebar{left:0;translate:-270px 0;visibility:hidden;transition:translate var(--ec-dur-panel) var(--ec-ease),box-shadow var(--ec-dur-panel) var(--ec-ease),visibility 0s linear var(--ec-dur-panel)}.sidebar.open{left:0;translate:0 0;visibility:visible;transition:translate var(--ec-dur-panel) var(--ec-ease),box-shadow var(--ec-dur-panel) var(--ec-ease),visibility 0s}}.advice-list>*,.credit-summary,.flow-card>:not(.flow-progress),.payment-instructions,.pwa-bar{animation:ec-enter var(--ec-dur-panel) var(--ec-ease) backwards}:is(.app-content,.wizard,.flow-card,.data-card,.auth-box) :is(input,select,textarea)[aria-invalid=true]{border-color:var(--ec-bad)}.flow-progress i{transition:background-color var(--ec-dur-panel) var(--ec-ease-std),color var(--ec-dur-panel) var(--ec-ease-std),scale var(--ec-dur-state) var(--ec-ease)}.flow-progress i.done{scale:1.06}.detail-cover img,.event-image>img{transition:transform .5s var(--ec-ease),opacity var(--ec-dur-panel) var(--ec-ease-std)}[data-flash=success]{animation:ec-pulse .42s var(--ec-ease-std)}[data-flash=error]{animation:ec-nudge .34s var(--ec-ease-std)}[data-flash=enter]{animation:ec-pop var(--ec-dur-state) var(--ec-ease) backwards}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important}.btn[aria-busy=true]:before,.spinner{animation-duration:1s!important;animation-iteration-count:infinite!important}.ec-skel{animation:none!important}.app-top button:active,.btn:active,.choice-grid button:active,.flow-progress i.done,.icon-button:active,.lang button:active,.mobile-menu:active,.mobile-nav a:active{scale:none}.choice-grid button:hover,.event-card:hover{translate:none}}