:root{--paper:#F9F6EE;--card:#FFFFFF;--green:#4F5940;--gold:#B08D4F;--ink:#5C5747;--line:#E1D8BE;--muted:#89816F;--background:#EFE6D6;--done:#7C8A6C}
*{box-sizing:border-box}html{min-height:100%;background:var(--paper);scroll-behavior:smooth}body{position:relative;min-height:100vh;margin:0;overflow-x:hidden;background:transparent;color:var(--ink);font:300 14px/1.55 Jost,'Avenir Next',Arial,sans-serif}
.paper-fixed{position:fixed;inset:0;z-index:-2;pointer-events:none;background-color:var(--background);background-image:repeating-linear-gradient(45deg,rgba(139,111,67,.035) 0,rgba(139,111,67,.035) 1px,transparent 1px,transparent 3px),radial-gradient(ellipse at 50% 0%,rgba(255,253,247,.7),transparent 55%),radial-gradient(circle at 30% 15%,rgba(176,141,79,.08),transparent 45%),radial-gradient(circle at 75% 85%,rgba(112,123,92,.06),transparent 50%)}
.corner-flower{position:fixed;z-index:-1;width:min(42vw,320px);height:min(42vw,320px);background-repeat:no-repeat;background-size:contain;pointer-events:none}.corner-flower.tl{top:0;left:0;background-image:url('flower-top.png');background-position:top left}.corner-flower.br{right:0;bottom:0;background-image:url('flower-bottom.png');background-position:bottom right}
.grain{position:fixed;inset:0;z-index:5;pointer-events:none;opacity:.045;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.wrap{width:min(100%,900px);margin:0 auto;padding:34px 20px max(55px,env(safe-area-inset-bottom))}.site-header{max-width:650px;margin:0 auto 28px;text-align:center}.logo{display:block;width:54px;height:54px;margin:0 auto 7px;object-fit:contain}.eyebrow{margin:0;color:var(--green);font:normal 19px 'Beau Rivage',cursive}.welcome-script{margin:2px 0 4px;color:var(--gold);font:normal 21px 'Beau Rivage',cursive}.site-header h1{margin:2px 0 8px;color:var(--green);font:500 clamp(35px,8vw,51px)/1.05 'Cormorant Garamond',Georgia,serif}.intro{max-width:590px;margin:0 auto;color:var(--ink);font-size:14px;line-height:1.75}.welcome-note{margin:13px auto 0;color:var(--muted);font-size:12px}.divider{width:70px;height:1px;margin:22px auto;background:var(--gold);opacity:.65}
main{display:grid;gap:17px}.panel,.space-card,.practical-panel{border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 5px 18px rgba(78,62,37,.035)}.panel{padding:19px 20px}.section-kicker{margin:0 0 3px;color:var(--gold);font-size:10px;font-weight:500;letter-spacing:.15em;text-align:center;text-transform:uppercase}.panel h2,.spaces-intro h2{margin:0 0 14px;color:var(--green);font:500 27px/1.1 'Cormorant Garamond',Georgia,serif;text-align:center}.schedule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.schedule-item{display:grid;grid-template-columns:minmax(85px,.42fr) 1fr;gap:11px;align-items:center;padding:12px 14px;border:1px solid rgba(225,216,190,.8);border-radius:10px;background:#fffdf8}.schedule-time{color:var(--gold);font:500 18px 'Cormorant Garamond',serif}.schedule-item h3{margin:0 0 2px;color:var(--green);font:500 19px 'Cormorant Garamond',serif}.schedule-item p{margin:0;color:var(--muted);font-size:11px}
.venue-panel{display:flex;align-items:center;justify-content:space-between;gap:16px}.venue-copy{flex:1}.venue-panel .section-kicker,.venue-panel h2{text-align:left}.venue-panel h2{margin:0 0 3px}.venue-panel p{margin:0 0 3px;font-size:13px}.venue-panel .muted{color:var(--muted);font-size:11px}.small-link{display:inline-flex;align-items:center;justify-content:center;padding:9px 14px;border:1px solid var(--line);border-radius:999px;color:var(--green);font-size:11px;text-decoration:none;white-space:nowrap}.small-link:hover{background:#f7f2e8}
.spaces-intro{padding:9px 10px 0;text-align:center}.spaces-intro h2{margin-bottom:5px}.spaces-intro>p:last-child{max-width:600px;margin:0 auto;color:var(--muted);font-size:12px}.spaces-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.space-card{overflow:hidden}.space-head{padding:18px 18px 13px;border-bottom:1px solid rgba(225,216,190,.65);text-align:center}.space-head h3{margin:0;color:var(--green);font:500 25px 'Cormorant Garamond',serif}.space-head p{margin:3px 0 0;color:var(--muted);font-size:11px}.space-status{display:inline-flex;align-items:center;gap:6px;margin-top:9px;padding:5px 10px;border-radius:999px;background:#f4efe3;color:#837452;font-size:10px}.space-status::before{width:6px;height:6px;border-radius:50%;background:var(--gold);content:''}.space-card.is-open .space-status{background:#edf2e9;color:var(--green)}.space-card.is-open .space-status::before{background:var(--done)}.game-list{display:grid;gap:8px;padding:11px}.game-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;padding:12px;border:1px solid rgba(225,216,190,.8);border-radius:10px;background:#fff}.game-title{margin:0 0 2px;color:var(--green);font:500 19px 'Cormorant Garamond',serif}.game-description{margin:0;color:var(--muted);font-size:10px;line-height:1.5}.game-status{display:block;margin-top:6px;color:#9b8358;font-size:9px;font-weight:500;letter-spacing:.04em;text-transform:uppercase}.game-card.is-open .game-status{color:var(--green)}.game-link{display:inline-flex;min-height:39px;align-items:center;justify-content:center;padding:8px 13px;border:0;border-radius:999px;background:var(--green);color:white;font:500 11px Jost,sans-serif;text-decoration:none;white-space:nowrap}.game-link:hover{background:#414a35}.game-card.is-locked{background:#fbfaf7}.game-card.is-locked .game-title{color:#817b6e}.game-lock{display:grid;width:32px;height:32px;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--gold);font-size:14px}.empty-games{margin:0;padding:10px;color:var(--muted);font-size:11px;text-align:center}.connection-status{min-height:14px;margin:-7px 0 0;color:#987754;font-size:10px;text-align:center}
.practical-panel{overflow:hidden}.practical-panel summary{padding:14px 17px;color:var(--green);cursor:pointer;font-weight:500;letter-spacing:.03em}.practical-panel summary::marker{color:var(--gold)}.practical-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:0 17px 16px}.practical-item{padding:9px 11px;border-radius:8px;background:#fbf8f1}.practical-item strong{display:block;margin-bottom:2px;color:var(--green);font-size:11px}.practical-item span{color:var(--muted);font-size:11px}.site-footer{margin-top:27px;text-align:center}.logo-footer{display:block;width:36px;height:36px;margin:0 auto 5px;object-fit:contain}.site-footer p{margin:0;color:var(--ink);font-size:11px}.admin-link{display:inline-block;margin-top:10px;color:#8c826d;font-size:9px;text-decoration:none}.admin-link:hover{text-decoration:underline}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid rgba(176,141,79,.55);outline-offset:3px}
@media(max-width:680px){.wrap{padding:25px 15px 45px}.spaces-grid{grid-template-columns:1fr}.panel{padding:16px}.schedule-grid{grid-template-columns:1fr}.schedule-item{grid-template-columns:95px 1fr}.venue-panel{align-items:flex-start}.practical-grid{grid-template-columns:1fr 1fr}}
@media(max-width:390px){.wrap{padding-inline:12px}.game-card{grid-template-columns:minmax(0,1fr) auto;padding:10px}.game-link{padding:8px 10px}.schedule-item{grid-template-columns:82px 1fr}.schedule-time{font-size:16px}.venue-panel{display:block}.small-link{margin-top:10px}.practical-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
