:root{--ink:#e9dfc8;--ink-dim:#9b927f;--ember:#ffa64a;--ember-deep:#c2551b;--cursed:#c27bff;--blood:#d9382e;--panel:#08070ac7;--serif:"IM Fell English", Georgia, serif;--display:"IM Fell English SC", Georgia, serif;--numerals:"Cinzel", Georgia, serif}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);font-family:var(--serif);-webkit-user-select:none;user-select:none;background:#000;margin:0;overflow:hidden}#game canvas{cursor:crosshair;display:block}kbd{font-family:var(--serif);background:#ffffff0d;border:1px solid #e9dfc859;border-radius:3px;padding:0 .4em}.hidden{display:none!important}#hud{pointer-events:none;position:fixed;inset:0}.hud-top-left{align-items:center;gap:18px;display:flex;position:absolute;top:22px;left:26px}#hearts{gap:6px;display:flex}#hearts.shake{animation:.35s shake}.heart{--flesh:#b3121d;--flesh-dark:#6b0a12;--vessel:#8f1a2c;--vessel-dark:#3d2a58;place-items:end center;width:26px;height:30px;display:grid;position:relative}.heart .organ{transform-origin:50% 60%;filter:drop-shadow(0 0 5px #c81e1e73);width:100%;height:100%;transition:filter .4s}.heart .body{fill:var(--flesh);transition:fill .4s}.heart .shade{fill:var(--flesh-dark);opacity:.55}.heart .atrium{fill:var(--flesh-dark)}.heart .vessel{fill:var(--vessel)}.heart .vessel.dark{fill:var(--vessel-dark)}.heart .coronary{fill:none;stroke:#ffd2be59;stroke-width:.8px;stroke-linecap:round}.heart.bruised{--flesh:#5c0a12;--flesh-dark:#2e0508;--vessel:#4a0d18}.heart.bruised .organ{filter:drop-shadow(0 0 3px #780a0a66)}.heart.beating .organ{animation:1s infinite lub-dub}.heart.beating.bruised .organ{animation-duration:1.7s}@keyframes lub-dub{0%,45%,to{transform:scale(1)}10%{transform:scale(1.16)}20%{transform:scale(1.02)}30%{transform:scale(1.1)}}.heart .ash-pile{opacity:0;width:100%;height:10px;position:absolute;bottom:0;left:0}.heart .ash-pile path{fill:#3b3a3d}.heart .ash-pile .ember{fill:#ff7a2a;opacity:0}.heart.ash .organ{opacity:0}.heart.ash .ash-pile{opacity:1}.heart.ash.crumbling .organ{animation:.9s forwards crumble}.heart.ash.crumbling .ash-pile{animation:.9s forwards ash-settle}.heart.ash.crumbling .ember{animation:2.4s forwards ember-die}@keyframes crumble{0%{opacity:1;filter:none;transform:scale(1)}25%{opacity:1;filter:grayscale()brightness(.55);transform:scale(1.04)}to{opacity:0;filter:grayscale()brightness(.3)blur(1px);transform:translateY(9px)scale(.55,.3)}}@keyframes ash-settle{0%,30%{opacity:0;transform:scaleY(.2)}to{opacity:1;transform:scaleY(1)}}@keyframes ember-die{0%,30%{opacity:0}45%{opacity:1}to{opacity:0}}#flare{--fill:1;width:24px;height:34px;position:relative}#flare svg{width:100%;height:100%;overflow:visible}#flare .ring,#flare .frame,#flare .bars,#flare .base{fill:#2b2a2e;stroke:#57534d;stroke-width:.8px}#flare .ring{fill:none;stroke-width:1.4px}#flare .bars{fill:none;stroke:#3a3834;stroke-width:1.1px}#flare .glass{fill:url(#flare-glass);opacity:calc(.35 + var(--fill) * .55)}#flare .flame{fill:#ffd27a;transform-box:fill-box;transform-origin:50% 100%;transform:scale(calc(.25 + var(--fill) * .75));opacity:calc(.35 + var(--fill) * .65)}#flare.ready svg{filter:drop-shadow(0 0 7px #ffa64ad9)}#flare.ready .flame{animation:1.6s ease-in-out infinite flare-flicker}#flare.lit svg{animation:.6s ease-out flare-lit}@keyframes flare-flicker{0%,to{transform:scale(1)}40%{transform:scale(.93,1.06)}70%{transform:scale(1.04,.96)}}@keyframes flare-lit{0%{filter:drop-shadow(0 0 2px #ffc878)brightness(1.8)}to{filter:drop-shadow(0 0 7px #ffa64ad9)}}.hud-top-right{text-align:right;position:absolute;top:18px;right:28px}#score{font-family:var(--numerals);letter-spacing:.04em;text-shadow:0 0 18px #ffa64a59;font-size:40px;font-weight:700}#score.pop{animation:.25s ease-out pop}#combo{min-height:1.4em;color:var(--ember);font-size:18px}.cursed{color:var(--cursed)}#clock{font-family:var(--numerals);color:var(--ink-dim);letter-spacing:.12em;font-size:26px;position:absolute;top:22px;left:50%;transform:translate(-50%)}#clock.late{color:var(--blood);animation:1s infinite pulse}#prompt{background:var(--panel);opacity:0;border:1px solid #e9dfc82e;padding:8px 18px;font-size:20px;transition:opacity .2s;position:absolute;bottom:12%;left:50%;transform:translate(-50%)}#prompt.visible{opacity:1}#banner{text-align:center;pointer-events:none;opacity:0;transition:opacity .6s,transform .6s;position:fixed;top:16%;left:0;right:0;transform:translateY(-8px)}#banner.visible{opacity:1;transform:none}.banner-title{font-family:var(--display);text-shadow:0 0 24px #000000e6;font-size:clamp(30px,5vw,54px)}.banner-sub{color:var(--ink-dim);font-size:20px;font-style:italic}#card,#pause{background:var(--panel);opacity:0;pointer-events:none;border:1px solid #e9dfc833;width:min(440px,100vw - 32px);padding:26px 30px;transition:opacity .35s,transform .35s;position:fixed;top:50%;left:50%;transform:translate(-50%,-46%);box-shadow:0 0 60px #000000e6}#card.visible,#pause.visible{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)}#pause-settings{margin-top:18px}#card h2,#pause h2{font-family:var(--display);text-align:center;margin:0 0 14px;font-size:30px;font-weight:400}#card .row{border-bottom:1px solid #e9dfc814;justify-content:space-between;padding:5px 0;font-size:19px;display:flex}#card .row.total{font-family:var(--numerals);color:var(--ember);border:none;margin-top:6px;font-size:26px}#card p{text-align:center;color:var(--ink-dim);font-style:italic}#card .hint{color:var(--ink);margin-bottom:0;font-style:normal}#pause{text-align:center}.controls{color:var(--ink-dim);flex-wrap:wrap;justify-content:center;gap:8px 18px;font-size:16px;display:flex}#title{text-align:left;opacity:0;pointer-events:none;background:linear-gradient(90deg,#000000d1 0%,#0000008c 34%,#0000 62%),url(/assets/art/title.webp) 50%/cover no-repeat,#000;flex-direction:column;justify-content:center;align-items:flex-start;gap:18px;padding:16px 16px 16px max(16px,6vw);transition:opacity .8s;display:flex;position:fixed;inset:0}#title.visible{opacity:1;pointer-events:auto}#title h1{font-family:var(--display);letter-spacing:.04em;color:var(--ink);text-shadow:0 0 40px #ff8c3273,0 0 4px #ffa64a99;margin:0;font-size:clamp(56px,11vw,132px);font-weight:400}.subtitle{color:var(--ink-dim);max-width:560px;margin:0 0 12px;font-size:21px;font-style:italic}.choices{flex-wrap:wrap;justify-content:center;gap:18px;display:flex}#title .controls{justify-content:flex-start;max-width:518px}button.difficulty{width:250px;font:inherit;color:var(--ink);background:var(--panel);cursor:pointer;border:1px solid #e9dfc838;flex-direction:column;gap:6px;padding:18px 20px;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex}button.difficulty:hover,button.difficulty:focus-visible{border-color:var(--ember);outline:none;transform:translateY(-2px);box-shadow:0 0 28px #ffa64a4d}button.difficulty[data-id=midnight]:hover,button.difficulty[data-id=midnight]:focus-visible{border-color:var(--cursed);box-shadow:0 0 28px #c27bff4d}button.difficulty .label{font-family:var(--display);font-size:28px}button.difficulty .tagline{color:var(--ink-dim);font-size:16px;font-style:italic}button.difficulty .best{color:var(--ember);font-size:15px}#corner{z-index:6;gap:8px;display:flex;position:fixed;bottom:18px;right:18px}.corner-button{background:var(--panel);width:42px;height:42px;color:var(--ink);cursor:pointer;opacity:.7;border:1px solid #e9dfc838;border-radius:50%;place-items:center;padding:0;transition:opacity .2s,border-color .2s,box-shadow .2s,color .2s;display:grid}.corner-button:hover,.corner-button:focus-visible{opacity:1;border-color:var(--ember);outline:none;box-shadow:0 0 18px #ffa64a4d}.corner-button svg{width:22px;height:22px}.corner-button .fill{fill:currentColor}.corner-button .wave,.corner-button .strike{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round}.corner-button .strike{stroke:var(--blood);stroke-width:2.2px;display:none}.corner-button.off{color:var(--ink-dim)}.corner-button.off .strike{display:block}.corner-button.off .wave{display:none}#settings{z-index:40;opacity:0;background:#0000009e;place-items:center;padding:16px;transition:opacity .25s;display:grid;position:fixed;inset:0}#settings[hidden]{display:none}#settings.visible{opacity:1}.settings-frame{aspect-ratio:3/4;filter:drop-shadow(0 0 40px #000000e6);background:url(/assets/art/ui-frame.webp) 50%/100% 100% no-repeat;width:min(520px,100vw - 32px,75vh - 24px);transition:transform .3s;position:relative;transform:translateY(8px)scale(.98);container-type:size}#settings.visible .settings-frame{transform:none}.settings-body{flex-direction:column;justify-content:center;gap:2.4cqh;padding:0 1cqh;display:flex;position:absolute;inset:21% 18% 13%}.settings-body h2{font-family:var(--display);text-align:center;color:var(--ink);text-shadow:0 0 18px #ff8c3259;margin:0;font-size:4.8cqh;font-weight:400;line-height:1.1}.setting{flex-direction:column;gap:1cqh;display:flex}.switch{cursor:pointer;justify-content:space-between;align-items:center;gap:2cqh;font-size:2.9cqh;line-height:1.2;display:flex}.switch span{order:-1}.switch input{appearance:none;cursor:pointer;background:#0000008c;border:1px solid #e9dfc840;border-radius:1.75cqh;flex:none;width:6.6cqh;height:3.5cqh;margin:0;transition:background .2s,border-color .2s;position:relative}.switch input:after{content:"";background:var(--ink-dim);border-radius:50%;width:2.5cqh;height:2.5cqh;transition:transform .2s,background .2s,box-shadow .2s;position:absolute;top:.4cqh;left:.4cqh}.switch input:checked{border-color:var(--ember);background:#c2551b73}.switch input:checked:after{background:var(--ember);transform:translate(3.1cqh);box-shadow:0 0 10px #ffa64acc}.switch input:focus-visible,.setting input[type=range]:focus-visible{outline:2px solid var(--ember);outline-offset:3px}.setting input[type=range]{appearance:none;cursor:pointer;background:0 0;width:100%;height:3cqh;margin:0}.setting input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg,#c2551bb3,#e9dfc840);border-radius:.45cqh;height:.9cqh}.setting input[type=range]::-moz-range-track{background:linear-gradient(90deg,#c2551bb3,#e9dfc840);border-radius:.45cqh;height:.9cqh}.setting input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--ember);border-radius:50%;width:2.6cqh;height:2.6cqh;margin-top:-.85cqh;box-shadow:0 0 10px #ffa64acc}.setting input[type=range]::-moz-range-thumb{background:var(--ember);border:none;border-radius:50%;width:2.6cqh;height:2.6cqh;box-shadow:0 0 10px #ffa64acc}.setting input[type=range].resting{opacity:.4}.settings-keys{text-align:center;color:var(--ink-dim);white-space:nowrap;margin:0;font-size:2.1cqh;line-height:1.4}.settings-keys kbd{font-size:inherit}#settings-close,#pause-settings{font:inherit;font-family:var(--display);color:var(--ink);cursor:pointer;background:#00000080;border:1px solid #e9dfc840;align-self:center;transition:border-color .2s,box-shadow .2s}#pause-settings{padding:10px 22px;font-size:20px}#settings-close{padding:1.3cqh 3.2cqh;font-size:2.9cqh}#settings-close:hover,#settings-close:focus-visible,#pause-settings:hover,#pause-settings:focus-visible{border-color:var(--ember);outline:none;box-shadow:0 0 22px #ffa64a4d}#loading{z-index:10;background:#000;flex-direction:column;justify-content:center;align-items:center;gap:18px;transition:opacity .8s;display:flex;position:fixed;inset:0}#loading.done{opacity:0;pointer-events:none}#loading.error .ember{box-shadow:none;background:#333;animation:none}.ember{background:var(--ember);border-radius:50%;width:14px;height:14px;animation:1.4s infinite pulse;box-shadow:0 0 30px 8px #ff8c3299}.loading-text{color:var(--ink-dim);text-align:center;max-width:420px;padding:0 16px;font-size:19px;font-style:italic}.loading-text.swap{animation:.6s ease-out loading-line}@keyframes loading-line{0%{opacity:0;transform:translateY(6px)}}.loading-bar{background:#ffffff14;border-radius:2px;width:min(280px,60vw);height:3px;overflow:hidden}.loading-bar span{background:linear-gradient(90deg, #8a3a10, var(--ember));transform-origin:0;height:100%;display:block;transform:scaleX(0);box-shadow:0 0 12px #ff8c32cc}#loading.error .loading-bar{display:none}.loading-hint{letter-spacing:.04em;color:var(--ink-dim);opacity:0;margin:6px 0 0;font-size:14px;transition:opacity .6s}.loading-hint.visible{opacity:.85;animation:2.4s infinite pulse}@keyframes pulse{50%{opacity:.45}}@keyframes pop{0%{transform:scale(1.15)}}@keyframes shake{25%{transform:translate(-4px)}50%{transform:translate(4px)}75%{transform:translate(-2px)}}@media (max-width:640px){.hud-top-left{left:16px}.hud-top-right{right:16px}#score{font-size:30px}.heart{width:20px;height:23px}}#act-card{z-index:30;opacity:0;pointer-events:none;background:#000;flex-direction:column;justify-content:center;align-items:flex-start;gap:6px;padding:16px 16px 16px max(16px,8vw);transition:opacity 1s;display:flex;position:fixed;inset:0;overflow:hidden}#act-card:before{content:"";background:linear-gradient(90deg, #000000bf 0%, #00000059 40%, #0000 65%), var(--plate,none) center / cover no-repeat;opacity:0;z-index:-1;transition:transform 6s ease-out,opacity 1s;position:absolute;inset:0;transform:scale(1)}#act-card.visible{opacity:1}#act-card.covering{opacity:1;transition:none}#act-card.visible:before{opacity:1;transform:scale(1.07)}.act-numeral{font-family:var(--numerals);letter-spacing:.04em;color:var(--ink);text-shadow:0 0 50px #ff8c3266,0 2px 6px #000c;opacity:0;font-size:clamp(90px,18vw,230px);font-weight:700;line-height:.9;transition:opacity 1.2s .4s,transform 1.2s .4s;transform:translateY(10px)}.act-title{font-family:var(--display);color:var(--ink);text-shadow:0 2px 18px #000000e6;opacity:0;font-size:clamp(30px,5vw,64px);transition:opacity 1.2s .9s,transform 1.2s .9s;transform:translateY(10px)}#act-card.visible .act-numeral,#act-card.visible .act-title{opacity:1;transform:none}@media (max-width:700px){#title,#act-card{text-align:center;align-items:center;padding:16px}#title .controls{justify-content:center}#title{background:linear-gradient(#000000b3,#00000073 60%,#000000bf),url(/assets/art/title.webp) 70%/cover no-repeat,#000}}#boss{z-index:5;text-align:center;opacity:0;pointer-events:none;width:min(560px,100vw - 140px);transition:opacity .6s,transform .6s;position:fixed;bottom:28px;left:50%;transform:translate(-50%,12px)}#boss.visible{opacity:1;transform:translate(-50%)}.boss-name{font-family:var(--display);color:var(--ink);text-shadow:0 0 22px #ff6e1e99,0 2px 4px #000000e6;font-size:clamp(22px,3.2vw,30px)}.boss-title{color:var(--ink-dim);margin-top:-2px;font-size:15px;font-style:italic}.boss-bar{background:#0009;border:1px solid #ffa64a73;border-radius:5px;height:10px;margin-top:8px;overflow:hidden;box-shadow:0 0 18px #ff6e1e40}.boss-fill{background:linear-gradient(90deg, #7a1d08, var(--ember-deep) 45%, var(--ember));transform-origin:0;height:100%;transition:transform .25s ease-out}#letterbox{z-index:4;pointer-events:none;position:fixed;inset:0}#letterbox div{background:#000;height:11vh;transition:transform 1.2s;position:absolute;left:0;right:0}#letterbox div:first-child{top:0;transform:translateY(-100%)}#letterbox div:last-child{bottom:0;transform:translateY(100%)}#letterbox.visible div{transform:none}#credits{z-index:8;pointer-events:none;opacity:0;transition:opacity 1.5s;position:fixed;inset:0}#credits[hidden]{display:none}#credits.visible{opacity:1}.credits-window{position:absolute;inset:0;overflow:hidden;-webkit-mask-image:linear-gradient(#0000 0%,#000 22% 78%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 22% 78%,#0000 100%)}.credits-roll{text-align:center;text-shadow:0 2px 8px #000000d9,0 0 24px #0009;width:min(720px,100vw - 32px);position:absolute;top:0;left:50%;transform:translate(-50%,100vh)}.credits-roll.rolling{animation:credits-roll var(--roll-time,60s) linear forwards}@keyframes credits-roll{0%{transform:translate(-50%,100vh)}to{transform:translate(-50%,calc(50vh - 100% + 2.4em))}}.credits-title{font-family:var(--numerals);letter-spacing:.06em;color:var(--ink);margin-bottom:12px;font-size:clamp(44px,8vw,84px);font-weight:700}.credits-roll section{margin:0 0 54px}.credits-roll h3{font-family:var(--display);color:var(--ember);letter-spacing:.04em;margin:0 0 14px;font-size:clamp(22px,2.6vw,28px);font-weight:400}.credits-line{color:var(--ink);margin:6px 0;font-size:clamp(18px,2.2vw,22px)}.credits-pair{grid-template-columns:1fr 1fr;gap:24px;margin:7px 0;font-size:clamp(16px,2vw,20px);display:grid}.credits-pair span:first-child{text-align:right;color:var(--ink-dim);font-style:italic}.credits-pair span:last-child{text-align:left;color:var(--ink)}.credits-end{font-family:var(--display);color:var(--ink);margin-top:30vh;font-size:clamp(28px,4vw,42px)}.credits-link{width:-moz-fit-content;width:fit-content;font-family:var(--serif);color:var(--ember);pointer-events:auto;border-bottom:1px solid #ffa64a66;margin:14px auto 0;font-size:clamp(17px,2vw,21px);font-style:italic;text-decoration:none;transition:color .2s,border-color .2s;display:block}.credits-link:hover,.credits-link:focus-visible{color:var(--ink);border-color:var(--ink);outline:none}#credits-back,.card-button{font:inherit;font-family:var(--display);color:var(--ink);cursor:pointer;background:#0000008c;border:1px solid #e9dfc84d;padding:10px 24px;font-size:20px;transition:border-color .2s,box-shadow .2s,opacity 1s}#credits-back{opacity:0;pointer-events:none;position:absolute;bottom:12vh;left:50%;transform:translate(-50%)}#credits-back.visible{opacity:1;pointer-events:auto}.card-button{margin:18px auto 4px;display:block}#credits-back:hover,#credits-back:focus-visible,.card-button:hover,.card-button:focus-visible{border-color:var(--ember);outline:none;box-shadow:0 0 22px #ffa64a4d}@media (max-width:560px){.credits-pair{grid-template-columns:1fr;gap:2px}.credits-pair span:first-child,.credits-pair span:last-child{text-align:center}}.board{border-top:1px solid #e9dfc826;margin:16px 0 6px;padding-top:12px}.board h3{font-family:var(--display);text-align:center;color:var(--ember);margin:0 0 8px;font-size:20px;font-weight:400}.board ol{margin:0;padding:0;list-style:none}.board li{color:var(--ink-dim);grid-template-columns:2em 1fr auto;align-items:baseline;padding:2px 6px;font-size:17px;display:grid}.board li .rank{color:var(--ink-dim)}.board li .who{font-family:var(--numerals);letter-spacing:.18em;color:var(--ink)}.board li .won{color:var(--ember);letter-spacing:0;margin-left:6px}.board li .pts{font-variant-numeric:tabular-nums;color:var(--ink)}.board li.mine{box-shadow:inset 2px 0 0 var(--ember);background:#ffa64a24}.board li.mine .who,.board li.mine .pts{color:var(--ember)}.board-note{text-align:center;color:var(--ink-dim);margin:4px 0;font-style:italic}.initials{justify-content:center;gap:14px;margin:12px 0 6px;display:flex}.slot{flex-direction:column;align-items:center;gap:2px;display:flex}.slot .letter{width:48px;font-family:var(--numerals);text-align:center;color:var(--ink);border-bottom:2px solid #e9dfc840;padding:4px 0;font-size:34px;font-weight:700}.slot.active .letter{color:var(--ember);border-color:var(--ember);text-shadow:0 0 14px #ffa64a99}.nudge{width:36px;color:var(--ink-dim);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;line-height:1.6}.nudge:hover,.nudge:focus-visible{color:var(--ember);outline:none}#story{z-index:35;opacity:0;background:#000;transition:opacity .6s;position:fixed;inset:0}#story[hidden]{display:none}#story.visible{opacity:1}.story-bg{filter:brightness(.8);background:linear-gradient(90deg,#0000008c 0%,#000000b8 45%,#00000059 75%,#0000008c 100%),url(/assets/art/story.webp) 50%/cover no-repeat;animation:60s ease-out forwards story-drift;position:absolute;inset:0;transform:scale(1.04)}@keyframes story-drift{to{transform:scale(1.12)translate(-1.5%)}}.story-wick{z-index:2;pointer-events:none;filter:drop-shadow(0 0 40px #000000b3);width:min(80vw,1240px);height:min(82vh,760px);position:absolute;bottom:10vh;right:0}.story-window{z-index:1}.story-controls{z-index:3}.story-window{width:min(54vw,700px);position:absolute;top:0;bottom:0;left:6vw;overflow:hidden;-webkit-mask-image:linear-gradient(#0000 0%,#000 20% 80%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 20% 80%,#0000 100%)}.story-text{color:var(--ink);text-shadow:0 2px 10px #000000e6;font-size:clamp(19px,2.1vw,25px);line-height:1.65;position:absolute;top:0;left:0;right:0;transform:translateY(100vh)}.story-text.rolling{animation:story-roll var(--story-time,50s) linear forwards}@keyframes story-roll{0%{transform:translateY(100vh)}to{transform:translateY(calc(var(--story-rest,50vh) - 100% + 1.5em))}}.story-text p{margin:0 0 1.4em}.story-text p:first-child:first-letter{float:left;font-family:var(--numerals);color:var(--ember);margin:.08em .12em 0 0;font-size:3.2em;line-height:.8}.story-last{font-family:var(--display);text-align:center;color:var(--ember);font-size:1.4em;margin-top:2em!important}.story-controls{background:#00000073;border-radius:6px;align-items:center;gap:18px;padding:8px 12px;display:flex;position:absolute;bottom:3vh;right:3vw}.story-check{color:var(--ink-dim);cursor:pointer;align-items:center;gap:8px;font-size:16px;display:flex}.story-check input{accent-color:var(--ember);width:16px;height:16px}.story-skip,.story-begin{font:inherit;font-family:var(--display);color:var(--ink);cursor:pointer;background:#0000008c;border:1px solid #e9dfc84d;padding:8px 20px;font-size:18px;transition:border-color .2s,box-shadow .2s,opacity .6s}.story-skip kbd{margin-left:6px;font-size:13px}.story-begin{opacity:0;pointer-events:none;border-color:var(--ember)}.story-begin.visible{opacity:1;pointer-events:auto}.story-skip:hover,.story-skip:focus-visible,.story-begin:hover,.story-begin:focus-visible{border-color:var(--ember);outline:none;box-shadow:0 0 22px #ffa64a4d}@media (max-width:760px){.story-wick{width:100vw;height:44vh;bottom:12vh}.story-window{width:calc(100vw - 32px);bottom:46vh;left:16px}.story-text{--story-rest:27vh}.story-controls{flex-wrap:wrap;justify-content:center;left:16px;right:16px}}#touch{z-index:7;pointer-events:none;opacity:0;transition:opacity .4s;position:fixed;inset:0}#touch[hidden]{display:none}#touch.visible{opacity:1}#touch.visible .touch-stick,#touch.visible .touch-btn{pointer-events:auto}.touch-stick{left:calc(22px + env(safe-area-inset-left));bottom:calc(26px + env(safe-area-inset-bottom));aspect-ratio:1;touch-action:none;background:radial-gradient(circle,#08070a59 0%,#08070a99 70%);border:1px solid #e9dfc838;border-radius:50%;width:clamp(120px,34vmin,168px);position:absolute}.touch-stick.active{border-color:#ffa64a8c}.touch-arrows{fill:#e9dfc88c;width:100%;height:100%;position:absolute;inset:0}.touch-knob{aspect-ratio:1;background:radial-gradient(circle at 40% 35%,#ffbe788c,#c2551b66);border:1px solid #ffa64a99;border-radius:50%;width:42%;margin:-21% 0 0 -21%;transition:transform 80ms linear;position:absolute;top:50%;left:50%;box-shadow:0 0 18px #ff8c324d}.touch-buttons{right:calc(18px + env(safe-area-inset-right));bottom:calc(22px + env(safe-area-inset-bottom));aspect-ratio:1;width:clamp(150px,40vmin,196px);position:absolute}.touch-btn{color:var(--ink);touch-action:none;-webkit-tap-highlight-color:transparent;background:#08070a8c;border:1px solid #e9dfc847;border-radius:50%;place-items:center;padding:0;transition:transform 80ms,border-color .15s,background .15s;display:grid;position:absolute}.touch-btn svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:52%;height:52%}.touch-btn.down{border-color:var(--ember);background:#c2551b59;transform:scale(.92)}.touch-btn.sickle{border-color:#ffa64a73;width:48%;height:48%;bottom:0;right:0}.touch-btn.roll{width:32%;height:32%;bottom:2%;right:52%}.touch-btn.flare{width:32%;height:32%;color:var(--ember);bottom:52%;right:4%}.touch-btn.interact{opacity:0;color:#cfe8ff;border-color:#9fd7ff80;width:30%;height:30%;bottom:44%;right:44%;pointer-events:none!important}.touch-btn.interact.available{opacity:1;animation:1.4s ease-in-out infinite touch-beckon;pointer-events:auto!important}@keyframes touch-beckon{50%{box-shadow:0 0 22px #9fd7ff73}}.touch #corner{top:calc(56px + env(safe-area-inset-top));bottom:auto;right:calc(12px + env(safe-area-inset-right))}.touch #boss{top:calc(64px + env(safe-area-inset-top));width:min(420px,100vw - 32px);bottom:auto}
