:root{color:#f2eadb;background:#080705;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#app,.shell{width:100%;min-width:100%;height:100%;min-height:100vh;margin:0}button,input{font:inherit}button{min-height:46px;border:1px solid rgba(220,188,126,.34);border-radius:8px;color:#fff4d8;background:linear-gradient(180deg,#5b211e,#27120f);box-shadow:inset 0 1px #ffffff24,0 12px 30px #00000057;cursor:pointer}button:hover{border-color:#ffd68abf;filter:brightness(1.12)}.landing{min-height:100vh;display:grid;align-content:center;gap:22px;padding:clamp(24px,5vw,72px);background:radial-gradient(circle at 23% 22%,rgba(175,42,35,.22),transparent 30%),radial-gradient(circle at 74% 34%,rgba(221,168,89,.16),transparent 24%),linear-gradient(135deg,#090705,#19110c 48%,#050403)}.landing:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:80px 80px;mask-image:radial-gradient(circle at 50% 50%,black,transparent 74%)}.landing.compact{align-content:center}.brand,.panel-kicker{color:#d9b56f;font-size:.78rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}h1,h2,p{margin:0}h1{max-width:980px;font-family:Georgia,Times New Roman,serif;font-size:clamp(3rem,9vw,7rem);line-height:.92;letter-spacing:0;text-wrap:balance}.landing p{max-width:680px;color:#c9bca8;font-size:1.15rem}.role-grid{display:grid;grid-template-columns:repeat(2,minmax(180px,260px));gap:16px;width:min(100%,540px)}.role-button{min-height:98px;font-size:1.35rem;font-weight:900}.pin-form{display:flex;gap:10px;width:min(100%,460px)}.pin-form input{flex:1;min-width:0;border:1px solid rgba(255,255,255,.18);border-radius:8px;color:#fff;background:#ffffff17;padding:0 14px}.ghost-button{width:140px;background:#ffffff14}.form-error{min-height:24px;color:#ff9f8e!important}.connection,.hud{color:#afbdad;font-size:.9rem}.game-shell{width:100vw;height:100vh;overflow:hidden;background:#050403}.game-shell.master{display:grid;grid-template-columns:1fr 320px}.stage-wrap,.stage{position:relative;width:100%;height:100%;min-height:0}.stage canvas{display:block;width:100%;height:100%}.master-panel{display:grid;align-content:start;gap:18px;padding:22px;border-left:1px solid rgba(226,194,136,.2);background:linear-gradient(180deg,#261811fa,#0c0908fa),#130d0a}.master-panel h2{margin-top:5px;font-family:Georgia,Times New Roman,serif;font-size:2rem}.panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.panel-grid .happy{background:linear-gradient(180deg,#557a35,#1b2f18)}.panel-grid .sad{background:linear-gradient(180deg,#253d63,#111827)}.master-readout{display:grid;gap:8px;color:#c7b9a2;font-size:.92rem}.hud{position:fixed;left:18px;right:18px;bottom:14px;display:flex;justify-content:space-between;gap:12px;pointer-events:none;text-shadow:0 2px 16px #000}.room-overlay,.return-overlay{position:absolute;inset:0;display:grid;place-items:center;padding:24px;pointer-events:none}.room-overlay{background:radial-gradient(circle,transparent 0%,rgba(0,0,0,.38) 45%,rgba(0,0,0,.72) 100%)}.overlay-card,.return-card{width:min(640px,100%);border:1px solid rgba(229,187,107,.42);border-radius:8px;padding:28px;background:#0e0907db;box-shadow:0 26px 90px #0000009e;text-align:center}.overlay-card span,.return-card span{display:block;margin-bottom:8px;color:#d7b16a;font-size:.78rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.overlay-card h2{margin-bottom:12px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,6vw,4rem)}.overlay-card p,.return-card p{color:#e9dcc7;font-size:1.18rem;line-height:1.5}.return-overlay.happy{background:radial-gradient(circle,#eecc703d,#182c12b8)}.return-overlay.sad{background:radial-gradient(circle,#667faa2e,#050912d6)}.hidden{display:none}@media(max-width:880px){.role-grid,.pin-form{grid-template-columns:1fr;flex-direction:column}.game-shell.master{grid-template-columns:1fr;grid-template-rows:1fr auto}.master-panel{max-height:42vh;overflow:auto;border-left:0;border-top:1px solid rgba(226,194,136,.2)}}
