:root{--ink:#fff7e6;--shadow:0 2px 0 #28140599;--panel:#261608b8;--accent:#fc3}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);user-select:none;background:#9fd4f0;margin:0;font-family:ui-rounded,Trebuchet MS,system-ui,sans-serif;overflow:hidden}#game{width:100vw;height:100vh;display:block}#hud{pointer-events:none;position:fixed;inset:0}#status{text-shadow:var(--shadow);position:absolute;top:18px;left:20px}#distance{font-size:18px;font-weight:800}#distance b{font-variant-numeric:tabular-nums;font-size:26px;font-weight:900}#players{opacity:.85;margin-top:2px;font-size:14px;font-weight:700}#chat{text-shadow:0 1px 2px #0009;pointer-events:none;background:#0f080252;border-radius:8px;width:360px;padding:8px 10px;font-size:13px;font-weight:600;line-height:1.45;position:absolute;bottom:44px;left:20px}#chat.active{pointer-events:auto;background:#0f080280}#chat-log{flex-direction:column;max-height:168px;display:flex;overflow:hidden}#chat-log:empty+#chat-input+#chat-hint{margin-top:0}#chat .line{overflow-wrap:anywhere}#chat .line.sys{opacity:.65;font-style:italic}#chat .who{font-weight:900}#chat-input{width:100%;color:var(--ink);font:inherit;background:#00000059;border:1px solid #fff7e680;border-radius:5px;outline:none;margin-top:6px;padding:5px 8px;display:none}#chat.active #chat-input{display:block}#chat-hint{opacity:.7;margin-top:6px;font-size:12px}#chat.active #chat-hint{display:none}#chat kbd{border:1px solid #fff9;border-bottom-width:2px;border-radius:4px;margin-right:3px;padding:0 5px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:10px;display:inline-block}#suspicion{width:240px;text-shadow:var(--shadow);position:absolute;top:18px;right:20px}#suspicion .label{justify-content:space-between;align-items:baseline;margin-bottom:6px;font-size:18px;font-weight:800;display:flex}#suspicion-value{font-variant-numeric:tabular-nums;opacity:.85}#suspicion .meter{background:#140a0259;border:1px solid #fff7e673;border-radius:6px;height:12px;overflow:hidden}#suspicion-fill{background:#4ac45c;width:0%;height:100%;transition:width .3s,background-color .3s}#help{opacity:.75;text-shadow:0 1px 3px #1e0f00bf;font-size:12px;font-weight:600;position:absolute;bottom:18px;left:20px}#help kbd,#splash kbd{border:1px solid #fff9;border-bottom-width:2px;border-radius:4px;margin:0 1px;padding:1px 6px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;display:inline-block;box-shadow:0 1px 3px #1e0f0059}#prompt{background:var(--panel);border-radius:12px;padding:10px 18px;font-size:20px;font-weight:700;transition:opacity .15s;position:absolute;bottom:18%;left:50%;transform:translate(-50%)}#prompt:empty{opacity:0}#notice{text-align:center;width:max-content;max-width:90vw;text-shadow:var(--shadow);font-size:17px;font-weight:800;position:absolute;bottom:calc(18% + 58px);left:50%;transform:translate(-50%)}#notice b{background:var(--ink);color:#3a220b;min-width:1.6em;text-shadow:none;border-radius:6px;margin:0 2px;padding:0 6px;display:inline-block;box-shadow:0 3px #b9a27a}#prompt b,.key{text-align:center;background:var(--ink);color:#3a220b;border-radius:6px;min-width:1.6em;margin:0 2px;padding:1px 6px;font-weight:900;display:inline-block;box-shadow:0 3px #b9a27a}#panel{background:var(--panel);border-radius:14px;width:280px;padding:14px 16px;font-size:15px;font-weight:700;position:absolute;bottom:16px;right:16px}#panel-title{color:var(--accent);text-transform:uppercase;margin-bottom:8px;font-size:20px;font-weight:900}#panel .row{align-items:center;gap:4px;margin-top:6px;display:flex}#panel .row span:last-child{margin-left:8px}.key.active{background:var(--accent);transform:translateY(2px);box-shadow:0 1px #b9a27a}.bar{background:#ffffff26;border-radius:4px;height:8px;margin:6px 0 4px;position:relative}.bar:after{content:"";background:#fff6;width:2px;height:14px;position:absolute;top:-3px;left:50%}.bar div{background:var(--accent);border-radius:4px;width:10px;height:100%;margin-left:-5px;position:absolute;top:0}#panel .hint{opacity:.8;margin-top:10px;font-size:13px}#toast{text-shadow:var(--shadow);text-align:center;opacity:0;font-size:22px;font-weight:900;transition:opacity .4s;position:absolute;top:18%;left:50%;transform:translate(-50%)}#toast.show{opacity:1}#gameover{text-shadow:var(--shadow);background:#3c08048c;flex-direction:column;justify-content:center;align-items:center;gap:14px;animation:.8s fadein;display:flex;position:absolute;inset:0}#gameover .big{font-family:Bungee,system-ui,sans-serif;font-size:clamp(56px,9vw,120px)}#gameover .sub{font-size:24px;font-weight:800}@keyframes fadein{0%{opacity:0}}#banner{text-shadow:var(--shadow);background:#ffd23f40;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:absolute;inset:0}#banner .big{letter-spacing:3px;text-align:center;font-size:56px;font-weight:900}#banner-sub{font-size:26px;font-weight:800}#banner .small{text-align:center;font-size:18px}.hidden{display:none!important}#splash{z-index:5;cursor:pointer;backdrop-filter:blur(3px);text-shadow:0 2px 12px #1e0f0073;background:radial-gradient(#140c0440 0%,#140c049e 75%);flex-direction:column;justify-content:center;align-items:center;gap:28px;padding:24px;transition:opacity .6s;display:flex;position:fixed;inset:0}#splash.leaving{opacity:0;pointer-events:none}#splash h1{letter-spacing:.02em;color:#fff7e6;margin:0;font-family:Bungee,system-ui,sans-serif;font-size:clamp(64px,12vw,160px);font-weight:400;line-height:1}#splash .controls{opacity:.85;text-shadow:0 1px 3px #1e0f00bf;flex-direction:column;align-items:center;gap:14px;margin-top:8px;font-size:12px;font-weight:600;display:flex}#splash .start{letter-spacing:4px;text-transform:lowercase;font-size:15px;font-weight:800;animation:1.6s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.35}}#splash.naming .start{display:none}#name-form{cursor:default;flex-direction:column;align-items:center;gap:10px;display:flex}#name-input{text-align:center;width:260px;color:var(--ink);background:#140a0273;border:2px solid #fff7e6bf;border-radius:10px;outline:none;padding:10px 14px;font:700 20px ui-rounded,Trebuchet MS,system-ui,sans-serif}#name-input::placeholder{color:#fff7e673}#name-form .name-hint{opacity:.8;font-size:12px;font-weight:600}#splash-count{opacity:.8;letter-spacing:1px;margin-top:-12px;font-size:13px;font-weight:700}#loading{letter-spacing:4px;text-shadow:var(--shadow);background:#9fd4f0;place-items:center;font-size:28px;font-weight:900;display:grid;position:fixed;inset:0}
