:root[data-theme=noir]{--mg-bg: #14171d;--mg-surface: #1e222b;--mg-fg: #e9e5da;--mg-muted: #948f82;--mg-accent: #b3413e;--mg-accent-fg: #fdf5f0;--mg-border: #343a47;--mg-visible-bg: #1c2f22;--mg-visible-border: #4c9a5f;--mg-font: Georgia, "Times New Roman", serif;--mg-heading-font: Georgia, "Times New Roman", serif;--mg-radius: 3px}:root[data-theme=parchment]{--mg-bg: #f1e7cd;--mg-surface: #fbf4e3;--mg-fg: #3c2f22;--mg-muted: #7a6a53;--mg-accent: #6b4226;--mg-accent-fg: #fdf6ea;--mg-border: #d8c6a0;--mg-visible-bg: #e6edd8;--mg-visible-border: #7ea058;--mg-font: "Iowan Old Style", Palatino, Georgia, serif;--mg-heading-font: "Iowan Old Style", Palatino, Georgia, serif;--mg-radius: 2px}:root[data-theme=modern]{--mg-bg: #f6f7f9;--mg-surface: #ffffff;--mg-fg: #1a1d23;--mg-muted: #676c76;--mg-accent: #2563eb;--mg-accent-fg: #ffffff;--mg-border: #e2e5ea;--mg-visible-bg: #e7f7ec;--mg-visible-border: #34a853;--mg-font: Inter, system-ui, sans-serif;--mg-heading-font: Inter, system-ui, sans-serif;--mg-radius: 10px}:root[data-theme=tropical-noir]{--mg-bg: #0d2b2e;--mg-surface: #123a3d;--mg-fg: #e8f3ee;--mg-muted: #8fb3ab;--mg-accent: #e08e45;--mg-accent-fg: #1a1005;--mg-border: #1f4d4f;--mg-visible-bg: #1f4d33;--mg-visible-border: #5fae6f;--mg-font: Georgia, "Times New Roman", serif;--mg-heading-font: Georgia, "Times New Roman", serif;--mg-radius: 6px}.mystery-root{background:var(--mg-bg);color:var(--mg-fg);font-family:var(--mg-font);padding:1.5rem;border-radius:var(--mg-radius)}.mystery-root h2,.mystery-root h3,.mystery-root h4{font-family:var(--mg-heading-font)}.mystery-section{margin:1.75rem 0}.mystery-players{display:flex;flex-wrap:wrap;gap:.5rem}.player-chip{background:var(--mg-surface);border:1px solid var(--mg-border);border-radius:calc(var(--mg-radius) + 6px);padding:.45rem .8rem;font-size:.9rem}.player-chip--turn{border:2px solid var(--mg-accent)}.card-list{display:flex;flex-direction:column;gap:.5rem}.card-row{border:1px solid var(--mg-border);background:var(--mg-surface);border-radius:var(--mg-radius);padding:.65rem .9rem}.card-row--visible{background:var(--mg-visible-bg);border-color:var(--mg-visible-border);cursor:pointer}.card-row--visible:hover{filter:brightness(1.06)}.card-row-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.card-label{font-weight:600}.card-meta{font-size:.78rem;color:var(--mg-muted);white-space:nowrap}.card-content{margin-top:.6rem;white-space:pre-wrap;font-size:.92rem;line-height:1.5}.btn-action{background:var(--mg-accent);color:var(--mg-accent-fg);border:none;border-radius:var(--mg-radius);padding:.4rem .85rem;font-size:.82rem;cursor:pointer;white-space:nowrap}.btn-action:disabled{opacity:.4;cursor:not-allowed}.public-card{border-left:4px solid var(--mg-accent);background:var(--mg-surface);padding:.75rem 1rem;border-radius:var(--mg-radius);margin-bottom:.75rem;white-space:pre-wrap;line-height:1.5}.mystery-banner{border-radius:var(--mg-radius);padding:.7rem .9rem;margin:.75rem 0;border:1px solid var(--mg-visible-border);background:var(--mg-visible-bg)}.declare-panel{border:1px solid var(--mg-border);background:var(--mg-surface);border-radius:var(--mg-radius);padding:1rem}.declare-question{margin-bottom:1rem}.declare-question label{display:block;padding:.15rem 0}.results-solution{background:var(--mg-surface);border:1px solid var(--mg-border);border-radius:var(--mg-radius);padding:1rem;white-space:pre-wrap;line-height:1.6}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}*{box-sizing:border-box}body{margin:0;min-height:100vh;display:flex;justify-content:center;align-items:center}#root{width:100%;max-width:480px;padding:2rem 1.25rem}#root:has(.mystery-root){max-width:720px}h1{font-size:2.25rem;line-height:1.1;margin:0 0 1.5rem}.field{display:flex;gap:.5rem;margin-bottom:1rem}.field input{flex:1;min-width:0}input{font-size:1rem;padding:.7em .8em;border-radius:8px;border:1px solid #ccc;font-family:inherit;width:100%}button{border-radius:8px;border:1px solid transparent;padding:.7em 1.2em;font-size:1rem;font-weight:500;font-family:inherit;background-color:#1a1a1a;color:#fff;cursor:pointer;transition:border-color .25s}button:hover:not(:disabled){border-color:#646cff}button:disabled{opacity:.5;cursor:not-allowed}button:focus,button:focus-visible{outline:3px auto #646cff}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}ul{list-style:none;padding:0;margin:0 0 1.5rem}li{padding:.5rem 0;border-bottom:1px solid #eee}.case-picker{display:flex;gap:1rem;overflow-x:auto;padding:.5rem .25rem 1rem;margin:0 -.25rem 1rem;scroll-snap-type:x proximity}.case-card{flex:0 0 220px;scroll-snap-align:start;border:2px solid #e5e5e5;border-radius:12px;overflow:hidden;background:#fff;text-align:left;cursor:pointer;padding:0;color:inherit}.case-card:hover:not(:disabled){border-color:#b8bcff}.case-card--selected{border-color:#646cff;box-shadow:0 0 0 2px #646cff33}.case-card:disabled{cursor:default;opacity:.9}.case-card-image-wrap{position:relative}.case-card-image{width:100%;height:120px;object-fit:cover;display:block;background:#1a1a1a}.case-card-badge{position:absolute;top:.5rem;right:.5rem;font-size:.72rem;font-weight:700;padding:.25rem .55rem;border-radius:999px;color:#fff}.badge--locked{background:#b3413e}.badge--unlocked{background:#2e7d32}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:50;padding:1rem}.modal-card{background:#fff;border-radius:12px;padding:1.5rem;max-width:320px;width:100%;text-align:center}.btn-pay-link{display:inline-block;margin:1rem auto;padding:.7em 1.4em;border-radius:8px;background:#2e7d32;color:#fff;font-weight:600;text-decoration:none}.btn-pay-link:hover{background:#276a2b}.case-card-body{padding:.7rem .85rem .9rem}.case-card-title{font-weight:700;font-size:.95rem;margin:0 0 .35rem}.case-card-desc{font-size:.8rem;color:#666;line-height:1.35;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}@media (max-width: 480px){h1{font-size:1.75rem}#root{padding:1.5rem 1rem}}
