:root{font-family:Arial,Helvetica,sans-serif;color:#28322e;background:#b9bbb0;font-synthesis:none;--ink:#28322e;--muted:#697166;--green:#c4d79b;--rule:rgba(40,50,46,.22)}*{box-sizing:border-box}body{margin:0;overflow:hidden}button{font:inherit;cursor:pointer}button:focus-visible{outline:2px solid #3b523a;outline-offset:5px}button:active{transform:translateY(1px)}.hidden{display:none!important}#game{position:fixed;inset:0;width:100%;height:100%;outline:0;touch-action:none}.grain{position:fixed;inset:0;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.5' filter='url(%23n)'/%3E%3C/svg%3E");z-index:2}.brand{position:fixed;top:31px;left:40px;display:flex;gap:13px;align-items:center;font-weight:800;font-size:13px;letter-spacing:1.5px;z-index:7;pointer-events:none}.brand-mark{display:grid;place-items:center;width:36px;height:38px;font-size:18px;letter-spacing:-2px;border:2px solid var(--ink)}.brand small{display:block;font-size:8px;letter-spacing:1.65px;margin-top:5px;font-weight:400}.brand small b{margin-left:8px}.top-actions{position:fixed;right:35px;top:29px;display:flex;gap:9px;z-index:12}.icon-button{width:36px;height:36px;background:transparent;color:var(--ink);border:1px solid var(--rule);border-radius:50%;font-size:19px}.icon-button:hover{background:#dbe0cb80}.screen{position:fixed;inset:0;z-index:6}.intro{background:linear-gradient(90deg,rgba(192,195,180,.96),rgba(192,195,180,.84) 25%,transparent 67%)}.intro-copy{position:absolute;left:7%;top:50%;transform:translateY(-49%)}.eyebrow{font:10px/1.6 monospace;letter-spacing:2px;display:flex;align-items:center;gap:10px}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#536547;box-shadow:0 0 0 4px #53654715}h1{font-size:clamp(58px,7.7vw,114px);font-weight:900;line-height:.91;letter-spacing:-.068em;margin:30px 0 27px}h1 span{-webkit-text-stroke:1.2px var(--ink);color:transparent;letter-spacing:-.057em}.intro-description{font-size:16px;line-height:1.7;color:#566050;margin:0 0 30px}.primary-button{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:18px 22px;min-width:256px;border:1px solid #29322d;background:#29322d;color:#e5e9d9;font-size:13px;font-weight:700;transition:background .2s}.primary-button:hover{background:#41513d}.primary-button span{font-size:21px;font-weight:400;line-height:1}.start-hint{display:block;font:8px/1.6 monospace;letter-spacing:1.5px;margin-top:15px;color:#687260}.start-hint span{margin:0 9px}.intro-caption{position:absolute;right:8%;top:29%;max-width:210px}.caption-line{display:block;width:37px;border-top:1px solid #697461;margin-bottom:16px}.intro-caption small{font:9px monospace;letter-spacing:1.5px}.intro-caption p{font-size:13px;line-height:1.6;color:#65705f}.intro-bottom{position:absolute;bottom:31px;left:40px;right:40px;border-top:1px solid var(--rule);padding-top:16px;display:flex;justify-content:space-between;gap:20px;font:9px monospace;letter-spacing:1.2px}.intro-bottom i{font-family:Arial,sans-serif;font-style:normal;letter-spacing:0;color:#697260}.player-status{position:fixed;top:111px;left:40px;width:245px;z-index:3}.status-heading,.stamina-caption{display:flex;justify-content:space-between;align-items:center}.status-heading{font-size:10px;font-weight:700;letter-spacing:1.5px;margin-bottom:9px}.status-heading small{font:9px monospace;letter-spacing:0;color:#697166}.meter{position:relative;overflow:hidden;background:#29322d23;height:7px}.meter .fill,.meter .lag{height:100%;position:absolute;left:0;top:0;width:100%;transform-origin:left;will-change:transform}.health .fill{background:#6d5845}.meter .lag{background:#d8b47c;transition:transform .5s ease .2s}.stamina{height:4px;margin-top:6px}.stamina .fill{background:#72845b;transition:background .15s}.stamina-caption{font:7px monospace;letter-spacing:1px;margin-top:6px;color:#64705a}.encounter-tag{position:fixed;right:39px;top:106px;display:flex;align-items:center;gap:10px;font:8px monospace;letter-spacing:1px;z-index:3;color:#566250}.divider{margin:0 3px;opacity:.4}#combat-message{position:fixed;top:23%;left:50%;transform:translate(-50%,8px);font-size:11px;font-weight:700;letter-spacing:2px;z-index:3;opacity:0;transition:opacity .12s,transform .15s;white-space:nowrap;text-shadow:0 1px 10px #dfe1ce}#combat-message.visible{opacity:1;transform:translate(-50%)}#combat-message.danger{color:#84533e}.enemy-status{position:fixed;bottom:91px;left:50%;width:min(540px,55vw);transform:translate(-50%);z-index:3}.enemy-heading{display:flex;align-items:center;gap:12px;margin-bottom:13px}.boss-index{font:10px monospace;border:1px solid var(--rule);padding:7px 6px}h2{margin:0}.enemy-heading h2{font-size:13px;letter-spacing:1.6px;font-weight:700}.enemy-heading p{font-size:9px;color:#697166;margin:4px 0 0}.guard-status{margin-left:auto;font:8px monospace;letter-spacing:1px}.guard-status.open{color:#815634}.boss-health{height:5px;background:#29322d28}.boss-health .fill{background:#394638}.boss-bottom{display:flex;justify-content:space-between;font:8px monospace;letter-spacing:.5px;margin-top:8px;color:#66715d}.controls-bar{position:fixed;bottom:26px;left:40px;right:40px;display:flex;justify-content:center;gap:25px;border-top:1px solid var(--rule);padding-top:16px;font-size:9px;color:#66715f;z-index:3}.controls-bar span{display:flex;align-items:center;gap:7px;white-space:nowrap}kbd{font:8px monospace;border:1px solid #66715f45;border-bottom-width:2px;padding:4px 5px;color:#3c473a;display:inline-block;background:#c6cab728}.side-note{position:fixed;left:40px;bottom:113px;display:flex;flex-direction:column;gap:11px;font:8px monospace;letter-spacing:1px;color:#5c6954}.tiny-line{width:20px;border-top:1px solid var(--rule)}#combo-indicator{font-size:12px;letter-spacing:5px}.modal{display:grid;place-items:center;background:#303a3060;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);z-index:10}.modal-card{width:min(490px,92vw);padding:36px 40px;background:#cbd0bd;box-shadow:0 24px 100px #29322d30;border:1px solid #dadfcb}.modal-card h2{font-size:44px;line-height:1.03;letter-spacing:-2px;margin:16px 0 26px}.instructions p{display:flex;align-items:center;gap:17px;font-size:11px;margin:11px 0;color:#525f4c}.instructions kbd{width:72px;text-align:center;flex-shrink:0}.tactical-note{font-size:11px;line-height:1.6;border-top:1px solid var(--rule);padding-top:15px;margin-top:20px;color:#4f5d46}.gamepad-note{font-size:9px;color:#78836c;line-height:1.7;margin:14px 0 24px}.modal-card .primary-button{width:100%}.text-button{display:block;background:none;border:none;font-size:10px;color:#657359;margin:15px auto 0;padding:5px}.result{display:grid;place-items:center;background:#b8beaa70;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9;text-align:center}.result-copy{display:flex;align-items:center;flex-direction:column}.result .eyebrow{justify-content:center}.result h2{font-size:clamp(52px,8vw,100px);letter-spacing:-.055em;margin:25px 0 13px;line-height:1}.result p{font-size:15px;color:#56644a;margin:10px 0 30px}#result-stats{display:flex;gap:34px;margin-bottom:34px;font-size:9px;color:#627353}#result-stats b{display:block;font:24px monospace;color:var(--ink);margin-bottom:9px}.result.defeat h2{color:#754c39}.result.defeat{background:#b6b5a588}#touch-controls{display:none}#error{position:fixed;inset:0;background:#c7cbb9;z-index:30;display:grid;place-content:center;text-align:center;padding:30px;line-height:1.7}body.playing .brand{opacity:.8}.player-status.exhausted .stamina{animation:exhausted .16s 3}@keyframes exhausted{50%{background:#af714b99}}@media(min-width:1600px){.intro-copy{left:9%}.intro-caption{right:12%}}@media(max-height:750px){.intro-copy{transform:translateY(-43%)}h1{font-size:clamp(56px,7vw,92px);margin:22px 0}.intro-description{font-size:14px;margin-bottom:23px}.modal-card{padding:22px 32px}.modal-card h2{font-size:34px;margin:11px 0 16px}.instructions p{margin:8px 0}.tactical-note{margin-top:15px}.gamepad-note{margin-bottom:16px}.brand,.top-actions{top:22px}.player-status,.encounter-tag{top:90px}}@media(max-width:900px){.brand{left:24px}.player-status{left:24px;width:200px}.top-actions{right:22px}.encounter-tag{right:24px;font-size:7px}.controls-bar{gap:12px;left:24px;right:24px;font-size:8px}.controls-bar span:nth-last-child(2){display:none}.side-note{left:24px}.intro-caption{right:6%;top:26%}.intro-bottom{left:24px;right:24px;font-size:8px}.intro-bottom>span:first-child{display:none}.enemy-status{width:min(500px,64vw)}}@media(max-width:600px){.brand{top:20px;left:20px;font-size:11px}.brand-mark{width:30px;height:32px}.top-actions{top:20px;right:18px}.intro-copy{left:7%;top:44%}.intro-caption{display:none}h1{font-size:64px}.intro{background:linear-gradient(90deg,#bfc3b5e8,transparent 140%)}.intro-description{font-size:14px}.intro-bottom{font-size:7px;bottom:22px;letter-spacing:.4px}.player-status{top:85px;left:20px;width:180px}.encounter-tag{top:151px;left:20px;right:auto}.enemy-status{width:calc(100% - 40px);bottom:82px}.guard-status{font-size:7px}.enemy-heading h2{font-size:11px}.controls-bar{gap:9px;left:20px;right:20px;bottom:21px}.controls-bar span{font-size:0;gap:0}.side-note{bottom:180px;left:20px}#combat-message{top:28%;font-size:9px}.modal-card h2{font-size:32px}.modal-card{padding:25px}.instructions p{font-size:10px}.result h2{font-size:54px}}@media(pointer:coarse){#touch-controls{position:fixed;bottom:170px;left:24px;right:24px;display:flex;align-items:center;justify-content:space-between;pointer-events:none;z-index:4}#joystick{width:100px;height:100px;border:1px solid #48584155;border-radius:50%;background:#c7ceb522;pointer-events:auto;touch-action:none;display:grid;place-items:center}#joystick span{display:block;width:35px;height:35px;border-radius:50%;background:#48584155}.touch-actions{display:flex;gap:8px;align-items:center;pointer-events:auto}.touch-actions button{width:54px;height:54px;border:1px solid #48584166;background:#c7ceb599;border-radius:50%;font-size:8px;color:#3b4c32;touch-action:none}.touch-actions button:last-child{width:65px;height:65px}.side-note,.controls-bar{display:none}.enemy-status{bottom:35px}}
