/* Phase 2: an original inflatable festival schedule-wall visual language.
   Intentionally graphic/CSS-based: no protected venue artwork or imported brand assets. */
:root{--vinyl-edge:#3f4652;--vinyl-shadow:0 18px 34px #0009}
.page main{display:grid;grid-template-columns:minmax(0,1.26fr) minmax(350px,.95fr);column-gap:15px;align-items:stretch}
.page main>.hero{grid-column:1}
.page main>.wall-tabs{grid-column:2}
.page main>.wall-tab-panel{grid-column:1/-1;min-width:0}
.site-header{height:88px;border-bottom:1px solid #4d525c}
.brand-emblem{box-shadow:inset 0 4px 5px #fff8,0 5px 0 #a67f04}
.brand-copy{font-size:16px;letter-spacing:.09em}
.page main>.hero{position:relative;min-height:264px;border:3px solid #e5c630;border-radius:32px;
  background:linear-gradient(145deg,#fff3a7 0%,#ffe557 32%,#ffe557 68%,#e5c43f 100%);
  padding:26px 33px 22px;box-shadow:inset 0 5px 7px #ffffffb5,inset 0 -12px 16px #c3a21d89,var(--vinyl-shadow)}
.page main>.hero:before{inset:12px;border:2px dashed #17191c3e;border-radius:23px}
.page main>.hero:after{inset:0;z-index:0;border-radius:30px;
  background:radial-gradient(ellipse at 10% 0%,#ffffff4d,transparent 48%),
    radial-gradient(ellipse at 100% 100%,#9d7a141c,transparent 48%);
  mask-image:none;pointer-events:none}
.hero h1{font:900 72px/.8 Impact,"Arial Black",sans-serif;margin:12px 0 15px;color:#0b0c10;
  text-shadow:none;letter-spacing:-.02em}
.hero h1 .hero-small-word{display:block;color:#0b0c10;font-size:clamp(30px,3.1vw,44px);
  letter-spacing:.008em;line-height:.9}
.hero h1>span:not(.hero-small-word){display:block;font-size:clamp(48px,6.3vw,91px);
  color:#0b0c10;line-height:.96}
.hero h1 small{display:block;font-size:clamp(48px,6.3vw,91px);color:#0b0c10;
  transform:none;text-shadow:none;line-height:.92;margin-top:0}
.page main>.hero .sticker{border:1px solid #15171c;background:#13151b;color:#ffe557;font-size:10px;
  box-shadow:2px 3px 0 #0005}
.hero-label-text{color:#333235;font-size:10px}
.hero-bottom{display:block}
.hero-bottom p{max-width:720px;color:#16171c;font-size:13px;line-height:1.4}
.hero-bottom p strong{font-weight:950}
.hero .big-stars{display:none}
.page main>.wall-tabs{margin:0;padding:12px;border:2px solid #434853;border-radius:29px;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:10px;
  background:linear-gradient(135deg,#2d303a,#111318);box-shadow:inset 0 6px 8px #ffffff12,var(--vinyl-shadow);
  position:relative;top:auto;z-index:10;backdrop-filter:none}
.page main>.wall-tabs:before{content:"";position:absolute;inset:7px;border:1px dashed #ffffff2a;
  border-radius:23px;pointer-events:none}
.wall-tab{position:relative;min-width:0;min-height:210px;padding:18px 13px;
  font:900 clamp(20px,2.9vw,39px)/1.02 Impact,"Arial Narrow",sans-serif;
  border-radius:25px;background:linear-gradient(145deg,#ffffff,#f6f7fb 52%,#d3d6dd);
  color:#101116;border:2px solid #c6cbd5;letter-spacing:.01em;
  box-shadow:inset 0 6px 7px #fff,inset 0 -12px 12px #999eac5c,0 9px 16px #0008}
.wall-tab:before{content:"";position:absolute;inset:8px;border:1px dashed #272b3740;
  border-radius:18px;pointer-events:none}
.wall-tab:after{content:"";position:absolute;bottom:26px;width:65%;max-width:180px;
  border-bottom:5px solid var(--orange);transform:rotate(-1deg)}
.wall-tab span{font-size:11px;color:#34343b;margin-bottom:13px}
.wall-tab.is-active{color:#0c0d11;border-color:#e5ca39;background:linear-gradient(145deg,#fff3a7,#ffe557 53%,#dfbb2d);
  box-shadow:inset 0 6px 7px #ffffff94,inset 0 -13px 12px #b391245c,0 9px 16px #0008;
  transform:none}
.wall-tab.is-active span{color:#363028}
.wall-tab:hover:not(.is-active){color:#0b0c10;border-color:#fff}
.wall-tab:focus-visible{outline:4px solid #ff4545;outline-offset:3px}
.wall-tab-panel{padding-top:21px}
.metric-card,.fan-card,.award-card,.wrapped-story-card{position:relative}
.metric-card{border-radius:20px;border:2px solid #454954;box-shadow:inset 0 4px 6px #fff2,0 12px 22px #0007}
.metric-card.yellow{border-color:#e6c631}
.metric-card:before{opacity:.04}
.metric-card:after{border-radius:14px}
.fan-card,.award-card{border-radius:24px!important;
  box-shadow:inset 0 5px 7px #ffffff14,inset 0 -10px 14px #0004,0 13px 20px #0006}
.fan-card:after,.award-card:after{content:"";position:absolute;inset:10px;
  border:1px dashed #ffffff2e;border-radius:16px;pointer-events:none}
.fan-card.must{background:linear-gradient(135deg,#fff39a,#ffe557,#d7b82d)!important;color:#131415!important}
.fan-card.must :is(strong,small,.fan-card-label){color:#121318!important}
.fan-card.must:after{border-color:#00000035}
.aftershow-results,.race-panel,.pump-panel,.battle-area,.explorer-panel{
  border-radius:28px;border:2px solid #464b58;
  background:linear-gradient(140deg,#292c35 0%,#181a20 40%,#121419 100%);
  box-shadow:inset 0 5px 7px #ffffff16,inset 0 -10px 15px #0007,var(--vinyl-shadow)}
.aftershow-results{padding:20px}
.race-stage{border-radius:19px}
.panel,.fan-vote-section{overflow:hidden}
.pump-panel .pump-bars{border-radius:15px 15px 3px 3px}
.sharpie-note{color:#ff4545;text-shadow:0 1px 1px #000;letter-spacing:.02em}
.section-heading h2 em,.aftershow-head h2 em{color:var(--yellow)}
.wrapped-import{border-radius:20px}
.my-wrapped{border:2px solid #5b6170;box-shadow:inset 0 4px 7px #ffffff16,var(--vinyl-shadow)}
.my-wrapped:before{content:"";font-size:0;border:2px dashed #ffffff24;inset:10px;
  border-radius:16px;transform:none}
.my-wrapped>*{position:relative}
.wrapped-header h2 em{color:var(--yellow)}
.wrapped-story-card{overflow:hidden}
.wrapped-story-card:after{content:"";position:absolute;inset:10px;border:1px dashed #ffffff28;
  border-radius:14px;pointer-events:none}
.wrapped-shared:after{border-color:#15151533}
.wrapped-story-actions button{min-height:46px}
.wrapped-band-tag{background:#2e3039;border-color:#606571}
.lineup-wall{color:#f6f7fb;border:2px solid #4e5562;border-radius:38px;
  background:linear-gradient(145deg,#383b46,#1a1c23 30%,#111318 75%,#272a32);
  box-shadow:inset 0 8px 12px #ffffff1c,inset 0 -13px 17px #0009,0 20px 38px #0009;
  padding:35px 30px 31px;margin:25px 0;overflow:hidden}
.lineup-wall:before{inset:11px;border:2px dashed #ffffff2a;border-radius:28px}
.lineup-wall:after{content:"";position:absolute;inset:13px;pointer-events:none;border-radius:27px;
  background:
    radial-gradient(circle at 24px 24px,#101318 0 6px,#a7afbd 7px 11px,#e5e9ed 12px 17px,#565e69 18px 21px,transparent 22px),
    radial-gradient(circle at calc(100% - 24px) 24px,#101318 0 6px,#a7afbd 7px 11px,#e5e9ed 12px 17px,#565e69 18px 21px,transparent 22px),
    radial-gradient(circle at 24px calc(100% - 24px),#101318 0 6px,#a7afbd 7px 11px,#e5e9ed 12px 17px,#565e69 18px 21px,transparent 22px),
    radial-gradient(circle at calc(100% - 24px) calc(100% - 24px),#101318 0 6px,#a7afbd 7px 11px,#e5e9ed 12px 17px,#565e69 18px 21px,transparent 22px);
}
.lineup-wall-heading{padding:3px 13px 7px}
.lineup-wall-heading h3{color:var(--ink)}
.lineup-wall-heading p{color:#c1c5d0}
.lineup-wall .section-kicker{color:var(--yellow)}
.lineup-wall .toggle-group{border-radius:9px}
.lineup-wall-key{margin:17px 12px 18px;gap:9px;color:#f2f3f8}
.lineup-wall-key span{position:relative;display:inline-flex;align-items:center;min-height:31px;
  padding:5px 11px 5px 33px;background:#292d35;border:1px solid #626875;border-radius:6px;
  transform:none}
.key-must{border-radius:6px!important}
.key-must:before{content:"";position:absolute;left:9px;top:8px;width:15px;height:10px;
  border:3px solid var(--red);border-radius:50%;transform:rotate(-14deg)}
.key-like:before{content:"";position:absolute;left:7px;top:17px;width:19px;border-top:4px solid var(--orange);transform:rotate(-5deg)}
.key-crowd{background:#ffe557!important;color:#0c0d11;border-color:#cdaa28!important}
.key-crowd:before{content:"";position:absolute;left:9px;width:16px;height:13px;
  background:#121318;clip-path:polygon(50% 0,63% 37%,100% 37%,71% 60%,82% 100%,50% 76%,18% 100%,29% 60%,0 37%,37% 37%)}
.lineup-board-insert{position:relative;padding:13px;
  background:linear-gradient(145deg,#fff,#e7e9ef 85%,#d2d5dc);border:3px solid #bbc1ca;border-radius:26px;
  box-shadow:inset 0 6px 7px #ffffffda,inset 0 -13px 14px #9196a66b,0 9px 18px #0009}
.lineup-board-insert:before{content:"";position:absolute;inset:7px;border:2px dashed #6e758c5c;
  border-radius:17px;pointer-events:none;z-index:1}
.lineup-wall-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.lineup-choice{z-index:0;min-width:0;min-height:98px;display:flex;flex-direction:column;
  justify-content:center;align-items:center;gap:6px;padding:14px 13px;
  border-radius:17px;border:2px solid #c7ccd6;
  background:linear-gradient(145deg,#fff,#f4f5f9 59%,#e1e4ea);
  box-shadow:inset 0 5px 5px #fff,inset 0 -8px 8px #c7cbd46b,0 4px 6px #6d74804c;
  color:#111318;font:950 18px/1.12 Inter,system-ui,sans-serif;text-align:center;
  transition:transform .15s,box-shadow .15s}
.lineup-choice:hover{background:linear-gradient(145deg,#fff,#f4f5f9);transform:translateY(-2px)}
.lineup-choice:focus-visible{outline:3px solid #ff4545;outline-offset:2px}
.lineup-choice.crowd{background:linear-gradient(135deg,#fff6bb,#ffe557 69%,#e8ca3f);
  box-shadow:inset 0 5px 5px #ffffffa3,inset 0 -8px 9px #cbac2b84,0 4px 6px #6d74804c}
.lineup-choice.must:after{content:none}
.lineup-artist-name{position:relative;display:inline-block;max-width:100%;
  overflow-wrap:anywhere;white-space:normal;line-height:1.24;text-decoration:none!important;
  padding:4px 7px}
.lineup-choice.must .lineup-artist-name{padding:8px 13px}
.lineup-choice.must .lineup-artist-name:after{content:"";position:absolute;inset:1px -5px;
  border:3px solid #ff4545e8;border-radius:51% 49% 54% 46% / 54% 48% 52% 46%;
  transform:rotate(-3deg);pointer-events:none;box-shadow:1px 1px 0 #ff45451e}
.lineup-choice.like{text-decoration:none}
.lineup-choice.like .lineup-artist-name{box-shadow:inset 0 -4px var(--orange);
  padding-bottom:6px}
.lineup-choice .lineup-priority{display:inline-block;min-height:13px;margin:0;
  padding:1px 6px;color:#505662;font-size:10px;font-weight:950;line-height:1.2;letter-spacing:.04em}
.lineup-choice.must .lineup-priority{background:#e73f46;color:#fff;border-radius:2px;
  padding:4px 9px;transform:rotate(-2deg)}
.lineup-choice.like .lineup-priority{color:#aa3f0c}
.lineup-choice.maybe .lineup-priority{font-style:italic}
.lineup-wall-controls{position:relative;display:flex;justify-content:center;align-items:center;gap:14px;
  padding:18px 5px 0;flex-wrap:wrap}
.lineup-wall-count{font-size:11px;color:#c6cad5;font-weight:850}
#lineup-expand{background:#ffe557;color:#0d0e12;border:1px solid #e9d471;
  padding:12px 20px;border-radius:9px;font-size:11px;font-weight:950}
#lineup-expand[hidden]{display:none}
.community-share,.personal-preview-row{
  border-radius:27px;border:2px solid #555d6b;
  background:linear-gradient(145deg,#2f333d,#17191f 40%,#111318);
  box-shadow:inset 0 5px 8px #ffffff19,0 13px 24px #0008}
.community-share{padding:22px 31px;gap:24px}
.community-share-copy{flex:1;min-width:0}
.community-share-copy p{max-width:570px;font-size:13px;margin:9px 0 18px}
.community-share-copy .wrapped-main-cta{min-height:50px}
.personal-preview-row{display:grid;grid-template-columns:minmax(0,1fr) 225px;
  padding:26px;gap:23px;align-items:center;margin:18px 0 22px}
.personal-preview-copy h3{font:900 clamp(32px,4.3vw,58px)/.98 Impact,sans-serif;
  margin:12px 0;color:#f6f7fb}
.personal-preview-copy p{font-size:13px;color:#c5c9d3;line-height:1.65;max-width:500px}
.personal-preview-copy button{min-height:48px;margin-top:10px}
.story-preview-shell{width:231px;max-width:100%;padding:7px;border:1px solid #858e9b;
  border-radius:16px;background:#0c0d11;box-shadow:0 9px 20px #0008;
  transform:rotate(-1deg)}
.story-preview-shell:before,.story-preview-shell:after{content:"";display:block;height:7px;
  background:repeating-linear-gradient(90deg,#ffe557 0 11px,#0b0c0f 11px 22px)}
.story-preview-shell canvas{display:block;width:100%;height:auto;aspect-ratio:9/16}
@media(min-width:1500px){.hero h1>span:not(.hero-small-word),.hero h1 small{font-size:95px}}
@media(max-width:960px){
  .page main{grid-template-columns:1fr}
  .page main>.hero,.page main>.wall-tabs,.page main>.wall-tab-panel{grid-column:1}
  .page main>.hero{min-height:210px}
  .page main>.wall-tabs{margin-top:14px;position:sticky;top:0;z-index:30;
    padding:8px;border-radius:19px;background:#14161bea}
  .wall-tab{min-height:70px;font-size:clamp(20px,4vw,31px);padding:11px 8px;border-radius:15px}
  .wall-tab span{font-size:8px;margin-bottom:3px}
  .wall-tab:before{inset:5px;border-radius:11px}
  .wall-tab:after{bottom:8px;border-bottom-width:3px;max-width:160px}
  .wall-tab-panel{padding-top:14px}
}
@media(max-width:700px){
  .site-header{height:72px}
  .head-right .mini-badge,.head-right .head-divider{display:none}
  .planner-link{font-size:10px;padding:9px 7px}
  .page main>.hero{min-height:auto;padding:24px 20px;border-radius:22px}
  .hero h1{margin:13px 0 11px}
  .hero h1 .hero-small-word{font-size:30px}
  .hero h1>span:not(.hero-small-word){font-size:clamp(46px,12vw,80px)}
  .hero h1 small{font-size:clamp(46px,12vw,80px)}
  .hero-label-text{display:none}
  .hero-bottom p{font-size:12px}
  .page main>.wall-tabs{gap:5px;padding:5px}
  .wall-tab{min-height:66px;font-size:clamp(17px,5vw,24px)}
  .wall-tab:after{bottom:7px;width:70%;border-bottom-width:3px}
  .aftershow-results{padding:12px}
  .lineup-wall{padding:25px 15px;margin:20px 0;border-radius:22px}
  .lineup-wall-heading{padding:2px 9px}
  .lineup-wall-heading h3{font-size:37px}
  .lineup-board-insert{padding:8px;border-radius:18px}
  .lineup-wall-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .lineup-choice{min-height:91px;font-size:13px;padding:12px 6px;border-radius:11px}
  .lineup-choice .lineup-priority{font-size:9px}
  .lineup-artist-name{padding:3px 5px}
  .lineup-choice.must .lineup-artist-name{padding:7px 8px}
  .lineup-choice.must .lineup-artist-name:after{border-width:2px}
  .community-share{display:grid;grid-template-columns:1fr auto;gap:12px;padding:18px 14px}
  .community-share-copy h2{font-size:28px}
  .community-share-copy p{font-size:11px}
  .story-preview-shell{width:120px;border-radius:9px;padding:3px}
  .personal-preview-row{grid-template-columns:minmax(0,1fr) 118px;gap:10px;padding:16px 10px}
  .personal-preview-copy h3{font-size:28px}
  .personal-preview-copy p{font-size:11px}
  .personal-preview-copy button{font-size:10px;padding:11px 8px}
}
@media(max-width:370px){
  .lineup-wall-grid{grid-template-columns:1fr}
  .community-share,.personal-preview-row{grid-template-columns:1fr}
  .story-preview-shell{width:168px;margin:auto}
}
@media(prefers-reduced-motion:reduce){
  .lineup-choice,.wall-tab{animation:none!important;transition:none!important}
}
