:root{--carvao: #17191D;--grafite: #292B31;--grafite-2: #32353c;--ouro: #A77A39;--ouro-claro: #d2a45c;--vinho: #762F3C;--texto: #ECE6DA;--suave: #a9a396;--erro: #ff8a8a;--ok: #6fcf97;--serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html{font-size:18px;-webkit-text-size-adjust:100%}body{margin:0;background:radial-gradient(1200px 600px at 50% -10%,#23262c,var(--carvao));color:var(--texto);font-family:var(--sans);line-height:1.5;min-height:100vh}h1,h2,h3{font-family:var(--serif);font-weight:600;margin:0 0 .5rem;letter-spacing:.01em}h1{font-size:2rem;line-height:1.15}h2{font-size:1.25rem}h3{font-size:1.05rem;margin-top:1rem;color:var(--ouro-claro)}p{margin:0 0 .75rem}small,em{color:var(--suave)}.page{max-width:720px;margin:0 auto;padding:1rem 16px 6.5rem}.page.narrow{max-width:480px}.center{text-align:center}.brand{text-align:center;padding:1.5rem 0 1rem}.brand h1{font-size:2.6rem;color:var(--ouro-claro)}.eyebrow{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ouro);margin:0 0 .25rem;font-weight:600}.lead{color:var(--suave)}.card{background:linear-gradient(180deg,var(--grafite),#25272c);border:1px solid #3a3d45;border-radius:14px;padding:1.1rem;margin-bottom:1rem;box-shadow:0 6px 20px #00000040}.card.secret{border-color:var(--ouro)}.card.killer{border-color:var(--vinho);background:linear-gradient(180deg,#33232a,#25272c)}.btn{display:block;width:100%;min-height:52px;padding:.75rem 1rem;margin:.5rem 0;border-radius:12px;border:1px solid #4b4f59;background:var(--grafite-2);color:var(--texto);font:inherit;font-weight:600;cursor:pointer;text-align:center}.btn:hover:not(:disabled){border-color:var(--ouro)}.btn:focus-visible,.choice:focus-visible,.avatar:focus-visible,select:focus-visible,input:focus-visible,.tabs button:focus-visible{outline:3px solid var(--ouro-claro);outline-offset:2px}.btn.primary{background:linear-gradient(180deg,var(--ouro-claro),var(--ouro));color:#17110a;border-color:var(--ouro-claro)}.btn.danger{background:var(--vinho);border-color:#a24a5a}.btn.ghost{background:transparent;border-color:transparent;color:var(--suave)}.btn.sm{display:inline-block;width:auto;min-height:40px;margin:0 0 0 .4rem;padding:.35rem .8rem;font-size:.9rem}.btn.action{text-align:left}.btn.action small{display:block;font-weight:400;margin-top:.15rem}.btn:disabled{opacity:.45;cursor:not-allowed}.field{display:block;margin-bottom:1rem}.field>span{display:block;font-size:.85rem;color:var(--suave);margin-bottom:.35rem}input,select{width:100%;min-height:52px;padding:.6rem .85rem;border-radius:12px;border:1px solid #4b4f59;background:var(--carvao);color:var(--texto);font:inherit}.code-input{text-transform:uppercase;letter-spacing:.25em;text-align:center;font-weight:700}.row{display:flex;gap:.5rem}.row .btn{width:auto;margin:0}.or{text-align:center;color:var(--suave);font-size:.85rem;margin:1rem 0 .5rem}.hint{color:var(--suave);font-size:.85rem}.error{color:var(--erro);font-weight:600}.error.pad{padding:0 16px;max-width:720px;margin:.5rem auto}.avatars{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.avatar{aspect-ratio:1;border-radius:14px;border:2px solid #4b4f59;background:var(--carvao);font-size:1.8rem;cursor:pointer;display:grid;place-items:center;color:inherit}.avatar.on{border-color:var(--ouro-claro);background:#2e2a22}.avatar.sm{width:44px;height:44px;font-size:1.4rem;flex:none;cursor:default}.code{font-family:var(--serif);font-size:3rem;letter-spacing:.3em;margin:0 0 .5rem;color:var(--ouro-claro);padding-left:.3em}.code-inline{letter-spacing:.15em}.qr{border-radius:10px;margin:.25rem auto .5rem;display:block}.players,.scores,.log,.bullets{list-style:none;margin:0 0 .5rem;padding:0}.players li{display:flex;align-items:center;gap:.7rem;padding:.55rem 0;border-bottom:1px solid #3a3d45}.players li.empty{color:var(--suave);font-style:italic}.grow{flex:1;min-width:0}.dot{width:10px;height:10px;border-radius:50%;background:#666;flex:none}.dot.on{background:var(--ok)}.tag{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;padding:.15rem .5rem;border-radius:99px;background:#3b3426;color:var(--ouro-claro);border:1px solid var(--ouro);white-space:nowrap}.topbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;max-width:720px;margin:0 auto;padding:1rem 16px .5rem}.phase{margin:0;font-size:1.5rem}.phase small{font-size:.9rem}.timer{font-family:var(--serif);font-size:1.6rem;color:var(--ouro-claro);font-variant-numeric:tabular-nums;border:1px solid var(--ouro);padding:.2rem .7rem;border-radius:10px}.hostbar{display:flex;justify-content:space-between;align-items:center;max-width:720px;margin:0 auto;padding:.4rem 16px;font-size:.8rem;color:var(--suave)}.banner{background:var(--vinho);text-align:center;padding:.5rem 16px;font-size:.9rem;position:sticky;top:0;z-index:5}.link{background:none;border:0;color:var(--texto);text-decoration:underline;font:inherit;cursor:pointer}.tabs{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(3,1fr);background:#111316;border-top:1px solid #3a3d45;padding-bottom:env(safe-area-inset-bottom);z-index:4}.tabs button{min-height:60px;border:0;background:transparent;color:var(--suave);font:inherit;font-weight:600;font-size:1rem;cursor:pointer}.tabs button.on{color:var(--ouro-claro);box-shadow:inset 0 3px 0 var(--ouro-claro);background:#181a1e}.evidence{padding:.75rem 0;border-bottom:1px solid #3a3d45}.evidence:last-child{border:0}.evidence p{margin:.35rem 0}blockquote{margin:0 0 .9rem;padding-left:.8rem;border-left:3px solid var(--ouro)}blockquote p{margin:.2rem 0 0}.between{display:flex;justify-content:space-between;gap:.75rem;align-items:baseline}.role{display:inline-block;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ouro-claro);font-weight:700}.killer .role{color:#ff9bad}.bullets li{padding-left:1.1rem;position:relative;margin-bottom:.45rem}.bullets li:before{content:"\25c6";color:var(--ouro);position:absolute;left:0;font-size:.6rem;top:.45rem}.strategy{background:#0003;border-radius:10px;padding:.6rem .8rem;margin-bottom:.5rem}.strategy p{margin:.2rem 0 0;font-size:.92rem}.choices{display:grid;gap:.5rem}.choice{min-height:52px;text-align:left;padding:.6rem .9rem;border-radius:12px;border:1px solid #4b4f59;background:var(--carvao);color:var(--texto);font:inherit;cursor:pointer}.choice.on{border-color:var(--ouro-claro);background:#2e2a22;box-shadow:inset 0 0 0 1px var(--ouro-claro)}dl{margin:0 0 .75rem}dt{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ouro);margin-top:.6rem}dd{margin:0}.verdict{text-align:center}.verdict.win{border-color:var(--ok)}.verdict dl{text-align:left}.killer-name,.verdict .killer{font-family:var(--serif);font-size:2.4rem;color:#ff9bad;margin:0 0 .5rem}.timeline{list-style:none;padding:0;margin:0}.timeline li{display:flex;gap:.9rem;padding:.45rem 0;border-bottom:1px solid #3a3d45}.timeline strong{color:var(--ouro-claro);min-width:3.4rem;font-variant-numeric:tabular-nums}.scores li{padding:.6rem 0;border-bottom:1px solid #3a3d45}.scores li.me{background:#2e2a22;margin:0 -.5rem;padding:.6rem .5rem;border-radius:8px}.pts{font-family:var(--serif);font-size:1.3rem;color:var(--ouro-claro)}.empty-msg{color:var(--suave);font-style:italic}.log li{padding:.25rem 0;color:var(--suave)}@media(prefers-reduced-motion:no-preference){.card{animation:in .25s ease-out}@keyframes in{0%{opacity:0;transform:translateY(6px)}}}
