:root{color-scheme:dark;--bg:#14241c;--panel:#1d2c22;--line:#435246;--text:#f3f3e8;--muted:#b9c6b9;--dim:#95a694;--yellow:#f2d176;--mint:#c0df92;--mono:'IBM Plex Mono',monospace;--sans:'DM Sans',Arial,sans-serif;font-family:var(--sans);background:var(--bg);color:var(--text)}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:none;border:none;color:inherit;font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}canvas:focus:not(:focus-visible){outline:0}h1,h2,h3,p{margin:0}.icon{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}[hidden]{display:none!important}
.stage{--edge:clamp(16px,2.45vw,42px);--top:max(var(--edge),env(safe-area-inset-top));--bottom:max(var(--edge),env(safe-area-inset-bottom));position:fixed;inset:0;isolation:isolate;overflow:hidden;background-color:#253b2f;background-image:linear-gradient(#c9e9b707 1px,transparent 1px),linear-gradient(90deg,#c9e9b707 1px,transparent 1px),radial-gradient(ellipse at 52% 40%,#4c6150 0%,#374e3e 32%,#263d30 66%,#1a2c23 100%);background-size:54px 54px,54px 54px,100% 100%}
.stage:before{content:'';position:absolute;inset:0;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 162 162'%3E%3Cpath fill='none' stroke='%23bfceac' opacity='.16' d='M81 77v8m-4-4h8'/%3E%3C/svg%3E");background-size:162px 162px}
.stage:after{content:'';position:absolute;z-index:-1;width:84%;height:49%;left:9%;top:38%;background:radial-gradient(ellipse,#102619aa,transparent 69%);filter:blur(15px);pointer-events:none}
#world,#plotter{position:absolute;inset:0;width:100%;height:100%;display:block}#plotter{touch-action:none;cursor:crosshair}.rotating #plotter{cursor:grab}.rotating #plotter:active{cursor:grabbing}
.glass{background:linear-gradient(145deg,#213328ef,#18281ff2);border:1px solid #a0b0954a;border-radius:10px;box-shadow:0 5px 18px #101c1624,0 1px 0 #cadab90b inset;backdrop-filter:blur(12px)}
.icon-btn{height:36px;width:36px;border-radius:6px;color:#c3cdbc}.icon-btn:hover,.tool:hover,.orbit-key:hover{background:#aec79d18;color:#f1f1e7}
.launch,.secondary{border-radius:8px;font-weight:700;padding:12px 17px}.launch{background:var(--yellow);color:#283023;border:1px solid #ffe69c;box-shadow:0 3px 12px #101c163d}.launch .icon{fill:currentColor;width:15px;height:15px}.launch:hover{background:#ffde8a}.secondary{border:1px solid #60725f;background:#293c2e;font-size:13px}.section-symbol,[data-icon]:not(button){display:inline-flex;align-items:center}
.metric{border:1px solid #3c4f3f;background:#253529;border-radius:6px;padding:11px}.metric-label{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}.metric-label .icon{width:14px;height:14px}.metric-value{font:500 19px/1.4 var(--mono);margin-top:4px}.unit{font:400 11px var(--sans);color:var(--muted);margin-left:4px}
.dialog-links button:focus-visible{outline-offset:3px}.menu-list{display:grid;gap:4px}.menu-item{justify-content:flex-start;padding:12px 10px;border-radius:6px;font-size:14px;font-weight:700;gap:12px}.menu-item:hover{background:#8fbb801a}.menu-item .icon{width:17px;height:17px;color:var(--mint)}.menu-item em{margin-left:auto;color:var(--dim);font:500 10px var(--mono)}.menu-item.danger .icon{color:var(--yellow)}.target{display:flex;align-items:center;gap:8px;padding:7px 0;font-size:13px;color:var(--muted)}.target b{font:500 12px var(--mono);margin-left:auto;color:var(--text)}.target .icon{height:15px;width:15px;color:var(--mint)}.brief-goals{margin:14px 0}
