:root{
  --wall:#ece7db;
  --paper:#fffaf0;
  --ticket:#f7e3b5;
  --ink:#171411;
  --muted:#5f554b;
  --red:#c03a2b;
  --blue:#27496b;
  --black:#101010;
  --line:#2b241d;
}
*{box-sizing:border-box}html,body{margin:0;padding:0}
img,svg{max-width:100%;height:auto}h1,h2,h3,strong,a,p,li,span,small,label,button,input,textarea,td,th{overflow-wrap:anywhere}
body{min-height:100vh;background:
  linear-gradient(180deg,rgba(255,255,255,.45),transparent 180px),
  radial-gradient(circle at top right, rgba(192,58,43,.16), transparent 30%),
  linear-gradient(180deg,#efe9dd,#e7ded0 100%);color:var(--ink);font-family:"Trebuchet MS",Arial,sans-serif}
a{text-decoration:none;color:inherit}.shell{width:min(1180px,calc(100% - 2rem));margin:0 auto}
.site-header{background:#111;border-right:3px solid #2a2a2a;color:#fff4e7}
.site-header .shell{width:auto;margin:0}
.header-row{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:1rem;padding:1.2rem 1.1rem 1.4rem;min-height:100vh;position:sticky;top:0}
.brand{display:grid;gap:.28rem}.brand-mark{font-size:.8rem;letter-spacing:.34em;text-transform:uppercase;color:#ffb5a9}.brand strong{font-size:1.3rem;text-transform:uppercase;letter-spacing:.08em}.brand small{color:#dbcab7;line-height:1.55}
.main-nav{display:grid;gap:.42rem;width:100%}.main-nav a{padding:.72rem .86rem;border:1px solid rgba(255,255,255,.12);text-transform:uppercase;font-size:.76rem;letter-spacing:.14em;background:rgba(255,255,255,.03)}.main-nav a.active,.main-nav a:hover{background:var(--red);border-color:var(--red);color:#fff7f0}.admin-link{background:#22374d !important;border-color:#22374d !important}
.user-pill,.sign-btn{padding:.72rem .9rem;border:1px solid rgba(255,255,255,.14);width:100%;text-transform:uppercase;font-size:.76rem;letter-spacing:.12em;background:rgba(255,255,255,.04);text-align:center}.session-actions{margin-top:auto;display:grid;gap:.6rem;width:100%}.logout-form{margin:0}
.poster-shell{padding:1.6rem 0 2.6rem}.site-footer{border-top:2px solid rgba(17,17,17,.12);padding:1rem 0 1.8rem;color:var(--muted)}.footer-row{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}
.hero-mural,.poster-grid,.crew-ribbon,.badge-wall,.faq-list{display:grid;gap:1.15rem}.hero-mural{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)}.poster-grid{grid-template-columns:1.15fr .92fr .78fr}.crew-ribbon{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:1.15rem}.badge-wall{grid-template-columns:repeat(3,minmax(0,1fr))}.full-ribbon{grid-template-columns:repeat(2,minmax(0,1fr))}.inner-page{max-width:1040px}.narrow-shell{max-width:760px}
.hero-copy,.hero-poster,.poster-card,.crew-slab{position:relative;border:2px solid var(--line);box-shadow:8px 8px 0 rgba(16,16,16,.14)}
.hero-copy{padding:1.15rem;background:linear-gradient(180deg,#fff6e8,#f2dfbf);transform:rotate(-.6deg)}.hero-copy::before{content:"PASS WALL";position:absolute;top:.55rem;right:.8rem;font-size:.72rem;letter-spacing:.22em;color:rgba(39,73,107,.42)}
.hero-poster{padding:.95rem;background:#17314b;color:#eff7ff;transform:rotate(.5deg)}.hero-art{display:block;width:100%;border:2px solid #d7e1ee;background:#e6eef6}
.stat-ribbon{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin-top:.8rem}.stat-ribbon article{padding:.8rem;background:#fffaf0;color:var(--ink);border:2px solid var(--line)}.stat-ribbon span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.stat-ribbon strong{display:block;margin-top:.24rem}
.eyebrow{margin:0 0 .5rem;color:var(--red);font-size:.74rem;letter-spacing:.22em;text-transform:uppercase}.hero-copy h1,.poster-card h1{margin:0;font-size:clamp(1.8rem,3vw,2.85rem);line-height:1.02;text-transform:uppercase}.lead{margin-top:.9rem;line-height:1.78;max-width:60ch;color:var(--muted)}.chip-row{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem}.chip-row span{padding:.42rem .66rem;background:#fff;border:2px solid var(--line);font-size:.74rem;text-transform:uppercase;letter-spacing:.12em}
.poster-card{padding:1.1rem;background:var(--paper)}.wide-card{background:#fffdf7}.stencil-card{background:#171411;color:#fff7ef;border-color:#000}.cream-card{background:linear-gradient(180deg,#fffaf0,#f2ead8)}
.poster-grid > article:nth-child(1){transform:rotate(-.45deg)}.poster-grid > article:nth-child(2){transform:rotate(.5deg)}.poster-grid > article:nth-child(3){transform:rotate(-.2deg)}
.section-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.95rem}.section-head h1,.section-head h2{margin:0;text-transform:uppercase;letter-spacing:.08em}.section-head h2{font-size:1rem}.section-head span{color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.1em}
.deck-list,.wire-list,.explore-links,.faq-list{display:grid;gap:.8rem}.deck-row,.wire-list article,.explore-links a,.faq-card,.badge-card{padding:1rem;border:2px solid var(--line)}.deck-row{display:grid;grid-template-columns:130px minmax(0,1fr);gap:1rem;background:#fff}.slot-tag{display:inline-flex;align-items:center;justify-content:center;background:var(--blue);color:#f6fbff;padding:.55rem .64rem;height:max-content;text-transform:uppercase;letter-spacing:.12em;font-size:.74rem}.deck-row h3,.faq-card h3{margin:.1rem 0 .35rem;text-transform:uppercase}.deck-row p,.wire-list p,.crew-slab p,.badge-card p,.faq-card p{margin:0;line-height:1.7}
.wire-list article{background:#2a2120;border-color:#5a473e}.wire-list header{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.35rem;color:#ffd3c6}.page-wire article{background:#1f1a18}.explore-links a{display:block;background:#fff}.explore-links a:hover{background:var(--ticket)}
.crew-slab{padding:1rem;background:linear-gradient(180deg,#f7e3b5,#efd18f)}.crew-slab h3{margin:0 0 .5rem;text-transform:uppercase}.badge-card{background:#fff}.badge-role{display:inline-flex;padding:.3rem .64rem;background:#111;color:#fff6eb;text-transform:uppercase;font-size:.74rem;letter-spacing:.12em;margin-bottom:.7rem}
.faq-card{background:#fffdf7}.stats-list{display:grid;gap:.7rem}.stat-row{display:flex;justify-content:space-between;gap:1rem;padding:.9rem 1rem;background:#fff;border:2px solid var(--line)}.stat-row span{color:var(--muted);text-transform:uppercase;font-size:.76rem;letter-spacing:.1em}
.flag-box{margin-top:1rem;padding:1rem;border:2px dashed #ffcfbf;background:#15110f;color:#fff8ef;white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,monospace}.text-link{color:var(--blue)}.center-panel{text-align:center;padding:2rem 1rem}
.login-body{display:grid;place-items:center;min-height:100vh;background:linear-gradient(180deg,#1b1a18,#111)}.login-shell{width:min(500px,calc(100% - 1.5rem))}.login-card{padding:1.4rem;transform:rotate(-.6deg)}.login-form{display:grid;gap:.55rem;margin-top:1rem}.login-form label{font-size:.82rem;text-transform:uppercase;letter-spacing:.12em}.login-form input{width:100%;padding:.95rem 1rem;border:2px solid var(--line);background:#fffef9;color:var(--ink);font:inherit}.login-form button,button{padding:.92rem 1rem;background:var(--red);color:#fff7ef;border:none;font:inherit;text-transform:uppercase;letter-spacing:.12em;cursor:pointer}button:hover{filter:brightness(1.04)}.error-text{min-height:1.2rem;color:#ffd3c6}.muted{color:var(--muted)}.small{font-size:.84rem}
table{width:100%;border-collapse:collapse;background:#fff;border:2px solid var(--line)}th,td{padding:.88rem .76rem;text-align:left;border-bottom:1px solid rgba(23,19,15,.14)}th{text-transform:uppercase;font-size:.76rem;letter-spacing:.1em;color:var(--muted)}.status-tag{display:inline-flex;padding:.28rem .62rem;text-transform:uppercase;font-size:.74rem;letter-spacing:.11em}.status-live{background:var(--red);color:#fff8ef}.status-soon{background:var(--ticket);color:#17130f}.status-later{background:#1f1a18;color:#fff8ef}
@media(min-width:1120px){body{display:grid;grid-template-columns:280px 1fr}.shell{width:min(1180px,calc(100% - 2rem))}.site-footer,.poster-shell{padding-left:0;padding-right:0}}
@media(max-width:1119px){.site-header{position:sticky;top:0;z-index:6;border-right:none;border-bottom:3px solid #2a2a2a}.header-row{min-height:auto;flex-direction:row;align-items:center}.main-nav{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.session-actions{margin-top:0;width:auto;grid-auto-flow:column;align-items:center}.user-pill,.sign-btn{width:auto}.hero-mural,.poster-grid,.crew-ribbon,.badge-wall,.full-ribbon{grid-template-columns:1fr}.poster-grid > article:nth-child(1),.poster-grid > article:nth-child(2),.poster-grid > article:nth-child(3),.hero-copy,.hero-poster,.login-card{transform:none}}

@media(max-width:720px){.section-head{align-items:flex-start;flex-direction:column}.deck-row,.stat-row{grid-template-columns:1fr;display:grid}.slot-tag{justify-content:flex-start}}

.hero-mural > *, .poster-grid > *, .crew-ribbon > *, .badge-wall > *, .full-ribbon > *, .deck-row > *, .section-head > * { min-width: 0; }
.wire-list header, .stat-row { align-items: flex-start; }
.deck-row, .stat-row, .wire-list article, .badge-card, .faq-card, .poster-card, .crew-slab { overflow: hidden; }
.flag-box, table { word-break: break-word; }
