:root{color:#f5f3e8;font-synthesis:none;--paper:#f4f1e6;--ink:#263c34;--line:#f4f1e640;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{background:#8faaa3;margin:0;overflow:hidden}button,a,select,input{-webkit-tap-highlight-color:transparent}button,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible{outline-offset:5px;outline:2px solid #b3d590}button{color:inherit}#world{touch-action:none;outline:0;width:100vw;height:100dvh;display:block}.hidden{display:none!important}.masthead{pointer-events:none;text-shadow:0 1px 8px #14272340;z-index:3;background:linear-gradient(#102b354d,#0000);justify-content:space-between;align-items:center;width:100%;padding:25px 34px;display:flex;position:fixed;top:0;left:0}.brand{align-items:center;gap:15px;display:flex}.brand-mark{letter-spacing:-4px;padding-right:5px;font-family:Georgia,serif;font-size:32px;font-style:italic}.brand strong{letter-spacing:3px;font-size:14px;font-weight:600;display:block}.brand div>span{letter-spacing:1.6px;opacity:.8;margin-top:7px;font-size:8px;display:block}.header-right{letter-spacing:1.4px;text-transform:uppercase;align-items:center;gap:10px;font-size:10px;display:flex}.live-dot{background:#d3e4ad;border-radius:50%;width:5px;height:5px}.header-right button{pointer-events:auto;border:1px solid var(--line);background:#29453630;border-radius:50%;width:38px;height:38px;margin-left:18px;font-size:24px}.welcome{text-shadow:0 2px 20px #13312940;position:absolute;top:50%;left:6.5%;transform:translateY(-42%)}.welcome:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(#09271f54,#0000 70%);position:absolute;inset:-120px -120px -80px -160px}.eyebrow{letter-spacing:2.7px;align-items:center;gap:12px;margin-bottom:25px;font-size:9px;display:flex}.eyebrow span{background:var(--paper);width:27px;height:1px}h1{letter-spacing:-3.5px;margin:0 0 25px;font-family:Georgia,Times New Roman,serif;font-size:clamp(58px,6.5vw,94px);font-weight:400;line-height:1.01}em{font-weight:400}h1 em{color:#e9edce}.welcome p{letter-spacing:.25px;opacity:.9;font-size:13px;font-weight:400;line-height:1.9}.start-actions{flex-direction:column;align-items:flex-start;gap:14px;margin-top:27px;display:flex}.primary{background:var(--paper);color:var(--ink);border:0;justify-content:space-between;align-items:center;width:232px;padding:18px 20px;font-size:12px;font-weight:600;display:flex}.primary span{font-size:19px}.primary:hover{background:#e1eccb}.text-button{letter-spacing:.1px;border:0;border-bottom:1px solid var(--line);background:0 0;padding:7px 0;font-size:11px}.welcome-foot{letter-spacing:1.5px;opacity:.68;margin-top:40px;font-size:8px;line-height:2.2}#map-panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--line);color:#f4f1e6;background:#203b34a1;width:204px;padding:13px 13px 7px;position:fixed;bottom:30px;right:32px}.map-head,.map-foot{letter-spacing:1.4px;justify-content:space-between;align-items:center;font-size:7px;display:flex}.map-head{opacity:.8}.map-foot{opacity:.65;margin-top:4px;font-size:7px}.map-foot button{background:0 0;border:0;font-size:17px}#map{opacity:.85;width:100%;height:auto;margin-top:8px}#map-panel.collapsed #map,#map-panel.collapsed .map-head{display:none}#toolbar{position:fixed;bottom:31px;left:33px}.tool-tabs{gap:5px;display:flex}.tool-tabs button{border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#203b348c;padding:13px 18px;font-size:11px}.tool-tabs .selected{background:var(--paper);color:var(--ink)}kbd{opacity:.7;white-space:nowrap;border:1px solid;border-radius:2px;padding:2px 4px;font:9px Arial,sans-serif}.tool-tabs kbd{margin-right:10px}.control-line{letter-spacing:.3px;text-shadow:0 1px 8px #123;gap:16px;margin-top:16px;font-size:8px;display:flex}.control-line kbd{margin-right:4px}.interaction{border:1px solid var(--line);white-space:nowrap;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#203b34a0;padding:9px 13px;font-size:10px;position:fixed;top:calc(50% + 28px);left:50%;transform:translate(-50%)}#crosshair{pointer-events:none;background:#ffffff60;border:1px solid #f7f6e5;border-radius:50%;width:5px;height:5px;position:fixed;top:50%;left:50%;box-shadow:0 0 3px #222}#toast{border:1px solid var(--line);opacity:0;pointer-events:none;z-index:9;text-align:center;background:#213a32d9;max-width:88vw;padding:12px 18px;font-size:11px;transition:all .2s;position:fixed;bottom:138px;left:50%;transform:translate(-50%)translateY(10px)}#toast.visible{opacity:1;transform:translate(-50%)}dialog{background:var(--paper);color:var(--ink);border:0;width:430px;max-width:calc(100vw - 30px);max-height:90dvh;padding:27px 30px;overflow:auto;box-shadow:0 20px 100px #102d3850}dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#162e335c}.dialog-head{letter-spacing:1.5px;justify-content:space-between;align-items:center;font-size:8px;display:flex}.dialog-head button{background:0 0;border:0;margin-right:-6px;font-size:27px}h2{letter-spacing:-1px;margin:20px 0 25px;font:400 40px/1.13 Georgia,serif}dialog label{border-top:1px solid #263c3425;justify-content:space-between;align-items:center;gap:10px;padding:14px 0;font-size:11px;display:flex}select{color:var(--ink);background:0 0;border:1px solid #263c3430;border-radius:0;max-width:210px;padding:8px;font-size:11px}input[type=checkbox]{accent-color:var(--ink);width:16px;height:16px}.dialog-actions{gap:8px;margin:18px 0;display:flex}.dialog-actions button{color:var(--ink);background:0 0;border:1px solid #263c3430;flex:1;padding:12px 8px;font-size:10px}.dialog-actions button:hover{background:#263c3410}.settings-help{opacity:.65;font-size:10px;line-height:1.8}dialog a{color:var(--ink);text-underline-offset:4px;font-size:10px}#stats{border:1px solid var(--line);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);z-index:5;background:#152c28db;min-width:270px;padding:14px 16px;font-size:9px;position:fixed;top:93px;right:32px}#stats>div{letter-spacing:1px;justify-content:space-between;align-items:center;gap:20px;display:flex}#stats button{border:1px solid var(--line);background:0 0;padding:7px;font-size:9px}#stats pre{margin-bottom:0;font:10px/1.8 monospace}#stats a{color:#d9e8b9;cursor:pointer;margin-top:8px;font-size:10px;display:block}#loading{z-index:100;background:#263c34;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#loading .monogram{letter-spacing:-7px;font:italic 64px Georgia,serif}#loading p{letter-spacing:4px;margin-top:35px;font-size:11px}#loading span{opacity:.65;text-align:center;max-width:80vw;margin-top:15px;font-size:10px;line-height:1.8}#touch-controls{pointer-events:none;width:100%;height:104px;position:fixed;bottom:100px;left:0}#joystick{pointer-events:auto;touch-action:none;background:#263c3433;border:1px solid #fff6;border-radius:50%;width:104px;height:104px;position:absolute;bottom:0;left:28px}#joystick div{background:#f4f1e66b;border:1px solid #f4f1e680;border-radius:50%;width:40px;height:40px;position:absolute;top:32px;left:32px}.touch-actions{pointer-events:auto;flex-wrap:wrap;gap:10px;width:114px;display:flex;position:absolute;bottom:0;right:22px}.touch-actions button{touch-action:none;background:#263c3466;border:1px solid #fff6;border-radius:50%;width:50px;height:50px;font-size:11px}@media (max-width:750px){.masthead{padding:18px 20px}.brand strong{letter-spacing:2px;font-size:11px}.brand div>span{letter-spacing:1px;font-size:6px}.brand-mark{font-size:28px}.header-right>span{display:none}.header-right button{margin-left:0}.welcome{top:46%;left:7%}h1{letter-spacing:-2px;font-size:63px}.welcome-foot{margin-top:27px;font-size:7px}.welcome p{font-size:12px}.eyebrow{font-size:8px}.primary{width:216px;padding:15px 17px}#map-panel{pointer-events:auto;width:144px;padding:10px;bottom:20px;right:18px}body.playing #map-panel{width:126px;top:86px;bottom:auto}body.playing #map-panel .map-head{font-size:6px}.map-foot{font-size:5px}.map-head{font-size:6px}#toolbar{bottom:20px;left:18px}.tool-tabs button{padding:12px 13px;font-size:10px}.tool-tabs kbd,.control-line{display:none}#stats{min-width:0;top:86px;left:18px;right:18px}#toast{width:max-content;max-width:86vw;bottom:90px}.welcome-foot{max-width:200px}.interaction{white-space:normal;text-align:center;min-width:140px;font-size:9px}.welcome:before{inset:-100px -40px -90px -100px}.start-actions{gap:10px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
