:root{color:#e3e5d6;background:#102023;font-family:Arial,Helvetica,sans-serif;font-synthesis:none;--amber: #ddc095;--muted: #9ab1a9;--line: #afc4b233}*{box-sizing:border-box}body{margin:0;overscroll-behavior:none}button,input,select{font:inherit}button{color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.4;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #e5c596;outline-offset:3px}[hidden]{display:none!important}button svg{width:25px;height:25px;flex:none}button{touch-action:manipulation}#menu{min-height:100dvh;position:relative;overflow:hidden;background:radial-gradient(ellipse at 70% 38%,#3d605b,#172f32 34%,#0d2024 75%)}.menu-art{position:absolute;inset:0;overflow:hidden}.menu-art:before,.menu-art:after{content:"";position:absolute;width:60%;height:45%;bottom:-15%;right:-5%;border-radius:50%;background:#6c9b8f1a;transform:rotate(-15deg)}.menu-art img{position:absolute;height:105vh;right:0;bottom:-22vh;opacity:.6;transform:scaleX(-1)}.menu-moon{position:absolute;right:24%;top:12%;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,#bfd2ba22,#bfd2ba04 65%,transparent 70%)}.menu-card{position:relative;z-index:1;width:min(540px,100%);padding:8vh 50px 35px 7vw}.eyebrow{font-size:10px;letter-spacing:3px;color:#b7c4aa;margin:0 0 23px}h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(58px,6.5vw,94px);line-height:.98;letter-spacing:-3px;margin:0 0 25px}h1 em{font-style:normal;color:#d5bc8c}.intro{font-size:14px;line-height:1.8;color:#b2c0b5;max-width:350px}.menu-note{display:flex;gap:18px;border-top:1px solid var(--line);padding:16px 0;margin-top:23px}.menu-note>span{font:italic 32px Georgia;color:#d5bc8c}.menu-note p{font-size:12px;line-height:1.7;color:#a9bbb0;margin:0}.primary,.secondary,.quiet{width:100%;padding:15px 18px;min-height:48px;border-radius:7px;letter-spacing:1px;font-size:12px}.primary{border:1px solid #e5c69299;background:linear-gradient(110deg,#b49a67,#8b794f);color:#101e1f;font-weight:700;box-shadow:0 7px 25px #0002}.primary span{display:block;font-size:10px;letter-spacing:0;font-weight:400;margin-top:6px}.secondary{background:#1a3533aa;border:1px solid var(--line);margin-top:9px}.quiet{border:0;background:none;font-size:10px;color:#b0bdae;margin-top:6px;padding:12px}.seed-label{display:flex;align-items:center;gap:12px;color:#afc0ac;font-size:10px;letter-spacing:2px;margin-bottom:18px}.seed-label input{width:115px;background:#10272aaa;color:#e0d6ba;border:1px solid var(--line);padding:8px 12px;border-radius:4px;letter-spacing:1px}.build-note{font-size:10px;color:#8ea79e;line-height:1.8;margin-top:20px}#menu-error{font-size:12px;color:#e9b79b}#play{position:fixed;inset:0;overflow:hidden;background:#132a2b;touch-action:none;user-select:none}#world{position:absolute;inset:0;overflow:hidden}#world canvas{display:block}#loading{position:absolute;inset:0;background:#0e2225;z-index:50;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:22px;color:#b7c4b4}#loading small{letter-spacing:3px;font-size:11px}#loading strong{font:50px Georgia;color:#d8bd8c}#loading span{font-size:12px}header{position:absolute;inset:18px 22px auto;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none;z-index:3}header button{pointer-events:auto}.hud-button,.tool{border:1px solid #b6c7ac4d;background:#10272bdc;border-radius:7px;color:#e0d8bd;height:43px}.hud-button{display:flex;align-items:center;gap:10px;padding:0 15px;font-size:10px;letter-spacing:.8px}.mission-dot{width:6px;height:6px;border:1px solid #d5c698;transform:rotate(45deg)}.clock{position:absolute;left:50%;transform:translate(-50%);text-align:center;background:#10272b88;border-radius:5px;padding:6px 15px;white-space:nowrap}.clock small{display:block;letter-spacing:1.5px;font-size:7px;color:#b3c2b1}.clock span{font-size:22px;line-height:1.25;color:#e2dfc8}.tools{display:flex;gap:8px}.tool{width:43px;display:grid;place-items:center;font-size:10px}.tool svg{width:23px}#vitals{position:absolute;top:80px;left:22px;width:185px;background:#10282cd9;border:1px solid #b6c7ad22;padding:11px 12px;border-radius:6px;z-index:2}.vitals-label{display:flex;justify-content:space-between;align-items:center;font-size:8px;color:#e0dfca;margin-bottom:10px}.vitals-label small{font-size:6px;color:#a4b9ad}.meter{height:5px;background:#36534d77;border-radius:3px;overflow:hidden;margin-top:6px}.meter i{display:block;height:100%;transition:width .09s linear}.health i{background:#cc9f83}.stamina i{background:#a0bfa0}.vital-numbers{display:flex;justify-content:space-between;font-size:7px;color:#a0b4a9;margin-top:8px}#objective-panel{position:absolute;left:22px;top:170px;z-index:8;width:280px;background:#11282bf5;border:1px solid var(--line);border-radius:8px;padding:20px}#objective-panel small{font-size:8px;color:#cbb185;letter-spacing:2px}#objective-panel h2{font:22px Georgia;margin:12px 0}#objective-panel p,#objective-panel li{font-size:12px;line-height:1.7;color:#b3c1b2}#objective-panel ul{padding-left:15px;margin:15px 0 0}#objective-panel li.done{color:#ced8aa;text-decoration:line-through}#location{position:absolute;top:86px;left:50%;transform:translate(-50%);font-size:9px;letter-spacing:2px;color:#c4cfb3;text-shadow:0 2px 5px #071617}#danger{position:absolute;top:112px;left:50%;transform:translate(-50%);font-size:10px;letter-spacing:1px;color:#e2ad8c;background:#402c2466;padding:7px 12px;border:1px solid #b96f4133;border-radius:4px;white-space:nowrap}#feedback{position:absolute;left:50%;bottom:160px;transform:translate(-50%);font-size:12px;color:#f0d9a6;text-shadow:0 2px 4px #071b20;text-align:center;max-width:330px;line-height:1.5;pointer-events:none}#interaction{position:absolute;left:50%;bottom:77px;transform:translate(-50%);width:270px;max-width:35vw;padding:12px 14px;background:#10262deb;border:1px solid #aac5ac33;border-radius:7px;pointer-events:none}#interaction-title{display:block;font-size:12px;line-height:1.4;color:#e3e1c9}#interaction-hint{display:block;font-size:9px;line-height:1.4;margin-top:5px;color:#b7b68f}.progress{height:3px;background:#68887a33;margin-top:8px}.progress i{display:block;height:100%;background:#c6be8e;transition:width .09s linear}#inventory{position:absolute;bottom:26px;left:50%;transform:translate(-50%);display:flex;gap:7px}#inventory>span{font-size:9px;letter-spacing:.5px;padding:11px 15px;border:1px solid #a8c2ac33;border-radius:6px;color:#bfc7ac;background:#10272cd9;white-space:nowrap}#desktop-help{position:absolute;bottom:25px;left:22px;font-size:9px;line-height:1.9;color:#a8bbac;text-shadow:0 1px 3px #061c21}.stone-button{position:absolute;right:23px;top:80px;display:flex;gap:5px;align-items:center;justify-content:center;width:59px;height:35px;background:#10282cbb;border:1px solid #b6c7ad33;border-radius:6px;color:#d5d0b1}.stone-button svg{width:20px;height:20px}.stone-button span{font-size:10px}#touch{display:none}#joystick{position:absolute;width:132px;height:132px;bottom:20px;left:24px;border:1px solid #b1c9b14d;border-radius:50%;background:radial-gradient(circle,#6e91831c,#10272b33);touch-action:none}#stick{position:absolute;left:calc(50% - 24px);top:calc(50% - 24px);width:48px;height:48px;border-radius:50%;background:#abb99e66;border:1px solid #e2e0b0aa;pointer-events:none}.round{position:absolute;border-radius:50%;border:1px solid #b5c6ab66;background:#122b2edb;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#e2e3cc;touch-action:none;box-shadow:0 3px 12px #05171944}.round svg{width:25px;height:25px}.round span{font-size:8px;font-weight:700;line-height:1.2}.round small{font-size:5px;color:#b0bc9f}.round:active{background:#577064dd}.attack{right:104px;bottom:89px;width:66px;height:66px;background:#53412cd9;border-color:#b8a17799}.dodge{right:107px;bottom:21px;width:57px;height:57px}.small{right:175px;bottom:24px;width:49px;height:49px}.small svg{width:22px;height:22px}.small span{font-size:6px}.action{right:17px;bottom:47px;width:77px;height:77px;background:#91774ccf;border-color:#e1c493b3;color:#f1ecd4}.action span{font-size:7px}.alternate{right:177px;bottom:95px;width:44px;height:44px}.alternate svg{width:18px;height:18px}.alternate span{font-size:6px}#sprint[aria-pressed=true]{border-color:#ead098;background:#897349dc;box-shadow:0 0 0 3px #cbb68133}#rotate{display:none;position:absolute;inset:0;z-index:70;background:#10262af5;align-items:center;justify-content:center;flex-direction:column;padding:30px;text-align:center}#rotate strong{font:26px Georgia;color:#d6c19a}#rotate p{font-size:13px;color:#b0bca8}#rotate .primary{max-width:260px;margin-top:20px}#debug{position:absolute;right:20px;top:130px;background:#071b22e8;color:#c1dfbd;font:10px/1.6 monospace;padding:12px;border:1px solid #62877677;pointer-events:none;z-index:20;white-space:pre-wrap;max-width:420px}#sound-cues{position:absolute;left:50%;top:145px;transform:translate(-50%);display:flex;gap:10px;pointer-events:none}.sound-cue{display:flex;align-items:center;gap:7px;background:#10272de6;border:1px solid #9eb2a144;border-radius:5px;padding:6px 8px;font-size:7px;color:#bec5ac;white-space:nowrap}.sound-cue i{display:block;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:8px solid #b7c6a4;transform:rotate(calc(var(--bearing) - 1.5708rad))}.sound-cue.near{border-color:#c5a472aa;color:#e1c48d}#result{position:absolute;inset:0;display:grid;place-items:center;background:#0a2026de;z-index:40;padding:25px}#result>div{width:min(440px,100%);text-align:center}#result small{font-size:9px;letter-spacing:2px;color:#b5c3a5}#result h2{font:39px/1.2 Georgia;color:#dfcfac}#result p{color:#aebfaf;font-size:12px;line-height:1.8;margin-bottom:26px}dialog{color:#dbdfc9;background:#142c2e;border:1px solid #a9bd9e55;border-radius:12px;width:min(620px,90vw);max-height:90dvh;overflow:auto;padding:34px;box-shadow:0 30px 100px #0007}dialog::backdrop{background:#05171cd9}.close{position:absolute;right:14px;top:10px;border:0;background:none;color:#ced7bc;font-size:28px}dialog h2{font:30px Georgia;margin:10px 0 22px}dialog p{font-size:13px;line-height:1.8;color:#acbdaa}dialog label{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px;font-size:12px;color:#c5cfb5}dialog select{padding:8px;background:#203b39;color:#d5ddc4;border:1px solid #82967966;border-radius:4px;max-width:220px}dialog input[type=range]{width:190px;accent-color:#c5b080}.check{justify-content:flex-start;gap:10px}.settings-buttons{display:flex;gap:10px;margin:20px 0}.settings-buttons button{display:flex;gap:12px;align-items:center;justify-content:center}dialog small{font-size:10px;color:#98ad9d;line-height:1.7}#map{width:min(1000px,94vw)}#map-canvas{display:block;width:100%;height:auto;max-height:65dvh;object-fit:contain;border:1px solid var(--line);margin-bottom:15px}@media(pointer:coarse){#touch{display:block}#desktop-help{display:none}#feedback{font-size:10px;max-width:220px;bottom:151px}#interaction{width:225px;max-width:32vw;bottom:69px;padding:9px 11px}#interaction-title{font-size:10px}#interaction-hint{font-size:7px}#inventory{bottom:18px}#inventory>span{font-size:7px;padding:9px 11px}header{inset:12px 17px auto}.hud-button{height:39px;padding:0 11px;font-size:8px}.tool{width:38px;height:39px}#vitals{left:17px;top:66px;width:160px;padding:9px 10px}.vitals-label{font-size:7px;margin-bottom:7px}.vitals-label small{font-size:5px}#location{top:73px;font-size:7px;letter-spacing:1px}.clock{padding:5px 10px}.clock small{font-size:6px}.clock span{font-size:20px}.stone-button{top:66px;right:17px;width:48px;height:31px}#danger{top:94px;font-size:8px}#sound-cues{top:121px}.sound-cue{font-size:6px;padding:5px 6px}#objective-panel{left:17px;top:143px;width:245px;padding:15px}#debug{font-size:7px;right:17px;top:105px;padding:7px;max-width:330px}dialog{padding:23px}.menu-card{padding-top:7vh}}@media(pointer:coarse)and (orientation:portrait){#rotate{display:flex}}@media(max-height:430px){.menu-card{padding:24px 38px 20px;width:490px}h1{font-size:51px;line-height:.95;margin-bottom:12px}.menu-card .eyebrow{margin-bottom:12px}.intro{font-size:11px;line-height:1.6;margin:0 0 10px}.menu-note{display:none}.seed-label{position:absolute;left:300px;top:90px;flex-direction:column;gap:5px;align-items:flex-start;font-size:8px}.primary,.secondary{padding:11px 15px;min-height:42px}.primary span{font-size:8px;margin-top:4px}.build-note{font-size:8px;margin-top:10px;line-height:1.5}.quiet{font-size:8px;padding:5px 0;min-height:25px}.menu-art img{height:145vh;bottom:-42vh;right:-4vw}}@media(max-width:700px)and (orientation:landscape){header{inset:8px 10px auto}.hud-button{height:33px;font-size:7px;padding:0 8px}.tool{width:33px;height:33px}.tools{gap:5px}.clock span{font-size:17px}.clock small{font-size:5px}#vitals{left:10px;top:51px;width:138px;padding:7px 8px}.vital-numbers,.vitals-label{font-size:6px}.vitals-label small{font-size:4px}#location{top:59px;font-size:6px}#danger{top:77px;font-size:7px}#sound-cues{top:101px;gap:5px}.sound-cue{font-size:5px;max-width:130px}.stone-button{top:50px;right:10px;height:27px;width:40px}#joystick{width:106px;height:106px;left:17px;bottom:13px}#stick{width:40px;height:40px;left:calc(50% - 20px);top:calc(50% - 20px)}.attack{width:54px;height:54px;right:87px;bottom:73px}.dodge{width:49px;height:49px;right:91px;bottom:13px}.action{width:66px;height:66px;right:13px;bottom:39px}.small{width:44px;height:44px;right:150px;bottom:16px}.alternate{width:44px;height:44px;right:150px;bottom:80px}.round svg{width:21px;height:21px}.round span{font-size:6px}.round small{font-size:4px}#interaction{width:178px;max-width:31vw;bottom:55px;padding:7px 9px}#interaction-title{font-size:9px}#interaction-hint{font-size:6px}#inventory{bottom:12px;gap:5px}#inventory>span{font-size:6px;padding:8px}#feedback{font-size:8px;max-width:170px;bottom:132px}#objective-panel{top:124px;left:10px;width:220px;padding:12px}#objective-panel p,#objective-panel li{font-size:10px}#debug{font-size:6px;top:80px;right:10px;max-width:290px}.menu-card{padding:20px 30px;width:430px}.seed-label{left:290px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.meter i,.progress i{transition:none}}#lobby{position:absolute;inset:0;z-index:35;display:grid;place-items:center;background:#0c242ce8;padding:24px}#lobby>div{max-width:400px;width:100%;text-align:center}#lobby small{font-size:9px;letter-spacing:2px;color:#b7c3a7}#lobby h2{font:32px Georgia;color:#dfc99e;margin:20px 0}#lobby p{font-size:12px;color:#b3c2b1}#room-code{display:block;font:25px monospace;letter-spacing:3px;color:#e1d8b8;margin:15px 0}#lobby .primary{margin-top:15px}#online-status{position:absolute;left:50%;transform:translate(-50%);top:160px;background:#553d2de8;border:1px solid #cca67555;padding:12px 18px;border-radius:6px;font-size:12px;z-index:30;max-width:90%;text-align:center}#online-dialog input{padding:9px 12px;background:#10272b;color:#e2ddc3;border:1px solid #b9bf9755;border-radius:5px;width:270px;max-width:63%}.online-note{font-size:11px;color:#9fb19c;margin:20px 0}#online-error{font-size:12px;color:#e6bf93;min-height:22px}#online-dialog .primary{margin-top:10px}@media(max-height:430px){#online-dialog{max-height:95dvh;padding:22px}#online-dialog h2{font-size:22px;margin:10px 0}#online-dialog label{margin-top:10px}#online-dialog .eyebrow{margin-bottom:10px}.online-note{font-size:10px;margin:10px 0}#lobby h2{font-size:27px;margin:12px 0}#room-code{margin:10px 0}}.vitals-label>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:65%}.vitals-label small{white-space:nowrap}#room-code{user-select:text;-webkit-user-select:text;touch-action:auto;-webkit-touch-callout:default}.route-tabs{display:flex;gap:6px;margin:10px 0}.route-tabs button{flex:1;min-height:44px;padding:8px 5px;border:1px solid #68827a;border-radius:8px;background:#122b2b;color:#d9dfcb;font:inherit;font-size:11px}.route-tabs button[aria-pressed=true]{background:#8b784b;color:#fff4cf}#objective-panel{max-height:calc(100dvh - 100px);overflow:auto}#update-ready{position:fixed;bottom:12px;left:50%;transform:translate(-50%);z-index:100;min-height:44px;padding:10px 20px;background:#d6bd7f;color:#122526;border:1px solid #e5d4ab;border-radius:10px;font-size:12px;max-width:90vw}
