/* SQUARE RIOT — hand-set flyer / vintage admission ticket, intentionally no UI framework. */
:root{--ink:#151b1a;--paper:#f2ebd9;--paper2:#fff8e8;--accent:#f04832;--bright:#dff25c;--muted:#726e64;--line:2px solid var(--ink);--shadow:6px 6px 0 var(--ink);--font:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.45}body:before{content:'';position:fixed;inset:0;pointer-events:none;z-index:1000;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.2' filter='url(%23n)'/%3E%3C/svg%3E")}
a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px dashed var(--accent);outline-offset:3px}h1,h2,h3,p{margin-top:0}h1,h2{line-height:1.04;letter-spacing:-.045em}h1{font-size:clamp(2.8rem,7vw,5.7rem);font-weight:950}h2{font-size:clamp(1.35rem,2.7vw,2.1rem);font-weight:900}h3{font-size:1.12rem;font-weight:950;text-transform:uppercase;letter-spacing:.015em}p{margin-bottom:1rem}small,.micro{font-size:.78rem}.kicker,.eyebrow{font-size:.8rem;letter-spacing:.14em;font-weight:950;text-transform:uppercase}.hint{font-size:.89rem;color:#58584f}.shell{width:min(1160px,calc(100% - 40px));margin:auto}.masthead{background:var(--ink);color:var(--paper);border-bottom:6px solid var(--accent)}.navline{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}.logotype{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:1000;font-size:clamp(1rem,2.5vw,1.65rem);line-height:1;letter-spacing:-.055em;white-space:nowrap}.logo-outline{color:var(--bright)}.logo-mark{font-size:2rem;color:var(--accent)}.navlinks{display:flex;gap:17px;align-items:center;flex-wrap:wrap}.navlinks a,.plainbutton{font-size:.74rem;letter-spacing:.08em;font-weight:950;color:var(--paper);text-decoration:none}.navlinks a:hover,.plainbutton:hover{text-decoration:underline}.inline{display:inline}.plainbutton{border:0;background:transparent;padding:0}.site-strip{background:var(--bright);border-bottom:var(--line);padding:8px 0;font-size:.87rem}.site-strip strong{margin-right:12px}main.shell{padding-top:38px;padding-bottom:70px;min-height:70vh}.sitefoot{background:var(--ink);color:var(--paper);padding:36px 0}.sitefoot strong{font-size:1.12rem}.sitefoot p{font-weight:750;font-size:.7rem;letter-spacing:.16em}.footrow{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}.footerlinks{display:flex;gap:18px;font-size:.75rem;font-weight:850;flex-wrap:wrap}.footerlinks a{text-decoration:none}.footerlinks a:hover{text-decoration:underline}
.button{border:var(--line);border-radius:0;text-decoration:none;padding:13px 18px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:950;font-size:.81rem;letter-spacing:.065em;transition:transform .15s,box-shadow .15s;min-height:44px;text-align:center;background:var(--paper2);color:var(--ink)}.button:hover{transform:translate(-2px,-2px);box-shadow:3px 3px 0 var(--ink)}.button.primary{background:var(--accent);color:white}.button.secondary{background:var(--bright)}.button.ghost{background:transparent}.button.danger{background:#8b2521;color:#fff}.button.tiny{padding:5px 8px;min-height:30px;font-size:.65rem}.button.fullwidth{width:100%}.buttonrow{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.buttonrow form{margin:0}.pageheading{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:28px}.pageheading h1{margin:0}.pageheading p{margin:5px 0}.number-stamp{border:var(--line);padding:14px;font-weight:950;transform:rotate(5deg);font-size:1.25rem}.flash{border:var(--line);background:var(--bright);padding:14px 20px;font-weight:700;margin-bottom:20px}.flash-error{background:#ffb9aa}.paper{background:var(--paper2);border:var(--line);padding:clamp(20px,3vw,30px);margin-bottom:22px;box-shadow:3px 3px 0 rgba(21,27,26,.23)}.paper h2{border-bottom:var(--line);padding-bottom:11px;margin-bottom:20px}.narrow{max-width:540px;margin:30px auto}.stack{display:grid;gap:17px}.paper label{display:block;font-weight:850;font-size:.77rem;letter-spacing:.055em;margin:12px 0 6px}.paper input:not([type=checkbox]),.paper textarea,.paper select{display:block;margin-top:7px;width:100%;padding:11px 12px;background:#fffdf5;color:var(--ink);border:2px solid #333b34;border-radius:0;font-weight:500;letter-spacing:0}.paper input[type=checkbox]{appearance:none;display:inline-block;vertical-align:-3px;margin-right:7px;width:19px;height:19px;background:white;border:2px solid var(--ink);border-radius:0;flex:none}.paper input[type=checkbox]:checked{background:var(--accent);box-shadow:inset 0 0 0 3px #fff}.checkstack{display:grid;gap:10px;margin:15px 0}.checkstack label,.pick-list label{display:flex;align-items:baseline;gap:6px;font-size:.83rem;font-weight:700;line-height:1.3;letter-spacing:0}.form-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:34px}.form-section+.form-section{border-left:2px dashed var(--muted);padding-left:30px}.form-section>h2{margin-bottom:22px}.theme-previews{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 25px}.theme-chip{font-size:.7rem;font-weight:850;background:var(--accent);color:white;padding:5px 7px;border:1px solid var(--ink);display:inline-flex;align-items:center;gap:5px}.theme-chip.theme-brewery{background:#794c24}.theme-chip.theme-stadium{background:#113f6c}.theme-chip.theme-holiday{background:#1b6b48}.theme-chip.theme-neon{background:#8d1d7d}.theme-chip.theme-newsprint{background:#474747}.theme-chip.theme-garden{background:#79914a}.theme-chip i{font-style:normal}details{border-top:2px dashed #9a9687;margin-top:20px;padding-top:15px}summary{font-weight:900;cursor:pointer;font-size:.83rem;text-transform:uppercase;letter-spacing:.04em}details>p,details>form{margin-top:15px}.warning-strip{background:#f04832;color:#fff;padding:10px 13px;font-weight:900;letter-spacing:.04em}.textpage{max-width:860px}.textpage p{max-width:75ch}
.hero-rough{display:grid;grid-template-columns:1fr 1.25fr;gap:30px;min-height:485px;margin-bottom:33px}.hero-illustration{background:var(--accent);color:var(--paper);border:var(--line);box-shadow:var(--shadow);position:relative;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}.hero-illustration>span:first-child{font-size:clamp(4rem,8vw,8rem);line-height:.9;letter-spacing:-.09em;font-weight:1000;transform:rotate(-8deg);text-shadow:5px 5px 0 var(--ink)}.hero-cross{position:absolute;bottom:-80px;right:-32px;font-size:19rem;color:var(--bright);transform:rotate(22deg);opacity:.95}.hero-copy{padding:10px 0 25px;display:flex;flex-direction:column;justify-content:center}.hero-copy h1{font-size:clamp(3.7rem,7vw,7rem);line-height:.87;margin:15px 0 23px}.hero-copy h1 em{font-family:Georgia,serif;font-weight:700;letter-spacing:-.1em;color:var(--accent);font-style:italic}.hero-description{font-size:1.12rem;max-width:44ch}.hero-copy .micro{font-weight:800;margin:20px 0 0;letter-spacing:.04em}.ticket-band{display:grid;grid-template-columns:repeat(3,1fr);background:var(--bright);border:var(--line);margin-bottom:50px}.ticket-band>div{padding:22px;border-right:2px dashed var(--ink)}.ticket-band>div:last-child{border:0}.ticket-band span{font-weight:950;letter-spacing:.08em}.ticket-band p{margin:8px 0 0;font-size:.9rem}.sectionblock{margin:48px 0}.sectionhead{border-bottom:4px solid var(--ink);display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:20px}.sectionhead h2{margin-bottom:13px}.sectionhead span{font-size:.72rem;font-weight:900}.tilegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:15px}.game-tile{border:var(--line);background:var(--paper2);min-height:175px;padding:20px;display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;transition:transform .14s,background .14s}.game-tile:hover{transform:rotate(-1.2deg);background:var(--bright)}.game-tile strong{font-size:1.55rem;line-height:1.1;font-weight:950;overflow-wrap:anywhere}.tile-top,.tile-bottom{font-size:.7rem;font-weight:950;letter-spacing:.08em}.tile-bottom{color:#8b3527}.bottom-note{display:flex;gap:45px;align-items:center;padding:26px;border-top:4px solid var(--ink);margin-top:60px}.oversize-star{font-size:8rem;color:var(--accent);line-height:1}.bottom-note h2{font-size:clamp(1.9rem,4vw,3.1rem)}
.gamebanner{background:var(--ink);color:var(--paper);border:3px solid var(--ink);padding:28px 33px;display:flex;gap:20px;justify-content:space-between;position:relative;overflow:hidden}.gamebanner h1{font-size:clamp(2.7rem,6vw,5.2rem);margin-bottom:10px;overflow-wrap:anywhere}.banner-symbol{font-size:10rem;line-height:1;color:var(--accent);align-self:center;transform:rotate(-20deg)}.statusline{display:flex;align-items:center;gap:15px;flex-wrap:wrap;font-size:.74rem;font-weight:900}.status-pill{display:inline-block;border:2px solid currentColor;padding:5px 9px;font-size:.74rem;font-weight:900;white-space:nowrap}.status-active{color:#2f987a}.status-finished{color:#9b9790}.status-locked{color:#ca8c19}.statline{display:grid;grid-template-columns:repeat(4,1fr);background:var(--bright);border:var(--line);margin:15px 0 28px}.statline>div{padding:15px 22px;border-right:2px solid var(--ink)}.statline>div:last-child{border:0}.statline small{display:block;font-weight:900;letter-spacing:.07em}.statline strong{display:block;font-size:clamp(1.45rem,3vw,2.4rem);font-weight:950;line-height:1.25}.two-column{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:23px}.column-main,.column-side{min-width:0}.ink-paper{background:#252e29;color:var(--paper)}.ink-paper h2{border-bottom-color:#e7e0cf}.leaderline{display:flex;justify-content:space-between;font-size:.86rem;font-weight:850;gap:15px;margin-bottom:4px}.meter{height:7px;background:#a8a394;margin:0 0 14px}.meter span{display:block;height:100%;background:var(--accent)}.ink-paper .meter{background:#62685d}.ink-paper .meter span{background:var(--bright)}.qr-mini{width:min(100%,250px);display:block;mix-blend-mode:multiply;margin:10px auto;border:1px solid var(--ink)}.share-link{font-size:.74rem;overflow-wrap:anywhere;font-weight:800;background:var(--paper);padding:10px}.card-list{margin:16px 0}.card-link{display:grid;grid-template-columns:75px 1fr 30px;gap:8px;align-items:center;padding:14px 10px;border-top:2px solid var(--ink);font-size:.85rem;text-decoration:none}.card-link:last-child{border-bottom:2px solid var(--ink)}.card-link:hover{background:var(--bright)}.card-link b{font-weight:950}.blockhead{display:flex;justify-content:space-between;align-items:baseline}.blockhead h2{flex:1}.blockhead>span{font-weight:900;margin-left:10px}.notice{border-left:7px solid var(--accent);padding:12px;background:#f0e3c5;margin:10px 0}.notice p{margin:5px 0;white-space:pre-wrap}.pick-list{max-height:300px;overflow:auto;border:2px solid var(--ink);padding:10px;background:#fffdf5;display:grid;gap:7px;margin:10px 0}.pick-list label{margin:3px 0;padding:5px;border-bottom:1px solid #ddd}.called-big{font-family:Georgia,serif;font-size:clamp(4rem,9vw,7rem);font-weight:900;color:var(--accent);text-align:center;line-height:1.1}.called-history{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.called-history span{border:2px solid var(--ink);padding:5px;font-weight:950;font-size:.82rem}.chatfeed{max-height:350px;overflow:auto}.chatfeed p{border-bottom:1px dashed #a5a394;padding:9px 0;margin:0}.reportlink{font-size:.65rem;border:0;text-decoration:underline;background:transparent;float:right}.warning-strip{margin-top:20px}
.cardhead{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:25px}.cardhead h1{font-size:clamp(2.2rem,5vw,4rem);margin-bottom:8px}.cardhead>div>p:last-child{font-weight:850;font-size:.82rem}.gamecard{max-width:770px;margin:0 auto;background:#fffaf0;border:5px solid var(--ink);padding:18px;box-shadow:9px 9px 0 var(--accent);position:relative}.gamecard-top,.gamecard-bottom{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:.64rem;font-weight:1000;letter-spacing:.1em}.gamecard-top{border-bottom:2px dashed var(--ink);padding-bottom:10px}.gamecard-bottom{padding-top:13px;border-top:2px dashed var(--ink)}.bingo-headings{display:grid;grid-template-columns:repeat(var(--n),1fr);gap:5px;text-align:center;margin:15px 0 5px}.bingo-headings span{font-size:clamp(1.4rem,5vw,3.1rem);font-weight:1000;line-height:1}.board{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:5px;margin:0 0 14px}.square{position:relative;aspect-ratio:1;background:var(--paper2);color:var(--ink);padding:7px;border:2px solid var(--ink);display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;min-width:0;overflow-wrap:anywhere;font-size:clamp(.52rem,1.55vw,.94rem);line-height:1.1;font-weight:800;transition:background .13s}.square span{z-index:1}.square:disabled{opacity:1}.square:not(:disabled):hover{background:var(--bright)}.square.marked{background:var(--bright)}.square.free{background:#d5cfb6}.square .big-x{font-size:clamp(2.1rem,6.9vw,5rem);color:var(--accent);position:absolute;opacity:0;transform:rotate(-11deg);line-height:1;z-index:2;mix-blend-mode:multiply;pointer-events:none}.square.marked .big-x{opacity:.85}.square.free .big-x{opacity:.35}.square:disabled:not(.marked):not(.free){background:#ece9dc;color:#777}.gamecard.host-inspection{margin:0 auto 40px}.card-after{margin:34px auto;max-width:770px}.win-banner{max-width:770px;background:var(--bright);border:var(--line);padding:20px;text-align:center;margin:34px auto 0;transform:rotate(-1deg)}.win-banner strong{display:block;font-size:clamp(3.5rem,8vw,7rem);font-weight:1000;line-height:1}.win-banner span{font-weight:950}.hidden{display:none!important}.celebration{position:fixed;inset:0;z-index:500;pointer-events:none;overflow:hidden}.celebration span{position:absolute;top:-15%;font-size:2.3rem;color:var(--accent);animation:fly 2.2s linear forwards}@keyframes fly{to{top:110%;transform:rotate(520deg)}}.responsive-table{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.83rem}td,th{text-align:left;padding:10px;border-bottom:1px solid #9c998d;vertical-align:top}th{font-size:.72rem;letter-spacing:.08em;background:#e6d9bd}td form{display:inline}.person-line,.suggestion,.reportitem{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px dashed #8e8d82;padding:10px 0}.person-line small{display:block;color:#6d6b61;font-size:.7rem}.person-line form,.suggestion form{margin:0}.topic-list{padding-left:22px}.topic-list li{padding:4px 0}.reportitem{align-items:flex-start}.reportitem p{margin:6px 0}.adminstats{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.adminstats>div{border-bottom:1px solid var(--ink)}.danger-zone{border-color:#a42d24}.reveal-grid{display:grid;grid-template-columns:repeat(var(--n),1fr);gap:2px}.reveal-grid span{border:1px solid var(--ink);padding:3px;aspect-ratio:1;font-size:.51rem;line-height:1.1;overflow:hidden;overflow-wrap:anywhere}.reveal-card{border:2px solid var(--ink);padding:12px;background:var(--paper)}.reveal-card h3{font-size:.95rem}.offline{text-align:center}
.install-tray{position:fixed;bottom:15px;right:15px;z-index:100;background:var(--bright);border:3px solid var(--ink);padding:11px 16px;font-weight:900;box-shadow:3px 3px 0 var(--ink)}.install-tray[hidden]{display:none}.poster-body{background:var(--accent);min-height:100vh;display:grid;place-items:center}.poster{width:min(1300px,95vw);border:8px solid var(--ink);background:var(--paper);padding:clamp(20px,4vw,50px);box-shadow:15px 15px 0 var(--ink)}.poster-top,.poster-bottom{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-bottom:3px solid var(--ink);font-size:clamp(.9rem,2vw,1.5rem);font-weight:950}.poster-content{display:grid;grid-template-columns:1fr .75fr;align-items:center;gap:20px}.poster-content h1{font-size:clamp(3rem,6vw,7rem);overflow-wrap:anywhere}.poster-content h2{font-size:clamp(3rem,8vw,10rem);color:var(--accent);line-height:.9}.poster-content img{width:100%;border:3px solid var(--ink)}.poster-bottom{border-bottom:0;border-top:3px solid var(--ink);padding-top:18px;overflow-wrap:anywhere;font-size:.87rem}.poster-bottom button{background:var(--bright);border:var(--line);font-weight:900;cursor:pointer}
.theme-brewery{--accent:#915522;--bright:#f6c563;--paper:#f0ddbd;--paper2:#fff2dd}.theme-stadium{--accent:#14669f;--bright:#ffce32;--paper:#edf1eb;--paper2:#fffefa}.theme-holiday{--accent:#ad2d36;--bright:#b6d69d;--paper:#eee9e0;--paper2:#fff8ef}.theme-neon{--accent:#e23dd9;--bright:#d6fe37;--paper:#302434;--paper2:#fffbea}.theme-neon .navline{color:#fff}.theme-neon main>p,.theme-neon main>.pageheading{color:#faf5ec}.theme-newsprint{--accent:#df5327;--bright:#e9d7a2;--paper:#e0d9c7;--paper2:#f3ecdb}.theme-garden{--accent:#5c7240;--bright:#f7d96e;--paper:#e9efdf;--paper2:#fffdee}
@media(max-width:800px){.navline{padding:13px 0;align-items:flex-start}.navlinks{gap:8px 13px;justify-content:flex-end}.hero-rough{grid-template-columns:1fr}.hero-illustration{min-height:240px;max-height:300px}.hero-copy h1{font-size:4.8rem}.ticket-band{grid-template-columns:1fr}.ticket-band>div{border-right:0;border-bottom:2px dashed var(--ink)}.form-layout,.two-column{grid-template-columns:1fr}.form-section+.form-section{border-left:0;border-top:2px dashed var(--muted);padding-left:0;padding-top:20px}.pageheading{align-items:flex-start}.banner-symbol{font-size:5rem}.statline{grid-template-columns:repeat(2,1fr)}.statline>div:nth-child(2){border-right:0}.statline>div:nth-child(-n+2){border-bottom:2px solid var(--ink)}.poster-content{grid-template-columns:1fr 1fr}.poster-content h2{font-size:5vw}.cardhead{align-items:flex-start}}
@media(max-width:500px){.shell{width:min(100% - 24px,1160px)}main.shell{padding-top:22px}.navline{flex-direction:column;align-items:center;gap:15px}.navlinks{justify-content:center}.navlinks a,.plainbutton{font-size:.65rem}.hero-copy h1{font-size:3.65rem}.hero-illustration>span:first-child{font-size:4.2rem}.gamebanner{padding:18px}.gamebanner h1{font-size:2.5rem}.banner-symbol{display:none}.statline>div{padding:12px}.statline strong{font-size:1.8rem}.cardhead{flex-direction:column}.square{padding:3px;border-width:1px;font-size:clamp(.46rem,2.2vw,.68rem)}.square .big-x{font-size:2.6rem}.board{gap:3px}.gamecard{padding:8px;border-width:3px;box-shadow:4px 4px 0 var(--accent)}.gamecard-top,.gamecard-bottom{font-size:.48rem}.bingo-headings span{font-size:1.8rem}.poster-content{grid-template-columns:1fr}.poster-content h1{font-size:3rem}.poster-content h2{font-size:4rem}.poster-content img{max-width:430px}.bottom-note{gap:15px}.oversize-star{font-size:4.6rem}.ticket-band{margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.poster-body{background:white}.poster{width:100%;max-width:none;box-shadow:none;border:5px solid #000}.poster-bottom button{display:none}@page{size:landscape;margin:10mm}}

/* Optional notifications: deliberately styled as an admission-ticket insert. */
.signal-paper {border-left:7px solid var(--accent,#d85b37);background:repeating-linear-gradient(-14deg,rgba(0,0,0,.012) 0 1px,transparent 1px 11px),var(--paper,#fbf5e8)}
.signal-paper .buttonrow{flex-wrap:wrap;gap:.5rem}
.poster-text-invite{color:inherit;text-transform:uppercase;letter-spacing:.08em;font-weight:900}
@media print {.poster-text-invite{display:none}}
