:root{color-scheme:dark;font-family:"Segoe UI",Arial,sans-serif;color:#f1f2e9;background:#152521;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button{color:inherit;border:1px solid #ffffff42;background:#162a24b0;padding:13px 19px;border-radius:4px}button:hover{background:#30483f}button:disabled{opacity:.55;cursor:wait}button:focus-visible,summary:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #d6f899;outline-offset:4px}[hidden]{display:none!important}#world{display:block;position:fixed;inset:0;width:100%;height:100%;touch-action:none}header{position:fixed;z-index:5;top:0;left:0;right:0;padding:28px 38px;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(#07191166,transparent);pointer-events:none}.brand{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:650;letter-spacing:3px;text-decoration:none;color:inherit;pointer-events:auto}.brand-line{width:1px;height:21px;background:#dae5c56b}.top-status{display:flex;align-items:center;gap:20px;font-size:12px;text-shadow:0 1px 5px #000}.top-status button{padding:8px 12px;pointer-events:auto}#menu{position:fixed;inset:0;display:flex;align-items:center;padding:100px 6.5vw 80px;background:linear-gradient(90deg,#0a2019eb 0%,#0a2019c9 26%,#0a201936 57%,transparent 80%);pointer-events:none}.intro{width:480px;max-height:calc(100dvh - 165px);overflow:auto;scrollbar-width:thin;pointer-events:auto;padding:8px 20px 10px 0}.eyebrow{font-size:10px;font-weight:650;letter-spacing:2.2px;color:#d5deb9;margin:0 0 26px}h1{font-size:clamp(56px,7.3vw,112px);line-height:.94;letter-spacing:-6px;font-weight:450;margin:0 0 30px}h1 em{font-family:Georgia,serif;letter-spacing:-5px;font-weight:400;color:#dbebbf}.description{font-size:15px;line-height:1.8;color:#d0dad0;margin:0 0 29px}.actions{display:flex;gap:10px;align-items:center}.primary{background:#d6edaf;color:#162619;border-color:#d6edaf;font-weight:650;padding:17px 25px}.primary:hover{background:#e6f8c9}.actions #overview{border-color:transparent;background:none;font-size:13px;padding:15px}.actions #overview:hover{background:#ffffff12}.actions #overview span{margin-left:12px}#loading{font-size:11px;line-height:1.6;color:#bdcdbb;max-width:390px;margin:16px 0 25px}details{border-top:1px solid #d8e0cb33;padding-top:16px;max-width:390px}summary{font-size:12px;color:#d1dfca}details[open] summary{margin-bottom:18px}.option-row{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin:10px 0;gap:15px}select,input{background:#142c25;color:#edf3e5;border:1px solid #758975;padding:8px 10px;border-radius:3px;min-width:0}select{max-width:220px}.room-title{font-size:13px;margin-top:22px}.room-title span{font-size:10px;display:block;color:#bdcbb6;margin-top:5px}#room-form label{display:block;font-size:11px;color:#cdd8c8;margin:10px 0 5px}#player-name{width:100%}.join-row{display:flex;gap:6px}.join-row input{width:100%;flex:1}.join-row button{font-size:12px;padding:8px 12px}#room-status{font-size:11px;line-height:1.5;color:#c3d0bd}.scene-caption{position:absolute;right:5vw;bottom:115px;text-shadow:0 2px 9px #0009;text-align:right}.scene-caption span{font-size:10px;letter-spacing:2px}.scene-caption p{font-family:Georgia,serif;font-size:30px;margin:12px 0}.scene-caption small{font-size:11px;line-height:1.8}footer{position:fixed;left:38px;right:38px;bottom:25px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.5px;color:#e3e9da;text-shadow:0 1px 5px #000}.dot{margin:0 10px}#hud{position:fixed;inset:0;pointer-events:none}.crosshair{position:absolute;left:50%;top:50%;width:4px;height:4px;transform:translate(-50%,-50%);border-radius:50%;background:#fff;box-shadow:0 0 3px #000}.minimap-wrap{position:absolute;left:28px;bottom:28px;background:#142720de;border:1px solid #d5e3cc52;padding:12px;border-radius:5px;box-shadow:0 8px 30px #0003}.minimap-wrap canvas{display:block;width:117px;height:150px}.minimap-wrap span{font-size:8px;letter-spacing:1.4px;display:block;text-align:center;padding-top:8px}.controls{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);display:flex;gap:15px;white-space:nowrap;font-size:10px;text-shadow:0 1px 4px #000}kbd{font:10px "Segoe UI",sans-serif;border:1px solid #ffffff6b;border-radius:3px;padding:3px 5px;margin-right:4px;background:#142720b0}#camera-mode{position:absolute;bottom:30px;right:28px;font-size:9px;letter-spacing:1.5px;text-shadow:0 1px 5px #000}#hint{position:absolute;left:50%;bottom:90px;transform:translateX(-50%);font-size:12px;background:#142720d9;border-radius:4px;padding:10px 16px;max-width:70%;text-align:center}#hint:empty{display:none}.overview #menu{background:linear-gradient(0deg,#10271eb0,transparent 40%)}.overview .intro{display:none}.overview .scene-caption{pointer-events:auto}.overview #menu-button{display:block!important}#touch-controls{position:fixed;inset:0;pointer-events:none;z-index:2}#stick-zone{position:absolute;left:0;bottom:0;width:46%;height:62%;pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none}#stick-base{position:absolute;left:92px;top:calc(100% - 96px);width:104px;height:104px;transform:translate(-50%,-50%);border-radius:50%;background:#142720a8;border:1px solid #d5e3cc52;opacity:.4;pointer-events:none}#stick-base.active{opacity:1}#stick-knob{position:absolute;left:50%;top:50%;width:48px;height:48px;margin:-24px 0 0 -24px;border-radius:50%;background:#e1ffc1d9;box-shadow:0 2px 8px #0006}#touch-controls>button{position:absolute;right:22px;bottom:35px;pointer-events:auto;touch-action:none;background:#142720ad;font-size:12px;min-width:64px;min-height:64px;padding:10px;border-radius:50%}body.touch .minimap-wrap{display:none}noscript{position:fixed;inset:40%;background:#142720;padding:25px}@media(max-width:850px){header{padding:22px}.controls{left:auto;right:20px;bottom:70px;transform:none;display:grid;gap:12px}.scene-caption{right:25px;bottom:90px}.scene-caption p{font-size:24px}.scene-caption small{display:none}footer{left:22px;right:22px}footer span:last-child{display:none}#menu{padding-left:8vw}.top-status{font-size:10px;gap:8px}}@media(max-width:600px){#menu{background:linear-gradient(90deg,#0a2019e8,#0a2019ab 50%,#0a201947);padding:100px 25px 75px}.intro{width:100%;padding-right:5px;max-height:calc(100dvh - 160px)}h1{font-size:77px;letter-spacing:-4px}.eyebrow{font-size:8px;letter-spacing:1px}.description{font-size:13px}.scene-caption{display:none}.minimap-wrap{left:18px;bottom:110px}.controls{display:none}#camera-mode{bottom:15px}.top-status>span{max-width:120px;text-align:right}.actions{gap:3px}.primary{padding:15px 19px}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s,opacity .15s}}
