*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;overflow:hidden;background:#000;color:#d9d4c7;font-family:Inter,Helvetica Neue,Arial,sans-serif}#app canvas{display:block}.hidden{display:none!important}#grain{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.09;mix-blend-mode:screen;z-index:2}#vignette{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2;background:radial-gradient(ellipse at center,#0000 45%,#000000d9)}#slats{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:3;background:repeating-linear-gradient(180deg,#000 0,#000 26px,#0000 26px,#0000 34px)}#redflash{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:4;background:#6a0000;opacity:0;mix-blend-mode:multiply}#fade{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:20;background:#000;opacity:0;transition:opacity .6s}#floorCard{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:21;pointer-events:none;font-size:64px;font-weight:800;letter-spacing:.3em;color:#e8e2d2;opacity:0;transition:opacity 1s}#hud{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:5}#floorTag{position:absolute;left:24px;top:20px;font-weight:800;letter-spacing:.25em;font-size:15px;color:#cfc8b6}#objective{position:absolute;left:24px;top:44px;font-size:14px;color:#a39d8e;max-width:380px;transition:opacity 1s}#crosshair{position:absolute;left:50%;top:50%;width:4px;height:4px;margin:-2px 0 0 -2px;border-radius:50%;background:#e6e1d2b3}#holdRing{position:absolute;left:50%;top:50%;width:40px;height:40px;margin:-20px 0 0 -20px;transform:rotate(-90deg);opacity:0}#holdRing circle{fill:none;stroke-width:3}#holdRing .bg{stroke:#ffffff1f}#holdRing .fg{stroke:#e8e2d2;stroke-dasharray:100.5;stroke-dashoffset:100.5}#prompt{position:absolute;left:50%;top:calc(50% + 34px);transform:translate(-50%);font-size:15px;color:#e8e2d2;text-shadow:0 0 6px #000;white-space:nowrap}#prompt em{font-style:normal;color:#a39d8e}#message{position:absolute;left:50%;top:calc(50% + 60px);transform:translate(-50%);font-size:14px;color:#b9b2a2;text-shadow:0 0 6px #000;transition:opacity .5s;white-space:nowrap}#caption{position:absolute;left:50%;bottom:90px;transform:translate(-50%);font-size:16px;color:#e8e2d2;background:#0000008c;padding:6px 14px;border-radius:4px;opacity:0;transition:opacity .4s;white-space:nowrap}#meters{position:absolute;left:24px;bottom:22px;display:flex;flex-direction:column;gap:7px}.meter{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.18em;color:#8f8979}.meter span{width:52px}.bar{width:120px;height:4px;background:#ffffff1a}.bar i{display:block;height:100%;width:100%;background:#d9d4c7}#noise{background:#c9452c}#inv{position:absolute;right:24px;bottom:22px;display:flex;gap:10px}.slot{width:92px;height:82px;border:1px solid rgba(255,255,255,.15);background:#00000073;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.slot.sel{border-color:#e8e2d2}.slot b{position:absolute;left:6px;top:4px;font-size:10px;color:#8f8979}.slot .ic svg{width:36px;height:36px;stroke:#e8e2d2;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.slot .nm{font-size:11px;color:#cfc8b6}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;align-items:center;justify-content:center;background:#000000d1}#title{background:radial-gradient(ellipse at 50% 40%,#1a120c,#000 70%)}.card{max-width:560px;padding:40px;text-align:left}.card h1{font-size:56px;font-weight:800;letter-spacing:.12em;color:#e8e2d2;margin-bottom:18px}.card h2{font-size:34px;font-weight:800;letter-spacing:.06em;color:#e8e2d2;margin-bottom:14px}.card .lead{font-size:18px;color:#d9d4c7;margin-bottom:10px}.card .sub{font-size:14px;line-height:1.55;color:#9c9585;margin-bottom:18px}.keys{display:grid;grid-template-columns:1fr 1fr;gap:8px 22px;font-size:13px;color:#b9b2a2;margin:18px 0 22px}kbd{display:inline-block;font-family:inherit;font-size:11px;padding:2px 6px;border:1px solid rgba(255,255,255,.25);border-radius:3px;color:#e8e2d2;margin-right:4px}button{font-family:inherit;font-size:15px;font-weight:700;letter-spacing:.06em;padding:13px 26px;border:0;border-radius:4px;background:#c9452c;color:#fff;cursor:pointer;margin-right:10px;margin-top:6px}button:hover{background:#dd5236}button.ghost{background:transparent;border:1px solid rgba(255,255,255,.3);color:#d9d4c7}
