@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,700;1,500&family=Source+Sans+3:wght@400;600&display=swap";.room-status,.section-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.room-status{margin:1rem 0;font-size:.9rem}.section-title h2{margin:0}.notice,.invitation,.secret-result{background:#221a12;border:1px solid #66513a;border-radius:1rem;padding:1rem}.seat-list{margin:0;padding:0;list-style:none}.seat-list li{border-bottom:1px solid #493526;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;padding:.9rem 0;display:flex}.seat-list li>div:first-child{gap:.25rem;display:grid}.invitation input{width:100%;min-width:0;font-size:.8rem}.private-panel .reveal-stage{min-height:auto;padding:.5rem 0}.private-panel .flip-scene{width:min(100%,14rem);height:19rem}.private-panel .reveal-name{font-size:1.5rem}.panel{margin-bottom:1rem}button,select{min-height:44px}.row{flex-wrap:wrap}summary{cursor:pointer;padding:.5rem 0}@media (width<=480px){.hero-top{flex-wrap:wrap}.page{padding:1.25rem 1rem 3rem}.seat-list .row{width:100%}}:root{--bg-deep:#120e0b;--bg-mid:#1f1812;--panel:#00000052;--ink:#f0e4d4;--muted:#a89478;--accent:#c45c26;--ok:#7dba6a;--err:#e07070;--font-display:"Cormorant Garamond", "Palatino Linotype", Georgia, serif;--font-body:"Source Sans 3", "Segoe UI", sans-serif}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{font-family:var(--font-body);color:var(--ink);background:radial-gradient(ellipse 70% 45% at 50% -8%, #3a2416 0%, transparent 55%), radial-gradient(ellipse 50% 40% at 80% 100%, #1a1218 0%, transparent 50%), linear-gradient(165deg, var(--bg-deep) 0%, var(--bg-mid) 100%);background-attachment:fixed}.page{max-width:40rem;margin:0 auto;padding:2rem 1.25rem 4rem;position:relative}.page-reveal{flex-direction:column;justify-content:center;max-width:none;min-height:100dvh;padding:1.5rem 1rem 3rem;display:flex}.page-ingame .hero-compact .brand{margin-bottom:.15rem;font-size:clamp(1.35rem,4vw,1.75rem)}.hero{margin-bottom:1.5rem}.hero-compact{margin-bottom:.75rem}.hero-top{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.hero-actions{flex-shrink:0;gap:.5rem;display:flex}.brand{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 .5rem;font-size:clamp(2.4rem,8vw,3.4rem);font-weight:700;line-height:1.02}.hero h1{font-family:var(--font-display);color:var(--muted);margin:0 0 .5rem;font-size:clamp(1.2rem,3.5vw,1.45rem);font-style:italic;font-weight:500}.lede{color:var(--muted);margin:0;line-height:1.5}.health{color:var(--accent);margin:.75rem 0 0;font-size:.9rem}.health.compact{opacity:.85;margin:.25rem 0 0;font-size:.8rem}.focus-panel{background:var(--panel);border-radius:.65rem;margin-top:.75rem;padding:1.15rem 1.1rem}.focus-panel.mdj{margin-top:.5rem}.focus-meta{margin-bottom:.85rem}.focus-meta .phase{color:var(--accent);text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:.8rem;font-weight:600}.tiny{margin:.2rem 0 0;font-size:.8rem}.panel{background:var(--panel);border-radius:.75rem;margin-top:1.25rem;padding:1.25rem 1.15rem}.panel h2,.panel h3,.focus-panel h3{font-family:var(--font-display);margin:0 0 .65rem;font-size:1.2rem;font-weight:600}.muted{color:var(--muted);line-height:1.45}.stack{flex-direction:column;gap:.75rem;display:flex}.row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.field{flex-direction:column;gap:.35rem;display:flex}.field span{color:var(--muted);font-size:.85rem}textarea,select,input[type=text]{width:100%;color:var(--ink);font:inherit;background:#00000059;border:1px solid #f3e8d82e;border-radius:.45rem;padding:.65rem .75rem}textarea{resize:vertical;min-height:8rem}.btn{appearance:none;color:var(--ink);font:inherit;cursor:pointer;background:#f3e8d814;border:1px solid #f3e8d838;border-radius:.45rem;padding:.55rem .9rem}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);color:#1a1510;border-color:#0000;font-weight:600}.btn.ghost{background:0 0}.check{align-items:center;gap:.4rem;font-size:.95rem;display:inline-flex}.ok{color:var(--ok)}.err{color:var(--err);margin:.35rem 0}.end-title{font-family:var(--font-display);margin:0;font-size:1.6rem}.mdj-header{flex-wrap:wrap;justify-content:space-between;gap:.75rem;margin-bottom:.75rem;display:flex}.mdj-header h2{font-family:var(--font-display);margin:0;font-size:1.25rem}.narration{white-space:pre-wrap;font-size:1.05rem;line-height:1.6;font-family:var(--font-display);margin:0;font-style:italic}.secondary-bar{margin:.65rem 0 0}.roster{grid-template-columns:1fr 1fr;gap:.35rem 1rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.roster.compact{border-top:1px solid #f3e8d814;border-bottom:1px solid #f3e8d814;margin-bottom:.85rem;padding:.5rem 0}.roster li{border-bottom:1px solid #f3e8d814;justify-content:space-between;gap:.5rem;padding:.25rem 0;display:flex}.roster li.dead{opacity:.45;text-decoration:line-through}.reveal-flow{text-align:center;width:min(26rem,100%);margin:0 auto}.reveal-stage{perspective:1200px}.reveal-name{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 .35rem;font-size:clamp(2.5rem,10vw,3.75rem);font-weight:700;line-height:1}.reveal-hint{color:var(--muted);margin:0 0 1.5rem;font-size:.95rem}.flip-scene{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:pan-y;outline:none;width:min(16rem,78vw);height:min(22rem,58vh);margin:0 auto}.flip-scene:focus-visible{box-shadow:0 0 0 2px var(--accent);border-radius:1rem}.flip-scene.is-dragging{cursor:grabbing}.peek-done{color:var(--ok);margin-top:.85rem}.flip-card{width:100%;height:100%;transform-style:preserve-3d;position:relative}.flip-face{backface-visibility:hidden;border-radius:1rem;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:1.25rem;display:flex;position:absolute;inset:0;box-shadow:0 18px 40px #00000073}.flip-front{background:linear-gradient(160deg,#2c2016 0%,#1a120e 100%);border:1px solid #c45c2659}.flip-back{background:linear-gradient(160deg,#241810 0%,#140f0c 100%);border:1px solid #f3e8d82e;transform:rotateY(180deg)}.flip-seal{font-family:var(--font-display);color:var(--accent);opacity:.85;font-size:4.5rem;line-height:1}.flip-front-label{letter-spacing:.28em;text-transform:uppercase;color:var(--muted);font-size:.75rem}.flip-role-label{font-family:var(--font-display);margin:0;font-size:1.75rem;font-weight:700}.role-art{width:9.5rem;height:9.5rem}.reveal-actions{flex-direction:column;align-items:center;gap:.65rem;margin-top:1.5rem;display:flex}.reveal-escape{z-index:5;opacity:.7;position:fixed;top:.75rem;right:.75rem}.rules-backdrop{z-index:40;background:#0000008c;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.rules-panel{background:#241c14;border-radius:.75rem;width:min(32rem,100%);max-height:85vh;padding:1.25rem;overflow:auto}.rules-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.rules-header h2{font-family:var(--font-display);margin:0;font-size:1.35rem}.rules-body p,.rules-body li{color:var(--muted);line-height:1.5}.rules-body ul{padding-left:1.1rem}@media (width<=520px){.roster{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.flip-card{transition:none!important}}
