:root{--bg: #14162b;--card: rgba(31, 34, 64, .94);--card2: #2a2e55;--line: #3a3f70;--text: #eceefe;--muted: #a3a8d6;--accent: #7b6cff;--good: #2fb67c;--bad: #e5484d;--warn: #f5a524;--radius: 14px;color-scheme:dark}body[data-phase=day],body[data-phase=end]{--bg: #1e2236;--card: rgba(42, 47, 77, .94);--accent: #f0a83a}*{box-sizing:border-box}html,body{margin:0}html,body,button,input,select,label{touch-action:manipulation}body{background:var(--bg);color:var(--text);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;padding-bottom:calc(80px + env(safe-area-inset-bottom));transition:background .4s}button,input,select{font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}.ms-bar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:max(10px,env(safe-area-inset-top)) 16px 10px;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}.ms-bar h1{font-size:17px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ms-icon{width:40px;height:40px;border:0;border-radius:10px;background:var(--card);font-size:19px;cursor:pointer}.ms-icon:disabled{opacity:.35}.ms-main{max-width:640px;margin:0 auto;padding:12px 16px;display:grid;gap:12px}.ms-card{background:var(--card);border-radius:var(--radius);padding:16px;backdrop-filter:blur(4px)}.ms-card.step.enter{animation:ms-in .45s ease-out}@keyframes ms-in{0%{opacity:0;transform:translateY(14px) scale(.98)}}.ms-card h2{margin:0 0 8px;font-size:19px}.ms-card h2 small{font-weight:400;color:var(--muted);font-size:14px}.ms-card.step h2{font-size:24px}.ms-hint{color:var(--muted);font-size:14px;margin:6px 0}.ms-sub{margin:12px 0 6px;font-weight:600}.ms-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:8px}.ms-row.between{justify-content:space-between;margin:0}.ms-row.between h2{margin:0}.ms-btn{border:1px solid var(--line);background:var(--card2);border-radius:12px;padding:10px 16px;min-height:44px;cursor:pointer;font-weight:600}.ms-btn:disabled{opacity:.4;cursor:not-allowed}.ms-actions .ms-btn:disabled{opacity:1;background:var(--card2);border-color:var(--line);color:var(--muted)}.ms-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.ms-btn.danger{background:var(--bad);border-color:var(--bad);color:#fff}.ms-btn.ghost{background:transparent}.ms-btn.danger.ghost{color:var(--bad);background:transparent}.ms-btn.big{width:100%;padding:14px;font-size:18px}.ms-actions{position:sticky;bottom:max(12px,env(safe-area-inset-bottom));z-index:5;display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;padding:10px 0 0 56px}.ms-actions .ms-btn{flex:1 1 auto;box-shadow:0 6px 18px #00000059}.ms-actions .ms-btn.ghost{background:var(--card);flex:0 1 auto}.ms-stepper{display:inline-flex;align-items:center;gap:6px}.ms-stepper .ms-btn{width:44px;padding:0;font-size:20px}.ms-stepper>span{min-width:28px;text-align:center;font-size:18px;font-weight:700}.ms-stepper.big{width:100%;justify-content:center}.ms-stepper.big input{width:100px;text-align:center;font-size:32px;font-weight:700;background:var(--card2);border:1px solid var(--line);border-radius:12px;padding:4px}.ms-stepper.big .ms-btn{width:56px;height:56px;font-size:26px}.ms-comp,.ms-roles,.ms-votes,.ms-final,.ms-reveal{list-style:none;padding:0;margin:8px 0;display:grid;gap:8px}.ms-comp li,.ms-votes li,.ms-final li,.ms-reveal li{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--card2);border-radius:12px;padding:8px 10px}.ms-comp small,.ms-final small,.ms-votes small{display:block;color:var(--muted);font-size:12.5px;line-height:1.35}.ms-roles li{display:grid;gap:2px}.ms-roles span{color:var(--muted);font-size:14px}.ms-status{margin:8px 0 0;font-weight:600}.ms-status.ok{color:var(--good)}.ms-status.bad{color:var(--warn)}.ms-names{padding-left:28px;margin:8px 0;display:grid;gap:6px}.ms-names input{width:100%;background:var(--card2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:16px}.ms-seg{display:grid;grid-template-columns:1fr 1fr;background:var(--card2);border-radius:12px;padding:4px}.ms-seg button{border:0;background:none;padding:10px;border-radius:9px;cursor:pointer;font-weight:600}.ms-seg button.on{background:var(--accent);color:#fff}.ms-reveal-name{flex:1;text-align:left;background:none;border:0;padding:6px 0;font-weight:600;font-size:17px;cursor:pointer}.ms-reveal li.seen .ms-reveal-name{color:var(--good)}.ms-reveal-role{font-weight:700}.ms-say{border-left:4px solid var(--accent);padding:4px 0 4px 12px;margin:8px 0 12px}.ms-say p{margin:6px 0;font-size:19px;line-height:1.45;font-weight:500}.ms-gm{background:#f5a5241a;border:1px dashed rgba(245,165,36,.5);border-radius:10px;padding:8px 10px;font-size:14.5px;margin:8px 0}.ms-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin:10px 0}.ms-pick button{border:2px solid var(--line);background:var(--card2);border-radius:12px;padding:10px 8px;min-height:58px;cursor:pointer;font-weight:700;text-align:center}.ms-pick button small{display:block;font-weight:400;color:var(--muted);font-size:12px}.ms-pick button.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 30%,var(--card2))}.ms-pick button:disabled{opacity:.35;cursor:not-allowed}.ms-pick button.dead{text-decoration:line-through}.ms-result{margin-top:10px;padding:14px;border-radius:12px;font-size:20px;font-weight:700;text-align:center}.ms-result.wolf{background:#e5484d33;color:#ff8a8d}.ms-result.good{background:#2fb67c33;color:#6ee0ad}.ms-check{display:flex;gap:10px;align-items:flex-start;padding:10px;background:var(--card2);border-radius:12px;margin:8px 0;cursor:pointer}.ms-check input{width:20px;height:20px;margin-top:2px;flex-shrink:0}.ms-check small{display:block;color:var(--muted)}.ms-check.disabled{opacity:.55}.ms-timer{background:var(--card2);border-radius:14px;padding:12px;margin-top:12px;text-align:center}.ms-timer-digits{font-size:64px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.1}.ms-timer.small{display:flex;align-items:center;gap:10px;padding:6px 10px;margin:0 0 8px}.ms-timer.small .ms-timer-digits{font-size:26px;min-width:70px}.ms-timer.small .ms-timer-bar{display:none}.ms-timer.small .ms-row{margin:0;flex-wrap:nowrap}.ms-timer.small .ms-btn{min-height:38px;padding:6px 10px}.ms-timer-bar{height:6px;background:var(--line);border-radius:3px;overflow:hidden;margin:8px 0}.ms-timer-bar span{display:block;height:100%;background:var(--accent);transition:width 1s linear}.ms-timer .ms-row{justify-content:center}.ms-timer.warn .ms-timer-digits{color:var(--warn)}.ms-timer.done .ms-timer-digits{color:var(--bad);animation:ms-blink 1s infinite}@keyframes ms-blink{50%{opacity:.3}}.ms-winner{font-size:28px;font-weight:800;text-align:center;padding:16px 0}.ms-final li.dead>span:first-child{text-decoration:line-through;color:var(--muted)}.ms-dialog{width:min(560px,calc(100vw - 24px));max-height:calc(100vh - 40px);background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:16px;padding:16px}.ms-dialog::backdrop{background:#0009}.ms-dialog h2{margin:0 0 8px}.ms-dialog form>.ms-row:last-child{justify-content:flex-end;position:sticky;bottom:-16px;background:var(--card);padding:8px 0}.ms-dialog fieldset{border:1px solid var(--line);border-radius:12px;margin:0 0 12px;padding:8px 10px}.ms-dialog legend{padding:0 6px;font-weight:700;color:var(--muted)}.ms-field{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0}.ms-field select,.ms-field input{background:var(--card2);border:1px solid var(--line);border-radius:8px;padding:6px 8px;max-width:55%}.ms-field input{width:90px;text-align:right}.ms-log{padding-left:20px;margin:0;font-size:14.5px}.ms-log li.head{list-style:none;margin:10px 0 2px -20px;font-weight:700;color:var(--accent)}.ms-peek{position:fixed;inset:0;z-index:2147483600;background:#0b0c18;display:grid;place-items:center;padding:24px}.ms-peek[hidden]{display:none}.ms-peek-box{width:min(420px,100%);text-align:center;display:grid;gap:12px}.ms-peek-box p{margin:0}.ms-peek-name{font-size:40px;font-weight:800}.ms-peek-role{font-size:72px;display:grid}.ms-peek-role b{font-size:34px}.ms-tools{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;max-width:640px;margin:10px auto 0;padding:0 16px}.ms-tools[hidden]{display:none}.ms-tools button{display:grid;justify-items:center;gap:2px;border:1px solid var(--line);background:var(--card);border-radius:12px;padding:6px 2px;font-size:12.5px;font-weight:600;color:var(--muted);cursor:pointer}.ms-tools button span{font-size:19px;line-height:1.2;color:var(--text)}.ms-tools button:disabled{opacity:.4}.ms-sky{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:linear-gradient(#0b0d22,#1a1c3d 65%,#24224a);transition:background 1.5s}.ms-sky[data-phase=day]{background:linear-gradient(#253a6b,#3d3f6e 55%,#6b4b4a)}.ms-stars i{position:absolute;border-radius:50%;background:#fff;opacity:.8;animation:ms-twinkle 3s infinite ease-in-out}.ms-stars{transition:opacity 1.5s}.ms-sky[data-phase=day] .ms-stars{opacity:0}@keyframes ms-twinkle{50%{opacity:.15}}.ms-moon,.ms-sun{position:absolute;border-radius:50%;transition:transform 1.8s ease,opacity 1.5s}.ms-moon{width:90px;height:90px;right:10%;bottom:150px;background:#f3f1d8;box-shadow:0 0 40px 10px #f3f1d840,inset -18px -6px #d9d6b5}.ms-sun{width:110px;height:110px;left:8%;bottom:140px;background:radial-gradient(#ffe39a,#f5a524);box-shadow:0 0 80px 30px #f5a52459;opacity:0;transform:translateY(260px)}.ms-sky[data-phase=day] .ms-moon{opacity:0;transform:translateY(260px)}.ms-sky[data-phase=day] .ms-sun{opacity:1;transform:none}.ms-hills{position:absolute;left:-10%;right:-10%;bottom:-40px;height:160px;border-radius:50% 50% 0 0;background:#0a0b1a;box-shadow:120px -30px 0 -10px #111329}.ms-sky[data-phase=day] .ms-hills{background:#1d2a2a;box-shadow:120px -30px 0 -10px #23332f}.ms-banner{position:fixed;inset:0;z-index:2147483500;display:grid;place-items:center;text-align:center;background:#050612c7;animation:ms-banner 2.4s ease forwards;cursor:pointer}.ms-banner.day{background:#3c280a8c}.ms-banner.wolf{background:#3c0000bf}.ms-banner b{display:block;font-size:46px;letter-spacing:.5px;text-shadow:0 4px 30px rgba(0,0,0,.6);animation:ms-zoom 2.4s ease forwards}.ms-banner small{display:block;font-size:18px;color:var(--muted);margin-top:6px}@keyframes ms-banner{0%{opacity:0}15%,75%{opacity:1}to{opacity:0;visibility:hidden}}@keyframes ms-zoom{0%{transform:scale(.85)}to{transform:scale(1.05)}}.ms-flash{position:fixed;inset:0;z-index:2147483400;pointer-events:none;box-shadow:inset 0 0 160px 60px #e5484dbf;animation:ms-flash 1.6s ease-out forwards}@keyframes ms-flash{0%{opacity:0}15%{opacity:1}to{opacity:0}}.ms-confetti{position:fixed;inset:0;z-index:2147483400;pointer-events:none;overflow:hidden}.ms-confetti i{position:absolute;top:-20px;width:8px;height:14px;border-radius:2px;animation:ms-fall linear forwards}@keyframes ms-fall{to{top:105%;transform:rotate(720deg) translate(40px)}}.ms-peek-role{animation:ms-flip .6s ease-out;border-radius:20px;padding:18px 10px}.ms-peek-role.wolf{background:radial-gradient(rgba(229,72,77,.35),transparent 70%)}.ms-peek-role.village{background:radial-gradient(rgba(47,182,124,.3),transparent 70%)}@keyframes ms-flip{0%{transform:perspective(600px) rotateY(90deg);opacity:0}}body.ms-nofx .ms-stars i,body.ms-nofx .ms-card.step.enter,body.ms-nofx .ms-peek-role{animation:none}@media(prefers-reduced-motion:reduce){.ms-stars i,.ms-card.step.enter,.ms-peek-role,.ms-banner b{animation:none}}.ms-art{display:block;flex-shrink:0;width:56px;height:56px;border-radius:13px;box-shadow:0 4px 14px #00000059}.ms-art.xs{display:inline-block;width:22px;height:22px;border-radius:6px;vertical-align:-6px;margin-right:5px;box-shadow:none}.ms-art.sm{width:38px;height:38px;border-radius:9px}.ms-art.title{width:64px;height:64px;border-radius:15px}.ms-art.big{width:min(220px,60vw);height:auto;aspect-ratio:1;border-radius:28px;margin:0 auto;box-shadow:0 10px 40px #00000080}.ms-roles li{grid-template-columns:56px 1fr;gap:12px;align-items:center;display:grid;background:var(--card2);border-radius:12px;padding:8px}.ms-roles li>div{display:grid;gap:2px}.ms-comp-info{display:flex;gap:10px;align-items:center}.ms-comp-info .ms-art{width:46px;height:46px;border-radius:11px}.ms-card.step h2.with-art{display:flex;align-items:center;gap:12px}.ms-role-tag{white-space:nowrap}.ms-grow{flex:1}.ms-peek-role{gap:10px}.ms-peek-back .ms-art{width:140px}.ms-left{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.ms-left span{background:var(--card2);border-radius:999px;padding:4px 10px 4px 6px;font-size:13.5px;font-weight:600}.ms-left span.done{opacity:.5}.ms-left span.bad{background:#e5484d40;color:#ff8a8d}.ms-assign{list-style:none;padding:0;margin:8px 0;display:grid;gap:8px}.ms-assign li{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;background:var(--card2);border-radius:12px;padding:8px 10px;border:2px solid transparent}.ms-assign li.set{border-color:#2fb67c73}.ms-assign b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ms-assign select{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:8px;font-size:16px;max-width:46vw}.ms-art-empty{width:38px;height:38px;border-radius:9px;display:grid;place-items:center;border:2px dashed var(--line);color:var(--muted);font-weight:800}
