:root{--bg: #0a0f1d;--sky-top: #060a16;--sky-mid: #111a33;--sky-bot: #24305a;--panel: rgba(15, 21, 38, .86);--panel-solid: #131a2d;--panel-2: rgba(255, 255, 255, .045);--ink: #ece4cf;--ink-soft: #cbc2aa;--muted: #9b937f;--gold: #d9b45a;--gold-hi: #f3d98b;--gold-ink: #1d1609;--blood: #9e2a2f;--blood-hi: #d64a50;--line: rgba(217, 180, 90, .2);--line-strong: rgba(217, 180, 90, .55);--chip: rgba(255, 255, 255, .05);--chip-on: rgba(217, 180, 90, .18);--script-top: #f1e5c6;--script-bot: #e2cfa2;--script-ink: #2b2014;--shadow: 0 20px 50px rgba(0, 0, 0, .5);--t-lobos: #e0565c;--t-aldea: #8cc271;--t-ambiguo: #c9a2e0;--t-solitario: #74b9e0;--t-none: #8f8a7c;--land-far: #19213f;--land-mid: #121831;--land-village: #0b1022;--land-forest: #080c1a;--land-ground: #060912;--window: #f6c75e;--radius: 18px;color-scheme:dark}:root[data-phase=day]{--bg: #f4dfba;--sky-top: #f2a96b;--sky-mid: #f7cf96;--sky-bot: #fdeccc;--panel: rgba(255, 249, 236, .9);--panel-solid: #fff8ea;--panel-2: rgba(110, 70, 20, .05);--ink: #2b2016;--ink-soft: #4b3b28;--muted: #7d6b53;--gold: #a5761b;--gold-hi: #c99329;--gold-ink: #fffaf0;--line: rgba(120, 85, 30, .22);--line-strong: rgba(150, 105, 30, .6);--chip: rgba(110, 70, 20, .06);--chip-on: rgba(201, 147, 41, .2);--shadow: 0 20px 45px rgba(120, 70, 20, .22);--t-lobos: #b8333a;--t-aldea: #4e8a3a;--t-ambiguo: #8a55a8;--t-solitario: #2f7aa8;--land-far: #d39a68;--land-mid: #b37c4f;--land-village: #6e4b2c;--land-forest: #4f5934;--land-ground: #5f4a2c;--window: transparent;color-scheme:light}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);font-family:EB Garamond,Georgia,Times New Roman,serif;font-size:18px;line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh;transition:background 1.2s ease,color .6s ease}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:2px solid var(--gold-hi);outline-offset:2px}.scenery{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;pointer-events:none}.sky{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,var(--sky-top) 0%,var(--sky-mid) 45%,var(--sky-bot) 100%);transition:background 1.5s ease}.stars span{position:absolute;display:block;border-radius:50%;background:#fff7dc;animation:twinkle 3.6s ease-in-out infinite;transition:opacity 1.2s ease}.scenery.day .stars span{opacity:0!important;animation:none}@keyframes twinkle{0%,to{opacity:.25}50%{opacity:1}}.orb{position:absolute;top:7vh;right:9vw;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle at 38% 36%,#fffbe8,#f6e7b4 45%,#d9c589);box-shadow:0 0 60px 18px #f6e7b447,0 0 160px 60px #f6e7b41f;transition:all 1.5s ease}.orb:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:radial-gradient(circle at 30% 60%,rgba(160,140,90,.35) 0 9%,transparent 10%),radial-gradient(circle at 62% 30%,rgba(160,140,90,.3) 0 7%,transparent 8%),radial-gradient(circle at 66% 68%,rgba(160,140,90,.25) 0 11%,transparent 12%);transition:opacity 1s ease}.scenery.day .orb{top:12vh;width:130px;height:130px;background:radial-gradient(circle,#fff6d6,#ffd37a 55%,#f7a94b);box-shadow:0 0 80px 30px #ffc46480,0 0 200px 80px #ffc46440}.scenery.day .orb:after{opacity:0}.land{position:absolute;bottom:0;left:0;width:100%;height:42vh;min-height:220px}.land path,.land rect{transition:fill 1.5s ease}.hills-far{fill:var(--land-far)}.hills-mid{fill:var(--land-mid)}.village path,.village rect{fill:var(--land-village)}.windows rect{fill:var(--window);filter:drop-shadow(0 0 4px var(--window))}.forest path{fill:var(--land-forest)}.ground{fill:var(--land-ground)}.fog{position:absolute;left:-20%;right:-20%;bottom:0;height:30vh;background:radial-gradient(ellipse at 30% 100%,rgba(190,200,230,.16),transparent 60%),radial-gradient(ellipse at 75% 100%,rgba(190,200,230,.12),transparent 55%);animation:drift 26s ease-in-out infinite alternate}.scenery.day .fog{opacity:.4}@keyframes drift{0%{transform:translate(-4%)}to{transform:translate(4%)}}.app{max-width:820px;margin:0 auto;padding:18px 16px 120px}.brand{display:flex;align-items:center;gap:14px;margin:6px 0 18px}.brand-mark{width:56px;height:56px;flex:none;filter:drop-shadow(0 0 18px rgba(243,217,139,.35))}.brand-mark svg{width:100%;height:100%}.brand-moon{fill:var(--gold-hi)}.brand-wolf{fill:#141b2e}.brand-eye{fill:var(--blood-hi)}.brand h1{font-family:Cinzel Decorative,Cinzel,serif;font-size:clamp(28px,6vw,40px);margin:0;line-height:1;letter-spacing:.04em;background:linear-gradient(180deg,var(--gold-hi),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}.brand p{margin:4px 0 0;font-family:Cinzel,serif;font-size:13px;letter-spacing:.32em;text-transform:uppercase;color:var(--muted)}.credits{margin-top:40px;text-align:center;font-size:14px;color:var(--muted)}.panel,.step-card,.side-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(18px,4vw,30px);box-shadow:var(--shadow);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);position:relative}.panel:before,.step-card:before{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border:1px solid var(--line);border-radius:calc(var(--radius) - 6px);pointer-events:none}.side-card{margin-top:16px}.panel-title,.step-title,.section-title,.modal-head h2,.end-hero h2{font-family:Cinzel,serif;font-weight:700;letter-spacing:.02em}.panel-title{font-size:clamp(22px,4.5vw,28px);margin:0 0 6px;color:var(--gold-hi)}.section-title{font-size:15px;text-transform:uppercase;letter-spacing:.14em;color:var(--gold);margin:24px 0 10px}.lead{font-size:19px;color:var(--ink-soft);margin:0 0 16px}.muted{color:var(--muted)}.small{font-size:15px}.row{display:flex;align-items:center}.row.gap,.gap{gap:10px}.wrap{flex-wrap:wrap}.row-between{display:flex;justify-content:space-between;align-items:center;gap:10px}.actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:26px;flex-wrap:wrap}.link{background:none;border:0;color:var(--gold);text-decoration:underline;padding:4px}.btn{border-radius:999px;padding:11px 22px;border:1px solid transparent;font-family:Cinzel,serif;font-weight:700;font-size:15px;letter-spacing:.04em;transition:transform .12s ease,box-shadow .2s ease,background .2s ease,opacity .2s;display:inline-flex;align-items:center;gap:8px;justify-content:center;min-height:46px}.btn:active:not(:disabled){transform:translateY(1px) scale(.99)}.btn:disabled{opacity:.4}.btn-primary{background:linear-gradient(180deg,var(--gold-hi),var(--gold));color:var(--gold-ink);box-shadow:0 6px 20px #d9b45a47,inset 0 1px #fff6}.btn-primary:hover:not(:disabled){box-shadow:0 8px 28px #d9b45a73,inset 0 1px #fff6}.btn-ghost{background:var(--chip);border-color:var(--line-strong);color:var(--ink)}.btn-ghost:hover:not(:disabled){background:var(--chip-on)}.btn-danger{background:linear-gradient(180deg,var(--blood-hi),var(--blood));color:#fff4ee}.icon-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--chip);display:inline-grid;place-items:center;font-size:16px;flex:none}.icon-btn:disabled{opacity:.3}.icon-btn.danger:hover{background:#d64a5040}.pill{border-radius:999px;padding:6px 14px;border:1px solid var(--line-strong);background:var(--chip);font-size:15px}.pill.on{background:var(--chip-on);border-color:var(--gold);color:var(--gold-hi);font-weight:600}.input,.select{width:100%;padding:11px 14px;border-radius:12px;border:1px solid var(--line-strong);background:var(--panel-2);color:var(--ink);min-height:46px}.select{width:auto;min-width:150px}.select option{background:var(--panel-solid);color:var(--ink)}.input::placeholder{color:var(--muted)}.check{display:flex;gap:10px;align-items:center;margin:12px 0;font-size:17px}.check input{width:20px;height:20px;accent-color:var(--gold)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.form-grid label{display:grid;gap:6px;font-size:15px;color:var(--muted)}.form-grid .select{width:100%}.stepper{display:flex;list-style:none;padding:0;margin:0 0 16px;gap:6px}.stepper li{flex:1}.stepper button{width:100%;display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--muted)}.stepper li.on button{border-color:var(--gold);color:var(--gold-hi)}.stepper li.done button{color:var(--ink-soft)}.stepper-n{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;flex:none;border:1px solid currentColor;font-family:Cinzel,serif;font-size:13px}.stepper li.on .stepper-n{background:var(--gold);color:var(--gold-ink);border-color:var(--gold)}.stepper-label{font-family:Cinzel,serif;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 560px){.stepper li:not(.on) .stepper-label{display:none}.stepper li:not(.on){flex:0 0 auto}}.exp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.exp-card{text-align:left;display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"icon name year" "blurb blurb blurb" "check check check";gap:6px 10px;padding:16px;border-radius:16px;border:1px solid var(--line);background:var(--panel-2);transition:border-color .2s,background .2s,transform .15s}.exp-card:hover{transform:translateY(-2px)}.exp-card.on{border-color:var(--gold);background:var(--chip-on);box-shadow:0 0 0 1px var(--gold) inset,0 10px 30px #d9b45a1f}.exp-icon{grid-area:icon;font-size:30px;line-height:1}.exp-name{grid-area:name;font-family:Cinzel,serif;font-weight:700;font-size:18px;align-self:center}.exp-year{grid-area:year;color:var(--muted);font-size:14px;align-self:center}.exp-blurb{grid-area:blurb;color:var(--ink-soft);font-size:16px}.exp-check{grid-area:check;font-family:Cinzel,serif;font-size:13px;letter-spacing:.08em;color:var(--muted)}.exp-card.on .exp-check{color:var(--gold-hi)}.exp-card.locked{cursor:default}.toggles{display:grid;gap:10px}.toggle{display:flex;align-items:center;gap:14px;text-align:left;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:var(--panel-2)}.toggle-icon{font-size:24px}.toggle-text{flex:1;display:grid}.toggle-text small{color:var(--muted);font-size:15px;line-height:1.3}.switch{width:44px;height:26px;border-radius:999px;background:var(--chip);border:1px solid var(--line-strong);position:relative;flex:none;transition:background .2s}.switch:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--muted);transition:transform .2s,background .2s}.toggle.on .switch{background:var(--gold);border-color:var(--gold)}.toggle.on .switch:after{transform:translate(18px);background:var(--gold-ink)}.add-row{display:flex;gap:10px;margin-bottom:12px}.ghost-card{width:100%;text-align:left;padding:12px 14px;border-radius:14px;border:1px dashed var(--line-strong);background:transparent;color:var(--gold);margin-bottom:12px}.ghost-card small{color:var(--muted);display:block}.seat-list,.assign-list{list-style:none;padding:0;margin:0 0 12px;display:grid;gap:8px;counter-reset:none}.seat,.assign{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:14px;background:var(--panel-2);border:1px solid var(--line)}.seat-n{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex:none;font-family:Cinzel,serif;font-size:13px;background:var(--chip-on);color:var(--gold-hi)}.seat-name{flex:1;min-width:0;background:transparent;border:0;border-bottom:1px dashed transparent;padding:6px 2px;font-size:18px}.seat-name:focus{border-bottom-color:var(--line-strong);outline:none}.seat-tools{display:flex;gap:6px}.assign{flex-wrap:wrap;border-left:4px solid var(--team, var(--line))}.assign-name{flex:1;font-weight:600;min-width:100px}.assign-fields{display:flex;gap:8px;flex-wrap:wrap}.team-lobos{--team: var(--t-lobos)}.team-aldea{--team: var(--t-aldea)}.team-ambiguo{--team: var(--t-ambiguo)}.team-solitario{--team: var(--t-solitario)}.team-none{--team: var(--t-none)}.meter{position:relative;height:38px;border-radius:999px;background:var(--panel-2);border:1px solid var(--line);overflow:hidden;margin:10px 0 6px}.meter-bar{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#d9b45a59,#d9b45a99);transition:width .3s ease}.meter.ok .meter-bar{background:linear-gradient(90deg,#8cc27159,#8cc271a6)}.meter.over .meter-bar{background:linear-gradient(90deg,#d64a5066,#d64a50b3)}.meter-text{position:relative;display:block;text-align:center;line-height:36px;font-weight:600}.team-title{color:var(--team)}.role-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.role-tile{border-radius:14px;border:1px solid var(--line);background:var(--panel-2);display:grid;overflow:hidden;transition:border-color .2s,box-shadow .2s}.role-tile.on{border-color:var(--team);box-shadow:0 0 0 1px var(--team) inset;background:color-mix(in srgb,var(--team) 12%,transparent)}.role-tile-main{background:none;border:0;padding:12px 10px 6px;display:grid;justify-items:center;text-align:center;gap:2px}.role-tile-icon{font-size:32px;line-height:1.1}.role-tile-name{font-weight:600;line-height:1.15;font-size:16px}.role-tile-exp{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.role-tile-foot{display:flex;justify-content:space-between;align-items:center;padding:6px 8px 8px;gap:6px}.role-tile-foot .icon-btn{width:30px;height:30px;font-size:14px}.role-tile-foot .pill{padding:4px 10px;font-size:14px}.counter{display:inline-flex;align-items:center;gap:6px}.counter button{width:30px;height:30px;border-radius:50%;border:1px solid var(--line-strong);background:var(--chip);font-size:18px;line-height:1}.counter button:disabled{opacity:.3}.counter b{min-width:18px;text-align:center}.subpanel{margin-top:16px;padding:14px;border-radius:14px;border:1px solid var(--line);background:var(--panel-2)}.subpanel h4{margin:0 0 8px;font-size:17px}.subpanel .section-title{margin-top:0}.role-desc{font-size:19px}.reveal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:16px;background:radial-gradient(circle at 50% 30%,#1c2546,#05070e 70%)}.reveal-card{width:min(420px,100%);text-align:center;padding:32px 24px;border-radius:24px;background:var(--panel-solid);border:1px solid var(--line-strong);box-shadow:0 30px 80px #0009;display:grid;gap:14px;justify-items:center;animation:rise .35s ease}.reveal-card h2{font-family:Cinzel,serif;margin:0;color:var(--gold-hi)}.reveal-card.flipped{border-color:var(--team);box-shadow:0 0 0 1px var(--team),0 30px 80px #0009,0 0 60px color-mix(in srgb,var(--team) 30%,transparent)}.reveal-name{font-family:Cinzel Decorative,serif;font-size:36px;color:var(--ink)}.reveal-big{font-size:76px;line-height:1}@keyframes rise{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}.topbar{position:sticky;top:8px;z-index:20;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 10px 8px 14px;margin-bottom:14px;border-radius:18px;background:var(--panel);border:1px solid var(--line);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 10px 30px #00000040}.phase-pill{font-family:Cinzel,serif;font-weight:700;color:var(--gold-hi);white-space:nowrap}.alive-count{color:var(--ink-soft);font-size:16px;white-space:nowrap}.topbar-tools{margin-left:auto;display:flex;gap:2px}.tool{display:grid;justify-items:center;background:none;border:0;padding:4px 8px;border-radius:12px;line-height:1.1}.tool span{font-size:20px}.tool small{font-size:11px;color:var(--muted);font-family:Cinzel,serif;letter-spacing:.04em}.tool:hover:not(:disabled){background:var(--chip)}.tool:disabled{opacity:.35}@media (max-width: 520px){.topbar-tools{width:100%;justify-content:space-between;margin-left:0}}.trail{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px;justify-content:center}.trail-dot{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:16px;background:var(--panel);border:1px solid var(--line);opacity:.55;transition:all .25s}.trail-dot.done{opacity:.9;filter:grayscale(.6)}.trail-dot.on{opacity:1;border-color:var(--gold);box-shadow:0 0 0 3px #d9b45a40,0 0 20px #d9b45a66;transform:scale(1.12)}.trail-dot.dead{filter:grayscale(1)}.step-card{animation:rise .35s ease}.step-head{display:flex;align-items:center;gap:16px;margin-bottom:14px}.step-icon{width:66px;height:66px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:34px;background:radial-gradient(circle at 40% 35%,var(--chip-on),transparent 70%);border:1px solid var(--line-strong)}.step-kicker{margin:0;font-size:13px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-family:Cinzel,serif}.step-title{margin:2px 0 0;font-size:clamp(22px,5vw,30px);color:var(--gold-hi);line-height:1.15}.step-foot{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:22px}.step-foot .btn-primary{min-width:170px}.script{margin:14px 0;padding:16px 18px 14px;border-radius:6px 16px;position:relative;background:linear-gradient(180deg,var(--script-top),var(--script-bot));color:var(--script-ink);font-size:21px;line-height:1.45;box-shadow:0 8px 22px #00000040,inset 0 0 40px #8c64282e;border-left:4px solid #8a5f22}.script p{margin:0 0 6px}.script p:last-child{margin:0}.script em{color:#6b5232;font-size:17px}.script-label{display:block;font-family:Cinzel,serif;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#8a5f22;margin-bottom:4px}.note{padding:10px 14px;border-radius:12px;margin:12px 0;font-size:17px;border:1px solid var(--line);background:var(--panel-2)}.note-warn{border-color:#d64a5073;background:#d64a501a}.note-ghost{border-style:dashed;color:var(--muted)}.holder{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.holder{align-items:center}.holder-label{font-family:Cinzel,serif;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.holder-chip{padding:4px 12px;border-radius:999px;background:var(--chip-on);border:1px solid var(--line-strong);font-weight:600;font-size:16px}.holder-chip.dead{opacity:.5;text-decoration:line-through}.holder-chip.wolf{background:#d64a5029;border-color:#d64a5080}.identify{margin:12px 0;padding:12px;border-radius:14px;border:1px dashed var(--line-strong)}.identify h4{margin:0;font-size:17px}.identify .muted{margin:2px 0 8px;font-size:15px}.picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin:10px 0}.chip{text-align:left;padding:10px 12px;border-radius:14px;border:1px solid var(--line);background:var(--chip);display:grid;gap:1px;position:relative;transition:all .15s;min-height:58px}.chip:hover:not(.off){border-color:var(--line-strong)}.chip.on{border-color:var(--gold);background:var(--chip-on);box-shadow:0 0 0 2px var(--gold) inset}.chip.on:after{content:"✓";position:absolute;top:6px;right:10px;color:var(--gold-hi);font-weight:700}.chip.off{opacity:.42;cursor:not-allowed}.chip.wolfish .chip-role{color:var(--t-lobos)}.chip-name{font-weight:600;font-size:17px;line-height:1.2;padding-right:14px;overflow-wrap:anywhere}.chip-role{font-size:13px;color:var(--muted);line-height:1.2}.chip-why{font-size:12px;color:var(--blood-hi);font-style:italic}.chip-badges{font-size:13px;letter-spacing:2px;min-height:0}.choice{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:12px 0}.choice-opt{display:grid;gap:2px;justify-items:center;text-align:center;padding:14px 10px;border-radius:14px;border:1px solid var(--line);background:var(--chip);transition:all .15s}.choice-opt.on{border-color:var(--gold);background:var(--chip-on);box-shadow:0 0 0 2px var(--gold) inset}.choice-opt:disabled{opacity:.4}.choice-icon{font-size:28px;line-height:1.1}.choice-label{font-weight:600}.choice-hint{font-size:13px;color:var(--muted);line-height:1.2}.verdict{display:grid;justify-items:center;text-align:center;gap:4px;padding:18px;border-radius:16px;margin:14px 0;border:1px solid var(--line-strong);background:var(--panel-2)}.verdict.yes{border-color:#d64a5099;background:#d64a501f}.verdict.no{border-color:#8cc27180;background:#8cc2711a}.verdict-big{font-family:Cinzel,serif;font-size:34px;font-weight:700}.verdict small{color:var(--muted);font-size:15px}.reveal-inline{display:flex;align-items:center;gap:14px;padding:14px;border-radius:16px;border:1px solid var(--gold);background:var(--chip-on);margin:12px 0;animation:rise .3s ease}.reveal-inline-icon{font-size:46px}.reveal-inline p{margin:0}.reveal-inline strong{font-size:22px;font-family:Cinzel,serif;color:var(--gold-hi)}.potions{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}.potion{padding:6px 12px;border-radius:999px;border:1px solid var(--line-strong);background:var(--chip);font-size:15px}.potion.used{opacity:.45;text-decoration:line-through}.call-list{columns:2 200px;padding-left:22px;margin:0}.call-list li{margin:2px 0;break-inside:avoid}.call-list li.dead{opacity:.5}.summary{list-style:none;padding:0;margin:0;display:grid;gap:6px}.summary li{padding:8px 12px;border-radius:12px;background:var(--panel-2)}.summary li:empty{display:none}.deaths{list-style:none;padding:0;margin:12px 0;display:grid;gap:10px}.deaths li{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:14px;border:1px solid rgba(214,74,80,.45);background:#d64a501a;animation:rise .4s ease both}.deaths li:nth-child(2){animation-delay:.12s}.deaths li:nth-child(3){animation-delay:.24s}.death-icon{font-size:34px}.deaths div{display:grid}.deaths strong{font-size:20px}.deaths small{color:var(--muted)}.reminders{margin:10px 0;padding-left:0;list-style:none;display:grid;gap:6px}.reminders li{padding:6px 12px;border-radius:10px;background:var(--panel-2);font-size:16px}.result-log{list-style:none;padding:0;display:grid;gap:8px}.result-log li{padding:10px 14px;border-radius:12px;background:var(--panel-2);border:1px solid var(--line)}.timer{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin:14px 0;padding:14px;border-radius:16px;background:var(--panel-2);border:1px solid var(--line)}.timer-face{width:108px;height:108px;border-radius:50%;display:grid;place-items:center;flex:none;background:conic-gradient(var(--gold) var(--p),var(--chip) 0)}.timer-face span{width:88px;height:88px;border-radius:50%;background:var(--panel-solid);display:grid;place-items:center;font-family:Cinzel,serif;font-size:24px;font-weight:700}.timer.over .timer-face span{color:var(--blood-hi);animation:pulse 1s ease-in-out infinite}@keyframes pulse{50%{transform:scale(1.06)}}.timer-controls{display:grid;gap:10px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#03050c9e;display:grid;place-items:center;padding:16px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade .2s ease}@keyframes fade{0%{opacity:0}}.modal{width:min(560px,100%);max-height:calc(100vh - 32px);overflow:auto;border-radius:20px;background:var(--panel-solid);border:1px solid var(--line-strong);box-shadow:0 30px 80px #0000008c;animation:rise .25s ease}.modal.wide{width:min(760px,100%)}.modal-head{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px 18px;background:var(--panel-solid);border-bottom:1px solid var(--line)}.modal-head h2{margin:0;font-size:21px;color:var(--gold-hi);display:flex;gap:10px;align-items:center}.modal-icon{font-size:26px}.modal-body{padding:16px 18px 20px}.modal-body>p:first-child{margin-top:0}.menu{display:grid;gap:10px}.village{list-style:none;padding:0;margin:0;display:grid;gap:6px}.villager{width:100%;display:flex;align-items:center;gap:12px;text-align:left;padding:8px 12px;border-radius:14px;border:1px solid var(--line);background:var(--panel-2)}.villager:hover{border-color:var(--line-strong)}.villager.dead{opacity:.5}.villager.dead strong{text-decoration:line-through}.villager.wolfish{border-left:3px solid var(--t-lobos)}.villager-icon{font-size:24px}.villager-main{flex:1;display:grid;min-width:0}.villager-main small{color:var(--muted);font-size:14px}.villager-badges{letter-spacing:2px}.status-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.status-grid span{padding:6px 12px;border-radius:999px;background:var(--panel-2);border:1px solid var(--line);font-size:14px}.flag-grid{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.role-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.role-pick-opt{text-align:left;padding:10px;border-radius:12px;border:1px solid var(--line);background:var(--chip)}.role-pick-opt.on{border-color:var(--gold);background:var(--chip-on)}.role-pick-opt.dim{opacity:.55}.chronicle section{margin-bottom:14px}.chronicle h4{font-family:Cinzel,serif;color:var(--gold);margin:0 0 6px;font-size:15px;letter-spacing:.1em;text-transform:uppercase}.chronicle ul{list-style:none;margin:0;padding:0 0 0 12px;border-left:2px solid var(--line);display:grid;gap:4px}.log-death{color:var(--blood-hi);font-weight:600}.log-secret{color:var(--muted);font-style:italic}.log-event{color:var(--gold-hi)}.log-phase{font-family:Cinzel,serif;font-size:15px}.grimoire{display:grid;gap:10px;margin-top:12px}.grim{display:flex;gap:14px;padding:12px;border-radius:14px;background:var(--panel-2);border:1px solid var(--line);border-left:4px solid var(--team, var(--line))}.grim-icon{font-size:32px}.grim h4{margin:0;font-family:Cinzel,serif}.grim p{margin:2px 0}.role-tag{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;border:1px solid var(--team);color:var(--team);font-size:15px;font-weight:600}.role-tag.small{font-size:13px;padding:2px 8px}.building-tag{font-size:13px;padding:2px 8px;border-radius:999px;background:var(--chip);border:1px solid var(--line)}.end-hero{text-align:center;display:grid;justify-items:center;gap:6px}.end-icon{font-size:80px;line-height:1;filter:drop-shadow(0 0 24px rgba(243,217,139,.45));animation:rise .5s ease}.end-hero h2{font-size:clamp(26px,6vw,38px);color:var(--gold-hi);margin:6px 0 0}.reveal-list{list-style:none;padding:0;display:grid;gap:6px}.reveal-list li{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 12px;border-radius:12px;background:var(--panel-2)}.reveal-list li.dead{opacity:.6}.reveal-list strong{flex:1;min-width:100px}.reveal-list-icon{font-size:22px}@media (max-width: 480px){body{font-size:17px}.script{font-size:19px}.picker,.role-grid{grid-template-columns:repeat(2,1fr)}.step-icon{width:54px;height:54px;font-size:28px}.actions .btn,.step-foot .btn{flex:1}.orb{width:80px;height:80px;right:6vw}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
