/* Shared reading and navigation styles. Content gets the emphasis, not panels. */
:root{--bg:#f6f4ed;--surface:#fffefa;--surface-raised:#eeede5;--text:#272820;--ink:#20231e;--muted:#616356;--green:#355947;--accent:#355947;--soft:#e7ece3;--line:#d7dbd0;--warm:#85632e;--gold:#85632e;--radius:8px;--shadow:none}
html.dark{--bg:#151816;--surface:#1c201d;--surface-raised:#242a25;--text:#e9e9df;--ink:#f1f0e7;--muted:#b2b8ad;--green:#b6cca9;--accent:#b6cca9;--soft:#29352b;--line:#394139;--warm:#d0b47a;--gold:#d0b47a;--shadow:none}
body.public-site{background:var(--bg)!important;font-size:16px;line-height:1.65}
.public-site .topbar{background:var(--bg);backdrop-filter:none;box-shadow:none}
.public-site .topbar-inner{max-width:1280px}
.public-site .main{max-width:1280px;margin-inline:auto}
.public-site .brand{color:var(--text)}
.public-site .public-nav a{font-size:14px;color:var(--muted);padding-block:9px}
.public-site .public-nav a:hover,.public-site .public-nav a.active{color:var(--text);text-decoration:underline;text-underline-offset:7px}
.public-site .button{border-radius:5px;box-shadow:none;min-height:46px;font-size:14px}
.public-site .button:hover{transform:none;box-shadow:none}
.public-site .eyebrow{letter-spacing:.08em;font-size:11px}
.public-site .page-heading{margin-bottom:32px}
.public-site .page-heading>.button{flex-shrink:0}
.public-site .page-heading h1{font-size:clamp(30px,3.5vw,46px)}
.public-site .panel,.public-site .empty{border-radius:8px;box-shadow:none}
.public-site .story-card{border:0;border-radius:0;background:none;box-shadow:none}
.public-site .story-card:hover{transform:none;box-shadow:none}
.public-site .story-card>a>img{border-radius:5px}
.public-site .story-card>div{padding:20px 0}
.public-site .story-card h2{font-size:25px;line-height:1.35}
.public-site .story-byline{border:0}
.public-site .master-card{border:0;border-top:1px solid var(--line);border-radius:0;background:none;padding:25px 0;box-shadow:none}
.public-site .master-card:hover{transform:none}
.public-site .footer{margin-top:64px;padding-top:32px;border-top:1px solid var(--line)}
.public-site .footer nav{gap:12px 22px}
.public-site .footer nav a{font-size:13px}
.public-site .catalog-layout{grid-template-columns:260px minmax(0,1fr);gap:36px;align-items:start}
.public-site .filters{position:static;max-height:none;overflow:visible;background:none;box-shadow:none;border:0;border-right:1px solid var(--line);border-radius:0;padding:0 24px 0 0}
.public-site .filters>summary{font-size:18px;font-weight:600;margin-bottom:20px}
.public-site .filters form>label{font-size:13px;margin-bottom:16px}
.public-site .filters input,.public-site .filters select{background:var(--surface);border-radius:5px;font-size:14px;min-height:42px}
.public-site .filters .filter-actions{position:static;padding-top:20px;background:none;box-shadow:none;margin-top:20px}
.public-site .catalog-grid{grid-template-columns:minmax(0,1fr);gap:0}
.public-site .catalog-grid .game-card{display:grid;grid-template-columns:minmax(180px,.75fr) minmax(0,1.25fr);gap:24px;background:none;border:0;border-top:1px solid var(--line);border-radius:0;padding:26px 0;box-shadow:none;overflow:visible}
.public-site .catalog-grid .game-card:first-child{border-top:0;padding-top:0}
.public-site .catalog-grid .game-card:hover{transform:none;box-shadow:none}
.public-site .catalog-grid .game-cover{height:auto;min-height:240px;aspect-ratio:auto;border-radius:5px;overflow:hidden}
.public-site .catalog-grid .game-cover img{height:100%;width:100%;object-fit:cover;transform:none}
.public-site .catalog-grid .game-cover>span{font-size:11px;border-radius:3px;left:12px;bottom:12px;max-width:calc(100% - 24px)}
.public-site .catalog-grid .game-card-body{padding:0;min-width:0}
.public-site .catalog-grid .game-card h3{font-family:Literata,Georgia,serif;font-size:26px;font-weight:500;line-height:1.3;margin:12px 0}
.public-site .catalog-grid .card-meta{font-size:12px;margin-bottom:12px}
.public-site .catalog-grid .date{font-size:13px;margin:0 0 12px}
.public-site .catalog-grid .clamp{font-size:14px;line-height:1.65;-webkit-line-clamp:2}
.public-site .catalog-grid .game-card-details{gap:8px;margin:15px 0}
.public-site .catalog-grid .game-card-details p{font-size:12px}
.public-site .catalog-grid .card-bottom{font-size:13px;padding-top:14px;margin-top:16px}
.public-site .catalog-grid .card-action{padding:13px 0 0;font-size:13px}
.public-site .game-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;min-height:0;padding:0 0 36px;margin:0 0 36px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;box-shadow:none;overflow:visible}
.public-site .game-hero-art{position:static;inset:auto;min-width:0;width:auto;height:auto;opacity:1;align-self:stretch}
.public-site .game-hero-art:after,.public-site .game-hero-art .scene-mist{display:none}
.public-site .game-hero-art>img{width:100%;height:100%;min-height:300px;max-height:440px;aspect-ratio:4/3;object-fit:cover;object-position:50% 50%;opacity:1;border-radius:5px;filter:none}
.public-site .game-hero-copy{position:static;max-width:none;width:auto;padding:18px 0;align-self:center;text-shadow:none}
.public-site .game-hero h1{font-size:clamp(30px,3.2vw,45px);line-height:1.15;color:var(--ink);max-width:none;letter-spacing:-.04em}
.public-site .game-hero .hero-badges{margin-bottom:16px;gap:10px}
.public-site .game-hero .badge{background:none;border:0;padding:0;color:var(--muted);font-size:12px;border-radius:0}
.public-site .game-hero .hero-badges .badge+.badge{border-left:1px solid var(--line);padding-left:10px}
.public-site .game-hero .eyebrow{color:var(--muted);margin-bottom:12px}
.public-site .game-subtitle{color:var(--muted);font-size:17px;line-height:1.6;margin:20px 0}
.public-site .game-hero-facts{color:var(--text);font-size:13px;gap:12px}
.public-site .game-hero .hero-actions{margin-top:26px;gap:16px}
.public-site .hero-seats{color:var(--muted);font-size:12px}
.public-site .game-story{font-size:16px}
.public-site .game-story h2{font-size:29px}
.public-site .game-description p:last-child{font-size:inherit}
.public-site .campaign-chapter{background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:0 0 30px}
.public-site .character-portrait{display:none}
.public-site .character-grid{gap:20px;grid-template-columns:repeat(2,minmax(0,1fr))}
.public-site .character{text-align:left;border-left:2px solid var(--line);padding-left:16px}
.public-site .character h3{font-size:18px}
.public-site .booking{position:static;max-height:none;overflow:visible;border-radius:8px;box-shadow:none}
.public-site .booking-facts{font-size:14px}
.public-site .booking .button{font-size:15px}
.public-site .booking .eyebrow{color:var(--muted)}
.public-site .status-light{animation:none;box-shadow:none}
@media(max-width:1000px){.public-site .catalog-layout{grid-template-columns:230px minmax(0,1fr);gap:24px}.public-site .catalog-grid .game-card{grid-template-columns:minmax(0,1fr)}.public-site .catalog-grid .game-cover{aspect-ratio:16/9;min-height:0}.public-site .game-hero{gap:26px}.public-site .game-hero-art>img{min-height:260px}}
@media(max-width:760px){.public-site .main{padding-top:24px}.public-site .catalog-layout{display:block}.public-site .catalog-layout>.filters{display:block;border:0;padding:0;margin-bottom:24px}.public-site .catalog-grid .game-card{padding:24px 0;gap:18px}.public-site .catalog-grid .game-card h3{font-size:25px}.public-site .catalog-grid .game-cover{aspect-ratio:16/10}.public-site .catalog-grid .game-card-details{display:grid}.public-site .filter-drawer .filters{display:block;border:0;padding:0}.public-site .filter-drawer .filters input,.public-site .filter-drawer .filters select{font-size:16px}.public-site .game-hero{grid-template-columns:minmax(0,1fr);gap:22px;padding-bottom:28px;margin-bottom:28px}.public-site .game-hero-art>img{aspect-ratio:16/9;min-height:0;max-height:330px;height:auto;display:block}.public-site .game-hero-copy{padding:0}.public-site .game-hero h1{font-size:33px}.public-site .game-subtitle{font-size:16px;margin:14px 0}.public-site .game-hero .hero-actions{margin-top:20px}.public-site .game-hero-facts{font-size:12px}.public-site .hero-seats{font-size:12px}.public-site .booking-facts{font-size:13px}.public-site .footer{margin-top:42px}.public-site .story-card h2{font-size:23px}}

@media(min-width:761px) and (max-width:859px){.public-site .catalog-layout{display:block}}

.public-site .game-hero .button{background:var(--green);color:var(--bg);border-color:var(--green)}
.public-site .date-dot{color:var(--muted)}
.public-site .game-hero-art{align-self:start}.public-site .game-hero-art>img{height:auto;min-height:0;max-height:none;aspect-ratio:auto;object-fit:contain}
