.lineup-page{border-bottom:3px solid var(--color-ink)}.lineup-hero{padding:10rem var(--gutter) 4rem;text-align:center;position:relative}.lineup-hero:before{content:"";background-image:radial-gradient(circle, var(--color-ink) 1.8px, transparent 2px);opacity:.3;pointer-events:none;background-size:14px 14px;width:240px;height:240px;position:absolute;top:20%;left:10%;-webkit-mask-image:radial-gradient(circle,#000 30%,#0000 75%);mask-image:radial-gradient(circle,#000 30%,#0000 75%)}.lineup-hero:after{content:"";background-image:radial-gradient(circle, var(--color-ink) 1.5px, transparent 2px);opacity:.25;pointer-events:none;background-size:12px 12px;width:200px;height:200px;position:absolute;bottom:8%;right:8%;-webkit-mask-image:radial-gradient(circle,#000 30%,#0000 75%);mask-image:radial-gradient(circle,#000 30%,#0000 75%)}.lineup-title{margin:0 0 2rem;line-height:.85;display:inline-block;position:relative}.lineup-title .title-ghost,.lineup-title .title-main{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.01em;transform-origin:50%;font-size:clamp(4rem,13vw,11rem);font-weight:400;display:block;transform:scaleY(1.12)}.lineup-title .title-ghost{color:#0000;-webkit-text-stroke:2px var(--color-secondary);opacity:.75;position:absolute;top:0;left:0;right:0;transform:scaleY(1.12)translateY(-10px)}.lineup-title .title-main{color:var(--color-secondary);-webkit-text-stroke:2px var(--color-ink);text-shadow:5px 5px 0 var(--color-ink), 10px 10px 0 var(--color-primary);position:relative}.lineup-subtitle{font-family:var(--font-accent);color:var(--color-ink);text-transform:uppercase;letter-spacing:.1em;max-width:640px;margin:0 auto;font-size:1.1rem;font-weight:500;line-height:1.6}.lineup-board{padding:3rem 0 6rem;position:relative}.day-tabs{flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:3.5rem;display:flex}.day-tab{font-family:var(--font-display);background:var(--color-cream);color:var(--color-ink);border:3px solid var(--color-ink);box-shadow:5px 5px 0 var(--color-ink);cursor:pointer;transition:transform .2s var(--ease), box-shadow .2s var(--ease), background .2s var(--ease), color .2s var(--ease);flex-direction:column;align-items:center;padding:.7rem 2.2rem;line-height:1;display:flex}.day-tab:hover{box-shadow:8px 8px 0 var(--color-ink);transform:translate(-3px,-3px)}.day-tab .day-tab-label{text-transform:uppercase;letter-spacing:.03em;font-size:2rem}.day-tab .day-tab-date{font-family:var(--font-accent);text-transform:uppercase;letter-spacing:.14em;opacity:.8;margin-top:.35rem;font-size:.8rem;font-weight:700}.day-tab.active{background:var(--color-secondary);color:var(--color-cream);box-shadow:5px 5px 0 var(--color-primary)}.day-tab.active:hover{box-shadow:8px 8px 0 var(--color-primary)}.day-panel{display:none}.day-panel.active{animation:dayFade .4s var(--ease);display:block}@keyframes dayFade{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.stage-block{margin-bottom:3.5rem}.stage-block:last-child{margin-bottom:0}.stage-block-head{border-bottom:3px solid var(--color-ink);flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:.8rem;display:flex}.stage-block-tag{font-family:var(--font-accent);text-transform:uppercase;letter-spacing:.12em;color:var(--color-cream);background:var(--color-ink);border:2px solid var(--color-ink);flex-shrink:0;padding:.3rem .7rem;font-size:.75rem;font-weight:700}.stage-block-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;margin:0;font-size:clamp(1.8rem,5vw,2.8rem);font-weight:400;line-height:1}.stage-block-main .stage-block-title{color:var(--color-secondary)}.stage-block-quercy .stage-block-tag{background:var(--color-secondary);border-color:var(--color-secondary)}.stage-block-quercy .stage-block-title{color:var(--color-secondary)}.lineup-board .artist-info{text-align:center;flex-direction:column;gap:.3rem;padding:.7rem .85rem .85rem}.lineup-board .artist-card h3{margin:0;font-size:1.35rem;line-height:1.05}.lineup-board .artist-status{margin:0}.stage-block-empty{text-align:center;border:3px dashed var(--color-ink);background:repeating-linear-gradient(45deg,#0000,#0000 16px,#1a0a000a 16px 32px);padding:2.5rem 1rem}.stage-block-empty p{font-family:var(--font-accent);text-transform:uppercase;letter-spacing:.1em;color:var(--color-ink);margin:.6rem 0;font-size:.95rem;font-weight:600}.stage-block-empty .more-dots{color:var(--color-secondary);letter-spacing:.2em;opacity:.6}.view-toggle{border:3px solid var(--color-ink);width:fit-content;box-shadow:5px 5px 0 var(--color-ink);background:var(--color-cream);justify-content:center;gap:0;margin:-1.5rem auto 3rem;display:flex}.view-toggle-btn{font-family:var(--font-display);letter-spacing:.05em;text-transform:uppercase;color:var(--color-ink);cursor:pointer;transition:background .2s var(--ease), color .2s var(--ease);background:0 0;border:none;padding:.55rem 2rem;font-size:1.3rem}.view-toggle-btn+.view-toggle-btn{border-left:3px solid var(--color-ink)}.view-toggle-btn.active{background:var(--color-primary);color:var(--color-cream)}.timetable,.lineup-board.show-timetable .stage-block{display:none}.lineup-board.show-timetable .day-panel.active .timetable{animation:dayFade .4s var(--ease);grid-template-columns:repeat(2,1fr);gap:2rem;display:grid}.tt-stage{border:3px solid var(--color-ink);background:var(--color-cream);box-shadow:7px 7px 0 var(--color-primary)}.tt-stage-quercy{box-shadow:7px 7px 0 var(--color-secondary)}.tt-stage-head{border-bottom:3px solid var(--color-ink);background:var(--color-secondary);align-items:center;gap:.8rem;padding:1rem 1.2rem;display:flex}.tt-stage-main .tt-stage-head{background:var(--color-primary)}.tt-stage-tag{font-family:var(--font-accent);text-transform:uppercase;letter-spacing:.12em;color:var(--color-ink);background:var(--color-cream);border:2px solid var(--color-ink);flex-shrink:0;padding:.25rem .6rem;font-size:.7rem;font-weight:700}.tt-stage-name{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;color:var(--color-cream);margin:0;font-size:clamp(1.5rem,4vw,2.1rem);font-weight:400;line-height:1}.tt-list{margin:0;padding:0;list-style:none}.tt-slot{transition:background .2s var(--ease);border-bottom:2px dashed #1a0a0040;flex-direction:column;gap:.15rem;padding:.85rem 1.2rem;display:flex}.tt-slot:last-child{border-bottom:none}.tt-slot:hover{background:#ff7a001a}.tt-stage-quercy .tt-slot:hover{background:#7b2fbe1a}.tt-time{font-family:var(--font-accent);text-transform:uppercase;letter-spacing:.1em;color:var(--color-primary);font-size:.8rem;font-weight:700}.tt-stage-quercy .tt-time{color:var(--color-secondary)}.tt-artist{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em;color:var(--color-ink);font-size:1.5rem;line-height:1}.tt-slot-highlight{background:var(--color-ink)}.tt-slot-highlight .tt-time{color:var(--color-primary)}.tt-stage-quercy .tt-slot-highlight .tt-time,.tt-slot-highlight .tt-artist{color:var(--color-cream)}.tt-slot-highlight:hover{background:var(--color-ink)}.lineup-timetable-note{text-align:center;font-family:var(--font-accent);text-transform:uppercase;letter-spacing:.12em;color:var(--color-ink);background:var(--color-cream);border:3px solid var(--color-ink);box-shadow:5px 5px 0 var(--color-secondary);max-width:640px;margin:3.5rem auto 0;padding:1rem 1.4rem;font-size:.85rem;font-weight:600}@media (max-width:720px){.day-tab{padding:.6rem 1.6rem}.day-tab .day-tab-label{font-size:1.6rem}.stage-block-head{gap:.7rem}.lineup-board.show-timetable .day-panel.active .timetable{grid-template-columns:1fr;gap:2.5rem}.view-toggle-btn{padding:.5rem 1.4rem;font-size:1.1rem}}
