:root{--gold:#d1ad59;--gold-soft:#ead59a;--black:#090807;--panel:#15130f;--panel-raised:#1b1813;--paper:#eee8dc;--muted:#aaa39a;--line:#ffffff1c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--black);color:var(--paper);margin:0;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Yu Gothic,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.header{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#090807ed;align-items:center;gap:24px;min-height:68px;padding:14px 5vw;display:flex;position:sticky;top:0}.brand{white-space:nowrap;margin-right:auto;font-family:Yu Mincho,serif;font-size:20px}.nav{align-items:center;gap:20px;font-size:13px;display:flex}.nav a{color:#d4cec4;transition:color .2s}.nav a:hover{color:var(--gold-soft)}.hero{background:linear-gradient(90deg,#040302f7,#04030252),radial-gradient(circle at 78% 28%,#6b4015,#0000 31%),#0b0907;align-items:end;min-height:72vh;padding:10vh 7vw;display:grid}.hero-content{max-width:900px}.hero p:first-child,.eyebrow{color:var(--gold);letter-spacing:.25em;font-size:11px}.hero h1{margin:.1em 0;font:clamp(52px,9vw,116px)/1 Yu Mincho,serif}.hero .lead{color:#ccc5bb;max-width:620px;line-height:2}.actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.btn{border:1px solid var(--gold);padding:13px 20px;transition:background .2s,color .2s}.btn:hover{background:#d1ad591f}.btn.primary{background:var(--gold);color:#181109}.btn.primary:hover{background:var(--gold-soft)}.section{padding:82px 7vw}.section-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px;display:flex}.section h2,.schedule-hero h1{margin:10px 0 0;font:clamp(30px,4vw,50px)/1.2 Yu Mincho,serif}.today-date{color:var(--gold-soft);font-family:Yu Mincho,serif;font-size:18px}.text-link{color:var(--gold-soft);border-bottom:1px solid #d1ad5973;padding-bottom:4px;font-size:14px}.schedule-hero{background:linear-gradient(180deg, #120f0b, var(--black));border-bottom:1px solid var(--line);padding:74px 7vw 42px}.schedule-hero p:last-child{color:var(--muted);margin-top:18px}.schedule-section{padding-top:42px}.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.card{background:var(--panel);border:1px solid var(--line);padding:20px}.card small{color:var(--gold)}.card p{color:var(--muted);line-height:1.8}.performance-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.performance-card{background:linear-gradient(145deg, var(--panel-raised), #12100d);border:1px solid var(--line);border-top:2px solid #d1ad599e;flex-direction:column;min-height:276px;transition:transform .2s,border-color .2s;display:flex}.performance-card:hover{border-color:#d1ad5985;transform:translateY(-3px)}.performance-card-featured{border-top-width:3px;grid-template-columns:minmax(190px,.65fr) 1fr;min-height:0;display:grid}.performance-card-top{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:17px 18px;display:flex}.performance-card-featured .performance-card-top{border-bottom:0;border-right:1px solid var(--line);flex-direction:column;place-content:center;align-items:flex-start;padding:30px}.performance-card time{color:var(--gold-soft);font-size:14px;font-weight:700}.performance-card-featured time{font:25px/1.3 Yu Mincho,serif}.session-badge{color:#d8cba9;white-space:nowrap;border:1px solid #d1ad596b;border-radius:999px;padding:5px 9px;font-size:11px}.performance-card-body{flex-direction:column;flex:1;padding:19px 18px 22px;display:flex}.performance-card-featured .performance-card-body{padding:30px}.venue-name{color:var(--gold);margin:0 0 10px;font-size:12px}.performance-card h3{margin:0 0 18px;font:22px/1.45 Yu Mincho,serif}.performance-card-featured h3{font-size:clamp(25px,3vw,38px)}.program-list{border-top:1px solid var(--line);margin-top:auto}.program-row{border-bottom:1px solid #ffffff0f;grid-template-columns:62px 1fr;gap:12px;padding:10px 0;display:grid}.program-row:last-child{border-bottom:0}.program-row span{color:#877e72;font-size:12px}.program-row strong{color:#d6d0c6;font-size:14px;line-height:1.6}.last-show-row strong{color:var(--gold-soft)}.performance-card.is-closed{opacity:.7;border-top-color:#716d66}.performance-card.is-closed .session-badge{color:#aaa49b;border-color:#66625c}.closed-message{color:var(--muted);margin-top:auto}.empty-state{border:1px solid var(--line);background:var(--panel);color:var(--muted);padding:34px}.admin-shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.admin-simple-shell{min-height:100vh;padding:36px clamp(20px,5vw,72px)}.admin-simple-panel{width:min(100%,1100px);margin:0 auto}.sidebar{border-right:1px solid var(--line);background:#0d0b09;padding:28px 20px}.sidebar a{color:#bbb;padding:11px 8px;display:block}.content{padding:35px}.form{background:var(--panel);border:1px solid var(--line);max-width:440px;margin:10vh auto;padding:28px}.form label{color:#aaa;margin:15px 0 6px;display:block}.form input{color:#fff;background:#090807;border:1px solid #fff3;width:100%;padding:12px}.form button{background:var(--gold);border:0;width:100%;margin-top:18px;padding:12px;font-weight:700}@media (max-width:980px){.performance-grid,.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.header{padding:12px 18px;overflow-x:auto}.brand{font-size:18px}.nav{white-space:nowrap;gap:15px;font-size:12px}.nav a:nth-child(6){display:none}.hero{min-height:64vh;padding:70px 22px 56px}.hero h1{font-size:clamp(46px,16vw,74px)}.section,.schedule-hero{padding-left:20px;padding-right:20px}.section{padding-top:58px;padding-bottom:58px}.section-heading{flex-direction:column;align-items:flex-start;gap:12px}.performance-grid,.grid{grid-template-columns:1fr}.performance-card{min-height:0}.performance-card-featured{display:flex}.performance-card-featured .performance-card-top{border-right:0;border-bottom:1px solid var(--line);padding:20px}.performance-card-featured .performance-card-body{padding:22px 20px}.admin-shell{grid-template-columns:1fr}.sidebar{display:none}.content{padding:22px}}
