@font-face{font-family:'Barlow Condensed';src:url('assets/BarlowCondensed-Bold.ttf') format('truetype');font-weight:600 700;font-style:normal;font-display:swap}@font-face{font-family:'Barlow Condensed';src:url('assets/BarlowCondensed-Black.ttf') format('truetype');font-weight:800 900;font-style:normal;font-display:swap}
:root{--paper:#f1eee6;--ink:#202a2d;--orange:#f55b35;--line:#d4d5cb;--muted:#68716c;--blue:#b7d4cc;--font:-apple-system,BlinkMacSystemFont,'Hiragino Sans','Hiragino Kaku Gothic ProN','Noto Sans JP','Meiryo',sans-serif;--display:'Barlow Condensed','Arial Narrow',var(--font)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:500 15px/1.85 var(--font);-webkit-font-smoothing:auto}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button,a,input,textarea,select{outline-offset:5px}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}svg{display:block}img{max-width:100%;display:block}button{color:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--orange)}.skip{position:fixed;left:16px;top:-80px;background:var(--paper);z-index:10;padding:12px}.skip:focus{top:10px}.preview-bar{height:34px;background:var(--ink);color:#e6e7db;display:flex;align-items:center;justify-content:space-between;padding:0 4.5%;font-size:10px;letter-spacing:.12em}.preview-bar>span{display:flex;align-items:center;gap:12px}.preview-bar i{width:6px;height:6px;background:#e8bd7c;border-radius:50%}.preview-bar b{font-weight:400;opacity:.4}.preview-bar button{background:transparent;border:0;color:inherit;font-size:10px;letter-spacing:.03em}.preview-bar button span{margin-left:18px}.site-header{height:99px;padding:0 4.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--ink);gap:24px}.logo{font-weight:900;line-height:.9;font-size:29px;letter-spacing:-1.7px;display:inline-block;white-space:nowrap}.logo>span{font:900 35px/.8 var(--display);margin-left:2px;letter-spacing:-.7px}.logo small{display:block;font:700 8px/1.5 var(--font);letter-spacing:1.7px;margin-top:9px}.site-header nav{display:flex;align-items:center;gap:32px;font-size:12px;font-weight:600}.site-header nav a{position:relative}.site-header nav a:after{content:'';height:2px;background:var(--orange);position:absolute;bottom:-10px;left:0;width:0;transition:width .2s}.site-header nav a:hover:after{width:100%}.site-header nav span{color:var(--orange);margin-left:7px}.site-header nav .nav-about{font-size:10px;color:var(--muted);margin-left:20px}.eyebrow{font:700 11px/1.3 var(--font);letter-spacing:.17em}.eyebrow:before{content:'✳';margin-right:10px;color:var(--orange);font-size:16px;vertical-align:-1px}.hero{padding:38px 4.5% 0;overflow:hidden}.hero-topline{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.14em;margin-bottom:22px}.hero-topline span:last-child{border:1px solid var(--ink);padding:2px 9px;font-size:9px}.hero-grid{display:grid;grid-template-columns:1fr 1fr;position:relative;min-height:565px}.hero-copy{z-index:1;display:flex;flex-direction:column;align-items:flex-start;padding:10px 0 34px}.hero-title{margin:0 0 23px;line-height:.83;letter-spacing:-.045em;font:900 clamp(110px,13vw,194px)/.82 var(--display);position:relative}.hero-title .ten{font:900 .73em/.94 var(--font);letter-spacing:-.12em;display:inline-block;transform:translateX(-5px)}.hero-title .rock{display:block;letter-spacing:-.035em}.hero-title .fes{font-size:.37em;letter-spacing:-.02em;position:absolute;right:0;bottom:8px;transform:translateX(113%);color:var(--orange)}.hero-copy h1{font-size:clamp(18px,2vw,27px);font-weight:800;letter-spacing:.03em;margin:3px 0 14px}.hero-copy p{font-size:12px;line-height:2.1;margin:0 0 25px;color:#5a625d}.hero-date{display:flex;gap:18px;align-items:center;margin-top:auto}.hero-date strong{font:700 47px/1 var(--display);letter-spacing:-1px}.hero-date small{font:600 10px/1.5 var(--font);margin-left:5px}.hero-date em{font-size:19px;font-style:normal;font-weight:400}.hero-date .online{margin-left:16px;padding-left:16px;border-left:1px solid var(--line);font-size:9px;letter-spacing:.12em;font-weight:700;line-height:1.8}.hero-art{position:relative;min-height:565px;background:#31545b;overflow:hidden}.hero-art>img{height:100%;width:100%;object-fit:cover}.art-label{position:absolute;left:22px;top:20px;color:#ececda;font-size:9px;letter-spacing:.18em}.hero-stamp{position:absolute;right:22px;top:24px;border:1px solid #e4e7d5;width:112px;height:112px;transform:rotate(12deg);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff5d9;font:700 10px/1.5 var(--font);letter-spacing:.1em}.hero-stamp strong{font:700 32px/.95 var(--display);margin:4px 0}.hero-art-bottom{position:absolute;left:24px;bottom:22px;right:24px;color:#f2ead9;display:flex;align-items:end;justify-content:space-between}.hero-art-bottom p{font:600 48px/.85 var(--display);margin:0;letter-spacing:-1px}.hero-art-bottom span{writing-mode:vertical-rl;font-size:9px;letter-spacing:.18em}.hero-ribbon{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:20px 0;margin-top:27px;gap:20px}.hero-ribbon p{margin:0;font-size:11px;color:var(--muted)}.btn{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;padding:12px 21px;font-size:12px;font-weight:700;letter-spacing:.02em;border:1px solid var(--ink);background:transparent;transition:background .18s,color .18s}.btn span{font-size:20px;line-height:1}.btn.dark{background:var(--ink);color:var(--paper)}.btn.orange{background:var(--orange);border-color:var(--orange);color:#fff5df}.btn:hover{background:var(--orange);color:white;border-color:var(--orange)}.text-link{font-size:11px;font-weight:600;border-bottom:1px solid;padding-bottom:5px;display:inline-flex;align-items:center;gap:22px}.text-link span{font-size:18px}.section{padding:78px 4.5%}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:32px;gap:20px}.section-head h2{font:700 62px/.95 var(--display);letter-spacing:-1px;margin:10px 0 0}.section-head h2 small{font:500 11px var(--font);margin-left:20px;letter-spacing:.02em;display:inline-block;vertical-align:middle}.section-head>p{font-size:11px;color:var(--muted);max-width:300px;margin:0}.news-section{display:grid;grid-template-columns:1fr 3fr;padding-top:42px;padding-bottom:43px;gap:50px}.news-section .section-head{margin:0;align-items:start;flex-direction:column;justify-content:start}.news-section .section-head h2{font-size:39px;margin-top:5px}.news-list{border-top:1px solid var(--line)}.news-row{display:grid;grid-template-columns:84px 77px 1fr 24px;align-items:center;gap:16px;padding:20px 0;border:0;border-bottom:1px solid var(--line);width:100%;background:none;text-align:left}.news-row time{font:500 11px var(--font);color:var(--muted)}.news-row .badge{font:600 9px var(--font);border:1px solid #a6aea5;padding:2px 7px;width:max-content;letter-spacing:.04em}.news-row strong{font-weight:500;font-size:12px}.news-row>span:last-child{color:var(--orange);font-size:18px}.artists-section{border-top:1px solid var(--line)}.artist-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.filter-group{display:flex;flex-wrap:wrap;gap:7px}.chip{border:1px solid var(--line);border-radius:30px;background:transparent;padding:6px 16px;font-size:10px;font-weight:600}.chip.active,.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.search{display:flex;align-items:center;border-bottom:1px solid var(--ink);max-width:240px;gap:10px}.search input{border:0;background:none;padding:9px 0;min-width:0;width:100%;font-size:11px}.search span{font-size:18px}.artist-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:23px}.artist-card{display:block;min-width:0}.artist-visual{aspect-ratio:2/3;position:relative;overflow:hidden;background:#5d8584;isolation:isolate}.artist-visual:before{content:'';position:absolute;inset:0;background:url('assets/festival.svg') center/cover;mix-blend-mode:soft-light;opacity:.35;transition:transform .5s}.artist-card:hover .artist-visual:before{transform:scale(1.08)}.artist-visual:after{content:'';position:absolute;width:65%;aspect-ratio:1;border:1px solid #fff5;border-radius:50%;left:17%;top:17%;z-index:-1}.artist-visual .art-type{position:absolute;left:8%;bottom:12%;font:800 clamp(36px,4.7vw,72px)/.83 var(--display);letter-spacing:-2px;color:#f2ead5}.artist-visual .art-small{position:absolute;left:8%;top:8%;color:#f8f0de;font-size:8px;letter-spacing:.2em}.artist-visual .art-number{position:absolute;bottom:9%;right:8%;color:#f8f0de;font:600 17px var(--display);writing-mode:vertical-rl;letter-spacing:.2em}.sunset{background:linear-gradient(145deg,#b76d4d,#f38d58 45%,#416365)}.sunset:after{background:radial-gradient(circle at 35% 15%,#fad18a,#e97544 80%);box-shadow:0 20px 70px #6b323377}.neon{background:linear-gradient(140deg,#344146,#719f83 60%,#bad29a)}.neon:after{border-radius:0;transform:rotate(-35deg);background:repeating-linear-gradient(90deg,transparent 0 9%,#d0e1ac77 9% 10%);width:100%;left:10%;top:5%}.moon{background:linear-gradient(140deg,#32405d,#6e7a9d 50%,#c0b7b6)}.moon:after{background:#dfd2bb;box-shadow:22px 2px 0 10px #78829b;border:0;top:12%;width:60%}.rain{background:linear-gradient(130deg,#123d46,#387b80,#91ac9a)}.rain:after{border-radius:0;inset:0;width:100%;background:repeating-linear-gradient(120deg,transparent 0 6%,#b9d7cd33 6% 6.5%);border:0}.artist-meta{display:flex;justify-content:space-between;align-items:start;gap:10px;padding-top:16px}.artist-meta h3{font-size:18px;line-height:1.4;margin:0 0 6px;letter-spacing:-.02em}.artist-meta p{font-size:8px;letter-spacing:.08em;color:var(--muted);margin:0}.artist-meta .arrow{width:27px;height:27px;border:1px solid var(--ink);border-radius:50%;text-align:center;line-height:25px;font-size:17px;flex-shrink:0}.artist-appearance{font:600 9px var(--font);margin-top:12px;border-top:1px solid var(--line);padding-top:10px;color:var(--muted)}.register-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#e7e7dc;margin-top:35px;padding:20px 26px;border-left:3px solid var(--orange)}.register-strip p{margin:0;font-size:11px}.register-strip p strong{display:block;font-size:13px;margin-bottom:3px}.register-strip .text-link{white-space:nowrap}.timetable-section{background:var(--ink);color:var(--paper);position:relative}.timetable-section .section-head>p{color:#b7bdb5}.timetable-tools{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:28px}.day-tabs{display:flex;gap:10px;flex-wrap:wrap}.day-tab{border:1px solid #5d6562;background:transparent;color:inherit;display:flex;align-items:center;gap:15px;padding:10px 20px}.day-tab>span{font-size:9px;line-height:1.6;letter-spacing:.07em;text-align:left}.day-tab strong{font:600 30px var(--display)}.day-tab.active{background:var(--orange);border-color:var(--orange)}.timetable-tools select{color:var(--paper);background:var(--ink);border:0;border-bottom:1px solid #727974;padding:10px 25px 10px 0;font-size:11px;max-width:100%}.schedule-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:26px}.stage-head{border-top:2px solid var(--orange);padding:16px 0;display:flex;align-items:center;justify-content:space-between}.stage-head h3{font:600 25px/1 var(--display);letter-spacing:.08em;margin:0}.stage-head span{font-size:8px;letter-spacing:.13em;color:#bbc1b6}.schedule-row{display:grid;grid-template-columns:95px 1fr 22px;align-items:center;gap:16px;border-top:1px solid #4b5351;padding:19px 4px}.schedule-row .slot-time{font:600 24px/1 var(--display);color:#fbb28e}.slot-time small{font:400 9px/1.5 var(--font);display:block;color:#abb6ad;margin-top:8px}.schedule-row h4{font-size:15px;margin:0}.schedule-row p{font-size:9px;color:#aab5ad;margin:5px 0 0}.schedule-row>span{font-size:22px}.schedule-row:hover{background:#ffffff08}.schedule-note{font-size:10px;color:#a5b0a7;margin:25px 0 0}.community-section{display:grid;grid-template-columns:1fr 1.35fr;gap:70px;position:relative}.community-copy .section-head{margin-bottom:23px}.community-copy>p{font-size:12px;color:var(--muted);line-height:2.1;margin-bottom:25px}.community-note{font-size:9px!important;margin-top:15px!important}.board-top{display:flex;justify-content:space-between;font-size:9px;padding-bottom:14px;border-bottom:1px solid var(--ink);letter-spacing:.1em}.mode-indicator{color:#4a6e5a}.post-item{padding:20px 0;border-bottom:1px solid var(--line)}.post-meta{font-size:10px;display:flex;gap:10px;align-items:center;color:var(--muted)}.post-meta strong{color:var(--ink);font-size:11px;font-weight:600}.post-meta time{margin-left:auto;font-size:9px}.post-item p{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0}.post-actions{display:flex;gap:16px}.post-actions button{background:none;border:0;padding:0;font-size:9px;color:var(--muted)}.post-actions button:hover{color:var(--orange)}.reply-to{font-size:10px;color:var(--orange);margin:6px 0}.empty{padding:30px 0;color:var(--muted);font-size:12px;grid-column:1/-1}.about-section{margin:0 4.5% 60px;border-top:1px solid var(--ink);padding-top:40px;display:grid;grid-template-columns:1fr 1.5fr;gap:70px}.about-section h2{font-size:24px;line-height:1.8;margin:12px 0}.about-section p{font-size:12px;line-height:2.2;color:var(--muted);margin:0 0 18px}.about-links{display:flex;gap:25px;flex-wrap:wrap}.about-links button{background:none;padding:0 0 5px;border:0;border-bottom:1px solid;font-size:10px}.ticker{background:var(--orange);color:var(--ink);font:700 clamp(30px,5vw,65px)/1 var(--display);padding:22px 0;white-space:nowrap;overflow:hidden;letter-spacing:.01em;text-align:center}.ticker span{padding:0 35px}.ticker b{color:var(--paper)}footer{background:var(--ink);color:var(--paper);padding:45px 4.5% 22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px}footer>p{font-size:11px;letter-spacing:.06em}.footer-bottom{width:100%;border-top:1px solid #56615c;padding-top:20px;display:flex;justify-content:space-between;gap:15px;color:#b2b9af;font-size:8px;letter-spacing:.05em;margin-top:24px}.loading{padding:120px;text-align:center}.breadcrumb{font-size:10px;color:var(--muted);display:flex;gap:14px;padding:27px 4.5%}.profile-hero{display:grid;grid-template-columns:1fr 1fr;gap:6%;padding:20px 7% 70px;align-items:center}.profile-hero .artist-visual{aspect-ratio:2/3}.profile-hero .art-type{font-size:clamp(80px,11vw,160px)}.profile-copy .eyebrow{color:var(--muted);font-size:9px}.profile-copy h1{font-size:clamp(32px,4vw,55px);line-height:1.3;letter-spacing:-.04em;margin:15px 0 4px;overflow-wrap:anywhere}.profile-copy .en-name{font:600 23px var(--display);letter-spacing:.11em;margin:0 0 24px;color:var(--muted)}.profile-copy .tagline{font-size:20px;font-weight:700;margin-bottom:20px}.profile-copy .bio{font-size:12px;line-height:2.2;color:var(--muted)}.profile-tags{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}.profile-tags span{border:1px solid var(--line);font-size:9px;padding:3px 9px}.profile-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:7%;padding:60px 7%;border-top:1px solid var(--line)}.profile-layout h2{font:600 39px var(--display);margin:0 0 18px;letter-spacing:.02em}.profile-layout h2 small{font:500 11px var(--font);margin-left:15px}.music-box{border:1px solid var(--line);padding:25px;display:flex;gap:20px;align-items:center}.music-icon{display:grid;place-items:center;font:600 42px var(--display);background:var(--blue);width:70px;height:70px;flex-shrink:0}.music-box h3{margin:0 0 7px;font-size:15px}.music-box p{font-size:10px;color:var(--muted);margin:0}.music-explain{font-size:10px;color:var(--muted);line-height:2;margin:20px 0}.profile-shows{border-top:1px solid var(--ink)}.profile-show{display:flex;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding:20px 0}.profile-show>strong{font:600 36px var(--display);min-width:80px}.profile-show p{margin:0;font-size:11px}.profile-show small{font-size:9px;color:var(--muted)}.profile-bottom{padding:0 7% 70px}.embed-wrap iframe{width:100%;border:0;border-radius:5px;min-height:170px}.external-links{display:flex;flex-wrap:wrap;gap:15px}.external-links a{font-size:11px;border-bottom:1px solid}.muted{color:var(--muted)}dialog{border:0;background:var(--paper);color:var(--ink);width:min(600px,calc(100% - 32px));padding:30px;max-height:87vh;overflow:auto;box-shadow:0 30px 100px #15282555}dialog::backdrop{background:#152529aa;backdrop-filter:blur(5px)}.settings-dialog{width:min(780px,calc(100% - 32px))}.dialog-head{display:flex;align-items:start;justify-content:space-between;gap:15px;margin-bottom:15px}.dialog-head h2{font-size:23px;margin:8px 0 0;line-height:1.5}.icon-btn{background:none;border:1px solid var(--line);width:32px;height:32px;line-height:25px;font-size:24px;flex-shrink:0}.subtle{font-size:11px;color:var(--muted);line-height:1.9}form label,.field{display:block;font-size:12px;margin:20px 0}form label>span{font-size:10px;color:var(--muted);margin-left:8px}input,textarea,select{max-width:100%}form input,form textarea,.field input,.field select,.field textarea{display:block;width:100%;margin-top:7px;border:1px solid #b6bfb5;padding:10px 12px;background:#faf8f1;border-radius:0;color:var(--ink)}textarea{resize:vertical}.settings-tabs{display:flex;border-bottom:1px solid var(--line);margin:24px 0 20px}.settings-tabs button{border:0;background:none;flex:1;font-size:12px;padding:10px}.settings-tabs button[aria-selected=true]{border-bottom:2px solid var(--orange);font-weight:700;color:#be3b1b}.data-actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.data-actions .btn{font-size:10px;padding:8px 14px}.setting-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--line)}.setting-row select{padding:6px}.admin-post{border:1px solid var(--line);padding:14px;margin:15px 0}.admin-post p{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.admin-post button{margin-right:10px;font-size:10px;padding:4px 10px;background:transparent;border:1px solid var(--line)}.admin-post .danger{color:#a83520}details{margin:20px 0}summary{font-size:11px;cursor:pointer;font-weight:700}#json-editor{width:100%;height:240px;font:11px/1.7 monospace;margin-top:12px;background:#faf8f1;border:1px solid var(--line);padding:12px}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:var(--ink);color:var(--paper);padding:12px 20px;font-size:12px;z-index:20;transition:.2s;max-width:90vw;box-shadow:0 4px 30px #0002}#toast.show{opacity:1;transform:translate(-50%,0)}.helper-banner{font-size:10px;padding:12px 16px;background:#e6e8dd;color:#52645b;margin:20px 0}.error-message{color:#b83518;font-size:11px;margin:10px 0}.honeypot{position:absolute;left:-9999px;opacity:0}.embed-input{display:flex;gap:8px;margin-top:20px}.embed-input input{min-width:0;flex:1;border:1px solid var(--line);background:#faf8f1;padding:8px;font-size:11px}.embed-input button{font-size:11px;background:var(--ink);border:0;color:var(--paper);padding:8px 14px}.pending-pill{font-size:9px;color:#9b552a}.profile-art-caption{font-size:9px;color:var(--muted);margin-top:10px}.last-updated{font-size:9px;color:var(--muted)}.schedule-row .slot-time.tbd{font:500 12px/1.7 var(--font)}
@media(min-width:1500px){.hero,.section{padding-left:max(4.5%,calc((100% - 1360px)/2));padding-right:max(4.5%,calc((100% - 1360px)/2))}.hero-grid{min-height:650px}.hero-art{min-height:650px}.hero-title{font-size:210px}}
@media(max-width:1050px){.site-header nav{gap:20px}.site-header nav .nav-about{display:none}.hero-grid,.hero-art{min-height:480px}.hero-copy h1{font-size:20px}.hero-title{font-size:clamp(105px,14vw,150px)}.hero-title .fes{font-size:.27em;transform:translateX(108%)}.hero-date{gap:10px}.hero-date strong{font-size:38px}.hero-date .online{margin-left:6px;padding-left:10px}.hero-stamp{width:90px;height:90px;font-size:8px}.hero-stamp strong{font-size:27px}.artist-grid{gap:17px}.community-section{gap:35px}.section-head h2{font-size:52px}.section-head h2 small{display:block;margin:10px 0 0}.profile-hero{padding-left:4.5%;padding-right:4.5%;gap:5%}.hero-copy p{font-size:11px}.artist-meta h3{font-size:15px}}
@media(max-width:700px){html{scroll-padding-top:18px}.preview-bar{font-size:8px;height:31px;padding:0 5%}.preview-bar>span{gap:7px;letter-spacing:.04em}.preview-bar button{font-size:8px}.preview-bar button span{margin-left:3px}.site-header{height:83px;padding:0 5%}.logo{font-size:23px}.logo>span{font-size:29px}.logo small{font-size:6px;letter-spacing:1.2px}.site-header nav{gap:14px;font-size:9px}.site-header nav a:first-child{display:none}.site-header nav span{margin-left:2px}.hero{padding:25px 5% 0}.hero-topline{font-size:8px;margin-bottom:20px;letter-spacing:.08em}.hero-topline span:last-child{font-size:7px;padding:1px 6px}.hero-grid{display:block}.hero-copy{padding:0 0 25px;min-height:0}.hero-title{font-size:clamp(120px,30vw,185px);margin-bottom:20px}.hero-title .rock{display:inline-block;margin-left:8px}.hero-title .ten{font-size:.66em;letter-spacing:-.1em}.hero-title .fes{position:static;transform:none;display:block;font-size:.3em;margin-top:13px;letter-spacing:.04em}.hero-copy h1{font-size:22px;margin:2px 0 10px}.hero-copy p{font-size:11px;margin-bottom:20px}.hero-date{gap:12px}.hero-date strong{font-size:38px}.hero-date small{font-size:8px}.hero-date .online{font-size:8px;margin-left:12px}.hero-art{min-height:0;height:330px;margin:0 -5.6%;}.hero-art>img{object-position:center 61%}.hero-stamp{width:85px;height:85px;right:20px;top:20px}.hero-art-bottom p{font-size:42px}.hero-ribbon{margin-top:0;display:block;padding:18px 0}.hero-ribbon .btn{width:100%;margin-bottom:13px}.hero-ribbon p{font-size:9px}.section{padding:48px 5%}.section-head{margin-bottom:25px;gap:15px}.section-head h2{font-size:47px}.section-head h2 small{font-size:10px}.section-head>p{font-size:10px;max-width:150px}.eyebrow{font-size:9px;letter-spacing:.1em}.news-section{display:block;padding-top:30px;padding-bottom:30px}.news-section .section-head{margin-bottom:14px;flex-direction:row;align-items:center}.news-section .section-head .eyebrow{display:none}.news-section .section-head h2{font-size:32px;margin:0}.news-section .section-head h2 small{display:inline;margin-left:10px;font-size:9px}.news-row{grid-template-columns:74px 60px 1fr 15px;gap:8px;padding:15px 0}.news-row time{font-size:9px}.news-row .badge{font-size:7px;padding:1px 4px}.news-row strong{font-size:10px}.artist-toolbar{display:block}.filter-group{gap:6px}.chip{font-size:9px;padding:6px 12px}.search{max-width:none;margin-top:13px}.artist-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 15px}.artist-visual .art-type{font-size:clamp(42px,10vw,70px)}.artist-visual .art-small{font-size:6px}.artist-visual .art-number{font-size:12px}.artist-meta{padding-top:12px;gap:5px}.artist-meta h3{font-size:14px}.artist-meta p{font-size:7px;line-height:1.6;letter-spacing:0}.artist-meta .arrow{width:23px;height:23px;line-height:21px;font-size:14px}.artist-appearance{font-size:8px;margin-top:10px}.register-strip{padding:17px;display:block;margin-top:28px}.register-strip p{font-size:10px}.register-strip p strong{font-size:12px}.register-strip .text-link{margin-top:12px;font-size:10px}.timetable-tools{display:block}.day-tab{padding:8px 15px;gap:10px}.day-tab strong{font-size:27px}.day-tab>span{font-size:8px}.timetable-tools select{margin-top:17px;min-width:180px}.schedule-grid{gap:20px}.stage-head span{font-size:7px}.schedule-row{grid-template-columns:85px 1fr 20px;gap:10px;padding:17px 4px}.schedule-row h4{font-size:14px}.community-section{display:block}.community-copy>p{font-size:11px}.community-copy .section-head{margin-bottom:18px}.community-copy .btn{margin-bottom:0}.community-board{margin-top:28px}.post-item{padding:16px 0}.post-item p{font-size:11px}.about-section{grid-template-columns:1fr;margin:0 5% 40px;padding-top:30px;gap:15px}.about-section h2{font-size:21px;margin-bottom:0}.about-section p{font-size:11px}.ticker{font-size:31px;padding:17px 0;text-align:left;letter-spacing:.03em}.ticker span{padding:0 15px}footer{padding:32px 5% 20px;gap:20px}footer>p{font-size:9px}.footer-bottom{display:block;margin-top:10px;padding-top:16px;font-size:7px}.footer-bottom>span{display:block;margin:5px 0}.profile-hero{display:flex;flex-direction:column;align-items:stretch;padding:8px 5% 38px;gap:25px}.profile-hero .artist-visual{aspect-ratio:2/3}.profile-hero .art-type{font-size:100px}.breadcrumb{padding:20px 5%;font-size:9px;gap:10px}.profile-copy h1{font-size:36px;margin-top:10px}.profile-copy .en-name{font-size:20px;margin-bottom:18px}.profile-copy .tagline{font-size:19px;margin-bottom:15px}.profile-copy .bio{font-size:11px}.profile-tags{margin-bottom:0}.profile-layout{display:block;padding:35px 5%}.profile-layout>div+div{margin-top:35px}.profile-layout h2{font-size:34px}.profile-bottom{padding:0 5% 40px}.music-box{padding:18px;gap:15px}.music-box h3{font-size:14px}dialog{padding:22px}.dialog-head h2{font-size:20px}.settings-tabs button{font-size:11px}.loading{padding:80px 20px}.hero-ribbon .text-link{margin-bottom:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Artists are discovered by day and stage. */
.artist-stage-groups{display:block}.artist-stage-group+.artist-stage-group{margin-top:38px}.artist-stage-heading{font:600 26px var(--display);letter-spacing:.04em;border-top:1px solid var(--ink);padding-top:16px;margin:0 0 22px}.artist-toolbar{flex-wrap:wrap}.artist-toolbar>select{background:transparent;border:1px solid var(--line);padding:9px 12px;font-size:11px;max-width:100%}.artist-toolbar .search{margin-left:auto}@media(max-width:700px){.artist-toolbar>select{margin-top:14px;width:100%}.artist-toolbar .search{margin-top:14px}.artist-stage-heading{font-size:24px}}

/* Official waterfall lineup: visual rows follow the source poster; order 1 opens. */
.lineup-guide{font-size:12px;line-height:1.9;max-width:760px;margin:0 0 18px}.billing-legend{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.billing-badge{display:inline-flex;align-items:center;gap:5px;font:700 10px/1.5 sans-serif;letter-spacing:.02em;padding:4px 8px;border:1px solid currentColor;border-radius:3px;width:fit-content;max-width:100%;color:#835500;background:#fff3cc}.billing-badge svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.billing-badge.subheadliner{color:#6d448c;background:#f4eafb}.billing-badge.countdown{color:#176164;background:#e4f5f1}.artist-meta .billing-badge{margin-bottom:9px}.profile-billing{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.profile-show .billing-badge{margin:7px 0}.profile-show small{display:block}.artist-stage-heading small{font:500 13px sans-serif;letter-spacing:0;display:inline-block;margin-left:10px;color:var(--muted)}.artist-poster-row{display:flex;flex-wrap:wrap;justify-content:center;gap:23px;margin-bottom:30px}.artist-poster-row .artist-card{width:calc((100% - (var(--columns) - 1)*23px)/var(--columns));max-width:255px;min-width:0}.artist-meta h3{overflow-wrap:anywhere}.artist-visual.unregistered-art{background:#dcded5;color:#57645d}.artist-visual.unregistered-art:before,.artist-visual.unregistered-art:after{display:none}.unregistered-art .art-small,.unregistered-art .art-number{color:#57645d}.placeholder-symbol{position:absolute;top:28%;left:0;right:0;text-align:center;font-size:72px;font-weight:300;opacity:.4}.placeholder-caption{position:absolute;top:62%;left:12%;right:12%;text-align:center;font-size:11px;line-height:1.8;color:#57645d}.waterfall{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.waterfall .stage-column{grid-column:1/-1;background:#fbfbf6;color:var(--ink);padding:0 20px 20px;border-radius:8px;min-width:0}.waterfall .stage-column.half{grid-column:auto}.waterfall .stage-head{margin:0 -20px 20px;padding:18px 20px;background:#dfbb17;border:0;border-radius:8px 8px 0 0;gap:20px;align-items:flex-start}.waterfall .stage-head h3{font-size:27px;line-height:1.2;letter-spacing:.02em}.waterfall .stage-head span{color:#3c360d;display:block;margin-top:5px;line-height:1.6;font-size:9px;letter-spacing:.07em}.waterfall .venue-blue .stage-head{background:#1637ac;color:white}.waterfall .venue-red .stage-head{background:#f84543;color:white}.waterfall .venue-blue .stage-head span,.waterfall .venue-red .stage-head span{color:#fff}.stage-window{font:600 23px/1.3 var(--display);white-space:nowrap}.poster-row{display:grid;grid-template-columns:repeat(var(--columns),minmax(0,1fr));gap:12px;margin-top:12px}.poster-act{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-width:0;padding:15px 8px;border:1px solid #dfdfd3;border-radius:5px;transition:background .2s}.poster-act:hover{background:#f1efdf;border-color:#9b9c89}.poster-act h4{font:700 clamp(17px,2vw,28px)/1.4 var(--display);margin:8px 0;overflow-wrap:anywhere;max-width:100%}.poster-act.headliner h4{font-size:clamp(27px,4vw,48px)}.poster-act.subheadliner h4{font-size:clamp(20px,2.5vw,34px)}.poster-act.headliner{border-color:#dfbb17;background:#fffbed}.act-order{font-size:11px;font-weight:700;color:#4b544a;margin-top:auto}.poster-act small{font-size:9px;color:#697064;margin-top:6px}.source-note{font-size:11px;line-height:1.9;margin-top:20px;color:#d5d9cc}.source-note a{color:#fff}.venue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.venue-card{border-top:5px solid #dfbb17;padding:22px;background:#e9e7df;min-width:0}.venue-card.blue{border-color:#1637ac}.venue-card.red{border-color:#f84543}.venue-card .eyebrow{font-size:9px;line-height:1.7}.venue-card h3{font:700 29px/1.4 var(--display);margin:12px 0}.venue-card p{font-size:12px;line-height:2;margin-bottom:0}.venue-capacity{font:600 14px var(--display);letter-spacing:.08em}.venues-section{padding-top:55px}.artist-poster-row .artist-card:only-child{max-width:255px}.profile-art-caption{line-height:1.8}
@media(max-width:850px){.waterfall .stage-column.half{grid-column:1/-1}.venue-grid{grid-template-columns:1fr}.venue-card{padding:20px}.artist-poster-row{gap:15px}.artist-poster-row .artist-card{width:calc((100% - (var(--columns) - 1)*15px)/var(--columns))}.waterfall .stage-head{flex-wrap:wrap;gap:10px}.poster-act .billing-badge{font-size:9px;padding:3px 5px}}
@media(max-width:700px){.lineup-guide{font-size:11px}.billing-badge{font-size:9px}.artist-stage-heading small{display:block;margin:8px 0 0;line-height:1.6}.artist-poster-row{margin-bottom:24px;gap:24px 15px}.artist-poster-row .artist-card{width:calc((100% - 15px)/2)}.artist-poster-row .artist-card:only-child{width:70%}.placeholder-symbol{font-size:50px}.placeholder-caption{font-size:9px}.artist-meta .billing-badge{font-size:8px;padding:3px 4px;gap:3px}.artist-meta .billing-badge svg{width:12px;height:12px}.waterfall{grid-template-columns:minmax(0,1fr)}.waterfall .stage-column{padding:0 12px 12px}.waterfall .stage-head{margin:0 -12px 12px;padding:15px 12px;display:block}.waterfall .stage-head h3{font-size:24px}.stage-window{display:block;margin-top:9px;font-size:21px}.poster-row{grid-template-columns:repeat(min(var(--columns),2),minmax(0,1fr));gap:8px;margin-top:8px}.poster-act{padding:12px 6px}.poster-act:only-child{grid-column:1/-1}.poster-act h4{font-size:18px}.poster-act.headliner h4{font-size:31px}.poster-act.subheadliner h4{font-size:21px}.poster-act .billing-badge{font-size:8px}.poster-act .billing-badge svg{width:13px;height:13px}.act-order{font-size:10px}.source-note{font-size:10px}.venue-card p{font-size:11px}.profile-show{gap:12px}.profile-show>strong{font-size:28px;min-width:60px}.profile-billing{margin-top:14px}.artist-poster-row .artist-card .art-number{font-size:11px}}
@media(max-width:700px){.poster-act:last-child:nth-child(odd):not(:only-child){grid-column:2}}

/* Return to the top on long artist and timetable pages. */
.back-to-top{position:fixed;right:24px;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:15;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:76px;min-height:66px;padding:8px 12px;border:1px solid var(--paper);border-radius:8px;background:var(--ink);color:var(--paper);box-shadow:0 4px 18px #0003;font-size:11px;line-height:1.4}.back-to-top[hidden]{display:none}.back-to-top>span:first-child{font-size:24px;line-height:1}.back-to-top:hover{background:#364448}.back-to-top:focus-visible{outline:3px solid var(--orange);outline-offset:3px}@media(max-width:700px){.back-to-top{right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));min-width:64px;min-height:60px;font-size:10px;padding:7px 10px}}

/* Make the site's purpose and artist registration visible in the opening view. */
.hero-copy .hero-purpose{font-size:12px;line-height:1.9;max-width:470px;margin-bottom:17px;color:#4a5650}.hero-purpose strong{font-weight:700;color:var(--ink)}.hero-entry{width:min(100%,470px);padding:15px 17px;background:#e5e8de;border:1px solid #c6cdc0;margin-bottom:22px}.entry-caption{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:5px 10px;margin-bottom:10px}.entry-caption>strong{font-size:12px}.entry-status{font-size:9px;color:#59694e;border:1px solid #aebaa5;padding:1px 6px;background:#f5f6ee;white-space:nowrap}.artist-register-cta{display:block;width:100%;min-height:50px;padding:0;border:0;border-radius:4px;overflow:hidden;background:#213c43;line-height:0;box-shadow:0 3px 8px #20383d20;transition:filter .18s,box-shadow .18s}.artist-register-cta>img{display:block;width:100%;height:auto}.artist-register-cta:hover{filter:brightness(1.1);box-shadow:0 4px 12px #20383d35}.artist-register-cta:focus-visible{outline:3px solid var(--orange);outline-offset:4px}.hero-copy .hero-entry>p{font-size:10px;line-height:1.7;margin:9px 0 0;color:#53614f}@media(max-width:700px){.hero-copy .hero-purpose{font-size:11px;line-height:1.9;margin-bottom:15px}.hero-entry{padding:13px;margin-bottom:20px}.entry-caption>strong{font-size:11px}.artist-register-cta{font-size:14px;min-height:50px}.hero-copy .hero-entry>p{font-size:9px}}
@media(min-width:701px){.hero-title{font-size:clamp(105px,9vw,140px);margin-bottom:14px}}

/* Keep the original main visual, with practical fan-guide copy. */
.guide-navigation{justify-content:flex-start;gap:32px}.hero-copy .hero-entry{margin-bottom:0}.venue-details>summary{cursor:pointer;font-size:12px;min-height:44px}.venue-details[open]>summary{margin-bottom:18px}.about-section h2{font-size:30px;line-height:1.5}
@media(max-width:700px){.hero-topline>span:first-child{font-size:8px;letter-spacing:.08em}.guide-navigation .text-link{margin-right:24px}.about-section h2{font-size:25px}}

/* Stage lineups start closed; native disclosure supports touch and keyboard. */
.stage-disclosure{--stage-accent:#ba8b24;border:1px solid #cdd0c4;border-left:4px solid var(--stage-accent);background:#e9e9df;border-radius:5px;overflow:hidden;min-width:0}.stage-disclosure.venue-blue{--stage-accent:#4964a6}.stage-disclosure.venue-red{--stage-accent:#d37350}.artist-stage-group+.artist-stage-group{margin-top:14px}.stage-summary{list-style:none;display:flex;align-items:center;gap:20px;padding:16px;cursor:pointer;min-height:124px}.stage-summary::-webkit-details-marker{display:none}.stage-summary::marker{content:''}.stage-summary:hover{background:#dce0d3}.stage-summary:focus-visible{outline:3px solid var(--orange);outline-offset:-4px}.stage-thumbnail{width:144px;height:96px;object-fit:cover;flex:none;border-radius:3px;background:#35565d}.stage-summary-copy{display:block;min-width:0;flex:1}.stage-summary-name{display:block;font:700 27px/1.3 var(--display);overflow-wrap:anywhere}.stage-summary-meta{display:block;font-size:12px;line-height:1.8;color:#556257;margin-top:7px}.stage-summary-meta>span{white-space:nowrap}.stage-toggle{display:flex;align-items:center;gap:12px;flex:none;font-size:10px;font-weight:600;min-width:24px}.stage-toggle svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6}.stage-disclosure[open]>.stage-summary .stage-toggle svg{transform:rotate(180deg)}.stage-disclosure:not([open])>.stage-summary .when-open,.stage-disclosure[open]>.stage-summary .when-closed{display:none}.stage-disclosure[open]>.stage-summary{border-bottom:1px solid #cdd0c4}.stage-lineup-content{padding:24px 20px 0}.waterfall{align-items:start;gap:14px}.waterfall .stage-column.stage-disclosure{padding:0;background:#e9e9df;color:var(--ink);border-radius:5px}.waterfall .stage-disclosure.half .stage-summary{gap:14px}.waterfall .stage-disclosure.half .stage-thumbnail{width:96px;height:72px}.waterfall .stage-disclosure.half .stage-summary-name{font-size:24px}.waterfall .stage-disclosure.half .stage-toggle>span{display:none}.waterfall .stage-lineup-content{padding-bottom:20px;background:#fbfbf6}.waterfall .poster-row:first-child{margin-top:0}
@media(max-width:700px){.stage-summary{gap:12px;padding:12px;min-height:100px}.stage-thumbnail,.waterfall .stage-disclosure.half .stage-thumbnail{width:84px;height:66px}.stage-summary-name,.waterfall .stage-disclosure.half .stage-summary-name{font-size:20px;line-height:1.4}.stage-summary-meta{font-size:10px;margin-top:4px}.stage-toggle{gap:0}.stage-toggle>span{display:none}.stage-toggle svg{width:20px;height:20px}.stage-lineup-content{padding:18px 12px 0}.waterfall .stage-lineup-content{padding-bottom:12px}.artist-stage-group+.artist-stage-group{margin-top:12px}}

/* Desktop artist overview: portrait, profile/music, and appearances side by side. */
@media(min-width:1024px){
.breadcrumb{padding-top:18px;padding-bottom:18px}.profile-overview{display:grid;grid-template-columns:clamp(170px,16vw,220px) minmax(0,1fr) minmax(250px,28%);grid-template-areas:"portrait bio shows" "portrait music shows";column-gap:28px;row-gap:22px;align-items:start;padding:10px 4.5% 30px}.profile-overview .profile-hero,.profile-overview .profile-layout{display:contents}.profile-portrait{grid-area:portrait;min-width:0}.profile-copy{grid-area:bio;min-width:0}.profile-music{grid-area:music;min-width:0;border-top:1px solid var(--line);padding-top:20px}.profile-schedule{grid-area:shows;min-width:0;border-left:1px solid var(--line);padding-left:24px}.profile-hero .artist-visual{width:100%;aspect-ratio:2/3}.profile-hero .placeholder-symbol{font-size:48px}.profile-hero .placeholder-caption{font-size:10px}.profile-hero .art-number{font-size:11px}.profile-art-caption{font-size:9px;margin:8px 0 0}.profile-copy h1{font-size:clamp(28px,2.6vw,40px);line-height:1.35;margin:9px 0 6px}.profile-copy .en-name{font-size:17px;margin-bottom:12px}.profile-copy .profile-placeholder-name{display:none}.profile-copy .tagline{font-size:16px;margin:10px 0}.profile-copy .bio{font-size:12px;line-height:1.9;margin:10px 0}.profile-tags{margin:12px 0 0}.profile-billing{margin:8px 0 0;gap:5px}.profile-billing .billing-badge{font-size:9px}.profile-copy .external-links{gap:8px 16px;margin-top:14px}.profile-layout h2{font-size:29px;line-height:1.3;margin:0 0 14px}.profile-layout h2 small{display:block;font-size:10px;margin:3px 0 0}.profile-music .music-box{padding:14px;gap:13px}.profile-music .music-icon{width:44px;height:44px;font-size:30px}.profile-music .music-box h3{font-size:13px;margin-bottom:3px}.profile-music .music-explain{font-size:10px;line-height:1.8;margin:12px 0}.profile-music details{font-size:11px}.profile-music summary{cursor:pointer;min-height:32px}.profile-music .embed-input{flex-wrap:wrap;margin-top:10px}.profile-music .embed-input input{flex:1 1 180px}.profile-schedule .profile-show{padding:13px 0;gap:12px;align-items:flex-start}.profile-schedule .profile-show>strong{font-size:28px;min-width:54px;line-height:1.2}.profile-schedule .profile-show p{line-height:1.5;font-weight:600;overflow-wrap:anywhere}.profile-schedule .profile-show .billing-badge{font-size:8px;padding:3px 5px;gap:3px}.profile-schedule .helper-banner{font-size:10px;line-height:1.8;padding:12px;margin:14px 0}.profile-schedule>.text-link{font-size:10px;gap:10px}.profile-bottom{padding:0 4.5% 28px}.profile-bottom .btn{padding:9px 15px;font-size:11px}
}
@media(min-width:701px) and (max-width:1023px){.profile-hero{grid-template-columns:180px minmax(0,1fr);align-items:start;padding:10px 4.5% 28px;gap:28px}.profile-copy h1{font-size:32px;margin-top:10px}.profile-layout{padding:28px 4.5%;gap:28px}.profile-layout h2{font-size:30px}.profile-layout h2 small{display:block;margin:4px 0 0}.profile-bottom{padding-bottom:28px}}

/* Site identity is distinct from the event's official name. */
.site-header .logo,footer .logo{font-size:26px;line-height:1.15;letter-spacing:-.06em}.site-header .logo small,footer .logo small{font-family:var(--display);font-size:12px;letter-spacing:.06em;line-height:1.3;margin-top:5px}.hero-title.site-title{font-family:var(--font);font-size:clamp(58px,6.8vw,92px);font-weight:900;line-height:1.05;letter-spacing:-.07em;margin:0 0 24px}.site-title-main,.site-title-desk{display:block}.site-title-desk{color:var(--orange);margin-top:3px}.site-title-edition{display:block;font:700 20px/1.5 var(--display);letter-spacing:.015em;margin-top:14px}.hero-copy h1{font-size:20px}
@media(max-width:900px) and (min-width:701px){.site-header .logo{font-size:21px}.site-header nav{gap:18px}.site-header .logo small{font-size:10px}.hero-title.site-title{font-size:58px}.site-title-edition{font-size:17px}}
@media(max-width:700px){.site-header{gap:12px}.site-header .logo{font-size:19px}.site-header .logo small{font-size:10px;letter-spacing:.015em}.site-header nav{gap:14px;font-size:9px}.hero-title.site-title{font-size:61px;line-height:1.08;letter-spacing:-.07em;margin:6px 0 21px}.site-title-edition{font-size:17px;margin-top:10px}.hero-copy h1{font-size:18px}}

/* Official timetable: empty until images arrive; view full size on demand. */
.timetable-images{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:28px}.timetable-pending{grid-column:1/-1;min-height:100px;display:grid;place-items:center;border:1px dashed #65736f;color:#d0d8cf;padding:24px;text-align:center;font-size:12px}.timetable-pending p{margin:0;color:inherit}.timetable-poster{margin:0;min-width:0}.timetable-poster button{color:var(--ink);display:block;width:100%;padding:0;text-align:left;border:1px solid #b9c1b6;background:var(--paper);cursor:zoom-in}.timetable-poster img{display:block;width:100%;height:360px;object-fit:contain;background:#e5e8de}.timetable-poster button>span{display:flex;justify-content:space-between;gap:12px;padding:13px 16px;font-size:13px;font-weight:700}.timetable-poster small{font-size:10px;font-weight:400}.timetable-dialog{width:min(1100px,96vw);max-width:96vw;padding:20px;max-height:96vh}.timetable-image-tools{display:flex;gap:20px;align-items:center;margin-bottom:14px}.timetable-image-tools .btn{font-size:12px;padding:8px 15px;min-height:40px}.timetable-image-tools .text-link{font-size:11px}.timetable-viewport{overflow:auto;max-height:70vh;background:#e5e8de;overscroll-behavior:contain}.timetable-viewport img{display:block;max-width:100%;max-height:70vh;width:auto;height:auto;margin:auto}.timetable-viewport.is-zoomed img{max-width:none;max-height:none;margin:0}.timetable-settings{margin-bottom:22px}.timetable-settings summary{cursor:pointer;min-height:40px}.timetable-settings textarea{font-size:12px}@media(max-width:700px){.timetable-dialog{padding:14px}.timetable-dialog h2{font-size:17px}.timetable-image-tools{gap:12px}.timetable-image-tools .text-link{font-size:10px}.timetable-poster img{height:300px}}

/* One horizontal lineup per stage, retaining 3:4 artwork. */
.carousel-content{padding:16px 20px 20px}.artist-carousel-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;font-size:11px;color:#556257}.artist-carousel-controls{display:flex;align-items:center;gap:9px}.artist-carousel-position{font:600 13px var(--display);min-width:56px;text-align:right;margin-right:3px;white-space:nowrap;font-variant-numeric:tabular-nums}.artist-carousel-controls button{display:grid;place-items:center;width:36px;height:36px;border:1px solid #a8b1a4;border-radius:50%;background:var(--paper);font-size:20px;line-height:1;cursor:pointer;color:var(--ink)}.artist-carousel-controls button:hover:not(:disabled){background:var(--orange);border-color:var(--orange)}.artist-carousel-controls button:disabled{opacity:.3;cursor:default}.artist-carousel{position:relative;display:flex;flex-wrap:nowrap;align-items:stretch;gap:20px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:2px;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#9ba894 transparent;padding:3px 2px 14px;max-width:100%}.artist-carousel:focus-visible,.artist-carousel-controls button:focus-visible{outline:3px solid var(--orange);outline-offset:2px}.artist-carousel .artist-card{display:flex;flex-direction:column;flex:0 0 calc((100% - 60px)/4);max-width:230px;min-width:0;scroll-snap-align:start;scroll-margin:2px}.artist-carousel .artist-visual{flex:none;width:100%;aspect-ratio:2/3}.artist-carousel .artist-meta{flex:1;min-height:107px;padding-top:13px}.artist-carousel .artist-meta h3{font-size:17px}.artist-carousel .artist-meta .arrow{flex:none}.artist-carousel .artist-appearance{margin-top:10px}.artist-carousel .billing-badge{font-size:9px}.artist-carousel .placeholder-symbol{font-size:58px}@media(max-width:1000px) and (min-width:701px){.artist-carousel .artist-card{flex-basis:calc((100% - 40px)/3)}}@media(max-width:700px){.carousel-content{padding:13px 12px 14px}.artist-carousel-toolbar{font-size:10px;gap:8px;margin-bottom:10px}.artist-carousel-controls{gap:7px}.artist-carousel-controls button{width:32px;height:32px;font-size:18px}.artist-carousel-position{font-size:12px;min-width:44px}.artist-carousel{gap:15px;padding-bottom:12px}.artist-carousel .artist-card{flex-basis:70%;max-width:220px}.artist-carousel .artist-meta{min-height:99px}.artist-carousel .artist-meta h3{font-size:16px}.artist-carousel .artist-appearance{font-size:9px}.artist-carousel .billing-badge{font-size:9px}}

/* Native Apple/Hiragino typography and comfortable reading weight. */
.hero-copy .hero-purpose{font-size:14px;line-height:1.95}.hero-copy .hero-entry>p{font-size:12px;line-height:1.85}.section-head>p{font-size:12px}.news-row strong{font-weight:600}.lineup-guide,.register-strip p,.community-copy>p,.venue-card p{font-size:13px}.profile-copy .bio{font-size:14px;line-height:1.95}.post-item p{font-size:14px;line-height:1.9}.stage-toggle{font-size:12px}.text-link{font-size:12px}.timetable-pending{font-size:14px}
@media(max-width:700px){.hero-copy .hero-purpose{font-size:13px}.hero-copy .hero-entry>p{font-size:11px}.section-head>p{font-size:12px}.lineup-guide,.register-strip p,.community-copy>p,.venue-card p{font-size:12px}.profile-copy .bio,.post-item p{font-size:14px}}

/* YouTube videos: keep the official minimum player viewport, with no audio embeds. */
.embed-wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px}.video-slot{min-width:0}.video-slot iframe{display:block;width:100%;height:auto;aspect-ratio:16/9;min-height:200px;border:0;border-radius:5px}.video-slot .helper-banner{margin:0 0 8px;min-height:160px;display:flex;flex-direction:column;justify-content:center;gap:10px}.video-slot .helper-banner p{margin:0}.video-slot .btn{font-size:11px;justify-content:center}.video-slot>.text-link{font-size:11px;margin-top:6px}@media(max-width:700px){.embed-wrap{grid-template-columns:minmax(0,1fr)}}

.profile-copy .bio{white-space:pre-line}

.hero-art.hero-photo{min-height:0;height:auto;aspect-ratio:1/1;align-self:center;background:#020c12}.hero-art.hero-photo>img{width:100%;height:auto;object-fit:contain;object-position:center}

/* Compact homepage chat: composer and independently scrolling comments. */
.community-section{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:48px;padding-top:40px;padding-bottom:40px;border-bottom:1px solid var(--line);align-items:start}
.community-copy .section-head{margin-bottom:12px}.community-copy .section-head h2{font:800 clamp(20px,2.1vw,30px)/1.45 var(--font);letter-spacing:.01em;margin-top:8px}.community-copy>.chat-intro{margin:0 0 14px;font-size:12px;line-height:1.8}
#quick-post-form{position:relative}#quick-post-form label{display:block;font-size:11px;font-weight:700}#quick-post-form label span{font-size:10px;font-weight:500;color:var(--muted);margin-left:8px}#quick-post-form textarea{min-height:76px;max-height:150px;font-size:13px;line-height:1.6;margin-top:5px}#quick-post-form input{font-size:12px;padding:8px 10px;margin-top:4px}.quick-post-bottom{display:flex;align-items:end;gap:14px;margin-top:12px}.quick-post-bottom label{flex:1;min-width:0}.quick-post-bottom .btn{white-space:nowrap;padding:9px 16px;gap:22px}#quick-post-note{margin:9px 0 0;font-size:10px;line-height:1.7}.community-copy>.community-note{margin:8px 0 0!important;font-size:10px!important;line-height:1.7}.chat-entry{background:none;border:0;border-bottom:1px solid var(--ink);padding:0 0 5px;text-align:left}
.community-board{min-width:0;margin-top:0}.board-top{gap:12px}.community-board #post-list{height:300px;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#8a9a93 transparent;padding-right:14px}.community-board #post-list:focus-visible{outline:2px solid var(--orange);outline-offset:3px}.community-board .post-meta{flex-wrap:wrap;row-gap:4px}.board-scroll-hint{margin:8px 0 0;color:var(--muted);font-size:10px;text-align:right}.community-board .post-item:first-child{padding-top:14px}
@media(max-width:760px){.community-section{display:block;padding-top:30px;padding-bottom:30px}.community-board{margin-top:24px}.community-board #post-list{height:260px}.quick-post-bottom{gap:10px}#quick-post-form input,#quick-post-form textarea{font-size:16px}.community-copy .section-head h2{font-size:23px}}

.chat-invitation{font-size:13px;font-weight:600;line-height:1.9;margin:0 0 16px;overflow-wrap:anywhere}

/* An always-visible scrollbar, including on systems with overlay scrollbars. */
.comment-scroll-shell{position:relative;border:1px solid #c8cfc7;background:#f8f7f14d;padding:0 28px 0 14px}.community-board .comment-scroll-shell #post-list{scrollbar-width:none;scrollbar-gutter:auto;padding-right:4px}.comment-scroll-shell #post-list::-webkit-scrollbar{display:none}.comment-scrollbar{position:absolute;right:6px;top:8px;bottom:8px;width:14px;border-radius:9px;background:#d8ded6;box-shadow:inset 0 0 0 1px #bac5bc;touch-action:none;cursor:pointer}.comment-scroll-thumb{display:block;position:absolute;top:0;left:2px;width:10px;min-height:38px;border-radius:8px;background:#55776e;box-shadow:inset 0 0 0 1px #3d6258;cursor:grab}.comment-scrollbar:active .comment-scroll-thumb{cursor:grabbing;background:#35594f}.comment-scrollbar:focus-visible{outline:2px solid var(--orange);outline-offset:3px}.comment-scrollbar[aria-disabled=true]{opacity:.4;cursor:default}.board-scroll-footer{display:flex;align-items:center;justify-content:flex-start;gap:12px;padding-top:10px}.board-scroll-footer .board-scroll-hint{margin:0;text-align:left;font-size:11px;font-weight:600}.board-scroll-hint>span{color:#3c6e60;font-size:18px;vertical-align:middle;margin-right:4px}#chat-autoscroll{background:transparent;border:1px solid #aebeb3;border-radius:20px;font-size:10px;padding:5px 10px;white-space:nowrap;color:#365d50}#chat-autoscroll:hover{background:#e3e9df}#chat-autoscroll[aria-pressed=false]{color:var(--muted)}
@media(max-width:480px){.board-scroll-footer{gap:8px;flex-wrap:wrap}.board-scroll-footer .board-scroll-hint{font-size:10px}.comment-scroll-shell{padding-left:10px}}

/* Alternating comment backgrounds keep individual posts easy to follow. */
.comment-scroll-shell{background:#dce6df;border-color:#b8c9be}.community-board #post-list .post-item{padding:16px 14px;border-bottom:1px solid #c6d3c8}.community-board #post-list .post-item:nth-child(odd){background:#f8f5eb}.community-board #post-list .post-item:nth-child(even){background:#e0ebe5}.comment-scroll-shell .empty{padding:16px 12px}

/* Three matching navigation banners, based on the artist-entry artwork. */
.hero-actions{display:grid;grid-template-columns:1fr;gap:14px;width:min(100%,470px);margin:0 0 14px}
.hero-actions>.guide-image-link,.hero-actions>.artist-register-cta{display:block;min-width:0;width:100%;padding:0;border:0;border-radius:4px;overflow:hidden;background:#213c43;line-height:0;box-shadow:0 3px 8px #20383d20;transition:filter .18s,box-shadow .18s}
.hero-actions img{display:block;width:100%;height:auto;aspect-ratio:640/180}
.hero-actions>.guide-image-link:hover,.hero-actions>.artist-register-cta:hover{filter:brightness(1.1);box-shadow:0 4px 12px #20383d35}
.hero-actions>.guide-image-link:focus-visible,.hero-actions>.artist-register-cta:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
.hero-copy .hero-entry{padding:0;border:0;background:transparent;margin:0}
.hero-copy .hero-entry .entry-caption{margin-bottom:6px}
.hero-copy .hero-entry>p{margin-top:0}
@media(max-width:760px){.hero-actions{gap:12px}}
@media(prefers-reduced-motion:reduce){.hero-actions>.guide-image-link,.hero-actions>.artist-register-cta{transition:none}}

/* Compact registration card, matching the charcoal entry banner. */
.register-strip{background:#e9e8df;border-top:1px solid #d7d7ca;border-right:1px solid #d7d7ca;border-bottom:1px solid #d7d7ca;padding:20px 24px;gap:24px}
.register-cta{position:relative;isolation:isolate;overflow:hidden;flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:26px;min-height:84px;width:310px;max-width:100%;padding:17px 20px 17px 23px;border:1px solid #ffffff18;border-radius:4px;background:linear-gradient(115deg,#2d3033,#515553);color:#f8f3e6;box-shadow:0 3px 8px #20383d20;text-align:left;cursor:pointer;transition:filter .18s,box-shadow .18s}
.register-cta:before,.register-cta:after{content:'';position:absolute;z-index:-1;pointer-events:none;border:1px solid #d3d1c123;border-radius:50%;width:145px;height:145px;right:-30px;top:-33px}
.register-cta:after{width:112px;height:112px;right:-14px;top:-16px}
.register-cta-copy{display:grid;gap:7px;min-width:0}
.register-cta-label{font-size:9px;font-weight:600;line-height:1.2;letter-spacing:.2em;color:#deded0}
.register-cta-label:before{content:'';display:inline-block;width:12px;height:2px;background:#f57851;margin-right:8px;vertical-align:middle}
.register-cta-title{font-size:14px;line-height:1.5;font-weight:700;letter-spacing:.02em}
.register-cta-arrow{display:grid;place-items:center;width:38px;height:38px;flex-shrink:0;border-radius:50%;background:#f57851;color:#243137}
.register-cta-arrow svg{width:22px;height:22px}
.register-cta:hover{filter:brightness(1.1);box-shadow:0 5px 14px #20383d30}
.register-cta:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
@media(max-width:700px){.register-strip{padding:20px}.register-strip .register-cta{width:100%;margin-top:17px;min-height:80px;padding:16px 19px}.register-cta-title{font-size:14px}}
@media(prefers-reduced-motion:reduce){.register-cta{transition:none}}
/* One compact discovery card before the full lineup. */
.recommendation-section{padding-top:34px;padding-bottom:34px;border-top:1px solid var(--line)}
.recommendation-label{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.recommendation-label h2{display:flex;align-items:center;gap:20px;margin:0;font-size:13px;font-weight:700}
.recommendation-hint{font-size:11px;color:var(--muted)}
.recommendation-card{display:grid;grid-template-columns:112px minmax(0,1fr) auto;align-items:center;gap:28px;padding:22px;background:#e2e8df;border:1px solid #b8c4b7;position:relative}
.recommendation-card:before{content:'';position:absolute;left:-1px;top:22px;bottom:22px;width:3px;background:var(--orange)}
.recommendation-portrait{display:block;min-width:0}
.recommendation-portrait .artist-visual{width:100%;aspect-ratio:2/3}
.recommendation-portrait .placeholder-symbol{font-size:38px}
.recommendation-portrait .placeholder-caption{font-size:8px}
.recommendation-portrait .art-small{font-size:5px;letter-spacing:.06em}
.recommendation-portrait .art-number{font-size:8px}
.recommendation-copy{min-width:0}
.recommendation-copy h3{font-size:clamp(23px,2.7vw,36px);line-height:1.35;letter-spacing:-.035em;margin:0 0 10px;overflow-wrap:anywhere}
.recommendation-copy h3 a:hover{color:#9c361e}
.recommendation-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:9px}
.recommendation-bio{font-size:13px;line-height:1.85;margin:0 0 12px;white-space:pre-line;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.recommendation-appearance{font-size:11px;line-height:1.7;color:#505f55;margin:0;overflow-wrap:anywhere}
.recommendation-link{white-space:nowrap;font-size:11px;gap:18px;padding:11px 16px}
@media(max-width:1000px){.recommendation-card{grid-template-columns:96px minmax(0,1fr);gap:18px 22px}.recommendation-portrait{grid-row:1/3;align-self:start}.recommendation-link{grid-column:2;justify-self:start}.recommendation-bio{-webkit-line-clamp:2}}
@media(max-width:700px){.recommendation-section{padding-top:25px;padding-bottom:25px}.recommendation-label{align-items:flex-start;gap:10px}.recommendation-label h2{flex-direction:column;align-items:flex-start;gap:5px;font-size:12px}.recommendation-label .eyebrow{font-size:10px}.recommendation-hint{font-size:9px;margin-top:3px}.recommendation-card{grid-template-columns:86px minmax(0,1fr);gap:12px 16px;padding:16px}.recommendation-card:before{top:16px;bottom:16px}.recommendation-copy h3{font-size:22px;margin-bottom:8px}.recommendation-bio{font-size:12px;line-height:1.75;margin-bottom:8px}.recommendation-appearance{font-size:10px}.recommendation-link{font-size:10px;gap:12px;padding:9px 12px}.recommendation-badges .billing-badge{font-size:8px}}

/* Shared entry card fitted to the profile schedule column. */
.profile-schedule .profile-register-cta{width:100%;min-height:84px;gap:12px;padding:16px}
.profile-register-cta .register-cta-title{font-size:13px;line-height:1.65;overflow-wrap:anywhere}
.profile-register-cta .register-cta-arrow{width:34px;height:34px}
.board-paging{display:flex;justify-content:flex-end;gap:12px;margin-top:12px}
.board-paging button{background:transparent;border:0;border-bottom:1px solid currentColor;font:inherit;font-size:12px;padding:6px;color:inherit}
form[data-sending="true"] button{cursor:wait;opacity:.6}
.artist-toolbar .filter-group{gap:10px}
.artist-toolbar [data-artist-day]{display:inline-flex;align-items:center;justify-content:center;min-width:144px;min-height:48px;padding:10px 22px;font-size:14px;line-height:1.4;letter-spacing:0}
@media(max-width:700px){.artist-toolbar .filter-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.artist-toolbar [data-artist-day]{min-width:0;padding:10px 12px}}
