@font-face{font-family:IM Fell English SC;font-style:normal;font-display:swap;font-weight:400;src:url(./im-fell-english-sc-latin-400-normal-CW_nhHm4.woff2) format("woff2"),url(./im-fell-english-sc-latin-400-normal-DPW2r_p4.woff) format("woff")}@font-face{font-family:IM Fell English;font-style:italic;font-display:swap;font-weight:400;src:url(./im-fell-english-latin-400-italic-DD_ylKHZ.woff2) format("woff2"),url(./im-fell-english-latin-400-italic-hN89MLGX.woff) format("woff")}:root{--bone: #e9e0d0;--dim: #8a7f70;--faint: #564e45;--red: #ff4b3a;--blood: #9d1a14;--ink: #050505;--serif: "IM Fell English SC", Georgia, "Times New Roman", serif;--italic: "IM Fell English", Georgia, "Times New Roman", serif;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;background:#000;color:var(--bone);font-family:var(--sans)}.app{position:fixed;inset:0;overflow:hidden}canvas.gl{position:absolute;inset:0;width:100%;height:100%;display:block}button{font:inherit;color:inherit;cursor:pointer}.screen{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:24px 16px;z-index:20}.screen.menu{justify-content:flex-start;background:linear-gradient(90deg,#000000e6,#0000008c 34%,#0000 56%)}.menu-inner{max-width:560px;padding-left:clamp(8px,6vw,96px);animation:rise 1.6s ease both}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.kicker{font-family:var(--mono);font-size:12px;letter-spacing:.42em;color:var(--dim);margin:0 0 14px}.title{margin:0;font-family:var(--serif);font-weight:400;line-height:.92;display:flex;flex-direction:column;color:var(--bone);text-shadow:0 0 40px rgba(157,26,20,.45)}.title span{font-size:clamp(34px,6vw,58px);letter-spacing:.08em}.title .title-big{font-size:clamp(60px,12vw,118px);letter-spacing:.1em}.tag{font-family:var(--italic);font-style:italic;font-size:clamp(18px,2.2vw,24px);color:#cdbfa8;margin:18px 0 8px}.lede{color:var(--dim);font-size:15px;line-height:1.5;max-width:440px;margin:0 0 26px}.menu-buttons,.row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.row.col{flex-direction:column;align-items:stretch}.btn{border:1px solid rgba(233,224,208,.28);background:#00000059;padding:13px 20px;font-family:var(--mono);font-size:13px;letter-spacing:.14em;border-radius:2px;transition:background .15s,border-color .15s,transform .1s}.btn:hover,.btn:focus-visible{background:#e9e0d01a;border-color:#e9e0d099;outline:none}.btn:active{transform:translateY(1px)}.btn-red{background:var(--blood);border-color:#e8574a;color:#fff4ea;font-weight:700}.btn-red:hover,.btn-red:focus-visible{background:#b8231b;border-color:#ff8a7d}.btn-ghost{letter-spacing:.06em;color:#cdbfa8}.link{background:none;border:none;color:var(--dim);text-decoration:underline;text-underline-offset:3px;margin-top:16px;padding:4px 0;font-size:13px}.fine{margin-top:22px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--faint)}.corner-btn{position:absolute;right:16px;bottom:16px;background:none;border:1px solid rgba(233,224,208,.18);padding:8px 12px;font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--dim)}.corner-home{position:absolute;left:16px;bottom:16px;font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--faint);text-decoration:none}.inapp{max-width:460px;margin:0 0 24px;padding:12px 14px 13px;background:#180503e0;border:1px solid rgba(255,75,58,.45);border-left:3px solid var(--red);text-align:left}.inapp .inapp-h{margin:0 0 4px;font-family:var(--mono);font-size:12.5px;font-weight:700;letter-spacing:.08em;line-height:1.4;text-transform:uppercase;color:#ffd6cc}.inapp .inapp-p{margin:0;font-size:14px;line-height:1.45;color:#e6d8c4}.inapp .inapp-p b{color:#fff4ea;white-space:nowrap}.inapp-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:10px}.inapp .inapp-copy{padding:9px 14px;font-size:12px;letter-spacing:.14em}.inapp-done{font-size:12.5px;color:#cdbfa8}.inapp-link{display:block;width:100%;margin-top:8px;padding:8px 10px;font:12px var(--mono);color:var(--bone);background:#000;border:1px solid rgba(233,224,208,.25);border-radius:0;-webkit-user-select:text;user-select:text}.panel .inapp{margin:4px 0 14px}.panel{width:min(560px,100%);max-height:100%;overflow-y:auto;background:#040404db;border:1px solid rgba(233,224,208,.12);padding:30px 28px;backdrop-filter:blur(3px)}.panel.center{text-align:center}.panel.center .row{justify-content:center}.panel h2{font-family:var(--serif);font-weight:400;font-size:clamp(26px,4vw,36px);letter-spacing:.03em;margin:0 0 14px;line-height:1.12}.panel p{color:#bdb09b;line-height:1.55;font-size:15px}.panel .small{font-size:13px;color:var(--dim)}.panel .warn{color:#e0a070}.screen.mic,.screen.died,.screen.done,.screen.pause{background:#0000008c}.overlay-top{position:absolute;inset:0;z-index:40}.cal-bar{height:3px;background:#1c1512;overflow:hidden;margin-top:18px}.cal-bar span{display:block;height:100%;background:var(--red);width:0;animation:cal 1.8s linear forwards}.cal-bar span.half{animation:cal2 1.8s linear forwards}@keyframes cal{0%{width:0}to{width:50%}}@keyframes cal2{0%{width:50%}to{width:100%}}.meter.big{position:relative;height:26px;background:#140f0d;border:1px solid rgba(233,224,208,.15);margin:22px 0 6px}.meter.big .meter-fill{height:100%;background:linear-gradient(90deg,#6d8f7e,#d6b25a 45%,#ff4b3a 80%);transition:width .05s linear}.meter-marks span{position:absolute;top:32px;transform:translate(-50%);font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--dim)}.meter-read{display:flex;justify-content:space-between;align-items:baseline;margin:30px 0 14px;gap:12px;flex-wrap:wrap}.meter-read .db{font-family:var(--mono);font-size:34px;font-weight:700;color:var(--bone)}.meter-read .from{font-family:var(--italic);font-style:italic;color:#cdbfa8;font-size:17px}.slider{display:grid;grid-template-columns:1fr auto;gap:6px 14px;align-items:center;margin:16px 0;font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--dim)}.slider input{grid-column:1 / -1;width:100%;accent-color:var(--red)}.slider .val{grid-row:1;grid-column:2;color:var(--bone)}.check{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--dim);margin:8px 0 14px}.big-red{color:var(--red)!important;font-size:clamp(40px,7vw,64px)!important;letter-spacing:.06em!important;text-shadow:0 0 30px rgba(255,40,20,.4)}.reason{font-family:var(--italic);font-style:italic;font-size:19px!important;color:#d9ccb6!important;margin:0 0 6px}.db-big{font-family:var(--mono);font-size:44px!important;font-weight:700;color:var(--bone)!important;margin:6px 0 22px}.stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.stats div{border:1px solid rgba(233,224,208,.1);padding:12px;display:flex;flex-direction:column;gap:4px}.stats span{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--dim);text-transform:uppercase}.stats b{font-family:var(--mono);font-size:24px}.next{font-family:var(--mono);font-size:12px!important;letter-spacing:.12em;color:var(--dim)!important;margin:8px 0 22px}.next i{font-family:var(--italic);letter-spacing:.02em;font-size:15px;color:#cdbfa8}.hud{position:absolute;inset:0;pointer-events:none;z-index:10}.vignette{position:absolute;inset:0;background:radial-gradient(ellipse at center,#0000 45%,#2800008c);transition:opacity .4s}.is-hidden .vignette{background:radial-gradient(ellipse at center,#0000 35%,#140000a6)}.heard-flash{position:absolute;inset:0;box-shadow:inset 0 0 160px 40px #d2140a8c;animation:flash 1.6s ease-out forwards}@keyframes flash{0%{opacity:1}to{opacity:0}}.heard-text{position:absolute;top:22%;left:0;right:0;text-align:center;font-family:var(--mono);font-weight:700;font-size:15px;letter-spacing:.5em;color:var(--red);text-shadow:0 0 20px rgba(255,40,20,.7);animation:flash 1.6s ease-out forwards}.objective{position:absolute;top:calc(14px + env(safe-area-inset-top));left:calc(16px + env(safe-area-inset-left));max-width:46vw;font-family:var(--mono);font-size:12px;letter-spacing:.12em;color:#b9ad99;text-transform:uppercase;text-shadow:0 1px 4px #000}.toast{position:absolute;top:calc(14px + env(safe-area-inset-top));right:16px;font-family:var(--mono);font-size:12px;letter-spacing:.3em;color:var(--dim);text-transform:uppercase;animation:flash 2.2s ease-in forwards}.dot{position:absolute;left:50%;top:50%;width:4px;height:4px;margin:-2px 0 0 -2px;border-radius:50%;background:#e9e0d073}.hidden-label{position:absolute;top:calc(14px + env(safe-area-inset-top));left:0;right:0;text-align:center;font-family:var(--mono);font-size:11px;letter-spacing:.4em;color:#7c7266}.sub{position:absolute;left:50%;bottom:190px;transform:translate(-50%);width:min(760px,92vw);text-align:center;font-family:var(--italic);font-style:italic;font-size:clamp(17px,2.2vw,22px);color:#eee4d2;text-shadow:0 2px 8px #000,0 0 2px #000}.hint{position:absolute;left:calc(16px + env(safe-area-inset-left));top:46px;max-width:min(340px,60vw);padding:10px 12px;background:#0000008c;border-left:2px solid var(--blood);font-size:13px;line-height:1.45;color:#cfc3ae}.bottom{position:absolute;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translate(-50%);width:min(520px,92vw);display:flex;flex-direction:column;align-items:center;gap:10px}.prompt{font-family:var(--mono);font-size:13px;letter-spacing:.08em;color:var(--bone);text-shadow:0 1px 4px #000;text-align:center}.prompt.small{font-size:12px;color:#b9ad99}.prompt .key{display:inline-block;min-width:24px;padding:2px 7px;margin-right:6px;border:1px solid rgba(233,224,208,.55);border-radius:3px;font-weight:700}.force{width:220px;height:3px;background:#ffffff1f;margin:8px auto 0}.force span{display:block;height:100%;background:var(--red)}.breath{width:100%;display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:#9fb5c2}.breath .label{width:170px;text-align:right}.breath .bar{flex:1;height:4px;background:#ffffff14}.breath .bar span{display:block;height:100%;background:#8fb4c9;transition:width .1s linear}.breath.holding .bar span{background:#cfe6f2}.breath.gasp{color:var(--red)}.breath.gasp .bar span{background:var(--red)}.meter{width:100%}.meter-row{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11px;letter-spacing:.1em}.meter .you{width:60px;text-align:right;color:var(--bone);font-weight:700}.meter-track{position:relative;flex:1;height:8px;background:#ffffff12;border:1px solid rgba(255,255,255,.08)}.meter-track .meter-fill{height:100%;background:#cdbfa8;transition:width .05s linear}.meter.over .meter-track .meter-fill{background:var(--red);box-shadow:0 0 12px #ff3c28cc}.meter .gate{position:absolute;top:-5px;bottom:-5px;width:2px;margin-left:-1px;background:var(--red);box-shadow:0 0 6px #ff3c28e6;transition:left .25s ease}.meter .gate-label{width:130px;color:#d98a7e}.meter.off{text-align:center;font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--faint)}.touch{position:absolute;inset:0;z-index:15;touch-action:none}.stick{position:absolute;width:112px;height:112px;border-radius:50%;border:1px solid rgba(233,224,208,.25);background:#0003}.stick .knob{position:absolute;left:36px;top:36px;width:40px;height:40px;border-radius:50%;background:#e9e0d059}.tbtns{position:absolute;right:calc(12px + env(safe-area-inset-right));bottom:calc(96px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(2,76px);gap:10px}.tbtn{height:58px;border-radius:29px;border:1px solid rgba(233,224,208,.3);background:#00000059;font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--bone);touch-action:none}.tbtn.on,.tbtn.breath.on{background:#8fb4c959;border-color:#cfe6f2}.tbtn.use.ready{border-color:var(--bone);background:#e9e0d026}.tbtn.pause{position:absolute;top:calc(10px + env(safe-area-inset-top));right:calc(12px + env(safe-area-inset-right));width:44px;height:44px;border-radius:50%}.is-touch .objective{max-width:60vw}.is-touch .sub{bottom:220px}@media (max-width: 640px){.screen.menu{background:linear-gradient(180deg,#00000080,#000000e0 55%);align-items:flex-end}.menu-inner{padding-left:0;padding-bottom:40px}.panel{padding:22px 18px}.meter .gate-label{width:96px}.breath .label{width:120px}}@media (max-height: 520px){.screen{padding:12px 16px}.screen.menu{align-items:center;overflow-y:auto}.menu-inner{padding-bottom:0}.kicker{margin-bottom:6px;font-size:10px}.title span{font-size:clamp(20px,8vh,40px)}.title .title-big{font-size:clamp(40px,17vh,84px)}.tag{margin:8px 0 12px;font-size:16px}.lede{display:none}.menu-buttons{gap:8px}.btn{padding:9px 14px;font-size:12px}.fine{margin-top:10px;font-size:10px}.corner-home{display:none}.inapp{margin-bottom:10px;padding:8px 12px 9px}.inapp .inapp-p{font-size:12.5px}.inapp-row{margin-top:6px}.inapp .inapp-copy{padding:7px 12px;font-size:11px}.panel{padding:16px 18px}.panel h2{font-size:22px;margin-bottom:8px}.panel p{font-size:13px;margin:6px 0}.meter-read{margin:22px 0 6px}.meter-read .db{font-size:24px}.sub{bottom:150px;font-size:16px}.is-touch .sub{bottom:118px;width:min(560px,62vw);left:42%}.hint{top:36px;font-size:12px;max-width:44vw}.bottom{width:min(460px,62vw)}.is-touch .bottom{left:42%}.tbtns{bottom:calc(14px + env(safe-area-inset-bottom));grid-template-columns:repeat(2,68px);gap:8px}.tbtn{height:50px}}
