:root{--bg: #121311;--panel: #1b1d1a;--line: #2e322c;--text: #e6e3d8;--muted: #8f8d84;--accent: #c9a227;--danger: #d0543f;--ok: #7fa36b;--radius: 10px;font-family:IBM Plex Sans Thai,system-ui,sans-serif;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);line-height:1.6}#app{max-width:1080px;margin:0 auto;padding:16px}h1,h2,h3{line-height:1.25;margin:0 0 .5em}h1{font-size:clamp(1.8rem,5vw,2.8rem)}h2{font-size:1.3rem}h3{font-size:.95rem;margin-top:1.2em}button,select,input{font:inherit;color:inherit}button{cursor:pointer;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:.6em 1em;text-align:left}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button small{display:block;color:var(--muted);font-size:.8rem}button.primary{background:var(--accent);color:#17150e;border-color:var(--accent);font-weight:700}button.primary small{color:#3b3420}button.wide{width:100%;text-align:center;margin-top:1rem;padding:.8em}button.link{background:none;border:none;color:var(--muted);text-decoration:underline;padding:.3em}select{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:.3em .5em}.eyebrow{font-family:IBM Plex Mono,monospace;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;color:var(--accent);margin:0 0 .4em}.muted{color:var(--muted);font-weight:400}.danger{color:var(--danger)}.ok{color:var(--ok)}.lede{color:#c9c6ba;max-width:60ch}.fine{color:var(--muted);font-size:.8rem;margin-top:2rem}.start{padding:10vh 0 4vh}.start .actions{display:grid;gap:.75rem;max-width:460px;margin-top:2rem}.pick{display:grid;grid-template-columns:1fr auto;gap:.5rem}.pick select,#wall-region{border-radius:var(--radius);padding:.6em .8em;min-width:0}.dash .score dd{font-size:1.6rem;color:var(--accent)}.bars{display:grid;gap:.4rem}.bars .stat{grid-template-columns:minmax(0,14em) 1fr 3em}.bars .stat span{overflow:hidden;text-overflow:ellipsis}.bars .stat small{grid-column:1 / -1;margin-top:-.4rem;font-size:.75rem}.survivor{max-width:720px;margin:4vh auto;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:0 1.5rem 1.5rem}.survivor header{display:flex;justify-content:space-between;align-items:center;margin:0 -1.5rem 1.5rem;padding:.6rem 1.5rem;background:#5c2a22;color:#f4d9cf;border-radius:var(--radius) var(--radius) 0 0;font-weight:600}.survivor code{font-family:IBM Plex Mono,monospace;font-size:.8rem;opacity:.8}.survivor dl{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem 1.5rem;margin:1.5rem 0}.survivor dt,.score dt{font-size:.75rem;color:var(--muted)}.survivor dd,.score dd{margin:0;font-weight:600}.survivor .big{grid-column:1 / -1;border-top:1px solid var(--line);padding-top:1rem}.survivor .big dd{font-size:2rem;color:var(--accent)}.group{color:#c9c6ba}.top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;align-items:center;padding-bottom:.8rem;border-bottom:1px solid var(--line);margin-bottom:1rem}.util{display:flex;gap:.5rem;align-items:center}.util span{font-size:.8rem;padding:.1em .6em;border-radius:99px;background:#23331f;color:var(--ok)}.util span.off{background:#3a1d18;color:var(--danger);text-decoration:line-through}.util button{padding:.3em .8em}.util button.on{border-color:var(--accent);color:var(--accent)}.layout{display:grid;grid-template-columns:300px 1fr;gap:1.5rem;align-items:start}.status{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;font-size:.9rem}.status p{margin:.2em 0}.stat{display:grid;grid-template-columns:3em 1fr 2.2em;gap:.5rem;align-items:center;font-size:.85rem}.stat .track{height:8px;background:#2a2c28;border-radius:4px;overflow:hidden}.stat .track div{height:100%;background:var(--text);opacity:.75}.stat b{text-align:right;font-family:IBM Plex Mono,monospace;font-size:.8rem}.stat.bad span,.stat.bad b{color:var(--danger)}.stat.bad .track div{background:var(--danger);opacity:1}.alerts{list-style:none;padding:0;margin:.8rem 0 0;display:flex;flex-wrap:wrap;gap:.3rem}.alerts li{background:#3a1d18;color:#f0b3a6;border-radius:6px;padding:.1em .5em;font-size:.8rem}.inv,.members{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.3rem .9rem}.members{display:block}.focus-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem}.focus{min-height:92px;display:flex;flex-direction:column}.focus b{display:block}.focus i{margin-top:auto;padding-top:.3em;font-style:normal;font-size:.75rem;color:var(--accent)}.focus.on{border-color:var(--accent);background:#2a2614}.options{display:grid;gap:.5rem;margin-top:1rem}.check{display:flex;gap:.5rem;align-items:flex-start}.check.off{color:var(--muted)}.assign{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center}.event{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--radius);padding:1.5rem;overflow:hidden}.event.breach,.event.bite{border-left-color:var(--danger)}.event-text{font-size:1.15rem;margin:0 0 1.2rem}.choices{display:grid;gap:.6rem}.drop{display:grid;gap:.6rem;margin:1rem 0}.drop label{display:grid;grid-template-columns:1fr 2fr 5em;gap:.8rem;align-items:center}.drop input{accent-color:var(--accent)}.row{display:flex;gap:.6rem;justify-content:flex-end}.end .cause{font-size:1.2rem;color:var(--danger)}.end .cause.ok{color:var(--ok)}.score{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1.2rem 0}.timeline{padding-left:1.2rem;color:#c9c6ba}.timeline li{margin:.3em 0}.name{display:grid;gap:.3rem;font-size:.85rem;color:var(--muted)}.name input,textarea{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:.6em .8em;font-size:1rem;color:var(--text);width:100%;font-family:inherit}.badge{display:inline-block;font-size:.85rem;padding:.2em .8em;border-radius:99px;background:#2a2c28;color:var(--muted)}.badge.ranked{background:#2a2614;color:var(--accent)}.epitaph{color:#c9c6ba}blockquote.epitaph{margin:1rem 0;padding:.8rem 1rem;border-left:3px solid var(--line);background:var(--panel);border-radius:0 var(--radius) var(--radius) 0}.submit,.result{display:grid;gap:.4rem;margin:1rem 0}.submit button.wide{margin-top:.4rem}.tabs{display:flex;gap:.5rem;margin-bottom:1rem}.tabs .on{border-color:var(--accent);color:var(--accent)}.day-summary{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:.8rem 1rem;margin:1rem 0}.day-summary .chips{list-style:none;padding:0;margin:.4rem 0;display:flex;flex-wrap:wrap;gap:.35rem}.day-summary .chips li{border:1px solid var(--line);border-radius:999px;padding:.1rem .6rem;font-size:.85rem}.day-summary .chips li.ok{color:var(--ok)}.day-summary .chips li.danger{color:var(--danger)}.day-summary .events{margin:.4rem 0 0;padding-left:1.2rem;font-size:.9rem}.home-top{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem;margin-top:1.5rem}.home-top ol{margin:.4rem 0 0;padding-left:1.4rem}.home-top li{margin:.2em 0}.daily-hero{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;margin-bottom:1rem}.daily-hero h2,.daily-hero p{margin:.15em 0}.memorials{list-style:none;padding:0;margin:0;display:grid;gap:.8rem}.memorials>li{display:grid;grid-template-columns:2.5rem 1fr;gap:.8rem;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1rem}.memorials p{margin:.15em 0}.memorials .rank{font-family:IBM Plex Mono,monospace;font-size:1.4rem;color:var(--accent)}.memorials .days{color:var(--danger);font-weight:600}.memorials .epitaph{font-size:.9rem}.memorials .words{font-style:italic}.row-left{display:flex;gap:.6rem;align-items:center;margin-top:.5rem}.px{image-rendering:pixelated;flex-shrink:0}.ic{width:16px;height:16px;display:inline-block;vertical-align:-3px;margin-right:.35em}.ic-lg{width:32px;height:32px;display:block;margin-bottom:.3em}.scene{display:block;width:calc(100% + 3rem);max-width:none;height:auto;margin:-1.5rem -1.5rem 1.2rem;border-radius:var(--radius) var(--radius) 0 0}.scene.death{width:100%;margin:0 0 1rem;border:1px solid var(--line);border-radius:var(--radius)}.end.fresh .id-row,.end.fresh .cause,.end.fresh .share{animation:rise .9s ease-out 2.6s both}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.end.fresh .id-row,.end.fresh .cause,.end.fresh .share{animation:none}}.scene.home{width:100%;margin:0 0 1rem;border:1px solid var(--line);border-radius:var(--radius)}.id-row{display:flex;gap:1rem;align-items:center}.portrait-lg{width:112px;height:112px;border:1px solid var(--line);border-radius:8px;background:#23261f}.portrait-md{width:72px;height:72px;border-radius:6px;background:#23261f}.portrait-sm{width:48px;height:48px;border-radius:6px;background:#23261f}.faded{filter:grayscale(.85) brightness(.8)}.who{display:flex;gap:.7rem;align-items:center;margin-bottom:.8rem;line-height:1.3}.stat{grid-template-columns:4.6em 1fr 2.2em}.stat span{white-space:nowrap}.feed{margin-top:1.5rem;border-top:1px solid var(--line);padding-top:1rem}.feed ol{list-style:none;padding:0;margin:0;color:var(--muted);font-size:.9rem}.feed li.notable{color:var(--text)}.feed b{font-family:IBM Plex Mono,monospace;font-weight:500;font-size:.75rem;margin-right:.5em;color:var(--muted)}#toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,150%);visibility:hidden;background:var(--danger);color:#fff;padding:.6em 1.2em;border-radius:var(--radius);transition:transform .25s,visibility .25s;max-width:calc(100% - 32px)}#toast.show{transform:translate(-50%);visibility:visible}@media(max-width:760px){.layout{grid-template-columns:1fr}.layout .main{order:-1}.focus-grid,.survivor dl,.score{grid-template-columns:repeat(2,1fr)}.survivor{padding:0 1rem 1rem}.survivor header{margin:0 -1rem 1rem;padding:.6rem 1rem}.drop label{grid-template-columns:1fr 1fr}.drop label b{grid-column:2}.pick{grid-template-columns:1fr}.bars .stat{grid-template-columns:minmax(0,8em) 1fr 3em}}@media(prefers-reduced-motion:reduce){#toast{transition:none}}.note{font-size:.78rem;color:var(--muted);line-height:1.45;margin:-.2rem 0 .5rem}
