:root{--bg:#0b0f14;--panel:#121a22;--line:#263542;--muted:#8ea0ae;--text:#eaf1f5;--lime:#c8f169;--red:#ff6475;--cyan:#68d9e8;--gold:#ffd06a}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(ellipse at 12% -10%,#1b2b31 0,transparent 42%),var(--bg);color:var(--text);font:15px/1.5 Inter,Segoe UI,Arial,sans-serif}
button,input{font:inherit}
.wrap{max-width:1220px;margin:auto;padding:34px 22px 56px}
.hero{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:23px}
.eyebrow{color:var(--lime);text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:800}
h1{font-size:clamp(32px,5vw,52px);line-height:1.03;margin:10px 0}
.hero p{color:var(--muted);max-width:700px;margin:0}
.local-badge{border:1px solid #465843;color:var(--lime);border-radius:99px;padding:8px 12px;white-space:nowrap;font-weight:700;font-size:12px}
.local-badge span{display:inline-block;width:8px;height:8px;background:var(--lime);border-radius:50%;margin-right:7px}
.panel{background:linear-gradient(145deg,#141d25,#10171e);border:1px solid var(--line);border-radius:15px;padding:18px}
.uploader{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(230px,.8fr);gap:24px}
.nick-label{display:block;font-size:12px;color:#c5d1d8;font-weight:700;margin:0 0 6px}
#nickname{width:100%;border:1px solid #344652;background:#0d141a;color:var(--text);border-radius:9px;padding:11px 12px;outline:none}
#nickname:focus{border-color:var(--lime)}
.drop{margin-top:13px;min-height:148px;border:1.5px dashed #536b52;border-radius:12px;background:#121c1a;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:17px;cursor:pointer}
.drop.drag{background:#1b2a20;border-color:var(--lime)}
.drop input{position:absolute;width:1px;height:1px;opacity:0}
.drop-icon{font-size:27px;line-height:1;color:var(--lime)}
.drop strong{margin:4px 0}
.drop small,.file-names{color:var(--muted);font-size:12px}
.file-names{margin-top:8px;max-width:100%;overflow-wrap:anywhere}
.primary{margin-top:12px;border:0;border-radius:9px;background:var(--lime);color:#172016;padding:11px 16px;font-weight:850;cursor:pointer}
.primary:disabled{opacity:.55;cursor:wait}
.status{display:inline-block;margin:0 0 0 11px;color:var(--muted);font-size:12px}
.howto{border-left:1px solid var(--line);padding:5px 0 5px 22px}
.howto ul{padding-left:18px;color:#c7d1d8;line-height:1.9}
.howto p,.disclaimer,footer{font-size:12px;color:var(--muted)}
.tabs{display:flex;gap:8px;overflow:auto;padding:18px 0 10px}
.tab{background:#17212a;border:1px solid var(--line);border-radius:9px;color:var(--text);padding:9px 12px;white-space:nowrap;cursor:pointer}
.tab.active{border-color:#738c4a;background:#202b28;color:var(--lime)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:5px 0 13px}
.stat{background:#121a22;border:1px solid var(--line);border-radius:12px;padding:13px 15px}
.stat b{font-size:23px;display:block;color:var(--lime)}
.stat span{color:var(--muted);font-size:11px}
.insights{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:9px;margin:0 0 13px}
.insight-card{border:1px solid #34443b;background:#141d1a;border-radius:11px;padding:12px 14px}
.insight-card strong{display:block;color:var(--lime);font-size:13px;margin-bottom:4px}
.insight-card span{color:#becac9;font-size:12px}
.layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:13px;align-items:start}
.episodes h2{font-size:15px;margin:0 0 10px}
.death-list{display:grid;gap:7px;max-height:770px;overflow:auto}
.death-button{border:1px solid transparent;border-radius:9px;background:#17212a;color:var(--text);padding:10px;text-align:left;cursor:pointer;display:grid;grid-template-columns:43px 1fr auto;gap:7px;align-items:center}
.death-button:hover,.death-button.active{border-color:#647b46;background:#202b28}
.death-button .round{color:var(--lime);font-weight:850}
.death-button small{color:var(--muted);font-size:11px}
.death-button .headshot{font-size:10px;color:var(--red);border:1px solid #663c44;border-radius:30px;padding:3px 6px}
.episode{display:grid;grid-template-columns:minmax(280px,1.1fr) .9fr;gap:16px}
.visual{position:relative;aspect-ratio:1/1;overflow:hidden;border-radius:12px;background:#111923;border:1px solid #33424d}
.visual img{width:100%;height:100%;object-fit:contain;display:block}
.visual svg{position:absolute;inset:0;width:100%;height:100%}
.map-callout{position:absolute;left:10px;top:10px;padding:5px 8px;background:#0a1119df;border:1px solid #45545f;border-radius:8px;font-size:11px;color:var(--muted)}
.legend{grid-column:1;display:flex;gap:13px;flex-wrap:wrap;color:var(--muted);font-size:11px;margin-top:-7px}
.legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px}
.legend .you{background:var(--gold)}.legend .enemy{background:var(--red)}.legend .previous{background:var(--cyan)}
.episode-copy{grid-column:2;grid-row:1 / span 2}
.episode-copy h2{font-size:24px;line-height:1.15;margin:6px 0 10px}
.meta{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 14px}
.pill{font-size:11px;border-radius:50px;border:1px solid var(--line);padding:5px 9px;color:#c4d0d8}
.advice{border-left:3px solid var(--lime);padding:11px 12px;background:#18221b;border-radius:0 9px 9px 0;color:#e4ebdf}
.fact{color:var(--muted);font-size:12px}
.empty{text-align:center;color:var(--muted);padding:45px 20px}
.disclaimer{margin-top:13px}
footer{margin-top:20px}
.privacy-note{margin:9px 0 0;color:var(--muted);font-size:11px}
@media(max-width:850px){.hero{align-items:start;flex-direction:column}.uploader{grid-template-columns:1fr}.howto{border-left:0;border-top:1px solid var(--line);padding:17px 0 0}.layout{grid-template-columns:1fr}.death-list{grid-template-columns:repeat(2,1fr);max-height:none}.episode{grid-template-columns:1fr}.episode-copy{grid-column:1;grid-row:auto}.legend{grid-column:1;grid-row:2}.visual{max-width:650px;width:100%;margin:auto}}
@media(max-width:520px){.wrap{padding:25px 13px 40px}.stats{grid-template-columns:repeat(2,1fr)}.death-list{grid-template-columns:1fr}.status{display:block;margin:9px 0 0}}
