:root{--bg: #0f0b05;--panel: #1a1410;--text: #eee4d7;--muted: #c3b8a8;--accent: #b68a27;--murdered: #6b1d1b;--banished: #8a5a1e;--badge: #22170f;--border: #3a2a1f;color-scheme:dark}.app{max-width:1100px;margin:0 auto;padding:24px;color:var(--text)}.app-header h1{margin:0 0 6px}.section-hint{color:var(--muted);margin-bottom:16px}.players-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-bottom:24px}.player-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:12px;position:relative}.card-close{position:absolute;top:8px;right:8px;width:24px;height:24px;border-radius:50%;background:#1e2a22;border:1px solid #2f3f34;color:#a4e9b4;font-weight:700;font-size:16px;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:.7;box-shadow:0 1px #00000059;transition:transform .16s ease,opacity .16s ease,background-color .16s ease,box-shadow .16s ease;z-index:2}.card-close:hover{opacity:1;transform:scale(1.08);background:#243427;border-color:#3c4e42;box-shadow:0 0 0 1px #3c4e42,0 0 8px #00ff7f59}.card-close:focus-visible{outline:none;box-shadow:0 0 0 2px #7a5d1a}.card-close:active{transform:scale(.96)}.player-header{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}.player-name{flex:1 1 200px;min-width:160px;background:var(--badge);border:1px solid var(--border);border-radius:8px;padding:8px;color:var(--text);-webkit-text-fill-color:var(--text);caret-color:var(--text)}.player-name::placeholder{color:var(--muted);opacity:.8}.player-name:disabled{opacity:1;color:var(--text);-webkit-text-fill-color:var(--text)}.badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:var(--badge);border:1px solid var(--border);font-size:12px;color:var(--text);flex:0 0 auto}.badge.job-title{color:var(--muted)}.badge.alive{background:#1a2a1f;border-color:#2a3f2d}.badge.murdered{background:#2a1a1a;border-color:#512020;color:#ffb4b4}.badge.banished{background:#2a2316;border-color:#4f3b14;color:#ffd092}.badge.round{background:#2b200f;border-color:#7a5d1a;color:#f7d28b;font-weight:600}.badge.shield-toggle input{margin-right:6px}.attrs-grid{display:grid;gap:10px}.attr-row label{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.attr-row input[type=range]{width:100%;accent-color:var(--banished)}.attr-row input[type=range]::-webkit-slider-thumb{background-color:var(--banished);border:1px solid var(--border)}.attr-row input[type=range]::-moz-range-thumb{background-color:var(--banished);border:1px solid var(--border)}.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;margin-bottom:10px}.predictions{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:20px}.predictions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.prediction-card{background:#17120d;border:1px solid var(--border);border-radius:10px;padding:12px}.prediction-who{font-size:18px;font-weight:600}.prediction-job{color:var(--muted);margin-bottom:8px}.breakdown{list-style:none;padding:0;margin:0}.breakdown li{display:flex;justify-content:space-between;padding:4px 0}.breakdown .b-label{color:var(--muted)}.breakdown .b-value{font-weight:600}.actions{margin-top:16px}.actions button{background:var(--badge);border-color:var(--accent);color:var(--text)}.actions-top{margin-bottom:16px}.simulation{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:20px}.simulation-results p{margin:6px 0}.rounds{list-style:none;padding:0;margin:8px 0 0}.round-item{padding:8px 0;border-top:1px solid var(--border)}.round-item:first-child{border-top:none}.round-title{font-weight:600;margin-bottom:4px}.round-detail{color:var(--muted)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px;width:90%;max-width:720px;box-shadow:0 10px 30px #00000080}@media (max-width: 480px){.players-grid{grid-template-columns:1fr}.player-name{min-width:0}}.toast{position:fixed;right:16px;bottom:16px;z-index:2000;background:#1f1f1f;color:#fff;border:1px solid var(--banished);padding:10px 12px;font-size:14px;border-radius:6px;box-shadow:0 6px 20px #00000059;animation:toastIn .2s ease-out both}@keyframes toastIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.quick-tweaks{margin-top:16px;padding:12px;border:1px solid var(--border);border-radius:12px;background:#17120d}.quick-tweaks h2{margin:0 0 6px;font-size:16px}.quick-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.quick-card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:12px}.quick-card .player-name{font-weight:600;margin-bottom:8px}.btn-fine-tuner{background:transparent;color:var(--accent);border:none;padding:0;border-radius:0;font-weight:600;cursor:pointer}.btn-fine-tuner:hover{text-decoration:underline}.btn-fine-tuner:focus{outline:none;text-decoration:underline}.slider-hints{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}.slider-hints .hint{display:flex;flex-direction:column}.slider-hints .hint-left{align-items:flex-start;text-align:left}.slider-hints .hint-right{align-items:flex-end;text-align:right}.slider-hints .hint-label{font-size:11px;color:var(--muted)}.slider-hints .hint-sub{font-size:10px;color:#b7aa97}.slider-hints .cap{color:var(--accent);width:14px;height:14px;vertical-align:text-bottom}.slider-hints .cap-left{margin-right:6px}.slider-hints .cap-right{margin-left:6px}.help{position:relative;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:6px;border-radius:50%;background:var(--badge);color:var(--accent);border:1px solid var(--border);font-weight:700;font-size:12px;cursor:help}.help .tooltip{position:absolute;bottom:120%;right:0;z-index:20;background:var(--panel);border:1px solid var(--border);color:var(--text);padding:8px 10px;border-radius:8px;min-width:220px;box-shadow:0 8px 20px #00000073;opacity:0;transform:translateY(6px);pointer-events:none;transition:opacity .15s ease,transform .15s ease}.help:hover .tooltip{opacity:1;transform:translateY(0)}.help:focus .tooltip,.help:active .tooltip{opacity:1;transform:translateY(0)}.help .tooltip:after{content:"";position:absolute;top:100%;right:8px;border-width:6px;border-style:solid;border-color:var(--panel) transparent transparent transparent}.traitor-card{border-color:#0f3d2e;box-shadow:0 0 0 1px #0f3d2e,0 0 12px #00804059,0 0 24px #00ff7f40;position:relative;overflow:visible;animation:emeraldPulse 4.5s ease-in-out infinite alternate}@keyframes emeraldPulse{0%{box-shadow:0 0 0 1px #0f3d2e,0 0 10px #0080404d,0 0 20px #00ff7f33}to{box-shadow:0 0 0 1px #135c3a,0 0 18px #00ff7f85,0 0 36px #39ff146b}}.traitor-card:before,.traitor-card:after{content:"";position:absolute;top:-18px;right:-18px;bottom:-18px;left:-18px;border-radius:inherit;pointer-events:none;mix-blend-mode:screen}.traitor-card:before{background:radial-gradient(60% 80% at 20% 20%,#00ff7f2e,#00ff7f00 72%),radial-gradient(80% 60% at 80% 30%,#39ff1424,#39ff1400 75%),radial-gradient(50% 50% at 50% 100%,#0080402e,#00804000 78%);filter:blur(22px);opacity:.55;animation:smokeyGlowA 6.8s ease-in-out infinite}.traitor-card:after{top:-26px;right:-26px;bottom:-26px;left:-26px;background:radial-gradient(40% 40% at 30% 70%,#00ff7f1f,#00ff7f00 70%),radial-gradient(70% 70% at 70% 40%,#39ff141a,#39ff1400 74%);filter:blur(28px);opacity:.35;animation:smokeyGlowB 7.6s ease-in-out infinite}@keyframes smokeyGlowA{0%{transform:translate(-1%,-1%) scale(.98) rotate(0)}33%{transform:translate(2%,1%) scale(1.02) rotate(8deg)}66%{transform:translate(-2%,2%) scale(1.05) rotate(-6deg)}to{transform:translateY(-1%) scale(1.01) rotate(2deg)}}@keyframes smokeyGlowB{0%{transform:translate(1%,-2%) scale(1) rotate(0);opacity:.3}50%{transform:translate(-1%,1%) scale(1.06) rotate(10deg);opacity:.42}to{transform:translate(2%) scale(1.02) rotate(-8deg);opacity:.35}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:var(--text);background-color:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:var(--accent);text-decoration:inherit}a:hover{color:#c79a35}body{margin:0;display:block;min-width:320px}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--panel);cursor:pointer;transition:border-color .25s}button:hover{border-color:var(--accent)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:var(--text);background-color:var(--bg)}a:hover{color:#c79a35}button{background-color:var(--panel)}}
