:root{--wine:#6f1d36;--wine-dark:#511126;--blush:#f1dfe5;--paper:#fffaf8;--ink:#2a1a22;--muted:#725e67;--line:#d9bbc5;--gold:#c89145;--shadow:0 16px 42px rgba(80,17,38,.13)}
*{box-sizing:border-box}
body{color:var(--ink);background:radial-gradient(circle at 9% 0,#fff6f6 0 14rem,transparent 32rem),var(--blush);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:var(--wine-dark)}
header{background:var(--wine);color:#fff;border:0;box-shadow:0 5px 22px rgba(60,12,29,.2);padding:1rem max(1.1rem,calc((100vw - 1180px)/2));position:relative;z-index:5}
.brand,.brand:visited{color:#fff;font-family:Georgia,serif;font-size:1.42rem;letter-spacing:.02em}.brand span{color:#f3b8c9}
.site-nav a,.site-nav a:visited{color:#fff}.site-nav a:hover{text-decoration-color:#f3b8c9}
#account .quiet{color:#fff;border-color:#d9a4b5;background:transparent}
main{max-width:1180px;margin:auto;padding:2rem clamp(1rem,3vw,2rem) 4rem}
.hero{background:linear-gradient(125deg,var(--wine-dark),var(--wine) 60%,#913454);color:#fff;border-radius:26px;padding:clamp(1.65rem,5vw,4.4rem);box-shadow:var(--shadow);position:relative;overflow:hidden}
.hero:after{content:"✦";position:absolute;right:5%;top:-22%;font-size:15rem;color:rgba(255,255,255,.07);transform:rotate(12deg)}
.hero h1{font-family:Georgia,serif;font-weight:500;line-height:.96;font-size:clamp(2.6rem,7vw,5.3rem);max-width:820px;margin:.28em 0}.hero h1 em{color:var(--blush)}.hero p{color:#f9eaf0;max-width:620px}.hero .eyebrow{color:#ffc9d7}
.primary,.secondary,.quiet,.text-button,.tab,.view-toggle button,input,select,textarea{border-radius:10px}
.primary{background:var(--wine);border-color:var(--wine);color:#fff}.primary:hover{background:var(--wine-dark)}
.secondary{background:var(--paper);border-color:var(--wine);color:var(--wine)}
.quiet{color:var(--wine);border-color:var(--line)}
button,a,input,select,textarea,summary{outline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #e39ab1}
.collection,.people-section,.statistics-section,.guide-section{background:rgba(255,250,248,.82);border:1px solid rgba(111,29,54,.13);border-radius:24px;box-shadow:0 9px 30px rgba(80,17,38,.08)}
.collection{margin-top:1.3rem;padding:clamp(1rem,3vw,2rem)}
.section-heading h2,.people-section h2,.statistics-section h2,.guide h1,.guide h2{font-family:Georgia,serif;color:var(--ink)}
.eyebrow{color:var(--wine);font-weight:800;letter-spacing:.13em}
.view-toggle{background:#ead3db;border-color:var(--line)}.view-toggle button.active,.tab.active{background:var(--wine);color:#fff}
.toolbar{border-color:var(--line)}.tabs{gap:.35rem}.tab{color:var(--wine);border-color:transparent}.tab span{background:rgba(255,255,255,.18)}
#search{border:2px solid #b98294;background:#fff;color:var(--ink);min-height:46px}
.shows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.15rem;margin-top:1.35rem}
.ticket-show{position:relative;display:grid;grid-template-columns:92px minmax(0,1fr);padding:0!important;overflow:hidden;background:var(--paper)!important;border:1px solid var(--line)!important;border-radius:15px!important;box-shadow:0 8px 24px rgba(67,17,34,.1)!important;min-height:225px}
.ticket-show:before,.ticket-show:after{content:"";position:absolute;z-index:2;width:24px;height:24px;border-radius:50%;background:var(--blush);top:50%;transform:translateY(-50%)}
.ticket-show:before{left:-13px}.ticket-show:after{right:-13px}
.ticket-stub{background:linear-gradient(165deg,var(--wine-dark),var(--wine));color:#fff;padding:1.15rem .65rem;display:flex;flex-direction:column;align-items:center;justify-content:space-between;text-align:center;border-right:2px dashed rgba(255,255,255,.45)}
.ticket-stub time{display:flex;flex-direction:column}.ticket-stub strong{font:500 2.35rem/.95 Georgia,serif}.ticket-stub span{font-weight:850;letter-spacing:.14em;font-size:.76rem;margin-top:.35rem}.ticket-stub small{writing-mode:vertical-rl;transform:rotate(180deg);text-transform:uppercase;letter-spacing:.16em;color:#f7dce5;font-size:.67rem}
.ticket-body{display:grid;grid-template-columns:86px minmax(0,1fr);gap:1rem;padding:1.15rem 1.25rem}
.ticket-photo{width:86px;height:108px;border-radius:10px;background:linear-gradient(145deg,#bd7188,#6f1d36);display:grid;place-items:center;overflow:hidden;color:#fff;font-size:2rem;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.ticket-photo img{width:100%;height:100%;object-fit:cover}.ticket-copy{min-width:0}.ticket-copy h3{font:600 1.33rem/1.06 Georgia,serif;color:var(--ink);margin:.45rem 0 .42rem}.show-type{background:#f1dfe5;color:#5d172c;border-color:#d7a9b8;font-weight:760}.show-meta,.show-companions,.show-credits{color:var(--muted)}.show-notes{color:#514048;line-height:1.45}.rating{color:#9c5d0a}.ticket-actions{display:flex;flex-wrap:wrap;gap:.25rem .8rem;margin-top:.6rem}.ticket-actions .text-button{min-height:38px;color:var(--wine);font-weight:750;padding:.2rem 0}
.bulk-type-editor,.calendar,.person-card,.stat-card,.venue-card{border-color:var(--line);background:var(--paper)}
.calendar-head,.calendar-weekdays{color:var(--wine)}.calendar-day.today{border-color:var(--wine)}
.statistics-card,.stat-card{background:var(--paper);border-color:var(--line)}.statistics-value{color:var(--wine)}
dialog{background:var(--paper);color:var(--ink);border-color:var(--line);box-shadow:0 24px 80px rgba(54,10,28,.35)}dialog::backdrop{background:rgba(42,26,34,.64)}
label{color:var(--ink)}input,select,textarea{background:#fff;color:var(--ink);border-color:#a87989}input::placeholder{color:#7d6870}
.guide{max-width:920px}.guide-section{padding:clamp(1rem,3vw,2rem);margin:1rem 0}.statistics-empty{color:var(--muted)}
footer{color:var(--muted)}
@media(max-width:900px){.shows{grid-template-columns:1fr}.hero{border-radius:20px}.site-nav{gap:.65rem}}
@media(max-width:620px){body{overflow-x:hidden}header{padding:.85rem 1rem;display:grid;grid-template-columns:1fr auto;gap:.5rem;max-width:100%}.brand{font-size:1.22rem;min-width:0}.site-nav{grid-column:1/-1;width:100%;display:flex;flex-wrap:wrap;overflow:visible;padding-top:.45rem;font-size:.78rem}.site-nav a{white-space:nowrap}#account{min-width:0}#account button{padding:.45rem .65rem}main{max-width:100%;padding:1rem .72rem 3rem;overflow:hidden}.hero{padding:1.55rem 1.15rem}.hero h1{font-size:2.55rem}.hero p{overflow-wrap:anywhere}.collection{padding:.85rem;border-radius:18px;min-width:0}.section-heading{align-items:flex-start}.section-heading .secondary{min-height:44px}.toolbar{gap:.65rem;width:100%;min-width:0}.tabs{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.tab{min-width:0;min-height:44px;padding:.55rem .15rem;font-size:.74rem;white-space:normal}#search{width:100%;min-width:0}.shows{gap:.85rem;min-width:0}.ticket-show{grid-template-columns:64px minmax(0,1fr);min-height:235px;max-width:100%}.ticket-stub{padding:.95rem .35rem}.ticket-stub strong{font-size:2rem}.ticket-body{grid-template-columns:56px minmax(0,1fr);gap:.65rem;padding:1rem .75rem;min-width:0}.ticket-photo{width:56px;height:78px}.ticket-copy h3{font-size:1.13rem;overflow-wrap:anywhere}.ticket-actions{flex-direction:column;align-items:flex-start}.ticket-actions .text-button{min-height:44px}.show-notes{font-size:.88rem}.view-toggle button,button,.primary,.secondary,.quiet{min-height:44px}.collection,.people-section,.statistics-section{border-radius:18px}}

.ticket-photo{border:0;padding:0;position:relative;cursor:pointer}
.ticket-photo:focus-visible,.detail-photo button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.ticket-photo-count{position:absolute;left:4px;right:4px;bottom:4px;border-radius:999px;background:rgba(42,26,34,.82);color:#fff;font-size:.65rem;font-weight:800;line-height:1;padding:.35rem .25rem;text-align:center}
.detail-photo-heading{align-items:center;display:flex;gap:.7rem;justify-content:space-between}
.detail-photo-heading h3{margin-bottom:.25rem}
#detail-photo-count{color:var(--muted);font-weight:700}
.detail-photo button{background:transparent;border:0;border-radius:8px;display:block;padding:0;width:100%}
.photo-viewer{width:min(760px,calc(100% - 24px));padding:1rem}
.photo-viewer article{display:grid;gap:.75rem}
.photo-viewer img{background:#1f151a;border-radius:10px;display:block;height:min(68vh,720px);object-fit:contain;width:100%}
#photo-viewer-caption{margin:0;min-height:1.5em;text-align:center}
.photo-viewer-actions{display:flex;gap:.75rem;justify-content:space-between}
.photo-viewer-actions button{flex:1}
@media(max-width:620px){.photo-viewer{margin:auto;padding:.7rem}.photo-viewer img{height:62vh}.photo-viewer-actions{position:sticky;bottom:0;background:var(--paper);padding-top:.4rem}.photo-grid,.detail-photo-grid{grid-template-columns:1fr}.photo-card{overflow:visible}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
