:root{--gp-primary: #E8A888;--gp-primary-strong: #D47A50;--gp-primary-dark: #C06A40;--gp-primary-soft: #F0B898;--gp-brown-900: #342421;--gp-brown-600: #6F5651;--gp-brown-400: #9B726C;--gp-stone: #9E9590;--gp-cream: #FFF8F0;--gp-cream-warm: #FFF4F0;--gp-sand: #F8F6EF;--gp-blush: #F4DFDC;--gp-linen: #E7DACF;--gp-parchment: #E8DDD0;--gp-white: #FFFFFF;--gp-error: #E74C3C;--gp-success: #559C68;--gp-info: #5C6BC0;--gp-mint: #88C8A8;--gp-lilac-soft: #E8E0EB;--gp-lilac-bright: #CFC2E8;--gp-badge-easy-bg: #B8E8C0;--gp-badge-easy-text: #2D6A3F;--gp-badge-med-bg: #FDD09F;--gp-badge-med-text: #8B6914;--gp-badge-hard-bg: #FFB3C6;--gp-badge-hard-text: #8B2252}:root{--bg: var(--gp-sand);--card: #ffffff;--ink: var(--gp-brown-900);--text: var(--gp-brown-600);--text-muted: var(--gp-brown-400);--border: var(--gp-linen);--border-soft: var(--gp-blush);--hover-bg: var(--gp-cream-warm);--btn-dark: var(--gp-brown-900);--green: var(--gp-success);--focus: var(--gp-mint);--accent: #D97706;--accent-deep: #B45309;--shadow: 0 12px 28px rgba(78,64,55,.1);--shadow-sm: 0 4px 10px rgba(78,64,55,.12);--radius-lg: 1.7rem;--radius-md: 1.15rem}.shell{max-width:1500px;margin:0 auto;flex:1;display:grid;grid-template-columns:1fr;padding:1.5rem 1rem 3rem}.main{max-width:72rem;width:100%;margin:0 auto}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:Nunito,SF Pro Rounded,ui-sans-serif,system-ui,-apple-system,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}.site-header{position:sticky;top:0;z-index:30;border-bottom:1px solid var(--border-soft);background:#ffffffeb;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.header-inner{max-width:80rem;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:4rem;padding:0 1rem}.brand{display:flex;align-items:center;gap:.75rem}.brand-logo{width:2.25rem;height:2.25rem;border-radius:.5rem;box-shadow:var(--shadow-sm);overflow:hidden}.brand-logo img{width:100%;height:100%;object-fit:cover}.brand-name .big{font-weight:900;color:var(--ink);font-size:1.05rem;display:block;line-height:1.1}.brand-name .small{font-weight:600;color:var(--text-muted);font-size:.75rem}.nav{display:flex;align-items:center;gap:.25rem}.nav a{border-radius:.375rem;padding:.5rem .75rem;font-size:.875rem;font-weight:700;color:var(--text)}.nav a:hover{background:var(--hover-bg);color:var(--ink)}.nav .hamburger{display:none;font-size:1.4rem;padding:.5rem;cursor:pointer;background:none;border:none;color:var(--text)}@media(max-width:768px){.nav a:not(.hamburger){display:none}.nav .hamburger{display:block}}.card{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow),inset 0 0 0 1px var(--border);padding:1.5rem}.section{margin-top:2.5rem}.section-title{font-size:1.5rem;font-weight:800;color:var(--ink);margin-bottom:1rem}.section-title .accent{color:var(--accent)}.prose h2{font-size:1.35rem;font-weight:800;color:var(--ink);margin:2rem 0 1rem;padding-bottom:.5rem;border-bottom:2px solid var(--border-soft)}.prose h3{font-size:1.15rem;font-weight:700;color:var(--ink);margin:1.5rem 0 .75rem}.prose p{margin-bottom:1rem;font-size:1rem}.prose ul,.prose ol{margin:0 0 1rem 1.5rem}.prose li{margin-bottom:.5rem}.prose strong{color:var(--ink)}.prose a{color:var(--accent);text-decoration:underline;font-weight:600}.prose a:hover{color:var(--accent-deep)}details.faq-item{border:1px solid var(--border);border-radius:1rem;margin-bottom:.75rem;background:var(--card);overflow:hidden}details.faq-item summary{cursor:pointer;padding:1rem 1.25rem;font-weight:700;color:var(--ink);list-style:none;display:flex;justify-content:space-between;align-items:center}details.faq-item summary:after{content:"+";font-size:1.4rem;color:var(--text-muted);transition:transform .2s ease}details.faq-item[open] summary:after{transform:rotate(45deg)}details.faq-item .faq-answer{padding:0 1.25rem 1.25rem;color:var(--text);line-height:1.75}.site-footer{margin-top:3rem;padding:2rem 1rem;text-align:center;border-top:1px solid var(--border-soft);color:var(--text-muted);font-size:.875rem}.site-footer a{color:var(--ink);font-weight:600}.site-footer a:hover{color:var(--green)}.legal-note{max-width:640px;margin:1rem auto 0;font-size:.78rem;color:var(--text-muted);line-height:1.6}.embed-mode .site-header,.embed-mode .site-footer,.embed-mode .seo-section,.embed-mode .gp-hub{display:none!important}.embed-mode main{padding-top:0!important}.game-card{padding:0;overflow:hidden;max-width:52.5rem;margin-left:auto;margin-right:auto}.game-topbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border-soft);flex-wrap:wrap}.case-chip{font-size:12px;font-weight:800;background:var(--accent);color:#fff;border-radius:999px;padding:3px 12px;letter-spacing:.04em}.game-actions{display:flex;gap:.5rem;flex-wrap:wrap}.hint-btn{display:inline-flex;align-items:center;gap:5px;height:34px;padding:0 12px;border-radius:999px;background:#fff;border:1.5px solid var(--gp-primary-strong);font-size:13px;font-weight:800;color:var(--ink);cursor:pointer;transition:all .15s;font-family:inherit}.hint-btn:hover{background:var(--gp-primary-strong);color:#fff}.hint-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.hint-btn.primary:hover{background:var(--accent-deep)}.diff-row{display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap;padding:.8rem 1.25rem .4rem}.diff{display:flex;background:var(--card);border:1.5px solid var(--border);border-radius:999px;overflow:hidden}.diff button{border:0;background:transparent;font:inherit;font-weight:800;font-size:12.5px;padding:6px 14px;color:var(--text-muted);cursor:pointer}.diff button.on{background:var(--accent);color:#fff}.game-stage{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap;padding:.9rem 1.25rem 1.2rem}.clues{flex:1 1 230px;min-width:230px}.clues h2{font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:8px}.clue{display:flex;gap:9px;align-items:flex-start;background:var(--card);border:1.5px solid var(--border);border-radius:12px;padding:9px 11px;margin-bottom:7px;font-size:14.5px;line-height:1.45}.clue b{color:var(--accent-deep)}.clue .neg{color:#c0392b}.clue img.cav{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--border);flex:0 0 auto;margin-top:1px}.clues .clue-note{font-size:12.5px;color:var(--text-muted);margin-top:8px;line-height:1.5}.side{flex:0 0 auto;width:340px;max-width:100%}.board{display:grid;gap:3px;background:#7a5c3e;border:3px solid #7A5C3E;border-radius:14px;padding:3px;width:100%;touch-action:manipulation;box-shadow:0 6px 18px #3d32262e}.cell{position:relative;aspect-ratio:1;border-radius:7px;display:flex;align-items:center;justify-content:center;cursor:pointer;user-select:none;overflow:hidden}.cell .tint{position:absolute;inset:0;pointer-events:none}.cell .rlabel{position:absolute;top:1px;left:3px;z-index:3;font-size:8px;font-weight:900;color:#4a3b2a;background:#fffaf0e0;border:1px solid rgba(122,92,62,.35);border-radius:5px;padding:.5px 4px;letter-spacing:.02em;pointer-events:none;white-space:nowrap;max-width:calc(100% - 6px);overflow:hidden;text-overflow:ellipsis}.cell .prop{position:absolute;inset:6%;z-index:2;pointer-events:none;filter:drop-shadow(0 2px 2px rgba(61,50,38,.25))}.cell .fig{position:relative;z-index:4;width:72%;height:72%;border-radius:50%;border:2.5px solid var(--accent);background:#fff;box-shadow:0 2px 5px #3d322659,0 0 0 2px #fffcf6e6;pointer-events:none}.cell.victim .fig{border-color:#9a8a78;filter:saturate(.85)}.cell .vbadge{position:absolute;z-index:5;bottom:1px;right:1px;width:13px;height:13px;border-radius:50%;background:#6b6b6b;color:#fff;font-size:8.5px;font-weight:900;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 2px #0000004d}.cell.sel-target{box-shadow:inset 0 0 0 2.5px #d9770680}.cell.placed-sel{box-shadow:inset 0 0 0 2.5px var(--accent)}.cell.hint-flash{animation:hintp 1.6s ease}.cell.bad-flash{animation:badp .7s ease}@keyframes hintp{0%,70%{box-shadow:inset 0 0 0 3px var(--green);filter:brightness(1.12)}}@keyframes badp{0%,60%{box-shadow:inset 0 0 0 3px #c0392b}}.suspects{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap;align-items:center}.suss{position:relative;width:56px;height:60px;border:2px solid var(--border);background:var(--card);border-radius:12px 12px 10px 10px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;font:inherit;padding:4px 2px 3px}.suss:before,.suss:after{content:"";position:absolute;top:-7px;width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:9px solid var(--border)}.suss:before{left:6px}.suss:after{right:6px}.suss img{width:34px;height:34px;border-radius:50%;border:2px solid #EFE3CF;object-fit:cover}.suss .sn{font-size:8.5px;font-weight:800;color:var(--text-muted);margin-top:1px}.suss.sel{border-color:var(--accent);background:#fff3e0;box-shadow:0 3px 8px #d9770640}.suss.sel:before,.suss.sel:after{border-bottom-color:var(--accent)}.suss.done{opacity:.45}.hintbox{margin-top:10px;font-size:13.5px;font-weight:700;color:var(--green);min-height:20px}.hintbox.err{color:#c0392b}.loading{font-size:13px;font-weight:800;color:var(--text-muted);padding:30px 0;text-align:center;grid-column:1 / -1}.win-overlay{position:fixed;inset:0;background:#3d32268c;display:none;align-items:center;justify-content:center;z-index:999;padding:20px}.win-overlay.show{display:flex}.win-card{background:var(--gp-cream);border-radius:20px;padding:26px 24px 20px;max-width:360px;width:100%;text-align:center;box-shadow:0 18px 50px #0000004d}.win-card img.culprit-img{width:84px;height:84px;border-radius:50%;border:3px solid #C0392B;box-shadow:0 4px 12px #0003;display:inline-block}.win-card h2{font-family:Cormorant Garamond,serif;font-size:30px;color:var(--accent-deep);margin:8px 0}.win-card p{font-size:15px;line-height:1.55}.win-card .culprit{font-weight:900;color:#c0392b}.win-share-row{display:flex;gap:8px;justify-content:center;margin-top:16px;flex-wrap:wrap}@media(max-width:640px){.game-stage{flex-direction:column}.side{width:100%}}
