@font-face{font-family:Pixelify Sans;src:url(/fonts/pixelify-sans.woff2)format("woff2");font-weight:400 700;font-style:normal;font-display:block}:root{--px:3px;--plum:#1c1424;--slab:#463f52;--slab-hover:#534b60;--slab-lit:#655d74;--slab-deep:#2f2939;--bone:#ece7f5;--bone-lit:#fff;--bone-deep:#bdb6ca;--bone-dim:#bdb6ca;--moss:#a3c27a;--moss-deep:#7f9a5c;--soul:#d4344a;--soul-body:#5a1230;--ember:#ff6b5e;--shade:#1c142480;--ink:#15121f;--font:"Pixelify Sans", ui-sans-serif, system-ui, sans-serif}html,body{background:var(--ink);min-height:100%;color:var(--bone);font:16px/1.4 var(--font), sans-serif;-webkit-font-smoothing:antialiased;margin:0}a{color:var(--bone);text-decoration-thickness:var(--px);text-underline-offset:var(--px)}a:hover{color:var(--moss)}.game-canvas~:not(.debug-panel),.title-screen,.coop-message{zoom:var(--ui,1)}.game-canvas{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;width:100%;height:100%;display:block;position:fixed;inset:0}:root[data-portrait] .game-canvas{width:min(100vw,56.25vh);height:min(100vh,177.778vw);margin:auto;inset:0}.slab{--lip-top:var(--slab-lit);--lip-bottom:var(--slab-deep);--rise:calc(2 * var(--px));color:var(--bone);background:var(--slab);box-shadow:inset 0 var(--px) 0 var(--lip-top), inset 0 calc(-1 * var(--px)) 0 var(--lip-bottom), 0 calc(-1 * var(--px)) 0 var(--plum), 0 var(--px) 0 var(--plum), calc(-1 * var(--px)) 0 0 var(--plum), var(--px) 0 0 var(--plum), 0 var(--rise) 0 var(--shade);border:0;border-radius:0}.slab-button{font:inherit;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none}.slab-button:not(:disabled):hover{background:var(--slab-hover)}.slab-button:not(:disabled):active{--rise:var(--px);transform:translateY(var(--px))}.slab-button:disabled{--lip-top:var(--slab-deep);--lip-bottom:var(--slab-deep);--rise:var(--px);cursor:default;color:var(--bone-dim);background:var(--slab-deep)}.slab-bone{--lip-top:var(--bone-lit);--lip-bottom:var(--bone-deep);color:var(--plum);background:var(--bone)}.slab-bone.slab-button:not(:disabled):hover{background:var(--bone-lit)}.slab-ready{--lip-top:var(--moss)}.slab-button:focus-visible,.cycle-page a:focus-visible,.proposal-form textarea:focus-visible{outline:var(--px) dashed var(--bone);outline-offset:calc(2 * var(--px))}.key-cap{min-width:calc(6 * var(--px));padding:0 calc(2 * var(--px));font:inherit;font-weight:700;line-height:calc(8 * var(--px));text-align:center;color:var(--plum);background:var(--bone);box-shadow:inset 0 calc(-1 * var(--px)) 0 var(--bone-deep), 0 calc(-1 * var(--px)) 0 var(--plum), 0 var(--px) 0 var(--plum), calc(-1 * var(--px)) 0 0 var(--plum), var(--px) 0 0 var(--plum);display:inline-block}.pips{gap:var(--px);vertical-align:middle;display:inline-flex}.pips>span{width:calc(3 * var(--px));height:calc(3 * var(--px));background:var(--slab-deep);box-shadow:inset 0 0 0 var(--px) var(--plum)}.pips>span[data-on]{background:var(--soul)}.pixel-sprite{vertical-align:middle;shape-rendering:crispedges;flex:none;display:inline-block}.pixel-title,.cycle-page h1{text-shadow:var(--px) 0 0 var(--plum), calc(-1 * var(--px)) 0 0 var(--plum), 0 var(--px) 0 var(--plum), 0 calc(-1 * var(--px)) 0 var(--plum), var(--px) var(--px) 0 var(--plum), calc(-1 * var(--px)) var(--px) 0 var(--plum), var(--px) calc(-1 * var(--px)) 0 var(--plum), calc(-1 * var(--px)) calc(-1 * var(--px)) 0 var(--plum), 0 calc(3 * var(--px)) 0 var(--shade);margin:0;font-weight:700;line-height:1}.debug-panel{pointer-events:none;scrollbar-width:none;flex-direction:column;align-items:start;gap:8px;max-height:calc(100vh - 16px);display:flex;position:fixed;top:8px;left:8px;overflow-y:auto}.debug-buttons.debug-chips{flex-flow:wrap;max-width:260px}.debug-overlay{color:var(--bone);pointer-events:none;background:#15121f99;margin:0;padding:6px 8px;font:11px/1.4 ui-monospace,Menlo,monospace}.debug-buttons{pointer-events:auto;flex-direction:column;align-items:start;gap:4px;display:flex}.debug-button{color:var(--bone);cursor:pointer;background:#15121f99;border:1px solid #ece7f540;padding:6px 10px;font:11px/1.4 ui-monospace,Menlo,monospace}.debug-button[aria-pressed=false]{opacity:.45}.debug-button:hover{background:#15121fd9}:root[data-hud-hidden] :is(.souls-counter,.weapon-bar,.bomb-chip,.dash-button,.build-open,.dash-cooldown,.switch-prompt,.hint-popup,.hidden-tag,.ready-edge){display:none}.hint-popup{top:calc(19px + env(safe-area-inset-top,0px));box-sizing:border-box;align-items:center;gap:calc(4 * var(--px));width:fit-content;max-width:400px;padding:calc(3 * var(--px)) calc(5 * var(--px)) calc(3 * var(--px)) calc(4 * var(--px));pointer-events:none;touch-action:none;-webkit-user-select:none;user-select:none;margin:0 auto;animation:.2s steps(3,end) hint-in;display:flex;position:fixed;left:19px;right:19px}.hint-text{text-wrap:balance;margin:0;font-size:16px;line-height:1.25}.hint-title{font-weight:700;display:block}@media (max-width:720px){.hint-popup{top:calc(110px + env(safe-area-inset-top,0px))}}@keyframes hint-in{0%{transform:translateY(calc(-4 * var(--px)))}}.souls-counter{top:calc(19px + env(safe-area-inset-top,0px));align-items:center;column-gap:calc(3 * var(--px));row-gap:calc(2 * var(--px));padding:calc(3 * var(--px)) calc(3 * var(--px)) calc(3 * var(--px)) calc(4 * var(--px));text-align:right;grid-template-columns:auto auto;display:grid;position:fixed;right:19px}.souls-text{line-height:1;display:grid}.souls-count{font-variant-numeric:tabular-nums;font-size:24px;font-weight:700;animation:.15s steps(2,end) souls-pop}.souls-next{margin-top:var(--px);color:var(--bone-dim);white-space:nowrap;font-size:12px}.souls-counter.slab-ready .souls-next{color:var(--moss);font-weight:700}.souls-bar{gap:var(--px);height:calc(2 * var(--px));grid-column:1/-1;grid-template-columns:repeat(10,1fr);display:grid}.souls-bar>span{background:var(--slab-deep)}.souls-bar>span[data-on]{background:var(--soul)}.souls-counter.slab-ready .souls-bar>span[data-on]{background:var(--moss)}@keyframes souls-pop{0%{transform:translateY(calc(-1 * var(--px)))}}.dash-cooldown{top:calc(19px + env(safe-area-inset-top,0px));transform:translate(calc(20 * var(--px)), 0);padding:calc(2 * var(--px)) calc(4 * var(--px));color:var(--bone-dim);text-align:center;white-space:nowrap;pointer-events:none;margin:0;font-size:16px;font-weight:700;position:fixed;left:50%}@media (max-width:720px){.dash-cooldown{top:calc(110px + env(safe-area-inset-top,0px))}}.hidden-tag{padding:calc(2 * var(--px)) calc(4 * var(--px));color:var(--bone-dim);white-space:nowrap;pointer-events:none;margin:0;font-size:16px;animation:.15s steps(2,end) switch-in;position:fixed;top:calc(50% + 40px);left:50%;transform:translate(-50%)}.switch-prompt{align-items:center;gap:calc(3 * var(--px));box-sizing:border-box;min-height:44px;padding:calc(2 * var(--px)) calc(4 * var(--px)) calc(2 * var(--px)) calc(3 * var(--px));white-space:nowrap;font-size:16px;animation:.15s steps(2,end) switch-in;display:flex;position:fixed;top:calc(50% + 40px);left:50%;transform:translate(-50%)}.switch-versus{color:var(--bone-dim);font-size:12px}.switch-versus[data-verdict=stronger]{color:var(--moss)}.switch-versus[data-verdict=weaker]{color:var(--soul)}.switch-uses{color:var(--bone-dim);font-size:13px}.weapon-bar{left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));gap:calc(3 * var(--px));max-width:calc(100vw - 32px);display:flex;position:fixed;transform:translate(-50%)}.bomb-chip{left:calc(19px + env(safe-area-inset-left,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));align-items:center;gap:calc(3 * var(--px));box-sizing:border-box;min-height:44px;padding:calc(2 * var(--px)) calc(3 * var(--px));font:inherit;color:var(--bone);font-size:14px;animation:.15s steps(2,end) switch-in;display:flex;position:fixed}.bomb-chip[data-touch]{bottom:calc(92px + env(safe-area-inset-bottom,0px));left:calc(12px + env(safe-area-inset-left,0px));z-index:1}.bomb-count{font-weight:700}.bomb-max{color:var(--bone-dim);font-weight:400}.bomb-levels{gap:var(--px);display:flex}.bomb-levels i{width:calc(2 * var(--px));height:calc(4 * var(--px));background:var(--slab-deep);outline:var(--px) solid var(--plum)}.bomb-levels i[data-on]{background:var(--bone)}.bomb-keys{gap:calc(1 * var(--px));display:flex}.weapon-card{gap:calc(1 * var(--px));box-sizing:border-box;width:150px;min-height:56px;padding:calc(2 * var(--px)) calc(3 * var(--px));font:inherit;text-align:left;color:var(--bone);cursor:default;flex-direction:column;font-size:13px;animation:.15s steps(2,end) switch-in;display:flex}.weapon-card .found-name{gap:calc(2 * var(--px));justify-content:flex-start}.weapon-card .found-level{margin-left:auto}.weapon-card[data-low] .found-uses{color:var(--soul)}@media (max-width:480px){.weapon-bar{gap:calc(2 * var(--px))}.weapon-card{width:124px}}.found-name,.found-uses{justify-content:space-between;align-items:center;margin:0;font-weight:700;display:flex}.found-uses{color:var(--bone-dim);font-weight:400}.switch-prompt .key-cap{background:var(--moss);box-shadow:inset 0 calc(-1 * var(--px)) 0 var(--moss-deep), 0 calc(-1 * var(--px)) 0 var(--plum), 0 var(--px) 0 var(--plum), calc(-1 * var(--px)) 0 0 var(--plum), var(--px) 0 0 var(--plum)}.switch-prompt:not(:disabled):active{transform:translate(-50%, var(--px))}.ready-edge{pointer-events:none;animation:1.6s ease-in-out infinite ready-breathe;position:fixed;inset:0}.ready-edge:before,.ready-edge:after{content:"";width:min(220px,20vw);position:absolute;top:0;bottom:0}.ready-edge:before{background:linear-gradient(90deg,#ffd166bf,#ffd16600);left:0}.ready-edge:after{background:linear-gradient(270deg,#ffd166bf,#ffd16600);right:0}@keyframes ready-breathe{0%,to{opacity:.45}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.ready-edge{animation:none}}.dash-button{left:calc(12px + env(safe-area-inset-left,0px));bottom:calc(24px + env(safe-area-inset-bottom,0px));min-width:44px;min-height:44px;padding:calc(3 * var(--px)) calc(6 * var(--px));z-index:1;font-size:16px;position:fixed}@keyframes switch-in{0%{transform:translate(-50%, var(--px))}}.pause-screen{padding:16px 19px calc(28px + env(safe-area-inset-bottom,0px));touch-action:none;-webkit-user-select:none;user-select:none;background:linear-gradient(#15121f00 35%,#15121f99);flex-direction:column;justify-content:end;align-items:center;display:flex;position:fixed;inset:0}.pause-screen[data-place=dock]{pointer-events:none;z-index:6;background:0 0;justify-content:center;align-items:flex-end;padding:16px 24px}.pause-screen[data-place=dock]>.pause-panel{pointer-events:auto;width:min(34vw,420px)}@media (max-width:760px){.pause-screen[data-place=dock]{justify-content:flex-end;align-items:center}.pause-screen[data-place=dock]>.pause-panel{width:min(94vw,420px)}}.pause-screen[data-place=centre]{justify-content:center}.pause-status{align-items:center;gap:calc(2 * var(--px));text-align:center;flex-direction:column;display:flex}.pause-panel{align-items:center;gap:calc(4 * var(--px));box-sizing:border-box;width:min(600px,100%);padding:calc(5 * var(--px)) calc(5 * var(--px)) calc(6 * var(--px));flex-direction:column;display:flex}.pause-title{letter-spacing:.08em;padding-left:.08em;font-size:40px}.pause-weapon{align-items:center;gap:calc(3 * var(--px));margin:0;font-size:24px;font-weight:700;display:flex}.pause-souls,.pause-key{align-items:center;gap:calc(2 * var(--px));text-align:center;margin:0;display:flex}.pause-souls strong{margin-right:calc(2 * var(--px));font-size:20px}.pause-key{color:var(--bone-dim);font-size:12px}.upgrade-list{gap:calc(4 * var(--px));width:100%;padding:0 var(--px);box-sizing:border-box;grid-template-columns:repeat(3,1fr);display:grid}.upgrade-list[data-count="4"]{grid-template-columns:repeat(2,1fr)}.loot-choices{gap:calc(4 * var(--px));grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.loot-choices>button{min-height:52px;padding:calc(4 * var(--px))}.upgrade{align-items:center;gap:calc(2 * var(--px));min-height:44px;padding:calc(4 * var(--px)) calc(3 * var(--px));flex-direction:column;display:flex}.pause-panel>.upgrade{box-sizing:border-box;width:100%}.upgrade-name{font-size:16px;font-weight:700}.upgrade-description{text-align:center;color:var(--bone-dim);font-size:13px;line-height:1.25}.upgrade:disabled .upgrade-description{color:#8f879e}.character-tile{align-items:center;gap:var(--px);min-width:44px;padding:calc(3 * var(--px));color:var(--bone-dim);flex-direction:column;display:flex;position:relative}.character-tile[aria-pressed=true]{--lip-top:var(--slab-deep);--lip-bottom:var(--slab-lit);--rise:0px;transform:translateY(var(--px));background:var(--slab-deep);color:var(--bone);cursor:default}.character-tile[aria-disabled]{opacity:.8}.character-tile[data-looking]:not([aria-pressed=true]) .portrait{outline-color:var(--bone-dim)}.portrait{width:64px;height:64px;image-rendering:pixelated;background:var(--slab-deep);outline:var(--px) solid var(--plum)}.portrait[data-locked]{filter:brightness(0)invert(.5)}.character-words{align-items:flex-start;gap:calc(2 * var(--px));text-align:left;flex-direction:column;min-width:0;display:flex}.character-name{margin:0;font-size:24px;font-weight:700}.character-gain{color:var(--bone)}.unlock-bar{gap:var(--px);width:100%;display:flex}.unlock-bar i{height:calc(3 * var(--px));background:var(--slab-deep);outline:var(--px) solid var(--plum);flex:1}.unlock-bar i[data-on]{background:var(--bone-dim)}.character-line{margin:0}.character-weakness{color:var(--bone-dim)}.pause-found{text-align:center;color:var(--bone-dim);margin:0;font-size:13px}.pause-drop-weapon{min-width:132px;min-height:44px;padding:calc(2 * var(--px)) calc(4 * var(--px))}.difficulty{justify-content:center;align-items:center;gap:calc(3 * var(--px));flex-wrap:wrap;display:flex}.difficulty-label{margin-right:var(--px);color:var(--bone-dim)}.difficulty-choice{min-width:44px;min-height:44px;padding:calc(2 * var(--px)) calc(4 * var(--px));color:var(--bone-dim)}.difficulty-choice[aria-pressed=true],.difficulty-choice[aria-selected=true],.upgrade[aria-pressed=true]{--lip-top:var(--slab-deep);--lip-bottom:var(--slab-lit);--rise:0px;transform:translateY(var(--px));color:var(--bone);background:var(--slab-deep);cursor:default;font-weight:700}.difficulty-choice[data-locked]{opacity:.45;cursor:not-allowed}.difficulty-lock{text-align:center;color:var(--bone-dim);flex-basis:100%;margin:0}.pause-tabs{justify-content:center;gap:calc(3 * var(--px));flex-wrap:wrap;width:100%;display:flex}.pause-tab{min-width:44px;position:relative}.tab-dot{top:calc(-2 * var(--px));right:calc(-2 * var(--px));width:calc(3 * var(--px));height:calc(3 * var(--px));background:var(--moss);outline:var(--px) solid var(--plum);position:absolute}.pause-body{align-items:center;gap:calc(4 * var(--px));box-sizing:border-box;flex-direction:column;width:100%;min-height:320px;display:flex}.sound-controls{align-items:center;gap:calc(4 * var(--px));width:100%;padding-top:calc(4 * var(--px));flex-direction:column;display:flex}.sound-volume{align-items:center;gap:calc(3 * var(--px));width:100%;max-width:440px;display:flex}.sound-step{min-width:44px;min-height:44px;font-size:24px;line-height:1}.sound-blocks{gap:var(--px);flex:1;display:flex}.sound-block{background:var(--slab-deep);border:var(--px) solid var(--plum);cursor:pointer;flex:1;min-height:44px;padding:0}.sound-block[data-on]{background:var(--bone)}.sound-volume[data-muted] .sound-block[data-on]{background:var(--bone-dim);opacity:.4}.sound-block:focus-visible{outline:var(--px) dashed var(--bone);outline-offset:calc(2 * var(--px))}.sound-level{color:var(--bone-dim);margin:0}.pause-resume,.death-respawn{min-width:44px;min-height:44px;margin-top:var(--px);padding:calc(3 * var(--px)) calc(10 * var(--px));letter-spacing:.08em;font-size:20px;font-weight:700}@media (max-width:480px){.pause-panel{gap:calc(3 * var(--px));padding:calc(4 * var(--px)) calc(3 * var(--px)) calc(5 * var(--px))}.pause-title{font-size:32px}.upgrade-list{gap:calc(3 * var(--px));grid-template-columns:1fr}.upgrade{align-items:center;gap:var(--px) calc(3 * var(--px));padding:calc(2 * var(--px)) calc(4 * var(--px)) calc(3 * var(--px));text-align:left;grid-template-columns:1fr auto;display:grid}.upgrade-description{text-align:left;grid-column:1/-1}}.death-screen{place-content:center;justify-items:center;gap:calc(4 * var(--px));touch-action:none;-webkit-user-select:none;user-select:none;background:radial-gradient(#28030826,#18020599);padding:16px;animation:.3s steps(3,end) death-screen-in;display:grid;position:fixed;inset:0;overflow:auto}.death-next{margin:0;font-size:18px;font-weight:700}.feats{text-align:left;flex-direction:column;gap:12px;width:min(100%,560px);display:flex}.feats-title{margin:0 0 4px;font-size:14px}.feats-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.feat{grid-template-columns:1fr auto;align-items:center;gap:2px 8px;display:grid}.feat-name{font-weight:700}.feat[data-done] .feat-name{opacity:.6}.feat-goal,.feat-count{font-size:13px}.feat-count{justify-self:end}.death-pick{flex-direction:column;align-items:center;gap:8px;padding:10px 14px;display:flex}.death-pick p{margin:0;font-weight:700}.death-new{flex-direction:column;align-items:center;gap:8px;padding:10px 14px;display:flex}.death-new p{margin:0;font-weight:700}.death-new-buttons{gap:8px;display:flex}.death-upgrades{width:min(100%,720px)}.death-upgrades .upgrade-list{grid-template-columns:repeat(3,minmax(0,1fr))}.death-difficulty{justify-content:center;width:min(100%,520px);display:flex}.death-title{color:var(--soul);letter-spacing:.12em;padding-left:.12em;font-size:clamp(40px,11vw,72px)}.death-cause{color:var(--bone);letter-spacing:.04em;margin:0;font-size:18px}.death-recap{justify-items:center;gap:2px;display:grid}.death-recap p{color:var(--bone-dim);letter-spacing:.03em;margin:0;font-size:14px}.death-recap .death-lost{color:var(--soul)}.death-days{color:var(--bone-dim);letter-spacing:.04em;margin:0;font-size:16px}@media (max-width:480px){.death-screen{place-content:start center;gap:calc(3 * var(--px));padding:max(12px, env(safe-area-inset-top,0px)) 12px max(16px, env(safe-area-inset-bottom,0px));touch-action:pan-y}.death-upgrades .upgrade-list{grid-template-columns:1fr}.character-words{text-align:center;align-items:center}.death-difficulty{width:100%;position:static}.death-difficulty .difficulty-choice{padding-left:calc(2 * var(--px));padding-right:calc(2 * var(--px))}}@keyframes death-screen-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.hint-popup,.souls-count,.switch-prompt,.weapon-card,.bomb-chip,.hidden-tag,.dash-cooldown,.death-screen{animation:none}}.cycle-page{max-width:640px;margin:0 auto;padding:32px 19px 64px}.cycle-page h1{margin:calc(8 * var(--px)) 0 calc(4 * var(--px));font-size:32px;line-height:1.15}.cycle-nav{margin:0;font-size:16px}.cycle-muted,.cycle-footnote{color:var(--bone-dim);font-size:14px}.cycle-footnote{margin-top:48px}.proposal-form{gap:calc(5 * var(--px));margin:calc(8 * var(--px)) var(--px) calc(3 * var(--px));display:grid}.proposal-form textarea{box-sizing:border-box;width:100%;padding:calc(3 * var(--px));font:inherit;color:var(--bone);background:var(--slab-deep);box-shadow:inset 0 var(--px) 0 var(--plum), 0 calc(-1 * var(--px)) 0 var(--plum), 0 var(--px) 0 var(--plum), calc(-1 * var(--px)) 0 0 var(--plum), var(--px) 0 0 var(--plum);resize:vertical;border:0}.cycle-page button{padding:calc(2 * var(--px)) calc(6 * var(--px));justify-self:start;font-size:16px;font-weight:700}.ranking{gap:calc(5 * var(--px));margin:calc(8 * var(--px)) var(--px) calc(3 * var(--px));padding:0;list-style:none;display:grid}.ranking-idea{gap:calc(4 * var(--px));padding:calc(4 * var(--px));grid-template-columns:1fr auto;align-items:center;display:grid;position:relative}.ranking-idea.selected{background:var(--slab-hover)}.ranking-bar{left:0;bottom:var(--px);height:var(--px);background:var(--moss);position:absolute}.ranking-text{display:grid;position:relative}.ranking-text span{color:var(--bone-dim);font-size:14px}.ranking-supporters{white-space:nowrap;font-size:14px;position:relative}.admin-page{max-width:960px;margin:0 auto;padding:24px 16px 64px;font:15px/1.5 ui-sans-serif,system-ui,-apple-system,sans-serif}.admin-page input,.admin-page textarea{box-sizing:border-box;width:100%;font:inherit;color:inherit;background:#221d30;border:1px solid #3a3350;border-radius:6px;padding:10px}.admin-page button{font:inherit;color:#15121f;cursor:pointer;background:#ece7f5;border:0;border-radius:6px;justify-self:start;padding:8px 14px}.admin-page button:disabled{opacity:.5;cursor:default}.admin-error{background:#5e2a35;border-radius:6px;padding:10px}.admin-card{background:#1c1828;border:1px solid #3a3350;border-radius:8px;margin:16px 0;padding:16px}.admin-card pre{font-size:12px;overflow-x:auto}.admin-facts{grid-template-columns:max-content 1fr;gap:4px 16px;display:grid}.admin-facts dd{margin:0}.admin-option,.admin-option form,.admin-draft{gap:6px;margin-bottom:12px;display:grid}.admin-inline{flex-wrap:wrap;gap:8px;display:flex}.admin-draft.posted,.admin-draft.discarded{opacity:.55}.admin-page table{border-collapse:collapse;width:100%;font-size:13px}.admin-page td{vertical-align:top;padding:4px 8px 4px 0}.title-screen{padding:16px clamp(19px, 7vw, 150px) calc(20px + env(safe-area-inset-bottom,0px));box-sizing:border-box;color:var(--bone);background:radial-gradient(at 50% 42%,#15121f4d 0%,#15121fb8 100%);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;display:grid;position:fixed;inset:0;overflow:hidden auto}.title-left{align-items:flex-start;gap:calc(4 * var(--px));flex-direction:column;max-width:440px;display:flex}.title-logo{margin:0 0 calc(8 * var(--px));letter-spacing:.12em;flex-direction:column;font-size:clamp(48px,9vw,96px);line-height:1.05;display:flex}.title-menu{gap:calc(3 * var(--px));flex-direction:column;width:100%;display:flex}.title-menu-button{width:100%;min-height:48px;padding:calc(3 * var(--px)) calc(5 * var(--px));letter-spacing:.08em;text-align:left;font-size:16px;font-weight:700}.title-links{align-items:center;gap:calc(2 * var(--px)) calc(5 * var(--px));flex-wrap:wrap;display:flex}.title-textlink{align-items:center;gap:calc(2 * var(--px));min-height:44px;font:inherit;color:var(--bone);cursor:pointer;background:0 0;border:0;padding:0;font-size:14px;display:inline-flex}.title-textlink:hover{text-decoration:underline}.title-textlink:focus-visible{outline:var(--px) dashed var(--bone);outline-offset:var(--px)}.title-right{justify-content:center;align-items:center;display:flex}.title-circle{justify-content:center;align-items:center;gap:calc(2 * var(--px));aspect-ratio:1;background:#ffffff24;border-radius:50%;flex-direction:column;width:min(100%,520px);display:flex}.title-stage{justify-content:space-between;align-items:center;width:86%;height:240px;display:flex;position:relative}.title-blob{pointer-events:none;image-rendering:auto;width:720px;max-width:none;height:300px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.title-world{width:100%;height:100%;display:block;position:fixed;inset:0}.title-name{margin:0;font-size:32px}.title-blurb{text-align:center;max-width:70%;color:var(--bone-dim);margin:0;font-size:13px}.title-with{margin:0;font-size:18px;font-weight:700}.title-change{justify-content:center;gap:calc(3 * var(--px));flex-wrap:wrap;display:flex}.title-change-button{min-height:40px;padding:calc(2 * var(--px)) calc(4 * var(--px));letter-spacing:.08em;font-size:13px;font-weight:700}.fire-left{z-index:6;width:min(24vw,300px);color:var(--bone);flex-direction:column;justify-content:space-between;align-items:center;display:flex;position:fixed;top:16px;bottom:16px;left:24px}.fire-who,.fire-bottom{align-items:stretch;gap:calc(3 * var(--px));text-align:center;flex-direction:column;width:100%;display:flex}@media (max-width:760px){.fire-left{gap:calc(3 * var(--px));width:auto;bottom:auto;left:12px;right:12px}}.title-gallery{z-index:8;align-items:center;gap:calc(4 * var(--px));padding:24px clamp(19px, 7vw, 150px) calc(20px + env(safe-area-inset-bottom,0px));box-sizing:border-box;color:var(--bone);background:radial-gradient(at 50% 42%,#15121feb 0%,#15121ff7 100%);flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden auto}.gallery-body{gap:calc(6 * var(--px));flex:1 0 auto;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;width:min(100%,1100px);display:grid}.gallery-tiles{gap:calc(4 * var(--px));grid-template-columns:repeat(auto-fill,minmax(150px,1fr));display:grid}.gallery-tiles .portrait{width:112px;height:112px}.title-gallery .portrait[data-locked]{background:0 0}.gallery-detail{align-items:center;gap:calc(4 * var(--px));padding:calc(5 * var(--px));flex-direction:column;display:flex}.gallery-detail .portrait{width:192px;height:192px}.gallery-detail .character-words{align-items:flex-start;width:100%}@media (max-width:760px){.gallery-body{grid-template-columns:minmax(0,1fr)}}.title-enter{width:100%;min-height:56px;padding:calc(3 * var(--px)) calc(5 * var(--px));letter-spacing:.08em;text-align:left;font-size:20px;font-weight:700}.title-version{color:var(--bone-dim);margin:0;font-size:12px}.new-tag{padding:0 calc(2 * var(--px));letter-spacing:.06em;color:var(--plum);background:var(--moss);outline:var(--px) solid var(--plum);font-size:11px;font-weight:700;display:inline-block}.title-panel{align-items:center;gap:calc(4 * var(--px));width:min(100%,560px);max-height:100%;padding:calc(5 * var(--px));box-sizing:border-box;flex-direction:column;display:flex}.title-panel-wide{grid-column:1/-1;width:100%}.title-difficulty{margin-bottom:calc(3 * var(--px))}.title-difficulty .difficulty{justify-content:center;gap:calc(2 * var(--px));font-size:12px}.title-difficulty .difficulty-choice{min-width:0;min-height:32px;padding:var(--px) calc(3 * var(--px))}.title-panel-title{margin:0;font-size:28px}.title-panel-body{width:100%;min-height:0;overflow-y:auto}.title-back{min-width:120px;min-height:44px;font-weight:700}.devlog{gap:calc(5 * var(--px));max-height:52vh;padding:0 calc(2 * var(--px));text-align:left;flex-direction:column;display:flex}.devlog-since{color:var(--moss);margin:0;font-weight:700}.devlog-update{gap:var(--px);padding-bottom:calc(4 * var(--px));border-bottom:var(--px) solid var(--slab-deep);flex-direction:column;display:flex}.devlog-meta{align-items:center;gap:calc(2 * var(--px));color:var(--bone-dim);flex-wrap:wrap;margin:0;font-size:12px;display:flex}.devlog-title{margin:0;font-size:18px}.devlog-text,.devlog-items{color:var(--bone-dim);margin:0;font-size:14px}.devlog-items{padding-left:calc(5 * var(--px))}.lab{gap:calc(4 * var(--px));text-align:left;flex-direction:column;display:flex}.lab-tabs{justify-content:center;gap:calc(2 * var(--px));flex-wrap:wrap;display:flex}.lab-tab{font-size:14px}.lab-body{min-height:330px}.lab-list{gap:calc(4 * var(--px));flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.lab-entry{align-items:flex-start;gap:calc(2 * var(--px));padding-bottom:calc(4 * var(--px));border-bottom:var(--px) solid var(--slab-deep);flex-direction:column;display:flex}.lab-entry-title{margin:0;font-size:18px}.lab-entry-text,.lab-entry-verdict,.lab-empty{color:var(--bone-dim);margin:0;font-size:14px}.lab-entry-verdict{color:var(--bone);font-weight:700}.lab-try{min-height:44px;padding:0 calc(5 * var(--px));align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.people-asking{margin-bottom:16px}.people-asking ul{margin:8px 0 0;padding-left:18px}.people-count{opacity:.7;margin-left:6px}.suggest-title{font-size:18px;font-weight:700}.suggest-count,.suggest-status{color:var(--bone-dim);margin:0;font-size:12px}.suggest-status[data-ok]{color:var(--moss);font-size:14px}.pause-exit{align-items:center;gap:calc(2 * var(--px));flex-direction:column;display:flex}.pause-exit-row{gap:calc(3 * var(--px));display:flex}.pause-leave{min-height:44px;padding:calc(2 * var(--px)) calc(4 * var(--px));color:var(--bone-dim);font-size:14px}@media (max-width:760px){.title-screen{align-content:center;gap:calc(6 * var(--px));grid-template-columns:minmax(0,1fr)}.title-left{align-items:center;max-width:none}.title-logo{align-items:center;margin-bottom:0}.title-menu,.title-links{justify-content:center;max-width:320px}.title-circle{width:min(100%,360px)}.title-blob{transform:translate(-50%,-50%)scale(.55)}}.title-settings{gap:calc(6 * var(--px));flex-direction:column;display:flex}.settings-section{align-items:center;gap:calc(3 * var(--px));flex-direction:column;display:flex}.title-settings .title-blob{transform:translate(-50%,-50%)scale(.55)}.settings-section+.settings-section{padding-top:calc(5 * var(--px));border-top:var(--px) solid var(--slab-deep)}.settings-heading{margin:0;font-size:18px;font-weight:700}.settings-note{color:var(--bone-dim);text-align:center;margin:0;font-size:12px}.found-level{color:var(--bone-dim);font-weight:400}.coop-panel{align-items:center;gap:calc(2 * var(--px));flex-direction:column;width:100%;display:flex}.coop-button{min-height:44px;padding:calc(2 * var(--px)) calc(4 * var(--px))}.coop-link{width:100%;max-width:360px;padding:calc(2 * var(--px));font:inherit;text-align:center;font-size:13px}.coop-guest{display:contents}.coop-message{z-index:20;align-items:center;gap:calc(3 * var(--px));padding:calc(3 * var(--px)) calc(5 * var(--px));text-align:center;flex-direction:column;margin:0;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.coop-message p{margin:0}.fireside-title{margin:0;font-size:28px}.loading-screen{z-index:50;justify-content:center;align-items:center;gap:calc(5 * var(--px));background:var(--ink);color:var(--bone);text-align:center;flex-direction:column;padding:16px;transition:opacity .3s steps(3,end);display:flex;position:fixed;inset:0}.loading-screen[data-done]{opacity:0;pointer-events:none}.loading-title{margin:0;font-size:32px}.loading-blob{width:calc(10 * var(--px));height:calc(8 * var(--px));background:var(--bone);box-shadow:0 0 0 var(--px) var(--plum), 0 calc(2 * var(--px)) 0 var(--bone-deep);animation:.8s steps(4,end) infinite loading-hop;position:relative}.loading-blob i{top:calc(3 * var(--px));width:var(--px);height:calc(2 * var(--px));background:var(--plum);position:absolute}.loading-blob i:first-child{left:calc(3 * var(--px))}.loading-blob i:last-child{right:calc(3 * var(--px))}@keyframes loading-hop{50%{transform:translateY(calc(-4 * var(--px)))}}.loading-blocks{gap:calc(2 * var(--px));display:flex}.loading-blocks i{width:calc(3 * var(--px));height:calc(3 * var(--px));background:var(--slab-deep);animation:1.2s step-end infinite loading-block}.loading-blocks i:nth-child(2){animation-delay:.4s}.loading-blocks i:nth-child(3){animation-delay:.8s}@keyframes loading-block{0%,33%{background:var(--bone)}34%,to{background:var(--slab-deep)}}.loading-text{color:var(--bone-dim);margin:0;font-size:16px}@media (prefers-reduced-motion:reduce){.loading-blob,.loading-blocks i{animation:none}}.ghost-banner{align-items:center;gap:calc(2 * var(--px));width:min(92vw,440px);padding:calc(3 * var(--px)) calc(4 * var(--px));text-align:center;z-index:6;flex-direction:column;display:flex;position:fixed;top:14%;left:50%;transform:translate(-50%)}.ghost-banner p{margin:0}.upgrade-keys{top:calc(3 * var(--px) + env(safe-area-inset-top,0px));gap:calc(3 * var(--px));z-index:5;width:max-content;max-width:96vw;display:flex;position:fixed;left:50%;transform:translate(-50%)}.upgrade-key{align-items:center;gap:calc(3 * var(--px));min-width:0;padding:calc(3 * var(--px)) calc(4 * var(--px));font:inherit;text-align:left;flex:0 300px;font-size:18px;display:flex}.perk-icon{flex:none}@media (max-width:720px){.upgrade-keys{width:calc(100vw - 38px);max-width:none;top:calc(32 * var(--px) + env(safe-area-inset-top,0px));flex-direction:row}.upgrade-key{justify-content:center;gap:var(--px);min-height:44px;padding:calc(2 * var(--px));text-align:center;flex-direction:column;flex:1 1 0;font-size:14px}.upgrade-key-name{align-items:center}.upgrade-key-line{-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:10px;line-height:1.15;display:-webkit-box;overflow:hidden}.upgrade-key-rank{text-align:center;min-width:0;font-size:12px}.upgrade-keys[data-count="4"],.upgrade-keys[data-count="5"]{grid-template-columns:1fr 1fr;display:grid}.upgrade-keys[data-count="5"] .upgrade-key:last-child{grid-column:1/-1}.upgrade-keys[data-count="4"] .upgrade-key,.upgrade-keys[data-count="5"] .upgrade-key{justify-content:flex-start;gap:calc(2 * var(--px));text-align:left;flex-direction:row}.upgrade-keys[data-count="4"] .upgrade-key-name,.upgrade-keys[data-count="5"] .upgrade-key-name{align-items:flex-start}.upgrade-keys[data-count="4"] .perk-icon,.upgrade-keys[data-count="5"] .perk-icon{width:32px;height:32px}.upgrade-keys[data-count="4"] .upgrade-key,.upgrade-keys[data-count="5"] .upgrade-key{padding-bottom:calc(6 * var(--px));position:relative}.upgrade-keys[data-count="4"] .upgrade-key-rank,.upgrade-keys[data-count="5"] .upgrade-key-rank{right:calc(2 * var(--px));bottom:var(--px);font-size:10px;position:absolute}.upgrade-keys[data-count="4"] .key-cap,.upgrade-keys[data-count="5"] .key-cap{display:none}.upgrade-keys[data-count="4"] .upgrade-key-line,.upgrade-keys[data-count="5"] .upgrade-key-line{-webkit-line-clamp:4}}.upgrade-key-name{flex-direction:column;flex:1;display:flex}.upgrade-key-line{color:var(--bone-dim);font-size:14px}.upgrade-key-rank{text-align:right;min-width:1.6em;color:var(--bone-dim);font-size:14px}.perk-list{gap:var(--px);width:100%;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.perk-row{justify-content:space-between;gap:calc(3 * var(--px));padding:var(--px) calc(2 * var(--px));display:flex}.perk-row[data-none]{color:var(--bone-dim)}.perk-tree{gap:calc(2 * var(--px));width:100%;font-size:13px;display:grid}.perk-root{padding:var(--px) calc(4 * var(--px));border:var(--px) solid var(--plum);background:var(--slab-deep);justify-self:center;margin:0;position:relative}.perk-root:after{content:"";width:var(--px);height:calc(2 * var(--px));background:var(--plum);position:absolute;top:100%;left:50%}.perk-branches{gap:calc(3 * var(--px));border-top:var(--px) solid var(--plum);padding-top:calc(2 * var(--px));grid-template-columns:1fr 1fr;display:grid}@media (max-width:520px){.perk-branches{grid-template-columns:1fr}}.perk-branch{gap:var(--px);padding:0 0 0 calc(2 * var(--px));border-left:var(--px) solid var(--plum);margin:0;list-style:none;display:grid}.perk-branch-name{color:var(--moss)}.perk-branch .perk-row{padding:var(--px) 0;grid-template-columns:1fr auto auto;align-items:center;display:grid}.perk-pips{gap:var(--px);min-width:calc(8 * 2 * var(--px));display:inline-flex}.perk-pips i{width:calc(2 * var(--px));height:calc(2 * var(--px));background:var(--moss);border:1px solid var(--plum)}.perk-pips b{font-size:11px;font-weight:400}.title-option{align-items:center;gap:calc(2 * var(--px));color:var(--bone-dim);cursor:pointer;font-size:14px;display:flex}.title-option input{width:18px;height:18px;accent-color:var(--moss,#7a9a4a)}.shelter-tag{padding:calc(2 * var(--px)) calc(4 * var(--px));text-align:center;pointer-events:none;z-index:5;margin:0;font-size:15px;position:fixed;top:22%;left:50%;transform:translate(-50%)}.build-card{align-items:center;gap:calc(2 * var(--px));box-sizing:border-box;flex-direction:column;max-width:calc(100vw - 32px);display:flex;top:50%;left:16px;transform:translateY(-50%)}.build-card[data-right]:not([data-touch]){left:auto;right:16px}.build-card[data-touch]{top:auto;left:auto;right:calc(12px + env(safe-area-inset-right,0px));bottom:calc(14px + env(safe-area-inset-bottom,0px));max-width:calc(100vw - 112px);transform:none}.build-actions{gap:calc(2 * var(--px));display:flex}.build-actions>.slab-button{pointer-events:auto;min-width:80px;min-height:44px}.build-title[data-refused]{color:var(--ember)}.build-chips{justify-content:center;align-items:center;gap:calc(2 * var(--px));flex-wrap:wrap;display:flex}.build-chip{--lip-top:var(--slab-deep);padding:0 calc(3 * var(--px));color:var(--bone-dim);background:var(--slab-deep);font-size:14px;line-height:calc(9 * var(--px))}.build-chip[data-lit]{--lip-top:var(--slab-lit);color:var(--bone);background:var(--slab)}.build-chip-button{all:unset;line-height:calc(9 * var(--px));cursor:pointer;pointer-events:auto;touch-action:manipulation;display:inline-block}.build-card[data-touch] .build-chip-button{min-height:44px;line-height:44px}.build-hint{color:var(--bone-dim);font-size:12px}.build-card[data-nudged]{animation:.25s ease-out build-nudge}@keyframes build-nudge{20%{translate:-4px}40%{translate:4px}60%{translate:-3px}80%{translate:2px}}@media (prefers-reduced-motion:reduce){.build-card[data-nudged]{animation:none}}.build-open{left:calc(19px + env(safe-area-inset-left,0px));bottom:calc(72px + env(safe-area-inset-bottom,0px));min-width:44px;min-height:44px;padding:calc(3 * var(--px)) calc(6 * var(--px));z-index:1;font-size:16px;position:fixed}.build-open[data-touch]{left:calc(12px + env(safe-area-inset-left,0px));bottom:calc(148px + env(safe-area-inset-bottom,0px))}.build-callout{left:calc(19px + env(safe-area-inset-left,0px));bottom:calc(126px + env(safe-area-inset-bottom,0px));max-width:min(240px,100vw - 38px);padding:calc(2 * var(--px)) calc(3 * var(--px));pointer-events:none;z-index:1;margin:0;font-size:14px;line-height:1.25;position:fixed}.build-callout strong{color:var(--moss);display:block}.build-callout[data-touch]{left:calc(12px + env(safe-area-inset-left,0px));bottom:calc(202px + env(safe-area-inset-bottom,0px))}.build-open[data-ready]{animation:1.2s steps(4,end) infinite build-ready}@keyframes build-ready{50%{box-shadow:0 0 0 calc(2 * var(--px)) var(--moss,#a3c27a)}}@media (prefers-reduced-motion:reduce){.build-open[data-ready]{box-shadow:0 0 0 calc(2 * var(--px)) var(--moss,#a3c27a);animation:none}}.coop-away{top:calc(3 * var(--px));padding:calc(1.5 * var(--px)) calc(3 * var(--px));z-index:5;margin:0;font-size:13px;position:fixed;left:50%;transform:translate(-50%)}.coop-chip{top:calc(3 * var(--px));align-items:center;gap:calc(3 * var(--px));padding:calc(1.5 * var(--px)) calc(3 * var(--px));z-index:5;font-size:13px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.coop-chip-code{letter-spacing:.2em;color:var(--bone);font-size:16px}.coop-code{letter-spacing:.25em;color:var(--bone);margin:0;padding-left:.25em;font-size:40px}.join-code{align-items:center;gap:calc(3 * var(--px));flex-direction:column;display:flex}.join-code-input{width:8em;padding:calc(2 * var(--px));font:inherit;letter-spacing:.25em;text-align:center;text-transform:uppercase;font-size:32px}.coop-chip-action{color:var(--moss)}:root[data-rec],:root[data-rec] body{background:#000}:root[data-rec] .game-canvas{cursor:none!important}:root[data-rec] :is(.souls-counter,.hint-popup,.ready-edge,.upgrade-keys,.dash-button,.build-open,.dash-cooldown,.weapon-bar,.bomb-chip,.switch-prompt,.shelter-tag,.hidden-tag,.coop-chip){display:none!important}.upgrade-twist{outline:calc(2 * var(--px)) solid #ffd24a;outline-offset:calc(-2 * var(--px))}.upgrade-twist .upgrade-key-rank{color:#ffd24a}.perk-twists .perk-row{gap:calc(4 * var(--px))}
