:root{--bg:#0f1115;--bg-soft:#1a1d24;--bg-card:#232732;--border:#2e3340;--text:#f3f4f6;--text-muted:#9aa3b2;--primary:#ff6b6b;--primary-soft:#ff6b6b22;--link:#6cc1ff;--success:#2a9d8f;--warning:#f4a261;--danger:#e63946;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,sans-serif}*{box-sizing:border-box}html,body,#app{background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;margin:0;overflow-x:hidden}html,body{min-height:100%}#app{min-height:100dvh}body{font-size:15px;line-height:1.5}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;cursor:pointer;background:var(--bg-card);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:.5rem .9rem;transition:background .15s}button:hover{background:var(--bg-soft)}button.primary{background:var(--primary);color:#fff;border-color:var(--primary)}button.primary:hover{background:#ff5252}button:disabled{opacity:.5;cursor:not-allowed}input:not([type=checkbox]):not([type=radio]),select,textarea{font:inherit;background:var(--bg-card);color:var(--text);border:1px solid var(--border);border-radius:6px;width:100%;padding:.5rem .7rem}input:focus,select:focus,textarea:focus{border-color:var(--primary);outline:none}input[type=checkbox],input[type=radio]{accent-color:var(--primary);cursor:pointer}label{color:var(--text-muted);margin-bottom:.25rem;font-size:.85rem;display:block}.form-row{margin-bottom:.9rem}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:1rem}.muted{color:var(--text-muted)}.error{color:var(--danger)}.action-pill{background:var(--bg-soft);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;font-size:.82rem;line-height:1.2;font:inherit;border-radius:999px;align-items:center;gap:.35rem;width:auto;padding:.35rem .7rem;text-decoration:none;transition:border-color .12s,color .12s,background .12s;display:inline-flex}.action-pill:hover{border-color:var(--primary);color:var(--text);text-decoration:none}.action-pill[disabled]{opacity:.5;cursor:wait}.action-pill.active{border-color:var(--success);color:var(--success)}.action-pill .icon-sm{font-size:1rem;line-height:1}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.app-shell>main{padding-bottom:env(safe-area-inset-bottom,0);flex:1}.topbar{background:var(--topbar-bg,var(--bg-soft));color:var(--topbar-text,var(--text));border-bottom:1px solid var(--topbar-border,var(--border));z-index:5;padding-top:env(safe-area-inset-top,0);position:sticky;top:0}.topbar-row{align-items:center;gap:.5rem;min-width:0;max-width:100%;padding:.5rem .8rem;display:flex}.topbar-row>*{min-width:0}.topbar-row .grow{flex:1 1 0;min-width:0}.brand{color:inherit;border-radius:5px;padding:.2rem .3rem;font-size:1.3rem;text-decoration:none}.brand:hover{background:var(--topbar-hover,var(--bg-card));text-decoration:none}.hamburger{border:1px solid var(--topbar-border,var(--border));cursor:pointer;background:0 0;border-radius:6px;flex-direction:column;gap:4px;padding:.4rem .5rem;display:inline-flex}.hamburger span{background:var(--topbar-text,var(--text));border-radius:1px;width:18px;height:2px;display:block}.icon-btn{border:1px solid var(--topbar-border,var(--border));cursor:pointer;color:var(--topbar-text,var(--text));background:0 0;border-radius:6px;padding:.3rem .55rem}.icon-btn:hover{background:var(--topbar-hover,var(--bg-card))}.icon-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.offline-disabled{filter:grayscale()brightness(.7);opacity:.3!important;cursor:not-allowed!important;pointer-events:none!important}.festival-nav{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:.2rem;padding:0 .4rem .4rem;display:flex;overflow-x:auto}.festival-nav::-webkit-scrollbar{display:none}.festival-nav a{color:var(--topbar-muted,var(--text-muted));white-space:nowrap;border-radius:999px;padding:.35rem .7rem;font-size:.9rem}.festival-nav a:hover{color:var(--topbar-text,var(--text));text-decoration:none}.festival-nav a.router-link-exact-active{color:#fff;background:var(--primary);text-decoration:none}@media (orientation:landscape) and (height<=500px){.topbar{padding-top:0}.topbar-row{padding:.3rem .6rem}.topbar-row .grow{display:none}.festival-nav{flex:1 1 0;margin-left:.3rem;padding:0}.festival-nav a{padding:.2rem .55rem;font-size:.82rem}.topbar{flex-direction:row;align-items:center;display:flex}.topbar>.topbar-row{flex:none}.topbar>.festival-nav{flex:1 1 0;min-width:0}}.drawer-backdrop{z-index:2000;background:#00000080;justify-content:flex-start;display:flex;position:fixed;inset:0}.drawer{background:var(--bg-soft);border-right:1px solid var(--border);width:min(86vw,320px);height:100%;padding:1rem .8rem;padding-top:calc(1rem + env(safe-area-inset-top,0));flex-direction:column;gap:.1rem;display:flex;overflow-y:auto}.drawer a{color:var(--text);border-radius:6px;padding:.6rem .7rem;font-size:.95rem;text-decoration:none}.drawer a:hover{background:var(--bg-card);text-decoration:none}.drawer a.router-link-exact-active{background:var(--primary-soft);color:var(--text)}.drawer hr{border:0;border-top:1px solid var(--border);margin:.5rem 0}.drawer-user{padding:.4rem .7rem}.drawer-section{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;padding:.4rem .7rem;font-size:.75rem}.drawer .with-badge{justify-content:space-between;align-items:center;display:flex}.drawer .badge{background:var(--primary);color:#fff;border-radius:999px;flex:none;justify-content:center;align-items:center;min-width:1.5rem;height:1.2rem;padding:0 .4rem;font-size:.72rem;font-weight:600;display:inline-flex}.drawer-logout{background:var(--bg-card);border:1px solid var(--border);color:var(--danger);cursor:pointer;font:inherit;border-radius:6px;margin-top:.4rem;padding:.6rem}.drawer-offline{background:var(--bg-card);border:1px solid var(--border);color:var(--text);cursor:pointer;font:inherit;text-align:left;border-radius:6px;margin-top:.4rem;padding:.6rem}.drawer-offline.active{background:var(--primary);border-color:var(--primary);color:#fff}.lang-switch{align-items:center;gap:.3rem;margin:.4rem 0;display:flex}.lang-switch button{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;border-radius:4px;padding:.2rem .5rem;font-size:.78rem}.lang-switch button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.drawer-login{background:var(--primary);text-align:center;border-radius:6px;margin-top:.4rem;padding:.6rem;color:#fff!important}.drawer-login+.drawer-login{background:var(--bg-card);border:1px solid var(--border);color:var(--text)!important}.login-link{background:var(--primary);border-radius:6px;padding:.4rem .7rem;font-size:.85rem;text-decoration:none;color:#fff!important}.badge-admin{background:var(--primary);color:#fff;border-radius:999px;margin-top:.3rem;padding:.05rem .4rem;font-size:.65rem;display:inline-block}.page{box-sizing:border-box;width:100%;max-width:1080px;margin:0 auto;padding:.8rem}@media (width>=640px){.page{padding:1rem}}.chip{background:var(--bg-card);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;padding:.15rem .55rem;font-size:.78rem;display:inline-block}.chip:hover{color:var(--text)}.chip.active{background:var(--primary);color:#fff;border-color:var(--primary)}.bottom-tabs{z-index:50;background:var(--topbar-bg,var(--bg-soft));border-top:1px solid var(--topbar-border,var(--border));padding-bottom:env(safe-area-inset-bottom,0);justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-tabs .tab{max-width:7rem;color:var(--topbar-muted,var(--text-muted));flex-direction:column;flex:1 1 0;align-items:center;gap:2px;padding:.45rem 0 .5rem;font-size:.68rem;text-decoration:none;display:flex}.bottom-tabs .tab-icon{opacity:.8;font-size:1.3rem;line-height:1}.bottom-tabs .tab-label{white-space:nowrap}.bottom-tabs .tab.active{color:var(--topbar-active,var(--primary))}.bottom-tabs .tab.active .tab-icon{opacity:1;transform:translateY(-1px)}.bottom-tabs .tab.active .tab-label{font-weight:600}.app-shell:has(.bottom-tabs)>main{padding-bottom:calc(62px + env(safe-area-inset-bottom,0))}.sheet-backdrop{z-index:100;background:#00000080;justify-content:center;align-items:flex-end;animation:.15s sheet-fade;display:flex;position:fixed;inset:0}.sheet{background:var(--bg-card);border:1px solid var(--border);width:100%;max-width:520px;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom,0));border-bottom:none;border-radius:18px 18px 0 0;max-height:85vh;animation:.2s cubic-bezier(.22,1,.36,1) sheet-up;overflow:auto;box-shadow:0 -8px 30px #00000059}.sheet:before{content:"";background:var(--border);border-radius:2px;width:38px;height:4px;margin:-.2rem auto .7rem;display:block}@keyframes sheet-fade{0%{opacity:0}to{opacity:1}}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.seg-toggle{border:1px solid var(--border);background:var(--bg-soft);border-radius:10px;gap:0;margin:0 0 .8rem;display:inline-flex;overflow:hidden}.seg-toggle .seg{color:var(--text-muted);padding:.4rem .9rem;font-size:.88rem;font-weight:600;text-decoration:none}.seg-toggle .seg:hover{color:var(--text);text-decoration:none}.seg-toggle .seg.active{background:var(--primary);color:#fff}@font-face{font-family:Bebas Neue;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bebas-neue-latin-400-normal-9mHNbWWO.woff2)format("woff2"),url(/assets/bebas-neue-latin-400-normal-Bi-ndsyu.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-400-normal-r8SDr6Up.woff2)format("woff2"),url(/assets/nunito-latin-400-normal-DKg4f3fz.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-700-normal-Dort48En.woff2)format("woff2"),url(/assets/nunito-latin-700-normal-OcDqTBcA.woff)format("woff")}@font-face{font-family:Roboto Slab;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/roboto-slab-latin-400-normal-DwurWVj7.woff2)format("woff2"),url(/assets/roboto-slab-latin-400-normal-wzK1bUc4.woff)format("woff")}@font-face{font-family:Roboto Slab;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/roboto-slab-latin-700-normal-WCCj9XVQ.woff2)format("woff2"),url(/assets/roboto-slab-latin-700-normal-ThI0IOtl.woff)format("woff")}@font-face{font-family:Orbitron;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/orbitron-latin-400-normal-U6xZUhur.woff2)format("woff2"),url(/assets/orbitron-latin-400-normal-DBk4Dmer.woff)format("woff")}@font-face{font-family:Orbitron;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/orbitron-latin-700-normal-4jsRXGGJ.woff2)format("woff2"),url(/assets/orbitron-latin-700-normal-DmYOh-W9.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-400-normal-B-1hWBU7.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-400-normal-B7YtguxJ.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cormorant-garamond-latin-700-normal-DajfzrDU.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-700-normal-O25Qpphb.woff)format("woff")}body{font-family:var(--font-body,inherit)}h1,h2,h3,h4{font-family:var(--font-heading,inherit);letter-spacing:var(--heading-letter-spacing,normal);text-transform:var(--heading-text-transform,none)}.card{border-radius:var(--radius,8px)}.card,.stat,.hero,.nav-card,.queue-card,.recap-card,.festival-card,.festival-row,.seeder,.row,.provider-card,.active-job,.attendance,.spotify-hint,.auth-modal,.sheet,.filter-bar .chip,.day-chips .chip,.tip,.pagination .page-btn,.artist-card,.loc-card,.block,.block-link,.artist-link,.link-btn,.action-pill,.card h1,.card h2,.card h3,.card h4,.hero h1,.hero h2,.nav-card strong,.stat strong,.stat span,.recap-card .big{color:var(--text)!important}.card .muted,.nav-card .muted,.stat .muted,.recap-card .muted,.festival-card .muted,.row .muted{color:var(--text-muted)!important}.u-stack{flex-direction:column;gap:.6rem;display:flex}.u-stack-sm{flex-direction:column;gap:.3rem;display:flex}.u-stack-lg{flex-direction:column;gap:1rem;display:flex}.u-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.u-row-tight{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.u-page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.u-field{flex-direction:column;gap:.2rem;margin-top:.6rem;display:flex}.u-field label,.u-muted-sm{color:var(--text-muted);font-size:.85rem}.u-muted-xs{color:var(--text-muted);font-size:.78rem}.u-chip-row{flex-wrap:wrap;gap:.3rem;display:flex}.u-toolbar{flex-wrap:wrap;align-items:center;gap:.6rem;margin:.4rem 0 1rem;display:flex}.u-flex-grow{flex:1;min-width:0}.cookie-banner[data-v-eb995ed9]{z-index:1000;background:var(--bg-soft);border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:1rem;padding:.8rem 1rem;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 14px #0003}.text[data-v-eb995ed9]{flex:1;min-width:240px}.text p[data-v-eb995ed9]{color:var(--text-muted);margin:.2rem 0 0;font-size:.82rem;line-height:1.45}.actions[data-v-eb995ed9]{flex-wrap:wrap;gap:.5rem;display:flex}.actions button[data-v-eb995ed9]{padding:.4rem .9rem;font-size:.85rem}.actions .ghost[data-v-eb995ed9]{color:var(--text-muted);border:1px solid var(--border);background:0 0}@media (width<=500px){.cookie-banner[data-v-eb995ed9]{flex-direction:column;align-items:stretch}.actions[data-v-eb995ed9]{justify-content:flex-end}}.oauth-logo[data-v-102294d5],.oauth-logo[data-v-37381dbd]{flex:none}.apple-logo[data-v-37381dbd]{color:#fff;margin-top:-2px}.oauth-logo[data-v-fb84ab37]{flex:none}.github-logo[data-v-fb84ab37]{color:#fff}.auth-form[data-v-2b99e7cf]{flex-direction:column;gap:.75rem;display:flex}.auth-title[data-v-2b99e7cf]{margin:0 0 .25rem;font-size:1.15rem}.form-row[data-v-2b99e7cf]{flex-direction:column;gap:.25rem;display:flex}.form-row label[data-v-2b99e7cf]{color:var(--text-muted);font-size:.85rem}.actions-row[data-v-2b99e7cf]{align-items:center;gap:.75rem;margin-top:.25rem;display:flex}.link-btn[data-v-2b99e7cf]{color:var(--primary);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.link-btn[data-v-2b99e7cf]:hover{opacity:.85}.link-btn[data-v-2b99e7cf]:disabled{opacity:.55;cursor:default}.muted[data-v-2b99e7cf]{color:var(--text-muted);margin-left:.3rem;font-size:.8rem;font-weight:400}.verify-prompt[data-v-2b99e7cf]{background:var(--bg-soft);border-left:3px solid var(--primary);border-radius:4px;padding:.6rem .75rem;font-size:.9rem}.oauth[data-v-2b99e7cf]{margin-top:.6rem}.divider[data-v-2b99e7cf]{color:var(--text-muted);align-items:center;gap:.6rem;margin:0 0 .75rem;font-size:.78rem;display:flex}.divider[data-v-2b99e7cf]:before,.divider[data-v-2b99e7cf]:after{content:"";background:var(--border);flex:1;height:1px}.oauth-stack[data-v-2b99e7cf]{flex-direction:column;align-items:center;gap:.55rem;display:flex}.oauth-btn[data-v-2b99e7cf]{color:#fff;letter-spacing:.005em;cursor:pointer;background:#131314;border:1px solid #131314;border-radius:4px;justify-content:center;align-items:center;gap:.55rem;width:260px;height:40px;padding:0 1rem;font:500 14px/1 Google Sans,Roboto,-apple-system,BlinkMacSystemFont,Helvetica Neue,Arial,sans-serif;transition:background .15s,box-shadow .15s,border-color .15s;display:inline-flex}.oauth-btn[data-v-2b99e7cf]:hover:not(:disabled){background:#2a2a2c;border-color:#2a2a2c;box-shadow:0 1px 2px #00000059}.oauth-btn[data-v-2b99e7cf]:active:not(:disabled){background:#1f1f21}.oauth-btn[data-v-2b99e7cf]:disabled{opacity:.55;cursor:default}.oauth-label[data-v-2b99e7cf]{white-space:nowrap}.auth-modal-backdrop[data-v-a4889879]{z-index:1000;background:#0000008c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.auth-modal[data-v-a4889879]{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;width:100%;max-width:420px;max-height:calc(100vh - 2rem);padding:1.4rem 1.4rem 1.2rem;position:relative;overflow-y:auto;box-shadow:0 12px 40px #00000080}.close-btn[data-v-a4889879]{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem .5rem;font-size:1.6rem;line-height:1;position:absolute;top:.5rem;right:.6rem}.close-btn[data-v-a4889879]:hover{color:var(--text);background:var(--bg-soft)}.fest-search[data-v-86939af5]{border:1px solid var(--border);background:var(--bg-soft);width:100%;color:var(--text);font:inherit;border-radius:8px;margin-bottom:.6rem;padding:.55rem .7rem}.fest-list[data-v-86939af5]{flex-direction:column;gap:.25rem;max-height:55vh;display:flex;overflow:auto}.empty-hint[data-v-86939af5]{padding:.6rem .2rem;font-size:.88rem}.fest-row[data-v-86939af5]{text-align:left;border:1px solid var(--border);background:var(--bg-soft);cursor:pointer;border-radius:8px;align-items:center;gap:.5rem;width:100%;padding:.6rem .7rem;display:flex}.fest-row.current[data-v-86939af5]{border-color:var(--primary)}.fest-row.past[data-v-86939af5]{opacity:.6}.fest-row-main[data-v-86939af5]{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.fest-name[data-v-86939af5]{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.fest-dates[data-v-86939af5]{font-size:.78rem}.fest-check[data-v-86939af5]{color:var(--primary);flex-shrink:0}.star-toggle[data-v-86939af5]{cursor:pointer;color:var(--text-muted);background:0 0;border:none;flex-shrink:0;padding:0 .2rem;font-size:1.3rem;line-height:1}.star-toggle.marked[data-v-86939af5]{color:gold}.star-toggle[data-v-86939af5]:hover{color:var(--primary);background:0 0}.action[data-v-86939af5]{color:var(--primary);margin-top:.8rem;text-decoration:none;display:inline-block}.prof-head[data-v-7b5c0e75]{border-bottom:1px solid var(--border);align-items:center;gap:.7rem;margin-bottom:.5rem;padding-bottom:.7rem;display:flex}.prof-avatar[data-v-7b5c0e75]{background:var(--primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.2rem;font-weight:700;display:flex}.prof-row[data-v-7b5c0e75]{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;width:100%;padding:.7rem .6rem;font-size:.95rem;display:block}.prof-row[data-v-7b5c0e75]:hover{background:var(--bg-soft)}.prof-row.primary[data-v-7b5c0e75]{background:var(--primary);color:#fff;text-align:center;margin:.3rem 0}.prof-row.danger[data-v-7b5c0e75]{color:#f87171}.lang-switch[data-v-7b5c0e75]{align-items:center;gap:.4rem;padding:.6rem .2rem;display:flex}.lang-switch button[data-v-7b5c0e75]{padding:.2rem .6rem}.lang-switch button.active[data-v-7b5c0e75]{background:var(--primary);color:#fff;border-color:var(--primary)}.badge-admin[data-v-7b5c0e75]{background:var(--primary);color:#fff;border-radius:4px;padding:.05rem .4rem;font-size:.65rem}.fest-switch[data-v-e0842e59]{max-width:60vw;color:var(--topbar-text,var(--text));cursor:pointer;background:0 0;border:none;align-items:center;gap:.3rem;padding:.2rem .3rem;font-size:1.05rem;font-weight:700;display:inline-flex}.fest-switch-name[data-v-e0842e59]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fest-switch-caret[data-v-e0842e59]{opacity:.7;font-size:.8rem}.avatar-btn span[data-v-e0842e59]{font-weight:700}.loc-warn[data-v-e0842e59]{color:#f0b429;background:#b9770022;border-bottom:1px solid #b9770055;flex-wrap:wrap;align-items:center;gap:.6rem;margin:0;padding:.55rem .9rem;font-size:.85rem;display:flex}.loc-warn span[data-v-e0842e59]{flex:1;min-width:12rem}.loc-warn-retry[data-v-e0842e59]{color:#1b1b1f;cursor:pointer;background:#f0b429;border:none;border-radius:6px;padding:.2rem .6rem;font-size:.8rem}.loc-warn-close[data-v-e0842e59]{color:inherit;cursor:pointer;background:0 0;border:none;font-size:1.1rem;line-height:1}
