*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{text-align:left;background:var(--color-bg,#0d0d1a)}input,textarea,select,button{font-family:inherit}.fatal-error{min-height:100vh;color:var(--color-text,#e8e8f0);text-align:center;place-content:center;gap:.85rem;padding:2rem;display:grid}.fatal-error p{color:var(--color-muted,#9090c0)}.fatal-error button{color:#fff;cursor:pointer;background:#6d4aff;border:0;border-radius:.75rem;justify-self:center;min-height:2.75rem;padding:.65rem 1rem;font-weight:700}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#0d0d1a;--color-header-bg:#0d0d1ae6;--color-grid:#ffffff05;--color-login-grid:#ffffff06;--color-surface:#14142b;--color-menu:#181830;--color-surface-muted:#ffffff0a;--color-panel:#ffffff09;--color-control-bg:#ffffff0d;--color-input-bg:#ffffff0f;--color-toggle-off:#ffffff14;--color-border-soft:#ffffff12;--color-border-muted:#ffffff14;--color-border:#ffffff1a;--color-border-strong:#ffffff1f;--color-toggle-border:#ffffff24;--color-text:#e8e8f0;--color-muted:#9090c0;--color-subtle:#6b6b9a;--color-faint:#4a4a6a;--color-accent-soft:#c4b5fd;--color-accent-primary:#7c3aed;--color-accent-secondary:#2563eb;--color-accent-primary-rgb:124,58,237;--color-accent-secondary-rgb:37,99,235;--color-accent-active-bg:rgba(var(--color-accent-primary-rgb),.7);--color-accent-bg:rgba(var(--color-accent-primary-rgb),.12);--color-accent-bg-strong:rgba(var(--color-accent-primary-rgb),.18);--color-accent-border:rgba(var(--color-accent-primary-rgb),.4);--color-accent-border-soft:rgba(var(--color-accent-primary-rgb),.28);--gradient-accent:linear-gradient(135deg, var(--color-accent-primary), var(--color-accent-secondary));--gradient-accent-soft:linear-gradient(135deg, rgba(var(--color-accent-primary-rgb),.13), rgba(var(--color-accent-secondary-rgb),.13));--color-modal-overlay:#000000b3;--color-modal-overlay-strong:#000000b8;--shadow-menu:0 16px 40px #00000059;--shadow-modal:0 20px 70px #00000073;--shadow-card:none}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#eef1f7;--color-header-bg:#fffffff0;--color-grid:#4f46e512;--color-login-grid:#4f46e512;--color-surface:#fff;--color-menu:#fff;--color-surface-muted:#fff;--color-panel:#f7f8fd;--color-control-bg:#e5e8f3;--color-input-bg:#fff;--color-toggle-off:#1e293b1f;--color-border-soft:#1e293b29;--color-border-muted:#1e293b33;--color-border:#1e293b3d;--color-border-strong:#1e293b4d;--color-toggle-border:#1e293b47;--color-text:#101426;--color-muted:#4d5275;--color-subtle:#626987;--color-faint:#8b91aa;--color-accent-soft:#5538d6;--color-accent-primary:#7c3aed;--color-accent-secondary:#2563eb;--color-accent-primary-rgb:124,58,237;--color-accent-secondary-rgb:37,99,235;--color-accent-active-bg:rgba(var(--color-accent-primary-rgb),.7);--color-accent-bg:rgba(var(--color-accent-primary-rgb),.1);--color-accent-bg-strong:rgba(var(--color-accent-primary-rgb),.16);--color-accent-border:rgba(var(--color-accent-primary-rgb),.42);--color-accent-border-soft:rgba(var(--color-accent-primary-rgb),.3);--gradient-accent:linear-gradient(135deg, var(--color-accent-primary), var(--color-accent-secondary));--gradient-accent-soft:linear-gradient(135deg, rgba(var(--color-accent-primary-rgb),.12), rgba(var(--color-accent-secondary-rgb),.12));--color-modal-overlay:#0f172a6b;--color-modal-overlay-strong:#0f172a80;--shadow-menu:0 18px 42px #1e293b33;--shadow-modal:0 24px 80px #1e293b3d;--shadow-card:0 10px 30px #1e293b14}[data-accent=blue]{--color-accent-soft:#93c5fd;--color-accent-primary:#2563eb;--color-accent-secondary:#0284c7;--color-accent-primary-rgb:37,99,235;--color-accent-secondary-rgb:2,132,199}[data-theme=light][data-accent=blue]{--color-accent-soft:#1d4ed8}[data-accent=teal]{--color-accent-soft:#5eead4;--color-accent-primary:#0d9488;--color-accent-secondary:#0891b2;--color-accent-primary-rgb:13,148,136;--color-accent-secondary-rgb:8,145,178}[data-theme=light][data-accent=teal]{--color-accent-soft:#0f766e}[data-accent=orange]{--color-accent-soft:#fdba74;--color-accent-primary:#ea580c;--color-accent-secondary:#d97706;--color-accent-primary-rgb:234,88,12;--color-accent-secondary-rgb:217,119,6}[data-theme=light][data-accent=orange]{--color-accent-soft:#c2410c}[data-accent=pink]{--color-accent-soft:#f9a8d4;--color-accent-primary:#db2777;--color-accent-secondary:#9333ea;--color-accent-primary-rgb:219,39,119;--color-accent-secondary-rgb:147,51,234}[data-theme=light][data-accent=pink]{--color-accent-soft:#be185d}[data-accent=gray]{--color-accent-soft:#cbd5e1;--color-accent-primary:#64748b;--color-accent-secondary:#475569;--color-accent-primary-rgb:100,116,139;--color-accent-secondary-rgb:71,85,105}[data-theme=light][data-accent=gray]{--color-accent-soft:#475569}.modal-overlay{overscroll-behavior:none;overflow:hidden}.modal-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}button:focus-visible,[role=slider]:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--color-accent-soft);outline-offset:2px}.inline-loader{border:2px solid var(--color-border-strong);border-top-color:var(--color-accent-soft);border-radius:50%;flex:none;width:13px;height:13px;animation:.7s linear infinite inline-loader-spin}.app-header-inner{border-bottom:1px solid var(--color-border-soft)}.app-main{padding-top:18px!important}.beta-banner-inner{border:1px solid var(--color-border-soft);background:color-mix(in srgb, var(--color-surface-muted) 72%, transparent);max-width:752px;min-height:34px;color:var(--color-muted);text-align:center;border-radius:11px;justify-content:center;align-items:center;gap:8px;margin:6px auto 0;padding:6px 24px;font-size:12.5px;line-height:1.35;display:flex}.beta-banner-inner strong{color:var(--color-accent-soft);text-transform:uppercase;flex:none;font-size:11px;font-weight:900}.beta-banner-inner button{border:0;border-bottom:1px solid color-mix(in srgb, var(--color-accent-soft) 42%, transparent);color:var(--color-accent-soft);cursor:pointer;font:inherit;background:0 0;flex:none;padding:0;font-weight:850}.beta-banner-inner button:hover,.beta-banner-inner button:focus-visible{border-bottom-color:var(--color-accent-soft);color:var(--color-accent-strong)}.upcoming-concerts{background:#7c3aed0e;border:1px solid #7c3aed47;border-radius:16px;padding:16px}.concert-section-heading{justify-content:space-between;align-items:center;gap:12px;margin:0 2px 12px;display:flex}.concert-section-heading h2{color:var(--color-text);margin:0;font-size:15px;font-weight:900}.concert-section-heading span{min-width:24px;color:var(--color-accent-soft);text-align:center;background:#7c3aed29;border-radius:999px;padding:3px 7px;font-size:12px;font-weight:900}.concert-card-artwork-button,.readonly-concert-card button{transition:transform .15s,box-shadow .15s}.concert-card-artwork-button:hover,.readonly-concert-card button:hover{transform:translateY(-1px);box-shadow:0 8px 22px #00000038}.concert-card-mobile-menu,.concert-card-desktop-context{display:none}.concert-card-mobile-context{display:flex}.concert-card-clickable:focus-visible{outline:2px solid var(--color-accent-soft);outline-offset:3px}.concert-event-detail-link{appearance:none;border:0;border-bottom:1px solid color-mix(in srgb, var(--color-subtle) 24%, transparent);color:var(--color-subtle);cursor:pointer;font:inherit;opacity:.58;background:0 0;align-self:center;padding:0;font-size:11.5px;font-weight:650;line-height:1.2;transition:color .15s,border-color .15s,opacity .15s}.concert-event-detail-link:hover,.concert-event-detail-link:focus-visible{border-bottom-color:var(--color-accent-soft);color:var(--color-accent-soft);opacity:1;outline:none}.concert-event-rating-detail-line{justify-content:space-between;align-items:center;gap:16px;width:100%;min-width:0;max-width:100%;display:flex}.concert-event-detail-link-desktop{white-space:nowrap;flex:none;margin-left:auto;display:none}.band-profile-rating-mobile{display:none!important}.band-profile-context-row{justify-content:space-between;align-items:center;gap:12px;min-height:0;margin:0 0 12px;display:flex}.band-profile-rating-desktop-row{flex:none;justify-content:flex-end;margin-left:auto;display:flex}.band-profile-social-context{flex:auto;min-width:0}@media (width>=561px){.band-profile-header{position:relative;margin-bottom:8px!important}.band-profile-identity p,.band-profile-identity a,.band-profile-image-tools-link{max-width:min(260px,100%)!important}}.concert-meta-item{color:inherit;align-items:center;gap:5px;display:inline-flex}.concert-meta-item>svg{color:var(--color-subtle);opacity:.9;flex:none}@media (width>=561px){.concert-card-header-with-artwork{grid-template-columns:112px minmax(0,1fr) auto!important;gap:18px!important}.concert-card-header-with-artwork .concert-card-artwork-button,.concert-card-header-with-artwork .concert-card-artwork{width:112px!important;height:112px!important}.concert-card-desktop-context{flex-direction:column;align-items:flex-start;gap:8px;min-height:34px;margin-top:12px;display:flex}.concert-card-desktop-context .star-rating{flex-shrink:0}.concert-card-header-with-artwork .concert-card-details{min-width:0}.concert-card-header-with-artwork .concert-card-meta>span{overflow-wrap:anywhere;min-width:0;max-width:100%}.concert-card-mobile-context{display:none!important}.concert-event-detail-link-mobile{display:none}.concert-event-detail-link-desktop{display:inline-flex;position:absolute;right:22px}.concert-event-rating-detail-line{margin-top:10px}}@keyframes inline-loader-spin{to{transform:rotate(360deg)}}.stat-card-button{transition:border-color .15s,transform .15s,background .15s}.stat-card-button:hover{transform:translateY(-1px);border-color:#7c3aed6b!important}.stat-card-button:focus-visible{outline:2px solid var(--color-accent-soft);outline-offset:2px}@media (prefers-reduced-motion:reduce){.inline-loader{animation:none}.stat-card-button{transition:none}}@media (width<=560px){.app-header-inner{gap:8px}.app-brand{flex:none}.app-brand-name{font-size:16px!important}.beta-banner-inner{text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;row-gap:2px;margin-inline:12px;padding-inline:14px}input,textarea,select{font-size:16px!important}.modal-overlay{padding-right:max(12px, env(safe-area-inset-right))!important;padding-bottom:max(12px, env(safe-area-inset-bottom))!important;padding-left:max(12px, env(safe-area-inset-left))!important}.modal-overlay-top{padding-top:max(12px, env(safe-area-inset-top))!important}.modal-scroll{max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important}.login-card{padding:36px 24px!important}.app-header-inner{padding:0 16px!important}.app-main{padding:18px 16px 24px!important}.about-modal,.legal-modal{padding:22px 20px 24px!important}.band-profile-modal{padding:18px 16px!important}.band-profile-header{position:relative;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;margin-bottom:16px!important;display:grid!important}.band-profile-identity{padding-right:48px;align-items:flex-start!important;gap:10px!important}.band-profile-artwork{border-radius:14px!important;width:88px!important;height:88px!important}.band-profile-title{font-size:20px!important}.band-profile-actions{display:contents!important}.band-profile-header .dialog-close-button{top:0;right:0;width:40px!important;height:40px!important;position:absolute!important}.band-profile-actions .band-profile-rating{grid-row:2;justify-self:start;gap:7px!important}.band-profile-rating-mobile{display:flex!important}.band-profile-rating-desktop-row{display:none}.band-profile-context-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;min-height:0;margin:3px 0 13px;display:flex}.band-profile-context-row .band-profile-rating-mobile{margin-left:auto}.band-profile-rating{padding:8px 9px!important;font-size:16px!important}.concert-card{flex-direction:column;min-height:172px;display:flex;padding:18px 16px!important}.concert-card-header{grid-template-columns:minmax(0,1fr);align-items:start!important;gap:12px!important;display:grid!important}.concert-card-header-with-artwork{grid-template-columns:92px minmax(0,1fr)!important}.concert-card-artwork-button{grid-area:1/1}.concert-card-artwork{border-radius:14px!important;width:92px!important;height:116px!important}.concert-card-details{grid-area:1/1;display:block}.concert-card-header-with-artwork .concert-card-details{grid-column:2}.concert-card-title{box-sizing:border-box;overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.25;white-space:normal!important;text-overflow:clip!important;padding-right:56px!important;display:-webkit-box!important;overflow:hidden!important}.concert-card-title>span{overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;white-space:normal!important;overflow:hidden!important}.concert-card-meta{flex-direction:column;align-items:flex-start;line-height:1.35;gap:7px!important}.concert-card-meta>.concert-meta-item{grid-template-columns:18px minmax(0,1fr);align-items:start;column-gap:5px;width:100%;display:grid}.concert-card-meta>.concert-meta-item>svg{justify-self:center;width:15px;height:15px;margin-top:1px}.concert-card-meta>.concert-event-detail-link{align-self:flex-start;width:auto;margin-top:0}.concert-card-actions{display:none!important}.concert-card-mobile-menu{z-index:4;display:block;position:absolute;top:12px;right:10px}.concert-card-mobile-menu>summary{border:1px solid var(--color-border-soft);background:color-mix(in srgb, var(--color-surface-muted) 92%, transparent);width:38px;height:38px;color:var(--color-muted);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;list-style:none;display:flex}.concert-card-mobile-menu>summary::-webkit-details-marker{display:none}.concert-card-mobile-menu-popover{border:1px solid var(--color-border);background:var(--color-surface);width:210px;box-shadow:var(--shadow-modal);border-radius:12px;padding:6px;position:absolute;top:44px;right:0}.concert-card-mobile-menu-popover button{width:100%;min-height:42px;color:var(--color-muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:9px 10px;font-size:13px;font-weight:750;display:flex}.concert-card-mobile-menu-popover button:hover,.concert-card-mobile-menu-popover button:focus-visible{background:var(--color-surface-muted);color:var(--color-text)}.concert-card-mobile-menu-popover button.danger{color:#f87171}.concert-card-rating{display:none}.concert-card-rating-row,.concert-card-rating-prompt{padding-top:16px;margin-top:auto!important}.star-rating-value{font-size:17px!important}.about-contact{flex-direction:column;align-items:flex-start!important;gap:10px!important}.theme-setting-row{flex-direction:column;align-items:stretch!important}.theme-toggle{width:100%}.theme-toggle button{flex:1}.share-profile-row{flex-direction:column;align-items:stretch!important}.share-profile-row button{justify-content:center;width:100%}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px!important;margin-bottom:4px!important;display:grid!important}.stat-card{text-align:center;min-width:0;border-radius:10px!important;padding:12px 8px!important}.stat-value{line-height:1.1;letter-spacing:0!important;font-size:22px!important}.stat-label{line-height:1.3;font-size:12.5px!important}.statistics-modal{max-height:calc(100dvh - 24px)!important;padding:20px 16px!important}.statistics-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.statistics-content-grid{grid-template-columns:minmax(0,1fr)!important;gap:26px!important}.statistics-year-select{width:calc(50% - 2px)!important;max-width:none!important}.diary-view-toggle{width:calc(33.3333% - 5.33333px);margin-left:auto}.diary-view-toggle button{white-space:nowrap;flex:1;min-width:0;padding-inline:4px!important}.filter-summary{flex-basis:100%;order:-1;justify-content:center;margin-bottom:2px;margin-left:0!important;padding-block:6px!important}.concert-toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px!important;margin-bottom:18px!important;display:grid!important}.concert-search{grid-column:1/-1;width:100%;min-height:43px}.concert-sort,.add-concert-button{width:100%;min-height:43px}.add-concert-button{white-space:nowrap;justify-content:center;padding-inline:12px!important}.upcoming-concerts{border-radius:14px;margin-inline:-4px;padding:12px}}@media (width<=360px){.concert-toolbar{grid-template-columns:1fr}}@media (width<=380px){.app-header-inner{padding-inline:12px!important}.app-brand{gap:7px}.app-brand-name{font-size:15px!important}.app-header-actions{gap:4px!important}.app-header-actions>button{width:36px!important;height:36px!important}.language-toggle button{min-width:32px;padding-inline:7px!important}.language-flag{display:none}.concert-card-actions{gap:2px!important}}@media (width<=340px){.app-header-inner{padding-inline:10px!important}.app-brand{gap:6px}.app-brand-name{font-size:14px!important}}.app-brand{min-width:0;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:10px;margin:-4px;padding:4px;transition:background-color .15s,transform .15s;display:flex}.app-brand-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.app-brand:hover{background:var(--color-surface-muted)}.app-brand:active{transform:scale(.98)}.profile-settings-sections>*{order:10}.profile-order-admin{order:0}.profile-order-visibility{order:1}.profile-order-appearance{order:2}.profile-order-avatar{order:3}.profile-order-share{order:4}.profile-order-export{order:5}.profile-order-instagram{order:6}
