:root{font-family:Arial,Helvetica,sans-serif;color:#f1f4e9;background:#172e2c;color-scheme:dark;--green:#c9e99b;--ink:#142820;--line:#ffffff24}*{box-sizing:border-box}body{margin:0;overflow:hidden}[hidden]{display:none!important}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;background:#17352ddd;border:1px solid var(--line);border-radius:8px;color:inherit;padding:10px 15px}button:hover{background:#365448}input,select{width:100%;padding:13px;border:1px solid #ffffff30;border-radius:7px;background:#162d28;color:#f1f4e9}label{font-size:12px;display:block;color:#bdccbe;line-height:2;margin-bottom:15px}a{color:inherit;text-decoration:none}.primary{background:var(--green);color:var(--ink);border:0;font-weight:bold;padding:15px 22px}.primary:hover{background:#e2f5c1}#world{position:fixed;inset:0}#world canvas{display:block;width:100%;height:100%;touch-action:none}.world-header{position:fixed;top:22px;left:28px;right:28px;display:flex;align-items:center;justify-content:space-between;pointer-events:none;gap:20px;text-shadow:0 2px 12px #001b}.world-brand{display:flex;gap:13px;align-items:center;pointer-events:auto}.world-brand>b{font-size:36px;font-style:italic;letter-spacing:-5px;color:#d9f0aa}.world-brand>span{font-size:12px;letter-spacing:2px;font-weight:bold}.world-brand small{display:block;letter-spacing:4px;font-size:8px;margin-top:7px;color:#d8e5c6}.world-location{text-align:center;font-size:17px}.world-location small{display:block;font-size:10px;color:#d6e2d2;margin-top:6px}.world-wallet{padding:12px 22px;background:#102820c9;backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:10px}.world-wallet small{display:block;font-size:9px;letter-spacing:2px;color:#bac7b5}.world-wallet strong{font-size:26px;font-weight:500;display:block;margin-top:5px;font-variant-numeric:tabular-nums}.world-badge{position:fixed;top:104px;left:28px;font-size:8px;letter-spacing:1px;background:#142d25c9;padding:8px 12px;border-radius:5px;color:#d7e1c5}.world-actions{position:fixed;top:145px;left:28px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.world-actions button,.world-actions a{font-size:10px;background:#123026b8;backdrop-filter:blur(10px);padding:10px 12px;border-radius:6px}.world-actions a{color:#deead0}#mini-map{position:fixed;right:28px;bottom:28px;width:220px;background:#0c2823d9;border:1px solid #cfe5c434;border-radius:12px;overflow:hidden;backdrop-filter:blur(16px)}#mini-map canvas{width:100%;height:190px;display:block}#mini-map>div{display:flex;justify-content:space-between;padding:10px 15px;font-size:9px;letter-spacing:1px;border-top:1px solid var(--line)}.world-chat{position:fixed;bottom:25px;left:28px;width:300px;background:#102920bb;backdrop-filter:blur(12px);border-radius:10px;border:1px solid #ffffff22;overflow:hidden}.chat-title{display:flex;justify-content:space-between;align-items:center;padding:5px 12px;font-size:9px;letter-spacing:2px}.chat-title button{padding:3px 8px;background:none;border:0}#messages{max-height:125px;overflow:auto;padding:0 13px;font-size:11px;line-height:1.6;scrollbar-width:thin}.message{margin:8px 0;overflow-wrap:anywhere}.message strong{color:var(--green);font-weight:500}.message small{color:#899f94;font-size:9px}.world-chat form{display:flex;padding:9px;gap:6px}.world-chat input{padding:9px;font-size:11px;background:#0c241a77}.world-chat form button{padding:7px 10px}#interaction{position:fixed;left:50%;bottom:38px;transform:translateX(-50%);text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}#interaction>span{font-size:12px;text-shadow:0 2px 5px #000}#interaction button{pointer-events:auto;background:#e4edcc;color:#1a3025;border:0;font-weight:bold;box-shadow:0 4px 25px #10292255}#world-hint{position:fixed;top:120px;left:50%;transform:translateX(-50%);font-size:12px;max-width:480px;text-align:center;color:#f4f5df;text-shadow:0 2px 5px #102518;background:#122f2080;padding:9px 13px;border-radius:8px}#world-hint:empty{display:none}#speedometer{position:fixed;right:275px;bottom:38px;display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;width:150px;text-shadow:0 2px 8px #000}#speedometer strong{font-size:42px;font-weight:400}#speedometer span{font-size:10px}#speedometer small{font-size:8px;line-height:1.7;color:#d1e2c4}#toast{position:fixed;top:140px;left:50%;transform:translate(-50%,-30px);opacity:0;pointer-events:none;background:#133426ed;border:1px solid #aacb8e;padding:14px 20px;border-radius:8px;max-width:480px;font-size:12px;line-height:1.6;transition:.2s;z-index:90}#toast.show{opacity:1;transform:translate(-50%,0)}#join-screen{position:fixed;inset:0;z-index:40;background:linear-gradient(90deg,#102e29e8,#12332b80 70%,#163628a0);display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:8vw;padding:8vh 8vw;overflow:auto}.join-copy h1{font-size:clamp(48px,5.5vw,85px);letter-spacing:-4px;line-height:1.07;font-weight:500;margin:25px 0}.join-copy em{font-style:normal;color:#d4e9aa}.eyebrow{font-size:10px;letter-spacing:3px;color:#c5dea5}.join-copy p{font-size:15px;line-height:1.8;color:#c6d6c7}.join-features{display:grid;grid-template-columns:1fr 1fr;gap:18px;font-size:12px;color:#e1eccc;margin:35px 0}.join-copy .join-note{font-size:10px;color:#a6bca9;line-height:1.8}#join-form{padding:36px;background:#0b281fbf;border:1px solid #c6e3ae44;border-radius:15px;backdrop-filter:blur(20px);max-width:430px}#join-form h2{font-size:25px;font-weight:400;line-height:1.3;margin:16px 0 25px}#join-form .primary{width:100%;margin-top:16px}#join-form p{font-size:10px;color:#aabda6;line-height:1.8}#spawn-description{font-size:12px;line-height:1.8;padding:14px;background:#243d2f;border-radius:7px;color:#d3e0bc}dialog{border:1px solid #9db58366;border-radius:16px;color:#e5edda;background:#102b23;width:min(950px,calc(100vw - 30px));padding:28px;max-height:88vh;overflow:auto}dialog::backdrop{background:#052017a6;backdrop-filter:blur(7px)}dialog h2{font-size:27px;font-weight:500;margin:10px 0 14px}dialog p{color:#adbfaa;font-size:12px;line-height:1.7}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.dialog-head button{padding:6px 11px}.world-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.world-card{padding:19px;border:1px solid var(--line);background:#19392e;border-radius:10px}.world-card h3{font-size:15px;font-weight:400}.world-card strong{font-size:23px;color:var(--green);display:block;margin:10px 0}.world-card button{width:100%;margin-top:10px}.world-card small{color:#a0b6a4;font-size:10px}.full-map{width:100%;height:410px;background:#103c3a;border-radius:10px;display:block}.map-key{font-size:11px;color:#aec5af;display:flex;gap:20px;flex-wrap:wrap;margin-top:15px}.terminal-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:20px}.terminal-chart{height:280px;background:#101f20;border-radius:8px}.terminal-chart canvas{width:100%;height:100%;display:block}.quote-status{padding:9px 13px;font-size:11px;border-radius:5px;margin:10px 0;background:#31452e;color:#d5e5b6}.quote-status.stale{background:#503d27;color:#f0d0a1}.terminal-price{font-size:35px;letter-spacing:-1px;margin:15px 0}.terminal-price small{font-size:11px;color:#91b29b;letter-spacing:0}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-pair button{margin-top:5px}.risk-estimate{padding:13px;background:#1e3b2b;border-radius:5px;font-size:12px;line-height:1.8;margin:10px 0}.table-wrap{overflow:auto}table{width:100%;font-size:11px;border-collapse:collapse;white-space:nowrap}th,td{text-align:left;padding:13px;border-bottom:1px solid var(--line)}th{color:#a0b9a4;font-size:10px;font-weight:400}td button{font-size:10px;padding:6px 10px}.positive{color:#c7eaaa}.negative{color:#eda99b}.property-visual{height:80px;display:grid;place-items:center;font-size:45px;color:var(--green)}#touch-controls{display:none}.dpad{text-align:center}.dpad button{width:43px;height:40px;padding:0;background:#193b28b3;border:1px solid #d5e8c333}.dpad>div{display:flex;gap:5px;margin-top:5px}.help-keys{display:grid;grid-template-columns:1fr 1fr;gap:12px;color:#c8d8b9;font-size:12px;line-height:1.8}
@media(max-width:750px){.world-header{top:15px;left:15px;right:15px;gap:10px}.world-location{font-size:12px}.world-location small{font-size:8px}.world-brand>span{display:none}.world-wallet{padding:9px 12px}.world-wallet strong{font-size:20px}.world-wallet small{font-size:7px}.world-badge{top:86px;left:15px;font-size:6px;max-width:90%}.world-actions{top:118px;left:15px;gap:5px}.world-actions button,.world-actions a{font-size:9px;padding:8px}#mini-map{width:140px;right:12px;bottom:210px}#mini-map canvas{height:125px}#mini-map>div{font-size:7px;padding:7px}#world-hint{top:120px;left:auto;right:12px;transform:none;max-width:170px;font-size:9px}.world-chat{left:12px;bottom:12px;width:calc(100% - 24px)}#messages{max-height:75px}#interaction{bottom:155px;left:50%;width:210px}#interaction>span{font-size:10px}#interaction button{padding:9px 14px;font-size:11px}#touch-controls{position:fixed;left:14px;right:16px;bottom:212px;display:flex;justify-content:space-between;align-items:end;pointer-events:none}#touch-controls button{pointer-events:auto;touch-action:none}#touch-look{width:65px;height:65px;border-radius:50%;font-size:10px}#speedometer{right:16px;bottom:355px;width:110px}#speedometer strong{font-size:28px}#speedometer small{display:none}#join-screen{grid-template-columns:1fr;padding:35px 22px;gap:20px}.join-copy h1{font-size:48px;letter-spacing:-2px;margin:14px 0}.join-copy p{font-size:12px}.join-features{gap:10px;margin:15px 0;font-size:10px}.join-note{display:none}#join-form{padding:24px;max-width:none}#join-form h2{font-size:22px;margin:12px 0 20px}.world-grid{grid-template-columns:1fr 1fr}.terminal-grid{grid-template-columns:1fr}.terminal-chart{height:220px}dialog{padding:20px}.full-map{height:350px}#toast{width:90%;top:175px}#world-hint{pointer-events:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* Keep driving information clear of the interaction prompt at tablet/desktop widths. */
@media(min-width:751px){#speedometer{right:28px;bottom:274px;width:220px;padding:10px 14px;background:#102920d9;border:1px solid var(--line);border-radius:10px}}
@media(max-width:750px){#mini-map{bottom:330px}#speedometer{top:182px;bottom:auto;right:14px;width:100px}#messages{max-height:50px}}
#aim-dot{display:none;position:fixed;left:50%;top:50%;width:5px;height:5px;border:1px solid #ffffffcf;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;box-shadow:0 1px 4px #102820}
#mouse-guide{display:none;position:fixed;left:50%;bottom:115px;transform:translateX(-50%);padding:6px 12px;border-radius:20px;background:#102820bb;color:#deebd3;font-size:10px;pointer-events:none;white-space:nowrap}.world-joined #mouse-guide{display:block}.mouse-locked #aim-dot{display:block}.unlock-instruction,.fallback-instruction{display:none}.mouse-locked .lock-instruction,.mouse-lock-unavailable .lock-instruction{display:none}.mouse-locked .unlock-instruction,.mouse-lock-unavailable:not(.mouse-locked) .fallback-instruction{display:inline}body:has(dialog[open]) #mouse-guide{display:none}
@media(pointer:coarse){#mouse-guide,#aim-dot{display:none!important}}
@media(max-width:750px){#mouse-guide{bottom:193px;font-size:8px}}
.social-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.social-columns form{padding:14px;border:1px solid var(--line);border-radius:10px;margin-bottom:15px}.social-columns input[type=checkbox]{width:auto}.social-columns button{font-size:11px;padding:8px}.direct-log{max-height:220px;overflow:auto;padding:12px;background:#0a201b;border-radius:8px}.memory-buttons{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.memory-buttons button:nth-child(1){background:#966722}.memory-buttons button:nth-child(2){background:#286c8a}.memory-buttons button:nth-child(3){background:#3d7048}.memory-buttons button:nth-child(4){background:#a75d51}.memory-sequence{font-size:19px;line-height:1.8;padding:18px;background:#071e18;border-radius:10px}#world-status{max-width:175px;border-color:#c9d79866}button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:750px){.social-columns{grid-template-columns:1fr}.world-actions{gap:3px}.world-actions button,.world-actions a{padding:6px 8px}#world-status{max-width:135px}.memory-buttons{gap:6px}}
