
:root{--bg:#121714;--panel:#181e1a;--line:#303b32;--soft:#919e92;--text:#e2e6da;--gold:#d9b478;--green:#95ba9b;--mono:ui-monospace,SFMono-Regular,Consolas,monospace}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:13px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px}button{color:var(--text);background:none;border:1px solid var(--line);border-radius:5px;transition:background .15s,border-color .15s}button:hover{background:#2c372d;border-color:#69765b}header{height:83px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 29px;background:#171c18}.brand{display:flex;align-items:center;gap:14px}.brand svg{color:var(--gold)}.brand strong{font-size:23px;font-weight:500;letter-spacing:6px}.brand span{display:block;color:var(--soft);font:9px var(--mono);letter-spacing:2px;margin-top:2px}.header-right{display:flex;align-items:center;gap:24px}.chip{font:10px var(--mono);letter-spacing:1px;color:var(--soft);display:flex;align-items:center;gap:8px}.dot{width:5px;height:5px;background:var(--green);border-radius:50%;box-shadow:0 0 10px #95ba9b55}.header-right button{font:10px var(--mono);padding:10px 14px;letter-spacing:1px}.layout{display:grid;grid-template-columns:286px 1fr;height:calc(100dvh - 83px)}aside{overflow-y:auto;background:var(--panel);border-right:1px solid var(--line);padding:24px 23px 22px;scrollbar-width:thin;scrollbar-color:#3f4b3c transparent}.eyebrow{font:10px var(--mono);letter-spacing:2px;color:var(--soft);text-transform:uppercase}.aside-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.aside-title span:last-child{color:#526451;font:10px var(--mono)}.section{padding:0 0 22px;margin:0 0 21px;border-bottom:1px solid var(--line)}.fieldlabel{display:flex;align-items:center;justify-content:space-between;font-size:12px;margin-bottom:9px}.fieldlabel .num{color:var(--gold);font:12px var(--mono)}.seedrow{display:flex;gap:7px;margin-bottom:10px}input[type=number],select{width:100%;min-width:0;background:#111612;border:1px solid #3b483c;color:var(--text);border-radius:4px;padding:10px 11px;font:13px var(--mono)}.seedrow button{width:42px;flex-shrink:0;font-size:22px;color:var(--gold)}.primary{width:100%;padding:11px;color:#191d16;background:var(--gold);border-color:var(--gold);font-weight:600;display:flex;align-items:center;justify-content:space-between}.primary:hover{background:#e9c58a;border-color:#e9c58a}.hint{color:#778678;font:10px/1.7 var(--mono);margin:10px 0 0}.slider-field{margin-top:19px}.slider-field:first-child{margin-top:0}input[type=range]{appearance:none;width:100%;height:3px;background:#414d3f;border-radius:2px;display:block;margin:15px 0 5px;cursor:pointer;accent-color:var(--gold)}input[type=range]::-webkit-slider-thumb{appearance:none;width:11px;height:11px;background:var(--gold);border:2px solid #f0d7a5;border-radius:50%}input[type=range]::-moz-range-thumb{width:9px;height:9px;background:var(--gold);border:2px solid #f0d7a5;border-radius:50%}.range-limits{display:flex;justify-content:space-between;color:#657564;font:9px var(--mono)}select{padding:8px 10px;font-size:11px}.toggle{display:flex;align-items:center;justify-content:space-between;margin:13px 0;color:#bbc5b7;font-size:11px;cursor:pointer}.toggle input{appearance:none;width:26px;height:14px;border-radius:9px;background:#313e32;border:1px solid #435043;margin:0;position:relative;cursor:pointer}.toggle input:before{content:"";position:absolute;width:8px;height:8px;background:#8b9989;border-radius:50%;left:2px;top:2px;transition:transform .15s}.toggle input:checked{background:#7a633f;border-color:#ae8c57}.toggle input:checked:before{background:#e9ce9d;transform:translateX(12px)}.linekey{width:13px;height:2px;display:inline-block;margin-right:8px;vertical-align:middle}.sectiontitle{font:10px var(--mono);letter-spacing:1.5px;color:var(--soft);margin-bottom:14px}.legend{display:grid;grid-template-columns:1fr 1fr;gap:7px}.legend button{border:0;text-align:left;font-size:10px;padding:4px 0;color:#a3b2a0}.legend i{display:inline-block;width:6px;height:6px;border-radius:1px;margin-right:7px;background:var(--c);vertical-align:middle;transform:rotate(45deg)}details{color:var(--soft);font-size:11px}summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between}summary::-webkit-details-marker{display:none}.check-total{font:10px var(--mono);color:var(--green)}.checks{margin-top:13px;font:10px/1.5 var(--mono)}.check{padding:7px 0;border-top:1px solid #2c372d}.check b{font-weight:400;color:var(--green)}.check.fail b{color:#ee9e78}.check small{display:block;color:#7b8c79;margin-top:2px;font-size:9px}.smallbutton{padding:7px;width:100%;font:10px var(--mono);margin-top:9px}.footer-note{color:#5f725e;font:9px/1.8 var(--mono);margin-top:20px}main{min-width:0;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,#243128 0,#141c17 75%)}.scene-head{position:absolute;top:26px;left:30px;right:30px;z-index:2;pointer-events:none}.scene-head h1{font:32px/1.2 Georgia,"Times New Roman",serif;margin:9px 0;color:#e0e3d5;font-weight:400;letter-spacing:-.5px}.scene-head .subtitle{color:#82937f;font:10px var(--mono);letter-spacing:1px}.scene-toolbar{position:absolute;right:0;top:0;display:flex;gap:7px;pointer-events:auto}.scene-toolbar button{width:33px;height:31px;font:15px var(--mono);background:#1b251dba;color:#a4b29d}.scene-toolbar .fit{width:auto;padding:0 11px;font-size:9px;letter-spacing:1px}#viewport{position:absolute;inset:0;touch-action:none}#viewport canvas{display:block;width:100%;height:100%;cursor:grab}#viewport canvas:active{cursor:grabbing}.metrics{position:absolute;left:30px;bottom:67px;display:flex;gap:27px;z-index:2;pointer-events:none}.metric{border-left:1px solid #43503a;padding-left:12px}.metric strong{display:block;font:23px var(--mono);color:#cbd3bd;letter-spacing:-1px}.metric span{font:9px var(--mono);color:#70856b;letter-spacing:1.3px}.scene-foot{position:absolute;bottom:0;height:43px;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-top:1px solid #2a3828;background:#172119ba;z-index:2;font:9px var(--mono);color:#81967b;gap:10px}.scene-foot kbd{border:1px solid #43523c;border-radius:2px;padding:2px 4px;font:9px var(--mono);color:#acb99e}.status{color:var(--green);display:flex;align-items:center;gap:8px}#stage-label{color:var(--gold)}.minimap{position:absolute;bottom:64px;right:28px;width:159px;background:#142017c9;border:1px solid #3c4b34;border-radius:5px;z-index:2;padding:10px}.minimap .eyebrow{font-size:8px;letter-spacing:1px;margin-bottom:8px;display:flex;justify-content:space-between}.minimap canvas{width:137px;height:109px;cursor:crosshair;display:block;image-rendering:pixelated}.room-card{position:absolute;left:30px;top:132px;z-index:3;background:#18241df2;border:1px solid #47513c;border-radius:5px;padding:14px 17px;width:221px;display:none;box-shadow:0 10px 30px #0005}.room-card .room-title{font:20px Georgia,serif;margin:6px 0}.room-card .room-detail{font:10px/1.8 var(--mono);color:#9baa8e}.room-card .close{position:absolute;right:8px;top:5px;border:0;font-size:17px;padding:2px 4px}.tooltip{position:absolute;pointer-events:none;z-index:5;background:#18271eee;border:1px solid #526247;border-radius:4px;padding:8px 11px;font:10px var(--mono);color:#c8d2bd;display:none}.error{position:absolute;inset:20% 15%;z-index:6;padding:28px;border:1px solid #ab7753;background:#1b2119f2;border-radius:8px;display:none;height:max-content;color:#e4b999}.error h2{font:24px Georgia,serif;margin-top:0}.error p{font:12px/1.8 var(--mono)}.error button{padding:9px 17px}.build-progress{position:absolute;top:114px;left:30px;width:200px;height:2px;background:#354530;z-index:3;display:none}.build-progress div{height:100%;background:var(--gold);width:0;transition:width .1s}.about{position:fixed;inset:0;z-index:20;background:#0a100dde;display:none;align-items:center;justify-content:center;padding:25px;backdrop-filter:blur(8px)}.about article{max-width:660px;width:100%;max-height:85vh;overflow:auto;background:#1a241d;border:1px solid #546045;border-radius:7px;padding:30px;position:relative}.about h2{font:30px Georgia,serif;margin:8px 0 20px}.about p{color:#a7b59f;font-size:12px;line-height:1.8}.about code{color:var(--gold);font:11px var(--mono)}.about ol{padding-left:19px;color:#9caf92;font-size:12px;line-height:2}.about .close{position:absolute;right:18px;top:17px;padding:6px 10px}.about a{color:var(--gold)}
@media(max-width:1000px){.scene-head h1{font-size:25px;max-width:70%}.scene-head{left:22px;right:22px}.metrics{gap:16px;left:22px}.metric strong{font-size:20px}.header-right .chip{display:none}.minimap{width:125px;right:17px}.minimap canvas{width:103px;height:82px}.metrics .metric:last-child{display:none}.scene-foot>span:last-child{display:none}}
@media(max-width:700px){body{overflow:auto}header{height:68px;padding:0 18px}.brand strong{font-size:19px}.brand span{font-size:7px}.header-right button{padding:7px 9px}.layout{display:flex;flex-direction:column-reverse;height:auto}aside{border-right:0;border-top:1px solid var(--line);padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:0 22px;overflow:visible}.aside-title{grid-column:1/-1}.section{margin-bottom:18px}.footer-note{grid-column:1/-1}.layout main{height:66dvh;min-height:430px}.scene-head{top:21px;left:18px;right:18px}.scene-head h1{font-size:24px;margin-top:12px;max-width:85%}.scene-toolbar{top:43px}.scene-toolbar .fit{display:none}.scene-head .eyebrow{font-size:8px}.metrics{bottom:60px;gap:14px;left:18px}.metrics .metric:nth-child(3){display:none}.scene-foot{padding:0 18px}.minimap{right:18px;bottom:61px;width:108px;padding:7px}.minimap canvas{width:92px;height:73px}.room-card{left:18px;top:120px}.header-right{gap:0}.about article{padding:23px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
