: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}.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)}.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}.legend{margin-top:14px;border:1.5px solid var(--border);border-radius:12px;background:#fffdf9;overflow:hidden}.legend summary{cursor:pointer;padding:10px 14px;font-size:13.5px;font-weight:800;color:var(--ink);list-style:none;display:flex;align-items:center;gap:8px}.legend summary::-webkit-details-marker{display:none}.legend-hint{margin-left:auto;font-size:11px;font-weight:700;color:var(--text-muted)}.legend-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;padding:0 14px 12px}.legend-item{background:#fff;border:1px solid var(--border);border-radius:9px;padding:8px 10px}.legend-item b{display:block;font-size:12.5px;color:var(--ink);margin-bottom:2px}.legend-item span{font-size:12px;color:var(--text-muted);line-height:1.45}.legend-key{border-color:var(--accent);background:#fff8ef}.legend-key span{color:var(--ink)}.loading{font-size:13px;font-weight:800;color:var(--text-muted);padding:30px 0;text-align:center;grid-column:1 / -1}.loading .paws{display:block;margin-bottom:10px}.loading .paws span{display:inline-block;width:9px;height:9px;border-radius:55% 55% 45% 45%;background:currentColor;margin:0 4px;opacity:.35;animation:padstep 1.3s infinite}.loading .paws span:nth-child(2){animation-delay:.18s}.loading .paws span:nth-child(3){animation-delay:.36s}.loading .paws span:nth-child(4){animation-delay:.54s}@keyframes padstep{0%,to{transform:translateY(0);opacity:.3}45%{transform:translateY(-7px);opacity: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:380px;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%}}.trail-bar{display:flex;gap:6px;flex-wrap:wrap;max-width:52.5rem;margin:0 auto 12px}.trail-node{flex:1 1 100px;border:1.5px solid var(--border);border-radius:12px;padding:7px 6px 6px;text-align:center;background:#fff;position:relative;min-width:0}.trail-node .tn-t{font-size:10.5px;font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.trail-node .tn-s{font-size:12px;font-weight:800;color:var(--ink)}.trail-node .tn-i{font-family:Cormorant Garamond,serif;font-size:21px;font-weight:700;color:var(--accent-deep);line-height:1.15}.trail-node.done{border-color:var(--green);background:#f0f7f1}.trail-node.done .tn-s{color:var(--green)}.trail-node.cur{border-color:var(--accent);background:#fff3e0;box-shadow:0 3px 10px #d977062e}.trail-node.locked{opacity:.55;border-style:dashed}.gate-q{font-weight:800;color:var(--ink);margin:10px 0 8px}.rooms{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.rooms button{border:1.5px solid var(--border);background:#fff;border-radius:999px;padding:7px 14px;font:inherit;font-size:13.5px;font-weight:800;color:var(--ink);cursor:pointer}.rooms button:hover{border-color:var(--accent);color:var(--accent-deep)}.gate-msg{min-height:18px;font-size:13px;font-weight:700;color:var(--green);margin-top:8px}.gate-msg.err{color:#c0392b}.init-row{display:flex;gap:6px;justify-content:center;margin:10px 0 4px}.init-cell{width:38px;height:44px;border:2px solid var(--accent);border-radius:8px;background:#fff;font-family:Cormorant Garamond,serif;font-size:24px;font-weight:700;color:var(--accent-deep);display:flex;align-items:center;justify-content:center}.init-cell.empty{border-style:dashed;color:var(--text-muted)}.word-row{display:flex;gap:8px;justify-content:center;margin-top:8px;flex-wrap:wrap}.word-row input{border:2px solid var(--border);border-radius:10px;padding:9px 12px;font:inherit;font-size:15px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;width:150px;text-align:center}.word-row input:focus{outline:none;border-color:var(--accent)}.shake{animation:shk .4s ease}@keyframes shk{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.trail-banner{display:flex;align-items:center;gap:8px;max-width:52.5rem;margin:14px auto 0;padding:12px 16px;border:1.5px dashed var(--accent);border-radius:14px;background:#fff8ef;font-size:14.5px;font-weight:800;color:var(--ink)}.trail-banner:hover{background:#fff3e0}.trail-banner .arrow{margin-left:auto;color:var(--accent-deep)}.trail-done{max-width:52.5rem;margin:0 auto 12px;border:1.5px solid var(--green);border-radius:14px;background:#f0f7f1;padding:12px 16px;text-align:center;font-weight:800;color:var(--ink)}
