:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;line-height:1.6;font-weight:400;--bg: #0B0D12;--bg-subtle: #12151C;--bg-muted: #1A1F2A;--surface-card: #FFFFFF;--text: #F5F6FA;--text-muted: #A0A5B2;--text-subtle: #6B7180;--text-on-card: #0B0D12;--border: #1F242F;--border-strong: #2A2F3D;--accent: #FF3D88;--accent-hover: #FF6FA8;--accent-soft: rgba(255, 61, 136, .12);--accent-ring: rgba(255, 61, 136, .35);--highlight: #FF3D88;--highlight-soft: rgba(255, 61, 136, .12);--radius-sm: 10px;--radius-md: 16px;--radius-lg: 24px;--radius-pill: 999px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .25);--shadow-md: 0 12px 32px rgba(0, 0, 0, .45);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--space-16: 64px;--font-display: clamp(28px, 6vw, 44px);--font-h1: clamp(24px, 4.5vw, 34px);--font-h2: clamp(20px, 3vw, 24px);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color-scheme:dark}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg);color:var(--text)}h1,h2,h3,h4,h5,h6{line-height:1.2;font-weight:700;color:var(--text);letter-spacing:-.015em}h1{letter-spacing:-.025em;font-weight:800}p{color:var(--text)}a{color:var(--text);text-decoration:none;transition:color .15s ease}a:hover{color:var(--accent)}button{border:none;cursor:pointer;font-family:inherit;background:transparent;color:inherit;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}img{max-width:100%;height:auto;display:block}input,select,textarea{font-family:inherit;color:var(--text);background:var(--bg-muted);border:1px solid var(--border)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}::selection{background:var(--accent-soft);color:var(--text)}.header{position:fixed;top:0;left:0;right:0;z-index:100;background:#0b0d12c7;backdrop-filter:saturate(140%) blur(14px);-webkit-backdrop-filter:saturate(140%) blur(14px);border-bottom:1px solid var(--border);height:72px;display:flex;align-items:center}.header-container{max-width:1200px;width:100%;margin:0 auto;padding:0 var(--space-6);display:flex;align-items:center;justify-content:space-between;gap:var(--space-8)}.header-logo{text-decoration:none;color:var(--text);display:inline-flex;align-items:center;gap:10px}.header-logo-img{height:32px;width:auto;display:block;object-fit:contain}.header-logo-text{font-size:1.05rem;font-weight:800;letter-spacing:.04em;color:var(--text);margin:0;font-style:italic}.header-nav{display:flex;align-items:center;gap:var(--space-6)}.header-nav-link{color:var(--text-muted);font-size:.92rem;font-weight:500;text-decoration:none;padding:6px 0;position:relative;transition:color .15s ease}.header-nav-link:hover,.header-nav-link.active{color:var(--text)}.header-nav-link.active:after{content:"";position:absolute;left:50%;bottom:-6px;transform:translate(-50%);width:6px;height:6px;background:var(--accent);border-radius:50%;box-shadow:0 0 10px var(--accent)}@media(max-width:768px){.header{height:60px}.header-container{padding:0 var(--space-4);justify-content:center;gap:var(--space-3)}.header-nav{display:none}.header-logo{gap:8px}.header-logo-img{height:26px}.header-logo-text{font-size:1rem;letter-spacing:.06em}}.navbar,.navbar-desktop,.navbar-mobile-bottom{display:none}@media(max-width:768px){.navbar-mobile-bottom{display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%);z-index:100;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-pill);box-shadow:0 14px 32px #0000008c;padding:8px 10px;justify-content:center;align-items:center;gap:6px;width:max-content;max-width:calc(100% - 32px);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.nav-pill{width:52px;height:48px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:0;border-radius:var(--radius-pill);color:var(--text-muted);text-decoration:none;background:transparent;border:none;transition:color .15s ease;-webkit-tap-highlight-color:transparent;position:relative}.nav-pill:hover{color:var(--text)}.nav-pill.active{color:var(--accent)}.nav-pill.active:after{content:"";position:absolute;bottom:4px;width:5px;height:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent)}.nav-pill-icon{font-size:1.25rem}.nav-pill-label{display:none}}@media(max-width:380px){.navbar-mobile-bottom{bottom:12px}.nav-pill{width:46px}.nav-pill-icon{font-size:1.1rem}}.footer{background:var(--bg);color:var(--text-muted);padding:var(--space-8) 0;margin-top:var(--space-12);border-top:1px solid var(--border)}.footer-inner{max-width:1200px;margin:0 auto;padding:0 var(--space-6);display:flex;align-items:center;justify-content:space-between;gap:var(--space-6)}.footer-brand{display:flex;flex-direction:column;gap:2px}.footer-logo{font-size:.98rem;font-weight:600;color:var(--text);letter-spacing:.02em}.footer-tagline{font-size:.8rem;color:var(--text-subtle)}.footer-socials{display:flex;align-items:center;gap:var(--space-2)}.social-link{width:36px;height:36px;border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.95rem;text-decoration:none;transition:border-color .15s ease,color .15s ease}.social-link:hover{border-color:var(--accent);color:var(--accent)}.footer-copyright{font-size:.82rem;color:var(--text-subtle);margin:0}@media(max-width:768px){.footer{display:none}}.concert-card{display:flex;flex-direction:column;text-decoration:none;border-radius:var(--radius-lg);overflow:hidden;position:relative;background:var(--bg-subtle);border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;color:var(--text)}.concert-card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 18px 38px #00000080,0 0 0 1px var(--accent-ring)}.card-image-wrap{position:relative;width:100%;aspect-ratio:1 / 1;overflow:hidden;border-radius:var(--radius-lg);margin:8px 8px 0;width:calc(100% - 16px)}.card-image{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.concert-card:hover .card-image{transform:scale(1.04)}.card-heart{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;background:#0b0d128c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;display:inline-flex;align-items:center;justify-content:center;border:none;font-size:.95rem;cursor:pointer;transition:background .15s ease,color .15s ease;z-index:2}.card-heart:hover{background:var(--accent);color:#fff}.card-date-pill{position:absolute;bottom:12px;left:12px;display:inline-flex;align-items:center;gap:6px;background:#0b0d12bf;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;padding:6px 12px;border-radius:var(--radius-pill);font-size:.75rem;font-weight:600;z-index:2}.card-date-pill svg{font-size:.8rem;color:var(--accent)}.card-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px}.card-title{font-size:1rem;font-weight:700;color:var(--text);margin:0;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.card-venue{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}.card-venue svg{color:var(--accent);flex-shrink:0}.card-price{background:var(--accent);color:#fff;padding:4px 12px;border-radius:var(--radius-pill);font-size:.75rem;font-weight:700;flex-shrink:0}@media(max-width:768px){.card-title{font-size:.95rem}}.home-page{min-height:100vh;background:var(--bg);color:var(--text)}.home-hero{position:relative;overflow:hidden;min-height:clamp(520px,78vh,720px);padding:clamp(var(--space-8),6vw,var(--space-16)) clamp(var(--space-4),5vw,var(--space-12));background-size:cover;background-position:center;background-color:#0b0d12;display:flex;align-items:flex-end;border-bottom:1px solid var(--border);padding-top:calc(72px + var(--space-6))}.home-hero-scrim{position:absolute;inset:0;background:linear-gradient(180deg,#0b0d128c,#0b0d1226 30%,#0b0d12a6),linear-gradient(90deg,rgba(11,13,18,.85) 0%,rgba(11,13,18,.25) 55%,transparent 80%);z-index:1}.home-hero-content{position:relative;z-index:2;flex:1;max-width:720px;display:flex;flex-direction:column;gap:var(--space-6)}.home-hero-title{font-size:clamp(2rem,5vw,3.5rem);font-weight:800;letter-spacing:.01em;line-height:1;color:#fff;text-transform:uppercase;margin:0;text-shadow:0 4px 24px rgba(0,0,0,.55)}.home-hero-form{background:#0b0d128c;backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-lg);padding:12px;display:flex;flex-direction:column;gap:10px;width:100%;max-width:580px}.hero-form-row{position:relative;display:flex;align-items:center}.hero-form-row--search{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);transition:border-color .15s ease,background .15s ease}.hero-form-row--search:focus-within{border-color:var(--accent);background:#ffffff1a}.hero-form-icon{position:absolute;left:14px;font-size:1rem;color:#ffffffb3;pointer-events:none}.hero-form-input{width:100%;background:transparent;border:none;outline:none;color:#fff;font-size:.92rem;padding:14px 16px 14px 40px}.hero-form-input::placeholder{color:#ffffff8c}.hero-form-row--split{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:stretch}.hero-form-cell{position:relative;display:flex;align-items:center;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);transition:border-color .15s ease}.hero-form-cell:focus-within{border-color:var(--accent)}.hero-form-select{width:100%;background:transparent;border:none;outline:none;color:#fff;font-size:.88rem;padding:13px 32px 13px 14px;appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='white' stroke-width='1.5' stroke-linecap='round' opacity='0.7'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.hero-form-select option{background:var(--bg-subtle);color:var(--text)}.hero-form-date{color-scheme:dark;background-image:none;padding-right:14px}.hero-form-date:invalid,.hero-form-date[value=""]{color:#ffffff8c}.hero-search-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 22px;background:#fff;color:#0b0d12;border:none;border-radius:var(--radius-md);font-size:.9rem;font-weight:700;cursor:pointer;transition:background .15s ease,color .15s ease,transform .15s ease;white-space:nowrap}.hero-search-btn:hover{background:var(--accent);color:#fff;transform:translateY(-1px)}.hero-search-btn svg{font-size:1rem;transform:rotate(-45deg)}.hero-featured{position:absolute;right:clamp(var(--space-4),4vw,var(--space-12));bottom:clamp(var(--space-6),4vw,var(--space-12));z-index:2;display:flex;flex-direction:column;gap:10px;width:240px;padding:10px;background:#0b0d12b3;backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-lg);text-decoration:none;color:#fff;transition:transform .2s ease,border-color .2s ease}.hero-featured:hover{transform:translateY(-3px);border-color:var(--accent)}.hero-featured-img{width:100%;aspect-ratio:16 / 9;border-radius:var(--radius-md);overflow:hidden}.hero-featured-img img{width:100%;height:100%;object-fit:cover}.hero-featured-body{display:flex;flex-direction:column;gap:4px;padding:0 4px 2px}.hero-featured-eyebrow{font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.hero-featured-title{font-size:.95rem;font-weight:800;text-transform:uppercase;letter-spacing:.01em;line-height:1.2;color:#fff;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.hero-featured-meta{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;color:#ffffffb3;margin-top:2px}.hero-featured-meta svg{color:var(--accent)}.hero-featured-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 6px 2px}.hero-featured-arrow{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;background:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:.85rem;transition:background .15s ease,color .15s ease}.hero-featured-arrow:hover{background:var(--accent)}.hero-featured-dots{display:flex;gap:4px;flex:1;justify-content:center}.hero-featured-dot{width:5px;height:5px;border-radius:50%;background:#ffffff4d;transition:background .15s ease,width .15s ease}.hero-featured-dot.active{background:var(--accent);width:14px;border-radius:999px}.home-main{max-width:1200px;margin:0 auto;padding:var(--space-8) var(--space-6) var(--space-16)}.home-section{margin-bottom:var(--space-12)}.home-section .section-heading h2{display:inline-flex;align-items:center;gap:8px;font-size:1.25rem}.home-section .emoji{font-size:1.1rem}.home-hscroll{display:flex;gap:var(--space-4);overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:var(--space-3);scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.home-hscroll::-webkit-scrollbar{height:6px}.home-hscroll::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px}.home-hscroll-item{flex:0 0 280px;scroll-snap-align:start}@media(min-width:1024px){.home-hscroll-item{flex:0 0 300px}}.home-chips{display:flex;gap:var(--space-2);flex-wrap:wrap}.home-chip{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;background:transparent;color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-pill);font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}.home-chip:hover{border-color:var(--accent);color:var(--accent)}.home-chip.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 6px 18px var(--accent-ring)}.chip-emoji{font-size:1rem}.home-news-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-4)}.home-news-card{display:flex;flex-direction:column;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;text-decoration:none;color:var(--text);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.home-news-card:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:var(--shadow-md)}.home-news-img{position:relative;aspect-ratio:16 / 10;overflow:hidden;background:var(--bg-muted)}.home-news-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.home-news-card:hover .home-news-img img{transform:scale(1.04)}.home-news-badge{position:absolute;top:12px;left:12px;background:var(--accent);color:#fff;font-size:.7rem;font-weight:700;padding:4px 12px;border-radius:var(--radius-pill);letter-spacing:.02em;text-transform:capitalize}.home-news-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px}.home-news-date{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;color:var(--text-subtle)}.home-news-date svg{color:var(--accent)}.home-news-body h3{font-size:.95rem;font-weight:700;color:var(--text);line-height:1.35;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.home-events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-4)}.home-event-card{display:flex;flex-direction:column;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;text-decoration:none;color:var(--text);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.home-event-card:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:var(--shadow-md)}.home-event-img{position:relative;aspect-ratio:16 / 10;overflow:hidden}.home-event-img img{width:100%;height:100%;object-fit:cover}.home-event-date{position:absolute;top:12px;left:12px;background:#0b0d12c7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;border-radius:var(--radius-md);padding:8px 12px;display:flex;flex-direction:column;align-items:center;min-width:44px;line-height:1.05}.home-event-date .day{font-size:1.05rem;font-weight:800}.home-event-date .mon{font-size:.62rem;font-weight:600;letter-spacing:.06em;color:var(--accent)}.home-event-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px}.home-event-body h4{font-size:.98rem;font-weight:700;margin:0;color:var(--text);line-height:1.3}.home-event-body p{font-size:.82rem;color:var(--text-muted);margin:0;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.loading-state p,.error-state p{font-size:.95rem;color:var(--text-muted);margin:0}@media(max-width:900px){.home-hero{flex-direction:column;align-items:stretch;gap:var(--space-6)}.hero-featured{position:static;width:100%;max-width:420px;align-self:stretch}}@media(max-width:768px){.home-hero{min-height:0;background-image:none!important;padding:var(--space-4) var(--space-4) var(--space-2);border-bottom:none;padding-top:70px}.home-hero-scrim,.home-hero-title,.hero-form-row--split,.hero-featured{display:none}.home-hero-content{max-width:100%;gap:0}.home-hero-form{background:transparent;border:none;padding:0;backdrop-filter:none;-webkit-backdrop-filter:none}.hero-form-row--search{background:var(--bg-muted);border-color:var(--border);border-radius:var(--radius-pill)}.hero-form-input{padding:13px 16px 13px 40px}.home-main{padding:var(--space-6) var(--space-4) var(--space-12)}.home-section{margin-bottom:var(--space-8)}.home-hscroll-item{flex:0 0 78%}.home-news-grid,.home-events-grid{grid-template-columns:1fr 1fr;gap:var(--space-3)}.home-news-body h3{font-size:.88rem}}@media(max-width:420px){.home-news-grid,.home-events-grid{grid-template-columns:1fr}}.concert-detail-page{min-height:100vh;background:var(--bg);color:var(--text)}.concert-detail-page .detail-nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:14px var(--space-4);background:transparent;border-bottom:1px solid transparent;transition:background .2s ease,border-color .2s ease}.concert-detail-page .detail-nav.scrolled{background:var(--bg);border-bottom-color:var(--border)}.nav-back,.nav-action{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:#0b0d128c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:none;width:42px;height:42px;padding:0;border-radius:50%;color:#fff;font-size:.95rem;font-weight:500;cursor:pointer;transition:background .15s ease,color .15s ease}.nav-back svg,.nav-action svg{font-size:1.1rem}.nav-back:hover,.nav-action:hover{background:var(--accent);color:#fff}.detail-hero{max-width:760px;margin:0 auto;padding:0 var(--space-4)}.hero-card{position:relative;width:100%;aspect-ratio:4 / 5;max-height:540px;border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-muted);box-shadow:var(--shadow-md)}.hero-card-image{width:100%;height:100%;object-fit:cover;display:block}.hero-chip{position:absolute;top:16px;left:50%;transform:translate(-50%);display:inline-flex;flex-direction:column;align-items:center;gap:1px;padding:8px 16px;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:2;white-space:nowrap}.hero-chip-value{font-size:1.05rem;font-weight:700;color:var(--text);line-height:1.1;letter-spacing:-.01em}.hero-chip-label{font-size:.7rem;font-weight:500;color:var(--text-muted);letter-spacing:.02em}.hero-tag{position:absolute;bottom:16px;display:inline-flex;align-items:center;gap:5px;padding:6px 12px;background:var(--bg-subtle);border:1px solid var(--border);border-radius:999px;font-size:.78rem;font-weight:500;color:var(--text);box-shadow:var(--shadow-sm);z-index:2;max-width:calc(50% - 24px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hero-tag--left{left:16px}.hero-tag--right{right:16px}.hero-tag svg{font-size:.85rem;color:var(--highlight);flex-shrink:0}.hero-tag--left svg{color:var(--text-muted)}.detail-content{max-width:760px;margin:0 auto;padding:var(--space-6) var(--space-4) var(--space-12);display:flex;flex-direction:column;gap:var(--space-6)}.detail-title-block{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px}.event-title{font-size:clamp(1.5rem,3.6vw,2rem);font-weight:700;letter-spacing:-.02em;color:var(--text);margin:0;line-height:1.2}.event-subtitle{font-size:.95rem;color:var(--text-muted);margin:0}.feature-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2)}.feature-pill{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--border);border-radius:999px;font-size:.82rem;color:var(--text);background:var(--bg);white-space:nowrap}.feature-pill svg{font-size:.9rem;color:var(--text-muted)}.about-section{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border)}.section-title{font-size:1.05rem;font-weight:600;letter-spacing:-.01em;color:var(--text);margin:var(--space-2) 0 var(--space-2)}.about-text-container{position:relative;max-height:7.5em;overflow:hidden;transition:max-height .25s ease;display:flex;flex-direction:column;gap:var(--space-3)}.about-text-container.expanded{max-height:200em}.about-text-container:after{content:"";position:absolute;inset:auto 0 0;height:3em;background:linear-gradient(to bottom,transparent,var(--bg));pointer-events:none;transition:opacity .2s ease}.about-text-container.expanded:after{opacity:0}.about-text{font-size:.95rem;line-height:1.6;color:var(--text-muted);margin:0}.about-text strong{color:var(--text);font-weight:600}.read-more-toggle{align-self:flex-start;background:transparent;border:none;padding:0;color:var(--highlight);font-size:.92rem;font-weight:500;cursor:pointer}.read-more-toggle:hover{color:var(--accent-hover)}.location-section{display:flex;flex-direction:column;padding-top:var(--space-2);border-top:1px solid var(--border)}.map-card{display:block;position:relative;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;text-decoration:none;color:var(--text);background:var(--bg-subtle);transition:border-color .15s ease,box-shadow .15s ease}.map-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.map-frame{display:block;width:100%;height:220px;border:0;pointer-events:none}.map-meta{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border);background:var(--bg)}.map-meta svg{font-size:1.1rem;color:var(--text-muted);flex-shrink:0}.map-meta>div{display:flex;flex-direction:column;gap:2px}.map-venue{font-size:.95rem;font-weight:600;color:var(--text)}.map-city{font-size:.82rem;color:var(--text-muted)}.seatmap-section{display:flex;flex-direction:column;padding-top:var(--space-2);border-top:1px solid var(--border)}.seatmap-container{position:relative;width:100%;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;cursor:pointer;background:var(--bg-subtle)}.seatmap-image{width:100%;height:auto;display:block}.seatmap-zoom-hint{position:absolute;bottom:12px;right:12px;display:inline-flex;align-items:center;gap:4px;padding:6px 10px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font-size:.78rem;font-weight:500}.seatmap-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12) var(--space-6);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-md);gap:var(--space-2)}.seatmap-placeholder-icon{font-size:1.5rem;color:var(--text-subtle)}.seatmap-placeholder p{font-size:.92rem;color:var(--text-muted);margin:0}.seatmap-lightbox{position:fixed;inset:0;z-index:200;background:#000000d9;display:flex;align-items:center;justify-content:center;padding:var(--space-6)}.seatmap-close{position:absolute;top:20px;right:20px;width:40px;height:40px;border-radius:50%;background:#ffffff1a;border:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease}.seatmap-close:hover{background:#fff3}.seatmap-lightbox-image{max-width:100%;max-height:90vh;border-radius:var(--radius-md)}.bottom-action-bar{max-width:760px;margin:var(--space-4) auto 0;padding:0 var(--space-4)}.buy-ticket-btn{display:flex;align-items:center;justify-content:center;width:100%;max-width:720px;margin:0 auto;padding:16px 28px;background:var(--accent);color:#fff;border-radius:999px;font-size:1rem;font-weight:700;text-decoration:none;transition:background .15s ease,transform .15s ease;box-shadow:0 8px 24px var(--accent-ring)}.buy-ticket-btn:hover{background:var(--accent-hover);color:#fff;transform:translateY(-1px)}@media(max-width:768px){.detail-hero{padding:var(--space-3)}.hero-card{aspect-ratio:4 / 5;border-radius:var(--radius-md)}.detail-content{padding:var(--space-4) var(--space-4) var(--space-12);gap:var(--space-4)}.feature-pill{padding:7px 12px;font-size:.78rem}.buy-ticket-btn{padding:14px 22px;font-size:.95rem}}@media(max-width:380px){.feature-pill{padding:6px 10px;font-size:.74rem}}@media(min-width:1024px){.concert-detail-page{max-width:1200px;margin:0 auto;padding:110px clamp(var(--space-6),4vw,var(--space-12)) var(--space-12);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-areas:"hero content" "buy  content";grid-template-rows:auto 1fr;column-gap:clamp(var(--space-6),4vw,var(--space-12));row-gap:var(--space-4);align-items:start}.concert-detail-page .detail-nav{padding:18px clamp(var(--space-6),4vw,var(--space-12))}.concert-detail-page .detail-nav.scrolled{background:#0b0d12c7;backdrop-filter:saturate(140%) blur(14px);-webkit-backdrop-filter:saturate(140%) blur(14px)}.detail-hero{grid-area:hero;max-width:none;padding:0}.hero-card{aspect-ratio:3 / 4;max-height:none;border-radius:var(--radius-lg)}.bottom-action-bar{grid-area:buy;max-width:none;margin:0;padding:0}.buy-ticket-btn{width:100%;max-width:none;margin:0;padding:18px 28px;font-size:1rem}.detail-content{grid-area:content;max-width:none;margin:0;padding:0;gap:var(--space-6)}.event-title{font-size:clamp(2rem,3vw,2.5rem)}.feature-pills{gap:10px}.about-text{font-size:1rem;line-height:1.7}.map-frame{height:320px}}@media(min-width:1440px){.concert-detail-page{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}}.search-bar{position:relative;display:flex;align-items:center;width:100%;max-width:600px}.search-bar-icon{position:absolute;left:18px;top:50%;transform:translateY(-50%);font-size:1.05rem;color:var(--text-subtle);pointer-events:none;z-index:2}.search-bar-input{width:100%;padding:14px 44px 14px 46px;background:var(--bg-muted);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text);font-size:.92rem;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;outline:none}.search-bar-input::placeholder{color:var(--text-subtle)}.search-bar-input:focus{border-color:var(--accent);background:var(--bg-subtle);box-shadow:0 0 0 3px var(--accent-ring)}.search-bar-clear{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:6px;border-radius:50%;transition:background .15s ease,color .15s ease;z-index:2}.search-bar-clear:hover{background:var(--bg-subtle);color:var(--accent)}@media(max-width:768px){.search-bar{max-width:100%}.search-bar-input{font-size:.9rem}}.search-filter-bar .search-bar{max-width:100%;flex:1}.modern-filter-bar .search-bar.search-filter{flex:1;min-width:240px}.events-toolbar .search-bar.events-search,.news-toolbar .search-bar.news-search,.reviews-toolbar .search-bar.reviews-search{flex:1;max-width:500px}.playlists-container .search-bar.playlists-search,.releases-container .search-bar.releases-search{max-width:600px;margin:0 auto var(--space-6)}@media(max-width:768px){.search-filter-bar .search-bar,.modern-filter-bar .search-bar.search-filter,.events-toolbar .search-bar.events-search,.news-toolbar .search-bar.news-search,.reviews-toolbar .search-bar.reviews-search,.playlists-container .search-bar.playlists-search,.releases-container .search-bar.releases-search{max-width:100%;min-width:auto}}.modern-page,.news-page,.events-page,.reviews-page,.playlists-page,.releases-page,.all-concerts-page,.concert-detail-page,.news-detail-page,.review-detail-page{min-height:100vh;background:var(--bg);color:var(--text)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.modern-container{max-width:1200px;margin:0 auto;padding:var(--space-8) var(--space-6) var(--space-16)}.modern-page-header,.news-hero,.events-hero,.reviews-hero,.playlists-hero,.releases-hero{display:none}.news-toolbar,.events-toolbar,.reviews-toolbar,.playlists-toolbar,.releases-toolbar{margin-top:var(--space-4)}.modern-filter-bar{display:flex;gap:var(--space-3);margin:var(--space-4) auto var(--space-8);flex-wrap:wrap;max-width:900px;justify-content:center;animation:fadeInUp .25s ease}.modern-search-input,.news-search input,.events-search input,.reviews-search input,.playlists-search input,.releases-search input,.search-input{flex:1;min-width:240px;background:var(--bg-muted);border:1px solid var(--border);border-radius:var(--radius-pill);padding:12px 16px 12px 42px;font-size:.9rem;color:var(--text);outline:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.modern-search-input::placeholder,.search-input::placeholder{color:var(--text-subtle)}.modern-search-input:focus,.news-search input:focus,.events-search input:focus,.reviews-search input:focus,.playlists-search input:focus,.releases-search input:focus,.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);background:var(--bg-subtle)}select,.modern-select,.filter-select{background:var(--bg-muted);border:1px solid var(--border);border-radius:var(--radius-pill);padding:12px 38px 12px 16px;font-size:.9rem;color:var(--text);outline:none;cursor:pointer;transition:border-color .15s ease;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23A0A5B2' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}select:hover,select:focus,.modern-select:hover,.modern-select:focus,.filter-select:hover,.filter-select:focus{border-color:var(--accent)}select option{background:var(--bg-subtle);color:var(--text)}.modern-button,button.modern-button{padding:12px 22px;background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-pill);color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-2);white-space:nowrap;transition:background-color .15s ease,border-color .15s ease,transform .15s ease}.modern-button:hover{background:var(--accent-hover);border-color:var(--accent-hover);transform:translateY(-1px)}.btn-secondary{background:var(--bg-subtle);color:var(--text);border:1px solid var(--border-strong)}.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}.modern-grid,.news-grid,.events-grid,.reviews-grid,.playlists-grid,.releases-grid,.concerts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-6);animation:fadeInUp .3s ease}.modern-card,.news-card,.event-card,.review-card,.playlist-card,.release-card{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;box-shadow:var(--shadow-sm);position:relative;color:var(--text)}.modern-card:hover,.news-card:hover,.event-card:hover,.review-card:hover,.playlist-card:hover,.release-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-4px)}.modern-card h2,.modern-card h3,.news-card h2,.news-card h3,.event-card h2,.event-card h3,.review-card h2,.review-card h3,.playlist-card h2,.playlist-card h3,.release-card h2,.release-card h3{color:var(--text)}.modern-card p,.news-card p,.event-card p,.review-card p,.playlist-card p,.release-card p{color:var(--text-muted)}.modern-badge{display:inline-flex;align-items:center;gap:6px;background:var(--bg-muted);color:var(--text);padding:6px 12px;border-radius:var(--radius-pill);font-size:.72rem;font-weight:600;letter-spacing:.02em;border:1px solid var(--border)}.modern-badge--accent{background:var(--accent);color:#fff;border-color:transparent}.modern-loading,.page-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16) var(--space-6);gap:var(--space-4)}.spinner,.modern-spinner{width:36px;height:36px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.page-loading p{color:var(--text-muted);font-size:.95rem}@keyframes spin{to{transform:rotate(360deg)}}.modern-empty{text-align:center;padding:var(--space-16) var(--space-6);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-lg);margin:0 var(--space-6)}.modern-empty h2{font-size:1.5rem;font-weight:700;margin:0 0 var(--space-2);color:var(--text)}.modern-empty p{font-size:1rem;color:var(--text-muted);margin:0}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:var(--space-8) 0 var(--space-4)}.section-heading h2{font-size:1.15rem;font-weight:700;color:var(--text)}.section-heading .view-all{color:var(--accent);font-size:.85rem;font-weight:600}.section-heading .view-all:hover{color:var(--accent-hover)}@media(max-width:768px){.modern-filter-bar{gap:var(--space-2);margin-bottom:var(--space-6)}.modern-search-input,.modern-select,.modern-button,.search-input,select{font-size:.85rem}.modern-grid,.news-grid,.events-grid,.reviews-grid,.playlists-grid,.releases-grid,.concerts-grid{grid-template-columns:1fr;gap:var(--space-4)}.modern-container{padding:var(--space-6) var(--space-4) var(--space-12)}}.all-concerts-page{min-height:100vh;background:var(--bg);color:var(--text)}.modern-page-header{display:block;max-width:1200px;margin:0 auto;padding:var(--space-8) var(--space-6) var(--space-3);text-align:left}.all-concerts-page .modern-filter-bar{max-width:1200px;margin:0 auto var(--space-6);padding:0 var(--space-6);justify-content:flex-start}.all-concerts-page .modern-container{padding:0 var(--space-6) var(--space-12)}.modern-page-title{font-size:2rem;font-weight:700;letter-spacing:-.02em;color:var(--text);margin:0 0 var(--space-1)}.modern-page-subtitle{font-size:.95rem;color:var(--text-muted);margin:0}.concerts-timeline{display:flex;flex-direction:column;gap:var(--space-4)}.timeline-row{display:grid;grid-template-columns:56px 1fr;gap:var(--space-4);align-items:start}.timeline-date{position:sticky;top:88px;display:flex;flex-direction:column;align-items:center;padding:var(--space-2) 0;color:var(--text)}.td-month{font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--space-2)}.td-day{font-size:1.5rem;font-weight:700;line-height:1;color:var(--text)}.td-weekday{font-size:.7rem;font-weight:500;color:var(--text-subtle);margin-top:2px;text-transform:capitalize}.timeline-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4);min-width:0}@media(max-width:768px){.modern-page-header{padding:var(--space-6) var(--space-4) var(--space-2)}.all-concerts-page .modern-filter-bar{padding:0 var(--space-4);margin-bottom:var(--space-4)}.all-concerts-page .modern-container{padding:0 var(--space-4) var(--space-12)}.modern-page-title{font-size:1.6rem}.timeline-row{grid-template-columns:44px 1fr;gap:var(--space-3)}.timeline-date{top:72px}.td-day{font-size:1.25rem}.timeline-cards{grid-template-columns:1fr}}.view-toggle{display:inline-flex;background:var(--bg-muted);border:1px solid var(--border);border-radius:var(--radius-pill);padding:4px;gap:2px}.view-toggle-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:transparent;border:none;border-radius:var(--radius-pill);color:var(--text-muted);font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease}.view-toggle-btn:hover{color:var(--text)}.view-toggle-btn.active{background:var(--accent);color:#fff;box-shadow:0 4px 14px var(--accent-ring)}.view-toggle-btn svg{font-size:.95rem}.calendar-view{display:grid;grid-template-columns:380px 1fr;gap:var(--space-8);align-items:start}.calendar-widget{position:sticky;top:92px;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm)}.calendar-widget-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.calendar-widget-title{font-size:1.05rem;font-weight:700;color:var(--text)}.calendar-widget-nav{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-muted);border:1px solid var(--border);border-radius:50%;color:var(--text);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.calendar-widget-nav:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.calendar-widget-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:8px}.cwd{text-align:center;font-size:.72rem;font-weight:700;color:var(--text-subtle);text-transform:uppercase;padding:4px 0}.calendar-widget-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cwc{position:relative;aspect-ratio:1;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text);font-size:.85rem;font-weight:500;border-radius:50%;cursor:pointer;transition:background .15s ease,color .15s ease}.cwc:disabled{cursor:default;color:var(--text-subtle)}.cwc:not(:disabled):hover{background:var(--bg-muted);color:var(--accent)}.cwc.today{color:var(--accent);font-weight:700}.cwc.has-concert{background:var(--accent-soft);color:var(--text);font-weight:700}.cwc.selected{background:var(--accent);color:#fff}.cwc.empty{cursor:default;pointer-events:none}.cwc-dot{position:absolute;bottom:4px;width:4px;height:4px;border-radius:50%;background:var(--accent)}.cwc.selected .cwc-dot{background:#fff}.cwc.today:not(.selected) .cwc-dot{background:var(--accent)}.calendar-widget-footer{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;font-size:.82rem;color:var(--text-muted);gap:var(--space-3)}.calendar-widget-clear{display:inline-flex;align-items:center;gap:4px;background:transparent;border:1px solid var(--border-strong);border-radius:var(--radius-pill);padding:6px 12px;color:var(--text-muted);font-size:.78rem;font-weight:600;cursor:pointer;transition:border-color .15s ease,color .15s ease}.calendar-widget-clear:hover{border-color:var(--accent);color:var(--accent)}.calendar-list{display:flex;flex-direction:column;gap:var(--space-6)}.calendar-day-heading{font-size:.95rem;font-weight:700;color:var(--text-muted);margin:0 0 var(--space-3);letter-spacing:.02em}.calendar-day-cards{display:flex;flex-direction:column;gap:var(--space-3)}.calendar-event-card{display:grid;grid-template-columns:96px 1fr;gap:var(--space-4);padding:12px;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-lg);text-decoration:none;color:var(--text);transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}.calendar-event-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-md)}.cec-img{width:96px;height:96px;border-radius:var(--radius-md);overflow:hidden;background:var(--bg-muted)}.cec-img img{width:100%;height:100%;object-fit:cover}.cec-body{display:flex;flex-direction:column;gap:4px;min-width:0}.cec-body h4{font-size:1rem;font-weight:700;color:var(--text);margin:0;line-height:1.25}.cec-body p{font-size:.85rem;color:var(--accent);margin:0;font-weight:600}.cec-meta{display:flex;flex-wrap:wrap;gap:14px;margin-top:6px;font-size:.78rem;color:var(--text-muted)}.cec-meta span{display:inline-flex;align-items:center;gap:5px}.cec-meta svg{color:var(--accent);font-size:.85rem}@media(max-width:900px){.calendar-view{grid-template-columns:1fr;gap:var(--space-5)}.calendar-widget{position:static}.view-toggle-btn span{display:none}}@media(max-width:480px){.calendar-event-card{grid-template-columns:72px 1fr;gap:var(--space-3)}.cec-img{width:72px;height:72px}.cec-meta{gap:8px;font-size:.72rem}}.news-page{min-height:100vh;background:var(--bg);color:var(--text)}.news-hero{display:block;max-width:1200px;margin:0 auto;padding:var(--space-12) var(--space-6) var(--space-4)}.news-hero-content h1{font-size:2rem;font-weight:700;letter-spacing:-.02em;color:var(--text);margin:0 0 var(--space-1)}.news-hero-content p{font-size:.95rem;color:var(--text-muted);margin:0}.news-container{max-width:1200px;margin:0 auto;padding:0 var(--space-6) var(--space-16)}.news-toolbar{display:flex;align-items:center;gap:var(--space-4);margin:var(--space-4) 0 var(--space-8);flex-wrap:wrap}.news-categories{display:flex;flex-wrap:wrap;gap:var(--space-2)}.category-btn{padding:8px 14px;background:var(--bg);border:1px solid var(--border);border-radius:999px;color:var(--text-muted);font-size:.85rem;font-weight:500;cursor:pointer;text-transform:capitalize;transition:background .15s ease,border-color .15s ease,color .15s ease}.category-btn:hover{border-color:var(--text);color:var(--text)}.category-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.featured-article{display:grid;grid-template-columns:1.4fr 1fr;gap:var(--space-6);margin-bottom:var(--space-12);padding-bottom:var(--space-12);border-bottom:1px solid var(--border);text-decoration:none;color:var(--text)}.featured-image{position:relative;width:100%;aspect-ratio:16 / 10;border-radius:var(--radius-md);overflow:hidden;background:var(--bg-muted)}.featured-article:hover .featured-image img{transform:scale(1.02)}.featured-category,.article-category{position:absolute;top:12px;left:12px;background:var(--bg);color:var(--text);font-size:.7rem;font-weight:500;padding:4px 10px;border-radius:999px;border:1px solid var(--border);letter-spacing:.02em;text-transform:capitalize}.featured-meta,.article-meta{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;color:var(--text-subtle)}.featured-content h2{font-size:1.75rem;font-weight:700;letter-spacing:-.01em;margin:0;line-height:1.2;color:var(--text)}.featured-content p{font-size:1rem;color:var(--text-muted);margin:0;line-height:1.6;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.read-more{display:inline-flex;align-items:center;gap:6px;font-size:.92rem;font-weight:500;color:var(--text);margin-top:var(--space-2)}.featured-article:hover .read-more{color:var(--highlight)}.news-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-6)}.news-article{display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;text-decoration:none;color:var(--text);box-shadow:var(--shadow-sm);transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.news-article:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.article-image{position:relative;width:100%;aspect-ratio:16 / 10;overflow:hidden;background:var(--bg-muted)}.article-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.news-article:hover .article-image img{transform:scale(1.02)}.article-content{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);flex:1}.article-meta{font-size:.78rem;color:var(--text-subtle)}.article-content h3{font-size:1.05rem;font-weight:600;color:var(--text);margin:0;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.article-content p{font-size:.88rem;color:var(--text-muted);margin:0;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.no-results h3{font-size:1.25rem;font-weight:600;margin:0 0 var(--space-2);color:var(--text)}@media(max-width:768px){.news-hero{padding:var(--space-8) var(--space-4) var(--space-3)}.news-hero-content h1{font-size:1.6rem}.news-container{padding:0 var(--space-4) var(--space-12)}.featured-article{grid-template-columns:1fr;gap:var(--space-4);margin-bottom:var(--space-8);padding-bottom:var(--space-8)}.featured-content h2{font-size:1.35rem}.news-grid{grid-template-columns:1fr;gap:var(--space-4)}}.news-detail-page{min-height:100vh;background:var(--bg);color:var(--text)}.news-image-container{position:relative;width:100%;max-width:900px;margin:var(--space-6) auto 0;aspect-ratio:16 / 9;border-radius:var(--radius-md);overflow:hidden;background:var(--bg-muted)}.news-image{width:100%;height:100%;object-fit:cover}.news-content{max-width:720px;margin:0 auto;padding:var(--space-8) var(--space-6) var(--space-16);display:flex;flex-direction:column;gap:var(--space-4)}.news-meta{display:flex;align-items:center;gap:var(--space-4);font-size:.82rem;color:var(--text-subtle)}.news-category,.news-date{display:inline-flex;align-items:center;gap:4px}.news-category{color:var(--highlight);text-transform:capitalize}.news-title{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;letter-spacing:-.02em;color:var(--text);line-height:1.15;margin:0}.news-excerpt{font-size:1.1rem;color:var(--text-muted);line-height:1.55;margin:0;font-weight:400}.news-body{font-size:1.02rem;line-height:1.75;color:var(--text)}.news-body p{margin:0 0 var(--space-4);color:var(--text)}.news-body p:last-child{margin-bottom:0}.source-link{display:inline-flex;align-items:center;gap:4px;font-size:.92rem;font-weight:500;color:var(--highlight);text-decoration:none;margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border)}.source-link:hover{color:var(--accent-hover)}@media(max-width:768px){.news-image-container{margin:var(--space-3) var(--space-4) 0;aspect-ratio:16 / 10}.news-content{padding:var(--space-6) var(--space-4) var(--space-12)}.news-excerpt{font-size:1rem}}.playlists-page{min-height:100vh;background:var(--bg);color:var(--text)}.playlists-hero{display:flex;flex-direction:column;align-items:flex-start;max-width:1200px;margin:0 auto;padding:var(--space-12) var(--space-6) var(--space-4);gap:var(--space-3)}.playlists-hero h1{font-size:2rem;font-weight:700;letter-spacing:-.02em;color:var(--text);margin:0}.playlists-hero p{font-size:.95rem;color:var(--text-muted);margin:0}.playlists-container{max-width:1200px;margin:0 auto;padding:0 var(--space-6) var(--space-16)}.playlists-search{margin:0 auto var(--space-8)}.playlists-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-6)}.playlist-card{display:flex;flex-direction:column;gap:var(--space-3);background:transparent;border:none;box-shadow:none}.playlist-card:hover{transform:none;border:none;box-shadow:none}.playlist-cover{position:relative;width:100%;aspect-ratio:1;border-radius:var(--radius-md);overflow:hidden;background:var(--bg-muted);border:1px solid var(--border)}.playlist-cover img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.playlist-card:hover .playlist-cover img{transform:scale(1.02)}.playlist-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;background:#00000059;transition:opacity .15s ease}.playlist-overlay.visible{opacity:1}.play-btn{width:48px;height:48px;border-radius:50%;background:var(--bg);border:none;color:var(--text);font-size:1.2rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.playlist-details{display:flex;flex-direction:column;gap:var(--space-2)}.playlist-details h3{font-size:1rem;font-weight:600;color:var(--text);margin:0;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.playlist-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.platform-link{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;background:var(--bg);border:1px solid var(--border);border-radius:999px;color:var(--text-muted);font-size:.78rem;font-weight:500;text-decoration:none;transition:border-color .15s ease,color .15s ease}.platform-link:hover{border-color:var(--text);color:var(--text)}@media(max-width:768px){.playlists-hero{padding:var(--space-8) var(--space-4) var(--space-3)}.playlists-hero h1{font-size:1.6rem}.playlists-container{padding:0 var(--space-4) var(--space-12)}.playlists-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-4)}}.releases-page{min-height:100vh;background:var(--bg);color:var(--text)}.releases-hero{display:flex;flex-direction:column;align-items:flex-start;max-width:1200px;margin:0 auto;padding:var(--space-12) var(--space-6) var(--space-4);gap:var(--space-3)}.releases-hero h1{font-size:2rem;font-weight:700;letter-spacing:-.02em;color:var(--text);margin:0}.releases-hero p{font-size:.95rem;color:var(--text-muted);margin:0}.releases-container{max-width:1200px;margin:0 auto;padding:0 var(--space-6) var(--space-16)}.releases-search{margin-bottom:var(--space-8)}.featured-release{display:grid;grid-template-columns:320px 1fr;gap:var(--space-8);margin-bottom:var(--space-12);padding-bottom:var(--space-12);border-bottom:1px solid var(--border);align-items:center}.featured-artwork{position:relative;width:100%;aspect-ratio:1;border-radius:var(--radius-md);overflow:hidden;background:var(--bg-muted);border:1px solid var(--border)}.featured-artwork img{width:100%;height:100%;object-fit:cover}.featured-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;background:#00000059;transition:opacity .15s ease}.featured-artwork:hover .featured-overlay{opacity:1}.large-play-btn{width:56px;height:56px;border-radius:50%;background:var(--bg);border:none;color:var(--text);font-size:1.4rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.new-badge{position:absolute;top:12px;left:12px;background:var(--highlight);color:#fff;font-size:.65rem;font-weight:600;padding:4px 10px;border-radius:999px;letter-spacing:.06em}.featured-info{display:flex;flex-direction:column;gap:var(--space-2)}.featured-artist{font-size:.85rem;color:var(--text-muted);font-weight:500;letter-spacing:.02em}.featured-info h2{font-size:1.85rem;font-weight:700;letter-spacing:-.01em;color:var(--text);margin:0;line-height:1.15}.featured-date{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;color:var(--text-subtle);margin:0}.featured-desc{font-size:.95rem;color:var(--text-muted);margin:0;line-height:1.6}.listen-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;background:var(--accent);color:#fff;border-radius:var(--radius-md);font-size:.92rem;font-weight:500;text-decoration:none;width:fit-content;margin-top:var(--space-2);transition:background .15s ease}.listen-btn:hover{background:var(--accent-hover);color:#fff}.section-title{font-size:1.15rem;font-weight:600;color:var(--text);margin:0 0 var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--border)}.releases-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-6)}.release-card{display:flex;flex-direction:column;gap:var(--space-2);background:transparent;border:none;box-shadow:none}.release-card:hover{transform:none;border:none;box-shadow:none}.release-artwork{position:relative;width:100%;aspect-ratio:1;border-radius:var(--radius-md);overflow:hidden;background:var(--bg-muted);border:1px solid var(--border)}.release-artwork img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.release-card:hover .release-artwork img{transform:scale(1.02)}.release-badge{position:absolute;top:8px;left:8px;background:var(--bg);border:1px solid var(--border);color:var(--text);font-size:.6rem;font-weight:600;padding:3px 8px;border-radius:999px;letter-spacing:.06em}.release-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;background:#00000059;transition:opacity .15s ease}.release-card:hover .release-overlay{opacity:1}.play-link{width:44px;height:44px;border-radius:50%;background:var(--bg);color:var(--text);display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-size:1.1rem}.release-details{display:flex;flex-direction:column;gap:2px;padding:var(--space-2) 0 0}.release-artist{font-size:.78rem;color:var(--text-muted);font-weight:500}.release-details h4{font-size:.95rem;font-weight:600;color:var(--text);margin:0;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.release-date{font-size:.75rem;color:var(--text-subtle)}@media(max-width:768px){.releases-hero{padding:var(--space-8) var(--space-4) var(--space-3)}.releases-hero h1{font-size:1.6rem}.releases-container{padding:0 var(--space-4) var(--space-12)}.featured-release{grid-template-columns:1fr;gap:var(--space-4);padding-bottom:var(--space-8);margin-bottom:var(--space-8)}.featured-info h2{font-size:1.5rem}.releases-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-4)}}.reviews-page{min-height:100vh;background:var(--bg);color:var(--text)}.reviews-hero{display:flex;flex-direction:column;align-items:flex-start;max-width:1200px;margin:0 auto;padding:var(--space-12) var(--space-6) var(--space-4);gap:var(--space-3)}.reviews-hero h1{font-size:2rem;font-weight:700;letter-spacing:-.02em;color:var(--text);margin:0}.reviews-hero p{font-size:.95rem;color:var(--text-muted);margin:0}.reviews-container{max-width:1200px;margin:0 auto;padding:0 var(--space-6) var(--space-16)}.reviews-toolbar{display:flex;align-items:center;gap:var(--space-4);margin:var(--space-4) 0 var(--space-8);flex-wrap:wrap}.rating-filters{display:flex;flex-wrap:wrap;gap:var(--space-2)}.rating-filters button{padding:8px 14px;background:var(--bg);border:1px solid var(--border);border-radius:999px;color:var(--text-muted);font-size:.85rem;font-weight:500;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.rating-filters button:hover{border-color:var(--text);color:var(--text)}.rating-filters button.active{background:var(--accent);border-color:var(--accent);color:#fff}.featured-review{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--space-6);margin-bottom:var(--space-12);padding-bottom:var(--space-12);border-bottom:1px solid var(--border);text-decoration:none;color:var(--text)}.featured-image{position:relative;width:100%;aspect-ratio:4 / 3;border-radius:var(--radius-md);overflow:hidden;background:var(--bg-muted)}.featured-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.featured-review:hover .featured-image img{transform:scale(1.02)}.featured-content{display:flex;flex-direction:column;justify-content:center;gap:var(--space-3)}.featured-score{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:var(--radius-sm);color:#fff;width:fit-content}.score-number{font-size:1.05rem;font-weight:700}.score-label{font-size:.75rem;font-weight:500;letter-spacing:.04em}.featured-artist{font-size:.85rem;color:var(--text-muted);font-weight:500}.featured-content h2{font-size:1.75rem;font-weight:700;letter-spacing:-.01em;color:var(--text);margin:0;line-height:1.2}.featured-text{font-size:.95rem;color:var(--text-muted);margin:0;line-height:1.6;display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.star-rating,.mini-stars{display:flex;gap:2px;color:var(--border-strong)}.star-rating .filled,.mini-stars .filled{color:var(--highlight);fill:var(--highlight)}.mini-stars{font-size:.8rem}.reviews-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-6)}.review-card{display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;text-decoration:none;color:var(--text);box-shadow:var(--shadow-sm);transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.review-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.review-image{position:relative;width:100%;aspect-ratio:16 / 10;overflow:hidden;background:var(--bg-muted)}.review-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.review-card:hover .review-image img{transform:scale(1.02)}.review-score{position:absolute;top:12px;right:12px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:.92rem;font-weight:700;color:#fff;border-radius:50%}.review-content{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);flex:1}.review-artist{font-size:.78rem;color:var(--text-muted);font-weight:500}.review-content h3{font-size:1.05rem;font-weight:600;color:var(--text);margin:0;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.review-text{font-size:.85rem;color:var(--text-muted);margin:0;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media(max-width:768px){.reviews-hero{padding:var(--space-8) var(--space-4) var(--space-3)}.reviews-hero h1{font-size:1.6rem}.reviews-container{padding:0 var(--space-4) var(--space-12)}.featured-review{grid-template-columns:1fr;gap:var(--space-4);padding-bottom:var(--space-8);margin-bottom:var(--space-8)}.featured-content h2{font-size:1.35rem}.reviews-grid{grid-template-columns:1fr;gap:var(--space-4)}}.review-detail-page{min-height:100vh;background:var(--bg);color:var(--text)}.detail-nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:12px var(--space-4);background:var(--bg);border-bottom:1px solid var(--border)}.nav-btn{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--bg-subtle);border:1px solid var(--border);color:var(--text);cursor:pointer;transition:background .15s ease}.nav-btn:hover{background:var(--bg-muted)}.nav-title{font-size:.92rem;font-weight:600;color:var(--text)}.review-image-container{position:relative;width:100%;max-width:900px;margin:var(--space-6) auto 0;aspect-ratio:16 / 9;border-radius:var(--radius-md);overflow:hidden;background:var(--bg-muted)}.review-image{width:100%;height:100%;object-fit:cover}.image-overlay{display:none}.rating-badge{position:absolute;bottom:16px;right:16px;display:inline-flex;flex-direction:column;align-items:center;padding:8px 14px;border-radius:var(--radius-md);color:#fff;box-shadow:var(--shadow-md)}.rating-number{font-size:1.5rem;font-weight:700;line-height:1}.rating-label{font-size:.7rem;font-weight:500;letter-spacing:.04em;margin-top:2px}.review-content{max-width:720px;margin:0 auto;padding:var(--space-8) var(--space-6) var(--space-16);display:flex;flex-direction:column;gap:var(--space-3)}.review-artist{font-size:.9rem;color:var(--text-muted);font-weight:500;letter-spacing:.02em}.review-title{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;letter-spacing:-.02em;color:var(--text);line-height:1.15;margin:0}.review-meta{display:flex;flex-wrap:wrap;gap:var(--space-4);font-size:.82rem;color:var(--text-subtle);margin-bottom:var(--space-2)}.meta-item{display:inline-flex;align-items:center;gap:4px}.rating-section{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-md)}.rating-section h3{font-size:.85rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:0}.rating-bar-container{height:6px;width:100%;background:var(--bg-muted);border-radius:999px;overflow:hidden}.rating-bar{height:100%;border-radius:999px;transition:width .3s ease}.rating-stars{display:flex;gap:4px;font-size:1rem}.rating-stars .star{color:var(--border-strong)}.rating-stars .star.filled{fill:currentColor}.review-body{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-4)}.review-body h3{font-size:.85rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:0;padding-bottom:var(--space-3);border-bottom:1px solid var(--border)}.review-body p{font-size:1.02rem;line-height:1.75;color:var(--text);margin:0 0 var(--space-4)}.review-body p:last-child{margin-bottom:0}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-16) var(--space-6);gap:var(--space-3)}.back-home-btn{margin-top:var(--space-3);padding:10px 18px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-md);font-size:.9rem;font-weight:500;cursor:pointer}.back-home-btn:hover{background:var(--accent-hover)}@media(max-width:768px){.review-image-container{margin:var(--space-3) var(--space-4) 0;aspect-ratio:16 / 10}.review-content{padding:var(--space-6) var(--space-4) var(--space-12)}.rating-badge{bottom:12px;right:12px;padding:6px 12px}.rating-number{font-size:1.25rem}}.events-page{min-height:100vh;background:var(--bg);color:var(--text)}.events-hero{display:flex;flex-direction:column;align-items:flex-start;max-width:1200px;margin:0 auto;padding:var(--space-12) var(--space-6) var(--space-4);gap:var(--space-3)}.hero-icon{width:44px;height:44px;border-radius:var(--radius-md);background:var(--highlight-soft);color:var(--highlight);display:inline-flex;align-items:center;justify-content:center;font-size:1.25rem}.events-hero h1{font-size:2rem;font-weight:700;letter-spacing:-.02em;color:var(--text);margin:0}.events-hero p{font-size:.95rem;color:var(--text-muted);margin:0}.events-container{max-width:1200px;margin:0 auto;padding:0 var(--space-6) var(--space-16)}.events-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin:var(--space-4) 0 var(--space-8);flex-wrap:wrap}.view-toggle{display:inline-flex;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);padding:3px;gap:2px}.view-toggle button{padding:6px 14px;background:transparent;border:none;color:var(--text-muted);font-size:.85rem;font-weight:500;cursor:pointer;border-radius:var(--radius-sm);transition:background .15s ease,color .15s ease}.view-toggle button:hover{color:var(--text)}.view-toggle button.active{background:var(--accent);color:#fff}.events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-6)}.events-list{display:flex;flex-direction:column;gap:var(--space-4)}.event-card{display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.event-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.events-list .event-card{flex-direction:row}.event-image{position:relative;width:100%;aspect-ratio:16 / 10;overflow:hidden;background:var(--bg-muted);flex-shrink:0}.events-list .event-image{width:240px;aspect-ratio:auto;height:auto}.event-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.event-card:hover .event-image img{transform:scale(1.02)}.event-date-badge{position:absolute;top:12px;left:12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 10px;display:flex;flex-direction:column;align-items:center;min-width:50px}.event-date-badge .day{font-size:1.25rem;font-weight:700;color:var(--text);line-height:1.1}.event-date-badge .month{font-size:.6rem;font-weight:600;color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase}.event-content{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);flex:1}.event-content h3{font-size:1.05rem;font-weight:600;color:var(--text);margin:0;line-height:1.3}.event-full-date{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;color:var(--text-subtle);margin:0}.event-description{font-size:.88rem;color:var(--text-muted);margin:0;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.event-footer{margin-top:auto;padding-top:var(--space-2)}.event-link{display:inline-flex;align-items:center;gap:4px;font-size:.85rem;font-weight:500;color:var(--text);text-decoration:none;transition:color .15s ease}.event-link:hover{color:var(--highlight)}.no-results{text-align:center;padding:var(--space-16) var(--space-6);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-md)}.no-results h3{font-size:1.25rem;font-weight:600;color:var(--text);margin:0 0 var(--space-2)}.no-results p{font-size:.95rem;color:var(--text-muted);margin:0}@media(max-width:768px){.events-hero{padding:var(--space-8) var(--space-4) var(--space-3)}.events-hero h1{font-size:1.6rem}.events-container{padding:0 var(--space-4) var(--space-12)}.events-grid{grid-template-columns:1fr;gap:var(--space-4)}.events-list .event-card{flex-direction:column}.events-list .event-image{width:100%;aspect-ratio:16 / 10}}.admin-page{min-height:100vh;display:flex;background:#0a0a0a}.mobile-header{display:none;position:fixed;top:0;left:0;right:0;height:60px;background:#121212;border-bottom:1px solid #2a2a2a;padding:0 16px;align-items:center;gap:12px;z-index:90}.menu-toggle{width:40px;height:40px;background:#ffffff1a;border:none;border-radius:8px;color:#fff;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.mobile-title{font-size:1.1rem;font-weight:600;color:#fff}.sidebar-overlay{display:none;position:fixed;inset:0;background:#0009;z-index:95}.admin-sidebar{width:250px;background:#121212;padding:20px 0;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100;transition:transform .3s ease}.admin-logo{display:flex;align-items:center;gap:12px;padding:0 24px 24px;border-bottom:1px solid #2a2a2a;margin-bottom:20px;color:#fff;font-size:1.2rem;font-weight:600}.admin-logo svg{color:#fff;font-size:1.4rem}.admin-nav{flex:1;display:flex;flex-direction:column;gap:4px;padding:0 12px}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:none;border:none;color:#888;font-size:.95rem;cursor:pointer;border-radius:8px;transition:all .2s;text-align:left}.nav-item:hover{background:#ffffff1a;color:#fff}.nav-item.active{background:#fff;color:#000}.logout-btn{display:flex;align-items:center;gap:12px;padding:12px 16px;margin:0 12px;background:none;border:none;color:#ff6b6b;font-size:.95rem;cursor:pointer;border-radius:8px;transition:all .2s}.logout-btn:hover{background:#ff6b6b1a}.admin-main{flex:1;margin-left:250px;padding:24px}.admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.admin-header h1{color:#fff;font-size:1.8rem;text-transform:capitalize}.add-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;background:#fff;border:none;border-radius:8px;color:#000;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}.add-btn:hover{background:#e0e0e0}.admin-content{background:#121212;border-radius:16px;overflow:hidden}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:16px;text-align:left;border-bottom:1px solid #2a2a2a}.admin-table th{background:#1a1a1a;color:#888;font-size:.85rem;text-transform:uppercase;font-weight:500}.admin-table td{color:#fff;font-size:.9rem}.admin-table tbody tr:hover{background:#ffffff0d}.actions{display:flex;gap:8px}.edit-btn,.delete-btn{padding:8px;border:none;border-radius:6px;cursor:pointer;transition:all .2s}.edit-btn{background:#fff3;color:#fff}.edit-btn:hover{background:#ffffff4d}.delete-btn{background:#ff6b6b33;color:#ff6b6b}.delete-btn:hover{background:#ff6b6b4d}.mobile-cards{display:none}.mobile-card{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid #2a2a2a}.card-info{flex:1}.card-field{margin-bottom:4px}.field-label{font-size:.75rem;color:#888;text-transform:uppercase;display:block}.field-value{font-size:.95rem;color:#fff}.card-actions{display:flex;gap:8px}.empty-state{text-align:center;padding:60px 20px}.empty-state p{color:#888;margin-bottom:20px;font-size:1rem}.modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal{background:#121212;border-radius:16px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #2a2a2a}.modal-header h2{color:#fff;font-size:1.3rem;text-transform:capitalize}.close-btn{background:none;border:none;color:#888;font-size:1.2rem;cursor:pointer;padding:4px}.close-btn:hover{color:#fff}.modal form{padding:24px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group.full-width{grid-column:1 / -1}.form-group label{color:#888;font-size:.85rem;text-transform:capitalize}.form-group input,.form-group textarea{background:#0a0a0a;border:1px solid #2a2a2a;border-radius:8px;padding:12px;color:#fff;font-size:.95rem;outline:none;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{border-color:#fff}.form-group textarea{resize:vertical;min-height:100px}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid #2a2a2a}.cancel-btn{padding:12px 24px;background:none;border:1px solid #444;border-radius:8px;color:#888;font-size:.95rem;cursor:pointer;transition:all .2s}.cancel-btn:hover{border-color:#666;color:#fff}.submit-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;background:#fff;border:none;border-radius:8px;color:#000;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}.submit-btn:hover{background:#e0e0e0}.loading{text-align:center;color:#888;padding:60px}.image-preview{margin-top:10px;border-radius:8px;overflow:hidden;max-height:150px;position:relative}.image-preview img{width:100%;height:100%;max-height:150px;object-fit:cover;border-radius:8px}.label-hint{color:#666;font-size:.8rem;font-weight:400}.image-upload-wrapper{display:flex;flex-direction:column;gap:10px}.upload-input-row{display:flex;gap:10px}.upload-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;background:#fff;border-radius:8px;color:#000;font-size:.9rem;cursor:pointer;transition:all .2s;white-space:nowrap}.upload-btn:hover{background:#e0e0e0}.url-input{flex:1;background:#0a0a0a;border:1px solid #2a2a2a;border-radius:8px;padding:12px;color:#fff;font-size:.95rem;outline:none}.url-input:focus{border-color:#fff}.remove-image{position:absolute;top:8px;right:8px;width:28px;height:28px;background:#ff6b6be6;border:none;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.remove-image:hover{background:#ff6b6b;transform:scale(1.1)}@media(max-width:768px){.mobile-header{display:flex}.sidebar-overlay{display:block}.admin-sidebar{transform:translate(-100%)}.admin-sidebar.open{transform:translate(0)}.admin-main{margin-left:0;padding:80px 16px 16px}.admin-header h1{font-size:1.4rem}.add-btn .btn-text{display:none}.add-btn{padding:12px}.desktop-table{display:none}.mobile-cards{display:block}.form-grid{grid-template-columns:1fr}.modal{max-width:100%;max-height:100vh;border-radius:0}.modal-overlay{padding:0}.upload-input-row{flex-direction:column}}.admin-login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#0a0a0a;padding:20px}.login-card{background:#121212;border-radius:20px;padding:40px;width:100%;max-width:400px}.login-header{text-align:center;margin-bottom:32px}.login-header h1{color:#fff;font-size:1.8rem;margin-bottom:8px}.login-header p{color:#888;font-size:.95rem}.error-message{background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);color:#ff6b6b;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:.9rem}.input-group{display:flex;align-items:center;background:#0a0a0a;border:1px solid #2a2a2a;border-radius:12px;padding:0 16px;margin-bottom:16px;transition:border-color .2s}.input-group:focus-within{border-color:#fff}.input-group svg{color:#666;font-size:1.1rem}.input-group input{flex:1;background:none;border:none;padding:16px 12px;color:#fff;font-size:1rem;outline:none}.input-group input::placeholder{color:#666}.login-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;background:#fff;border:none;border-radius:12px;color:#000;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;margin-top:8px}.login-btn:hover:not(:disabled){background:#e0e0e0}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-footer{text-align:center;margin-top:24px;padding-top:24px;border-top:1px solid #2a2a2a}.login-footer a{color:#fff;text-decoration:none;font-size:.9rem;transition:opacity .2s}.login-footer a:hover{opacity:.8}.app{display:flex;flex-direction:column;min-height:100vh;background:var(--bg);color:var(--text)}.main-content{flex:1;padding-top:72px}.app:has(.concert-detail-page) .main-content{padding-top:0}.app:has(.home-page) .main-content{padding-top:0}.app:has(.home-page) .header{background:transparent;border-bottom-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.container{max-width:1200px;margin:0 auto;padding:var(--space-12) var(--space-6)}@media(max-width:768px){.main-content{padding-top:60px}.app:has(.concert-detail-page) .main-content{padding-top:0}.container{padding:var(--space-8) var(--space-4)}.main-content,.home-page,.all-concerts-page,.news-page,.events-page,.reviews-page,.playlists-page,.releases-page{padding-bottom:96px}}
