:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#eae4d4;background:#102021;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{outline-offset:4px}button{border:1px solid #49625c;background:#203734;color:#eae4d4;border-radius:5px;padding:9px 12px;cursor:pointer;transition:background .18s,transform .18s}button:hover{background:#35544b;transform:translateY(-1px)}button:disabled{opacity:.4;cursor:default;transform:none}header{display:flex;gap:18px;align-items:center;padding:25px 32px;border-bottom:1px solid #40514b}.brand{font-family:Georgia,serif;font-size:38px;color:#f2cb8b;text-decoration:none;border-right:1px solid #40514b;padding-right:22px}h1{font:25px Georgia,serif;margin:5px 0}small{font-size:10px;letter-spacing:1.7px;color:#a4b5a6}.counter{margin-left:auto;font-size:12px;color:#adc1b4}.counter strong{color:#edc689}nav{display:flex;gap:9px;padding:14px 32px;background:#182b2a;flex-wrap:wrap}nav button span{color:#d5ab6c;margin-right:12px}.workspace{display:grid;grid-template-columns:280px minmax(350px,1fr) 290px;min-height:calc(100vh - 170px)}aside{padding:30px 24px;background:#192c29;border-right:1px solid #40514b}.inspector{border-right:0;border-left:1px solid #40514b}h2{font:34px/1.13 Georgia,serif;margin:15px 0 18px;color:#f0dcc0}h3{font-size:12px;font-weight:600;margin:25px 0 10px}.intro{font:14px/1.7 Georgia,serif;color:#c5c9b8}.hint{font-size:11px;line-height:1.6;color:#9eb4a6}label{display:block;color:#c0cbbb;font-size:11px;line-height:1.5;margin:12px 0}input:not([type=checkbox]),select,textarea{display:block;width:100%;background:#102320;color:#f0ddbd;border:1px solid #456159;border-radius:4px;padding:9px;margin-top:5px}input:disabled{color:#839b90}.ratios,.row{display:flex;gap:7px;flex-wrap:wrap}.ratios{flex-wrap:nowrap}.ratios label{min-width:0;flex:1}.row button{font-size:11px;padding:8px}.binding{display:flex;align-items:center;gap:10px}.binding label{flex:1;min-width:0}.binding button{margin-top:20px;font-size:11px}.gold{color:#f4ce8b;border-color:#b38e55}.center{background:radial-gradient(ellipse at 50% 25%,#264640,#152727 72%);min-width:0}.stage-title{padding:28px 30px 0;display:flex;justify-content:space-between;gap:10px}.stage-title h2{font-size:25px}.badge{font-size:8px;letter-spacing:1px;border:1px solid #6c8474;color:#c5d1b8;padding:8px;height:28px;white-space:nowrap}.view{position:relative;padding:0 20px}.canvas{width:min(100%,700px);aspect-ratio:1;margin:auto;touch-action:none}.canvas canvas{display:block;width:100%;height:100%}.fallback{position:absolute;inset:35% 10%;text-align:center;color:#c7bca1;font:20px/1.6 Georgia,serif;pointer-events:none}.orbit{display:flex;justify-content:center;gap:10px;margin:0 0 20px}.orbit button{font-size:11px}.map{padding:20px 28px;background:#102320;border-top:1px solid #40514b}.mapgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.mapgrid h3{color:#c8b991;margin:18px 0}.instance{width:100%;display:grid;grid-template-columns:1fr auto;text-align:left;font-size:10px;margin:6px 0;padding:8px;min-width:0}.instance span:first-child{overflow-wrap:anywhere}.instance small{font-size:8px;letter-spacing:.2px;grid-column:1/3;margin-top:6px}.instance.selected{background:#3c5745;border-color:#e8c88e}.linked{color:#ebbd6b}.local{color:#8dcebd}.instance b{margin-left:4px}footer{padding:18px 32px;border-top:1px solid #40514b;font-size:12px;background:#10201e}footer details{max-width:900px;color:#92ac9f;line-height:1.6}summary{cursor:pointer;font-size:11px;margin:20px 0}textarea{height:130px;resize:vertical}details p{font-size:11px}main{animation:reveal .55s ease-out}@keyframes reveal{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@media(max-width:1150px){.workspace{grid-template-columns:230px minmax(320px,1fr)}.inspector{grid-column:1/-1;display:block;border-top:1px solid #40514b}.inspector .ratios{max-width:500px}.inspector>label,.binding{max-width:500px}}@media(max-width:680px){header{padding:18px;gap:12px}h1{font-size:20px}.counter{display:none}nav{padding:12px}.workspace{display:flex;flex-direction:column}.center{order:-1}.stage-title{padding:20px}.badge{display:none}.map{padding:15px}.mapgrid{gap:6px}aside{padding:24px}.canvas{min-height:260px}footer{padding:18px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.stage-title>div{min-width:0;flex:1}.stage-title h2,h2{overflow-wrap:anywhere}.stage-title h2{white-space:pre-wrap}
