:root{--font-ui: "Courier New", "Cutive Mono", Courier, ui-monospace, monospace;--ink: #cfcfd4;--ink-strong: #f0f0f4;--ink-dim: #a8a8b0;--ink-faint: #8e8e98;--edge: rgba(255, 255, 255, .4);--edge-faint: rgba(255, 255, 255, .2);--edge-strong: rgba(255, 255, 255, .75);--fill-hover: rgba(255, 255, 255, .08);--fill-on: rgba(255, 255, 255, .16);--fill-press: rgba(255, 255, 255, .24);--scrim: rgba(0, 0, 0, .88);--scrim-soft: rgba(0, 0, 0, .5);--black: #000;--ink-mark: rgba(255, 255, 255, .6);--text-shadow: 0 1px 4px rgba(0, 0, 0, .85);--danger: #d0140a;--danger-ink: #e8625c;--sanity: #c79ad6;--lucidity: #7fd6a8;--air: #c8d7ff;--thought: rgba(220, 210, 200, .9);--thought-strained: rgba(205, 190, 170, .82);--thought-corrupted: rgba(240, 228, 215, .75);--lcd-bg: #9aab86;--lcd-bg-dread: #92a58d;--lcd-ink: #1b2417;--lcd-edge: #3d4a38;--lcd-glow: 0 0 18px rgba(154, 171, 134, .35);--hit: 44px;--btn-min-w: 10rem;--menu-col-w: 16rem;--text-xs: .75rem;--text-sm: .875rem;--text-md: 1rem;--text-lg: 1.2rem;--text-xl: 2rem;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--ease: cubic-bezier(.2, 0, 0, 1);--dur-fast: .15s;--dur-out: .2s;--dur-in: .25s;--dur-slow: .5s;--dur-dark: 1.4s;--z-scrim: 0;--z-content: 1;--z-intro: 10;--z-skip: 20;--z-rotate: 100;--z-death: 90}@media(max-height:500px){:root{--text-xl: 1.6rem}}#hud-root{font-family:var(--font-ui);color:var(--ink);pointer-events:none;-webkit-user-select:none;user-select:none}.hud-reticle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:6px;border-radius:50%;border:1px solid transparent;background:var(--ink-mark);box-shadow:0 0 0 1px var(--scrim-soft);transition:width var(--dur-fast) var(--ease),height var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.hud-reticle--focus{width:12px;height:12px;border-color:var(--ink-strong);opacity:1}.resource-indicator{position:fixed;font-size:var(--text-md);font-family:var(--font-ui);letter-spacing:.06em;pointer-events:none;opacity:0;transition:opacity var(--dur-in) var(--ease)}.resource-indicator--sanity{bottom:2.4rem;right:2rem;color:var(--sanity)}.resource-indicator--lucidity{bottom:2.4rem;left:2rem;color:var(--lucidity)}.resource-indicator--visible{opacity:1}.resource-indicator--critical{animation:indicator-pulse .9s ease-in-out infinite;color:var(--danger-ink)}@keyframes indicator-pulse{0%,to{opacity:1}50%{opacity:.4}}.eyelid{position:fixed;left:0;right:0;height:50%;background:var(--black);will-change:transform;transition:none}.eyelid-top{top:0;transform:translateY(-100%)}.eyelid-bottom{bottom:0;transform:translateY(100%)}.eyelid.closing{transition:transform var(--dur-fast) ease-in;transform:translateY(0)}.eyelid-top.open{transition:transform var(--dur-out) ease-out;transform:translateY(-100%)}.eyelid-bottom.open{transition:transform var(--dur-out) ease-out;transform:translateY(100%)}.faint-vignette{position:fixed;top:0;right:0;bottom:0;left:0;margin:auto;height:100%;aspect-ratio:4 / 3;pointer-events:none;opacity:0;--faint: 0;--faint-clear: calc(70% * (1 - var(--faint)));background:radial-gradient(ellipse at center,rgba(0,0,0,0) var(--faint-clear),rgba(0,0,0,.8) calc(var(--faint-clear) + 18%),var(--black) calc(var(--faint-clear) + 36%));transition:opacity var(--dur-fast) linear;will-change:opacity,transform}@media(max-aspect-ratio:4 / 3){.faint-vignette{width:100%;height:auto}}.breath-meter{position:fixed;bottom:2.8rem;left:50%;width:120px;height:4px;transform:translate(-50%);background:var(--fill-on);box-shadow:0 0 0 1px var(--scrim-soft);opacity:0;transition:opacity var(--dur-fast) linear}.breath-meter--visible{opacity:1}.breath-meter__fill{width:100%;height:100%;background:var(--air)}.breath-meter--low .breath-meter__fill{background:var(--danger)}.faint-vignette--critical{animation:faint-pulse 1.1s ease-in-out infinite}@keyframes faint-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.screen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:var(--space-5);overflow-y:auto;background:var(--scrim);color:var(--ink);font-family:var(--font-ui);pointer-events:auto;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.screen[role=button]{cursor:pointer}.screen[role=button]:focus{outline:none}.screen[role=button]:focus-visible{outline:1px solid var(--edge);outline-offset:-12px}.screen{opacity:1;visibility:visible;transition:opacity var(--dur-in) var(--ease),visibility 0s}.screen--hidden{opacity:0;visibility:hidden;transition:opacity var(--dur-out) var(--ease),visibility 0s linear var(--dur-out)}.screen--hidden,.screen--hidden *{pointer-events:none}.screen--defeat{background:var(--black)}.screen--defeat:not(.screen--hidden){transition:opacity var(--dur-dark) var(--ease),visibility 0s}.screen>:first-child{margin-top:auto}.screen>:last-child{margin-bottom:auto}.screen__title{font-size:var(--text-xl);letter-spacing:.12em;text-transform:uppercase}.screen__subtitle{font-size:var(--text-sm);color:var(--ink-dim);letter-spacing:.1em}.screen__premise{max-width:30rem;text-align:center;font-size:var(--text-md);line-height:1.6;color:var(--ink)}.screen__controls{display:flex;gap:var(--space-5);flex-wrap:wrap;justify-content:center;font-size:var(--text-sm);color:var(--ink);letter-spacing:.04em}.screen__controls b{color:var(--ink-strong)}.screen__goal{font-size:var(--text-sm);color:var(--ink);text-align:center}.screen__luc{color:var(--lucidity)}.screen__san{color:var(--sanity)}.screen__hint{max-width:32rem;text-align:center;font-size:var(--text-sm);line-height:1.7;color:var(--ink-dim)}.screen__hint b{color:var(--ink-strong);font-style:normal}.screen__stat{font-size:var(--text-sm);color:var(--ink-dim);letter-spacing:.08em}.screen__btn{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:var(--hit);min-width:var(--btn-min-w);margin:0;padding:var(--space-2) var(--space-5);font-family:var(--font-ui);font-size:var(--text-sm);letter-spacing:.1em;text-transform:uppercase;text-align:center;color:var(--ink);background:transparent;border:1px solid var(--edge);cursor:pointer;pointer-events:auto;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.screen__btn[hidden]{display:none}.screen__btn:hover{background:var(--fill-hover)}.screen__btn:active{background:var(--fill-press)}.screen__btn--back,.screen__btn--back-settings,.screen__btn--menu{color:var(--ink-dim)}.screen__btn:disabled,.screen__btn:disabled:hover,.screen__btn:disabled:active{color:var(--ink-faint);background:transparent;cursor:default}.screen--settings{gap:18px}.screen__section{display:flex;flex-direction:column;gap:var(--space-3);width:min(20rem,86vw)}.screen__label{font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim)}.screen__segmented{display:flex}.screen__seg-btn{flex:1;min-height:var(--hit);padding:var(--space-2) 0;margin-left:-1px;font-family:var(--font-ui);font-size:var(--text-sm);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);background:transparent;border:1px solid var(--edge);cursor:pointer}.screen__seg-btn:first-child{margin-left:0}.screen__seg-btn:hover{background:var(--fill-hover)}.screen__seg-btn:active{background:var(--fill-press)}.screen__seg-btn--active,.screen__seg-btn--active:hover{position:relative;z-index:var(--z-content);font-weight:700;color:var(--ink-strong);background:var(--fill-on);border-color:var(--edge-strong)}.screen__toggle-label{display:flex;align-items:center;justify-content:space-between;min-height:var(--hit);font-size:var(--text-sm);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.screen__toggle{-moz-appearance:none;appearance:none;-webkit-appearance:none;box-sizing:border-box;flex:none;position:relative;width:2.4rem;height:1.2rem;margin:0;background:transparent;border:1px solid var(--edge);cursor:pointer}.screen__toggle:after{content:"";position:absolute;top:2px;left:2px;width:calc(1.2rem - 6px);height:calc(1.2rem - 6px);background:var(--edge);transition:transform var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.screen__toggle-label:hover .screen__toggle{background:var(--fill-hover)}.screen__toggle:checked{background:var(--fill-on);border-color:var(--edge-strong)}.screen__toggle:checked:after{transform:translate(1.2rem);background:var(--ink-strong)}.screen__slider{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:100%;height:var(--hit);margin:0;background:transparent;cursor:pointer}.screen__slider::-webkit-slider-runnable-track{height:2px;background:var(--edge)}.screen__slider::-moz-range-track{height:2px;background:var(--edge)}.screen__slider::-webkit-slider-thumb{-webkit-appearance:none;box-sizing:border-box;width:var(--hit);height:var(--hit);margin-top:calc((2px - var(--hit)) / 2);border:0;border-radius:0;background:linear-gradient(var(--thumb-ink, var(--ink)),var(--thumb-ink, var(--ink))) center / 12px 12px no-repeat,linear-gradient(var(--edge-strong),var(--edge-strong)) center / 14px 14px no-repeat}.screen__slider::-moz-range-thumb{box-sizing:border-box;width:var(--hit);height:var(--hit);border:0;border-radius:0;background:linear-gradient(var(--thumb-ink, var(--ink)),var(--thumb-ink, var(--ink))) center / 12px 12px no-repeat,linear-gradient(var(--edge-strong),var(--edge-strong)) center / 14px 14px no-repeat}.screen__slider:hover{--thumb-ink: var(--ink-strong)}.screen__btn:focus-visible,.screen__credit a:focus-visible,.intro-skip:focus-visible,.screen__seg-btn:focus-visible,.screen__toggle:focus-visible,.screen__slider:focus-visible{outline:2px solid var(--ink-strong);outline-offset:2px}.thought-overlay{position:fixed;bottom:5rem;left:50%;transform:translate(-50%);font-size:var(--text-lg);font-style:italic;color:var(--thought);letter-spacing:.04em;text-align:center;pointer-events:none;opacity:0;transition:opacity var(--dur-slow) var(--ease);max-width:36ch;line-height:1.55;white-space:pre-line;text-shadow:var(--text-shadow)}.thought-overlay.thought--visible{opacity:1}.thought-overlay.thought--grounded{color:var(--thought);letter-spacing:.04em}.thought-overlay.thought--strained{color:var(--thought-strained);letter-spacing:.06em}.thought-overlay.thought--corrupted{color:var(--thought-corrupted);letter-spacing:.14em;animation:thought-flicker 2.4s ease-in-out infinite}.thought-overlay.thought--unsure{letter-spacing:.18em}@keyframes thought-flicker{0%,to{opacity:1}48%{opacity:1}50%{opacity:.55}52%{opacity:1}80%{opacity:1}82%{opacity:.7}84%{opacity:1}}.screen--menu{background:transparent;align-items:flex-start;padding-left:max(clamp(2rem,7vw,7rem),env(safe-area-inset-left));padding-right:max(var(--space-6),env(safe-area-inset-right))}.screen--menu:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:linear-gradient(to right,rgba(0,0,0,.82) 0%,rgba(0,0,0,.55) 28%,rgba(0,0,0,.12) 55%,transparent 75%),linear-gradient(to top,rgba(0,0,0,.6) 0%,transparent 45%);pointer-events:none;z-index:var(--z-scrim)}.screen--menu{gap:var(--space-3)}.screen--menu .screen__title,.screen--menu .screen__tagline,.screen--menu .screen__lifetime,.screen--menu .screen__btn{position:relative;z-index:var(--z-content);text-align:left}.screen--menu .screen__btn:not(.screen__btn--night){width:var(--menu-col-w);max-width:100%}.screen--menu .screen__note{position:relative;z-index:var(--z-content);margin-top:0;max-width:var(--menu-col-w);font-size:var(--text-xs);line-height:1.5;letter-spacing:.04em;color:var(--ink-dim)}.screen--menu .screen__lifetime:empty{display:none}.screen--menu .screen__lifetime{color:var(--ink-faint);font-size:var(--text-xs);letter-spacing:.08em}.screen__tagline{font-size:var(--text-sm);font-style:italic;color:var(--ink-dim);letter-spacing:.08em}.screen__btn--begin,.screen--menu .screen__btn--continue{text-transform:none;letter-spacing:.14em}.screen--menu .screen__lifetime+*,.screen--menu .screen__tagline+.screen__btn{margin-top:var(--space-3)}.screen__btn--continue[hidden]+.screen__nights:empty~.screen__btn--begin{color:var(--ink-strong);background:var(--fill-hover);border-color:var(--edge-strong)}.screen__btn--continue[hidden]+.screen__nights:empty~.screen__btn--begin:hover{background:var(--fill-on)}.screen__nights{position:relative;z-index:var(--z-content);display:flex;flex-wrap:wrap;gap:var(--space-2)}.screen__nights:empty{display:none}.screen__endings{flex-basis:100%;font-size:var(--text-xs);letter-spacing:.08em;color:var(--ink-dim)}.screen__btn--night{min-width:var(--hit);padding:var(--space-2) var(--space-3);font-size:var(--text-xs);text-transform:none}.screen__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3)}.screen__btn--primary{color:var(--ink-strong);background:var(--fill-hover);border-color:var(--edge-strong)}.screen__btn--primary:hover{background:var(--fill-on)}.screen__btn--primary:active{background:var(--fill-press)}.screen__summary{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.screen__summary:empty{display:none}.screen__stats{display:grid;grid-template-columns:auto auto;column-gap:2.5rem;row-gap:6px;margin:0;font-size:var(--text-sm);letter-spacing:.06em}.screen__stats dt{text-transform:uppercase;letter-spacing:.1em;font-size:var(--text-xs);color:var(--ink-dim)}.screen__stats dd{margin:0;text-align:right;color:var(--ink-strong);font-variant-numeric:tabular-nums}.screen__summary .screen__lifetime-block,.screen__daily-marker{margin:0;font-size:var(--text-xs);letter-spacing:.08em;text-align:center;color:var(--ink-faint)}.screen__btn--back,.screen__btn--back-settings{margin-top:var(--space-3)}.screen__credit{margin:0;font-size:var(--text-xs);line-height:1.6;letter-spacing:.04em;text-align:center;color:var(--ink-faint)}.screen__credit a{color:inherit}@media(max-height:500px){.screen{gap:var(--space-2);padding-top:max(10px,env(safe-area-inset-top));padding-bottom:max(10px,env(safe-area-inset-bottom));padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}.screen--menu{flex-direction:row;flex-wrap:wrap;align-items:flex-start;align-content:flex-start;align-content:safe center;column-gap:var(--space-2);row-gap:var(--space-2);padding-left:max(clamp(1.25rem,7vw,7rem),env(safe-area-inset-left));padding-right:max(calc(100vw - 30rem),1rem)}.screen.screen--menu>*{margin:0}.screen--menu .screen__title,.screen--menu .screen__tagline,.screen--menu .screen__lifetime,.screen--menu .screen__btn--continue,.screen--menu .screen__nights,.screen--menu .screen__note{flex:1 1 100%}.screen--menu .screen__btn:not(.screen__btn--night){flex:1 1 calc(50% - var(--space-1));width:auto;min-width:0}.screen--menu .screen__btn--continue.screen__btn--continue{flex:1 1 100%}.screen--menu .screen__btn:not(.screen__btn--night){padding-inline:var(--space-2);letter-spacing:.06em}.screen--menu .screen__note{max-width:none}.screen__title{font-size:var(--text-lg)}.screen--menu .screen__title{font-size:var(--text-xl)}.screen__subtitle,.screen__tagline{font-size:var(--text-xs)}.screen__premise{max-width:44rem;font-size:var(--text-sm);line-height:1.4}.screen__controls{gap:6px 20px;font-size:var(--text-xs)}.screen__goal{font-size:var(--text-sm)}.screen__hint{max-width:44rem;font-size:var(--text-xs);line-height:1.45}.screen__stat{font-size:var(--text-xs)}.screen__summary{gap:6px}.screen__stats{row-gap:2px;font-size:var(--text-xs)}.screen__btn{--btn-min-w: 8rem}.screen__btn--back,.screen__btn--back-settings{margin-top:0}.screen--settings{gap:var(--space-2)}.screen__section{gap:6px}.screen__seg-btn,.screen__toggle-label{font-size:var(--text-xs)}}.screen--morning{background:var(--black);gap:var(--space-3)}.screen__morning-lines{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.screen__morning-line{margin:0;font-size:var(--text-lg);font-style:italic;letter-spacing:.05em;color:var(--thought);text-align:center;animation:morning-line-in 1.2s var(--ease) both}@keyframes morning-line-in{0%{opacity:0}to{opacity:1}}.sms-overlay{position:fixed;top:max(var(--space-4),env(safe-area-inset-top));right:max(var(--space-4),env(safe-area-inset-right));box-sizing:border-box;width:min(18rem,calc(50vw - 6rem));padding:var(--space-2) var(--space-3);background:var(--lcd-bg);color:var(--lcd-ink);border:2px solid var(--lcd-edge);box-shadow:var(--lcd-glow);font-family:var(--font-ui);pointer-events:none;opacity:0;transition:opacity var(--dur-slow) var(--ease)}.sms-overlay.sms--dread{background:var(--lcd-bg-dread)}.sms-overlay.sms--visible{opacity:1;transition:opacity var(--dur-fast) var(--ease)}.sms-overlay__from{padding-bottom:var(--space-1);margin-bottom:var(--space-2);border-bottom:1px solid var(--lcd-edge);font-size:var(--text-sm);letter-spacing:.1em;text-transform:uppercase}.sms-overlay__text{font-size:var(--text-md);line-height:1.4;overflow-wrap:anywhere}.captions-overlay{position:fixed;bottom:max(var(--space-3),env(safe-area-inset-bottom));left:50%;transform:translate(-50%);box-sizing:border-box;max-width:min(36rem,calc(100vw - 2 * (72px + var(--space-4) + var(--space-4))));padding:var(--space-1) var(--space-3);font-size:var(--text-sm);letter-spacing:.06em;text-align:center;color:var(--ink-strong);text-shadow:var(--text-shadow);pointer-events:none;opacity:0}.captions-overlay.captions--visible{background:var(--scrim);opacity:1;animation:captions-in var(--dur-fast) var(--ease) both}@keyframes captions-in{0%{opacity:0}to{opacity:1}}.threat-cues{position:fixed;top:max(var(--space-4),env(safe-area-inset-top));left:50%;transform:translate(-50%);display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--scrim-soft);border:1px solid var(--edge-faint);pointer-events:none}.threat-cues__arrow{min-width:1.2em;text-align:center;font-size:var(--text-lg);line-height:1;color:var(--ink-strong)}.threat-cues__bar-track{position:relative;box-sizing:border-box;width:120px;height:var(--space-3);background:var(--fill-on);border:1px solid var(--edge)}.threat-cues__bar-fill{position:relative;height:100%;background:var(--danger)}.threat-cues__bar-fill:after{content:"";position:absolute;top:-4px;bottom:-4px;right:-1px;width:2px;background:var(--ink-strong)}.intro-line{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);font-size:var(--text-lg);font-style:italic;color:var(--thought);letter-spacing:.05em;text-align:center;pointer-events:none;opacity:0;transition:opacity var(--dur-slow) var(--ease);max-width:42ch;line-height:1.6;text-shadow:var(--text-shadow);z-index:var(--z-intro)}.intro-line--visible{opacity:1}.intro-skip{position:fixed;bottom:var(--space-5);right:var(--space-5);min-height:var(--hit);padding:var(--space-2) var(--space-4);font-family:var(--font-ui);font-size:var(--text-xs);letter-spacing:.1em;color:var(--ink-dim);background:var(--scrim-soft);border:1px solid var(--edge-faint);cursor:pointer;pointer-events:auto;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease);z-index:var(--z-skip)}.intro-skip:hover{color:var(--ink-strong);background:var(--fill-hover);border-color:var(--edge)}.intro-skip:active{background:var(--fill-press)}.death-cover{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-death);background:var(--black);opacity:0;visibility:hidden;pointer-events:none}.death-cover--down{opacity:1;visibility:visible}.death-cover--lifting{transition:opacity .9s ease-out,visibility 0s linear .9s}@media(prefers-reduced-motion:reduce){.hud-reticle,.eyelid,.eyelid.closing,.eyelid-top.open,.eyelid-bottom.open,.faint-vignette,.faint-vignette--critical,.thought-overlay,.thought-overlay.thought--corrupted,.resource-indicator,.resource-indicator--critical,.intro-line,.intro-line--visible,.intro-skip,.screen,.screen--hidden,.screen--defeat:not(.screen--hidden),.captions-overlay,.captions-overlay.captions--visible,.sms-overlay,.sms-overlay.sms--visible,.death-cover--lifting,.screen__morning-line{transition:none!important;animation:none!important}}.touch-btn{position:fixed;bottom:calc(4.5rem + env(safe-area-inset-bottom));width:72px;height:72px;border-radius:50%;border:1px solid var(--edge);background:var(--scrim-soft);color:var(--ink);font-family:var(--font-ui);font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.touch-btn--breath{left:max(var(--space-4),env(safe-area-inset-left))}.touch-btn--blink{right:max(var(--space-4),env(safe-area-inset-right))}.touch-btn:active,.touch-btn--pressed{background:var(--fill-press);border-color:var(--edge-strong)}.touch-btn--hidden{display:none}#game{touch-action:none}.rotate-prompt{display:none}@media(pointer:coarse)and (orientation:portrait){.rotate-prompt{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-rotate);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);background:var(--black);color:var(--ink);font-family:var(--font-ui);font-size:var(--text-sm);letter-spacing:.1em;text-align:center;padding:var(--space-5)}.rotate-prompt__title{font-size:var(--text-lg);text-transform:uppercase}}
