:root{color-scheme:dark;font-family:Inter,Arial,Helvetica,sans-serif;--ink:#dce9e8;--muted:#93a9b3;--mint:#74e4d1;--gold:#ecc795;--line:rgba(182,215,223,.14)}
*{box-sizing:border-box}html,body{height:100%;width:100%;margin:0;overflow:hidden;background:#0b1924;color:var(--ink)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.44;cursor:not-allowed}#viewport{display:block;width:100%;height:100%;background:#112333;outline:0}.grain{position:fixed;inset:0;pointer-events:none;z-index:3;background:linear-gradient(180deg,rgba(0,0,0,.06),transparent 25%,transparent 75%,rgba(2,10,13,.3));mix-blend-mode:multiply}.masthead{position:absolute;top:0;left:0;right:0;height:80px;padding:0 31px;z-index:8;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(180deg,rgba(8,18,26,.87),rgba(9,22,31,.25) 78%,transparent);pointer-events:none}.brand{display:flex;align-items:center;gap:12px}.brandmark{border:1px solid var(--mint);width:44px;height:44px;display:grid;place-items:center;font-weight:900;color:var(--mint);letter-spacing:-5px;padding-right:6px;font-size:22px}.brandmark span{color:var(--gold)}.brand b{font-size:17px;letter-spacing:.15em;font-weight:800}.brand b span{color:var(--mint)}.brand small{display:block;font-size:9px;letter-spacing:.16em;color:#9fb6bc;margin-top:6px}.header-right{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.15em;color:#bac9cf}.online-dot{width:7px;height:7px;background:var(--mint);border-radius:50%;box-shadow:0 0 15px var(--mint)}.separator{height:17px;border-right:1px solid #50626c;margin:0 10px}.edition b{color:var(--mint)}.panel{position:absolute;left:22px;top:92px;bottom:86px;width:316px;z-index:9;border:1px solid rgba(202,236,241,.12);background:linear-gradient(135deg,rgba(13,28,38,.96),rgba(12,26,35,.9));backdrop-filter:blur(24px);box-shadow:0 18px 65px rgba(0,0,0,.38);padding:21px 22px 15px;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#39515c transparent}.panel-top{display:flex;align-items:center;justify-content:space-between}.eyebrow{font-size:9px;letter-spacing:.19em;font-weight:800;color:var(--mint)}.small-icon{background:none;border:0;color:#aec5cb;font-size:20px;padding:0 5px}.hero h1{font-size:29px;letter-spacing:-.05em;line-height:1.07;font-weight:720;margin:23px 0 10px}.hero h1 em,.modal h2 em{font-weight:350;font-style:normal;color:var(--mint)}.hero p{font-size:11px;color:#a5b7ba;line-height:1.75;max-width:250px;margin:0 0 20px}.metrics{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.metrics div{border-top:1px solid #3f5962;padding-top:10px}.metrics span,.metrics small{display:block;font-size:8px;letter-spacing:.09em;color:#94a5b0}.metrics b{display:block;font-size:16px;margin-top:6px;letter-spacing:-.03em}.metrics b span{display:inline;color:var(--mint)}.metrics b small{display:inline;font-weight:400;font-size:10px}.line{border-top:1px solid var(--line);margin:22px 0 19px}.section-label{font-size:10px;letter-spacing:.17em;font-weight:750;margin-bottom:15px}.section-label span{color:var(--mint);margin-right:9px}.field-label{display:flex;justify-content:space-between;font-size:9px;font-weight:650;letter-spacing:.08em;color:#b1c0c6}.field-label span{color:#637e8b;font-size:8px}.seed-row{display:flex;margin-top:9px;gap:6px}.seed-row input{min-width:0;flex:1;background:#101f28;border:1px solid #344651;color:#aee3d9;padding:11px 10px;font-family:monospace;font-size:12px}.seed-row button{border:1px solid #445c65;background:#243a41;color:#c8dfda;padding:0 10px;font-size:9px;letter-spacing:.07em}.primary{width:100%;border:0;background:var(--mint);color:#0b272a;font-size:10px;font-weight:850;letter-spacing:.10em;padding:15px 13px;margin-top:10px;display:flex;align-items:center;justify-content:space-between;transition:background .2s}.primary:hover{background:#b0ffee}.primary span{font-size:18px}.hint{font-size:10px;color:#78949e;line-height:1.62;margin:10px 0 0}.control-title{display:flex;justify-content:space-between;margin:17px 0 7px;font-size:9px;letter-spacing:.11em;font-weight:650}.control-title output{color:var(--mint)}input[type=range]{appearance:none;width:100%;height:3px;background:linear-gradient(90deg,#62b8b6,#42737b);outline:none;accent-color:var(--mint)}input[type=range]::-webkit-slider-thumb{appearance:none;background:#bbf2dd;border:2px solid #1f555a;width:13px;height:13px;border-radius:50%}.two-controls{display:flex;gap:9px;margin-top:16px}.two-controls button,.outline{border:1px solid #34535d;background:rgba(27,54,65,.75);color:#a9c9c9;font-size:9px;letter-spacing:.10em;padding:11px;flex:1}.two-controls button:hover,.outline:hover:not(:disabled){border-color:var(--mint);color:var(--mint)}select{width:100%;background:#11252e;border:1px solid #3a545c;color:#d0dedf;padding:11px;font-size:10px;letter-spacing:.07em;outline:0}.switch-line{display:flex;justify-content:space-between;align-items:center;margin:19px 0 0;font-size:9px;letter-spacing:.09em;font-weight:700}.switch-line small{color:var(--mint);margin-left:10px}.switch-line input{width:15px;height:15px;accent-color:var(--mint)}.waypoints{display:grid;gap:5px}.waypoints button{display:flex;align-items:center;width:100%;gap:10px;background:rgba(29,51,62,.48);border:1px solid #2d4550;color:#d3e0dc;text-align:left;padding:10px 9px}.waypoints button:hover{background:#284d56;border-color:#6d9d9f}.waypoints button>span:first-child{color:var(--mint);font-size:9px}.waypoints button>span:nth-child(2){flex:1}.waypoints b{display:block;font-size:10px;letter-spacing:.06em}.waypoints small{display:block;font-size:9px;color:#8aabb1;margin-top:5px}.waypoints button>span:last-child{color:var(--mint)}.outline{display:block;width:100%;margin-top:9px}.instructions{display:flex;align-items:center;gap:5px;margin:8px 0;color:#aac0c5;font-size:10px}.instructions span{margin-left:7px}.instructions kbd{min-width:22px;text-align:center;display:inline-block;padding:5px;background:#213744;border:1px solid #385865;border-radius:2px;color:#cee3e2;font-family:monospace;font-size:10px}.bottom-brand{font-size:9px;letter-spacing:.1em;color:#6f8993;margin-top:27px}.map-panel{position:absolute;z-index:7;right:24px;top:98px;width:260px;background:rgba(11,27,36,.88);border:1px solid #47616b;padding:14px;backdrop-filter:blur(18px)}.map-heading,.map-foot{display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:760;letter-spacing:.12em}.map-heading span:last-child{color:var(--mint);font-size:9px;font-family:monospace}.map-panel canvas{width:100%;height:auto;border:1px solid #38505c;margin-top:13px;display:block;cursor:crosshair;background:#0a1924}.map-foot{font-size:8px;color:#a3b5bb;margin-top:12px}.mapkey{display:flex;align-items:center;gap:6px}.mapkey i{width:7px;height:7px;background:#4d9fa9;display:inline-block}.crosshair{position:absolute;z-index:5;top:50%;left:50%;width:17px;height:17px;margin:-8.5px;pointer-events:none;opacity:.65}.crosshair:before,.crosshair:after{position:absolute;background:#f8ffff;content:''}.crosshair:before{left:8px;top:1px;width:1px;height:15px}.crosshair:after{left:1px;top:8px;width:15px;height:1px}.scene-label{position:absolute;z-index:6;left:365px;bottom:117px;display:flex;gap:12px;align-items:stretch;text-shadow:0 3px 10px #000}.vert-line{width:2px;background:var(--mint)}.scene-label small{display:block;font-size:9px;letter-spacing:.15em;color:#a8d2d2}.scene-label strong{display:block;font-size:21px;letter-spacing:.09em;color:#fff;margin:8px 0 5px}.scene-label #description{font-size:11px;color:#b3c4c4}.hud{position:absolute;left:0;right:0;bottom:0;height:72px;z-index:8;background:rgba(8,20,27,.90);border-top:1px solid rgba(196,232,240,.2);display:flex;align-items:center;padding:0 31px;gap:30px;backdrop-filter:blur(15px)}.hud>div:not(.hud-right){min-width:98px}.hud>div span{display:block;font-size:9px;letter-spacing:.13em;color:#7e9faa}.hud>div b{display:block;font-family:monospace;color:#d5e9e5;font-size:11px;margin-top:9px}.hud-right{display:flex;gap:7px;margin-left:auto}.hud button{border:1px solid #41606b;background:#1a333e;color:#bcd1d6;font-size:9px;letter-spacing:.08em;padding:11px 13px}.hud button:hover{border-color:var(--mint);color:var(--mint)}.modal{position:fixed;inset:0;z-index:20;background:rgba(5,13,20,.74);display:none;align-items:center;justify-content:center;backdrop-filter:blur(8px)}.modal.visible{display:flex}.modal-card{max-width:490px;background:linear-gradient(145deg,#102734,#0c1a25);border:1px solid #3c6567;padding:39px;box-shadow:0 33px 160px #000;position:relative}.modal-symbol{display:inline-block;font-size:30px;font-weight:900;color:var(--mint);letter-spacing:-.08em;border-left:4px solid var(--mint);padding-left:13px;margin-bottom:32px}.modal-symbol span{font-size:11px;letter-spacing:.15em;color:var(--gold);font-weight:500}.modal-card h2{font-size:43px;line-height:1.03;letter-spacing:-.06em;margin:16px 0}.modal-card p{font-size:12px;line-height:1.85;color:#afc2c7}.modal-features{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}.modal-features span{font-size:8px;letter-spacing:.1em;border:1px solid #3e545e;padding:9px;color:#97bec1}.modal-card>small{display:block;margin-top:17px;color:#7e99a4;font-size:9px;line-height:1.5}.toast{pointer-events:none;position:absolute;z-index:30;left:50%;bottom:93px;transform:translateX(-50%);background:rgba(11,28,35,.94);border:1px solid #597c82;padding:13px 20px;color:#dcfcf8;font-size:11px;letter-spacing:.05em;opacity:0;transition:opacity .25s}.toast.show{opacity:1}.error{position:absolute;z-index:32;left:50%;top:50%;transform:translate(-50%,-50%);max-width:680px;background:#351921;color:#ffbdc7;padding:20px 25px;border:1px solid #b85b67;white-space:pre-wrap;font-family:monospace;font-size:12px}.panel.minimized{width:52px;height:43px;bottom:auto;padding:9px 12px;overflow:hidden}.panel.minimized>*:not(.panel-top){display:none}.panel.minimized .panel-top .eyebrow{display:none}
@media(max-width:1100px){.map-panel{width:200px;right:15px;top:91px}.panel{left:13px;width:289px;top:87px}.scene-label{left:320px}.hud{gap:13px;padding:0 12px}.hud>div:not(.hud-right){min-width:80px}.hud>div b{font-size:9px}}
@media(max-width:760px){.panel{width:242px;bottom:75px;top:72px;padding:14px}.hero h1{font-size:23px}.brand small,.header-right .edition,.map-panel{display:none}.masthead{height:67px;padding:0 11px}.scene-label{left:267px;bottom:95px}.scene-label strong{font-size:14px}.scene-label #description{display:none}.hud{height:62px;gap:11px}.hud>div:nth-child(3),.hud>div:nth-child(4),.hud>div:nth-child(5){display:none}.hud button{padding:9px}.modal-card{padding:22px;margin:12px}.modal-card h2{font-size:33px}}
