:root{--bg: #121214;--panel: #1b1b1f;--line: #2c2c33;--fg: #ececef;--mute: #9a9aa5;--harm: #ff6b6b;--fire: #ffa94d;--build: #74c0fc;--gentle: #69db7c;--accent: #ffd43b;--mono: ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--fg);font-family:system-ui,-apple-system,Segoe UI,sans-serif}body{overscroll-behavior:none;-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit}.menu{max-width:560px;margin:0 auto;padding:max(20px,env(safe-area-inset-top)) 16px 40px}.menu h1{font-size:28px;margin:8px 0 2px;letter-spacing:-.02em}.menu .sub{color:var(--mute);margin:0 0 18px;font-size:14px;line-height:1.45}.scheme{display:block;width:100%;text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-bottom:10px;cursor:pointer}.scheme:active{border-color:var(--accent)}.scheme .row{display:flex;align-items:center;gap:10px}.scheme .tag{font-family:var(--mono);font-weight:700;background:var(--accent);color:#111;border-radius:6px;padding:1px 7px;font-size:13px}.scheme b{font-size:16px}.scheme p{margin:6px 0 0;color:var(--mute);font-size:13.5px;line-height:1.45}.scheme .stats{margin-top:6px;font-family:var(--mono);font-size:11.5px;color:var(--gentle)}.menu h2{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--mute);margin:24px 0 8px}.legend{display:grid;grid-template-columns:repeat(2,1fr);gap:4px 14px;font-size:13px;color:var(--mute)}.legend span{font-family:var(--mono);font-weight:700;display:inline-block;width:20px;text-align:center}.rules{font-size:13.5px;color:var(--mute);line-height:1.55;padding-left:18px;margin:0}.rules b{color:var(--fg);font-weight:600}.foot{margin-top:24px;font-size:11.5px;color:#5c5c66;font-family:var(--mono)}.game{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;touch-action:none;user-select:none;-webkit-user-select:none;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.bar{display:flex;align-items:center;gap:10px;padding:8px 12px;font-family:var(--mono);font-size:13px}.bar .stat{white-space:nowrap}.bar .hp{color:var(--harm)}.bar .food{color:var(--fire)}.bar .time{color:var(--mute);margin-left:auto}.bar .time.night{color:var(--build)}.bar .menu-btn{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:4px 10px;font-size:13px}.hands{display:flex;gap:6px;padding:0 12px 8px}.hand{flex:1;min-width:0;text-align:center;padding:7px 4px;border:1px solid var(--line);border-radius:9px;font-size:12.5px;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hand.on{border-color:var(--accent);color:var(--fg);background:#ffd43b1f;font-weight:600}.hand.empty{opacity:.45}.stage{flex:1;position:relative;min-height:0}canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.preview{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:8px 12px 4px;font-family:var(--mono);font-size:12px}.preview div{text-align:center;color:var(--mute);white-space:nowrap;overflow:hidden}.preview .harm{color:var(--harm)}.preview .fire{color:var(--fire)}.preview .build{color:var(--build)}.preview .gentle{color:var(--gentle)}.log{padding:4px 12px 6px;font-size:13px;line-height:1.4;min-height:58px}.log div{color:var(--mute)}.log div:last-child{color:var(--fg)}.hint{padding:0 12px 10px;font-size:11.5px;color:#6b6b76;font-family:var(--mono);display:flex;justify-content:space-between;gap:8px}.flash{position:absolute;top:0;right:0;bottom:0;left:0;background:#ff3c3c59;pointer-events:none;opacity:0;transition:opacity .25s}.flash.on{opacity:1;transition:none}.over{position:absolute;top:0;right:0;bottom:0;left:0;background:#0a0a0cd1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;gap:10px}.over h2{margin:0;font-size:26px}.over p{margin:0;color:var(--mute);font-size:14px;line-height:1.5;max-width:320px}.over .btns{display:flex;gap:10px;margin-top:10px}.over button{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 16px;font-size:15px}.over button.primary{background:var(--accent);color:#111;border-color:var(--accent);font-weight:600}.game{position:fixed}.play{flex:1;display:flex;flex-direction:column;min-height:0}.chip-status{font-size:11px;font-weight:700;padding:1px 7px;border-radius:999px}.chip-status:empty{display:none}.chip-status.cursed{background:#b197fc2e;color:#b197fc}.chip-status.wolf{background:#ff6b6b33;color:var(--harm)}.quick{display:flex;gap:6px;padding:6px 10px calc(10px + env(safe-area-inset-bottom))}.quick .slot{flex:1 1 0;min-width:0;height:52px;border-radius:12px;border:1px solid var(--line);background:var(--panel);font-size:12.5px;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 4px;position:relative;touch-action:manipulation}.quick .slot small{position:absolute;top:3px;left:6px;font-size:9.5px;color:var(--mute);font-family:var(--mono)}.quick .slot.on{border-color:var(--accent);background:#ffd43b24;font-weight:700}.quick .slot.spell{color:#ffc078}.quick .slot.empty{color:#55555f;font-size:18px;border-style:dashed}.quick .slot.act{flex:0 0 52px;color:var(--mute);font-size:13px}.quick .slot.act[data-a=more]{font-size:20px}.quick .slot.wolfslot{flex:4;color:var(--harm);border-color:#ff6b6b80;background:#ff6b6b14}.quick .slot:active{transform:scale(.97)}.sheet{position:absolute;left:8px;right:8px;bottom:calc(72px + env(safe-area-inset-bottom));max-height:62%;overflow-y:auto;background:#17171b;border:1px solid var(--line);border-radius:16px;padding:10px 14px 14px;box-shadow:0 -10px 40px #00000080;touch-action:pan-y}.sheet[hidden]{display:none}.shead{display:flex;align-items:center;gap:8px;position:sticky;top:-10px;background:#17171b;padding:4px 0 6px}.shead b{font-size:16px}.shead span{color:var(--mute);font-size:11.5px;flex:1}.shead button{background:none;border:0;font-size:18px;color:var(--mute);padding:4px 6px}.sheet h4{margin:12px 0 4px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--mute)}.sheet h4 span{text-transform:none;letter-spacing:0;font-weight:400;color:#6b6b76}.srow{display:flex;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--line)}.srow:first-of-type{border-top:0}.srow>div{flex:1;min-width:0}.srow b{font-size:14px}.srow p{margin:2px 0 0;font-size:12.5px;color:var(--mute);line-height:1.4}.srow button{flex:0 0 auto;background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:8px 12px;font-size:13px}.srow button:disabled{opacity:.4}.sheet .none{margin:2px 0;font-size:12.5px;color:#6b6b76}.quick .slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}.quick .slot .nm{max-width:100%;overflow:hidden;text-overflow:ellipsis}.quick .slot .ct{font-family:var(--mono);font-size:10.5px;color:var(--mute);font-weight:400}.bar .coins{color:var(--accent)}.bar .rain{color:var(--build)}.quick .slot.act.eat{color:var(--gentle);border-color:#69db7c80}.tabs{display:flex;gap:4px}.tabs button{background:none;border:1px solid var(--line);border-radius:8px;padding:4px 10px;font-size:14px;font-weight:600;color:var(--mute)}.tabs button.on{color:var(--fg);border-color:var(--accent)}.jrow{padding:7px 0;border-top:1px solid var(--line);font-size:13px;line-height:1.45}.jrow:first-child{border-top:0}.jrow span{display:inline-block;min-width:30px;font-family:var(--mono);font-size:11px;color:var(--mute)}.jrow em{display:block;font-style:normal;font-size:11.5px;color:#7c7c88;margin-left:30px}.over .facts{font-size:13px;color:var(--fg)}.over .story{text-align:left;max-width:340px;margin:4px 0 0;padding-left:18px;font-size:12.5px;color:var(--mute);line-height:1.5;max-height:38vh;overflow-y:auto}.over .story em{font-style:normal;color:#6b6b76}
