*{box-sizing:border-box}body{margin:0;background:#eeece6;color:#292c29;font:14px system-ui,sans-serif}header{padding:19px 24px;background:#faf9f5;border-bottom:1px solid #d8d6cd;display:flex;justify-content:space-between;align-items:center;gap:20px}h1{font-size:19px;font-weight:550;margin:2px 0 4px}.eyebrow{font-size:10px;letter-spacing:2px;color:#70786c}header p{margin:0;font-size:12px;color:#71766c}.tools{display:flex;gap:6px;flex-wrap:wrap}button{font:inherit;background:#f9f8f3;border:1px solid #c8cdc2;border-radius:6px;padding:9px 13px;color:#29332e;cursor:pointer}button.active{background:#304a3d;color:white;border-color:#304a3d}main{display:grid;grid-template-columns:1fr 260px;height:calc(100vh - 90px);min-height:520px}#viewport{position:relative;overflow:hidden;min-width:0}canvas{display:block;touch-action:none;width:100%;height:100%}aside{padding:23px 20px;background:#faf9f5;border-left:1px solid #d8d6cd;overflow:auto}h2{font-size:12px;letter-spacing:1px;text-transform:uppercase;margin:0 0 15px}label{display:flex;align-items:center;gap:9px;margin:13px 0;font-size:13px}input[type=checkbox]{accent-color:#476454}input[type=range]{width:100%;accent-color:#476454}hr{border:0;border-top:1px solid #dddcd4;margin:24px 0}.small{font-size:12px;color:#70766c;line-height:1.6}#selection{font-size:13px;line-height:1.6;min-height:68px}#source{display:none;position:absolute;inset:0;overflow:auto;background:#deddd5;text-align:center}#source img{width:min(100%,1000px);height:auto}.hint{position:absolute;bottom:19px;left:24px;font-size:12px;color:#59625c;background:#faf9f0d9;padding:9px 13px;border-radius:5px;pointer-events:none}.legend{display:flex;gap:7px;align-items:center;margin:9px 0;font-size:12px}.swatch{height:11px;width:11px;border:1px solid #a4a395}.titlebox{position:absolute;top:19px;left:24px;pointer-events:none}.titlebox strong{font-size:12px;font-weight:500}.titlebox p{font-size:11px;margin:5px 0;color:#687266}#labels{position:absolute;inset:0;pointer-events:none}.tag{position:absolute;transform:translate(-50%,-50%);font-size:10px;white-space:nowrap;color:#25372d;text-shadow:0 1px 2px #fff;background:#faf9efd9;padding:3px 5px;border-radius:3px}.tag.entry{color:#1c6752;background:#edfff1e8;font-weight:600}.tag.area{font-size:11px}.status{padding:9px 0;color:#637063;font-size:11px}.link{color:#345a47} @media(max-width:750px){header{padding:12px;display:block}.tools{margin-top:10px}main{grid-template-columns:1fr;height:auto}#viewport{height:65vh;min-height:400px}aside{border-left:0;display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:15px}aside hr{display:none}.titlebox{left:14px}.hint{left:10px;font-size:10px}}

body{background:#242927}header,aside{background:#f8f6f0}header{border-bottom-color:#d4d3c9;min-height:90px}.titlebox strong{color:#f4e9d7}.titlebox p{color:#bec3b9}.hint{background:#202622d9;color:#ece9dd;border:1px solid #566155}.tag{background:#f8f4e7eb;color:#333f34;text-shadow:none}.tag.entry{background:#dde9d9eb;color:#335039}.tag.stage-area{font-size:11px;border:1px solid #c2b693}.tag.route{font-size:10px;color:#f5eac9;background:#343b33e0}select{width:100%;padding:9px;font:inherit;border:1px solid #c8cdc2;border-radius:6px;background:#f9f8f3;color:#29332e}body{height:100vh;display:flex;flex-direction:column}main{flex:1;height:auto;min-height:0}header>div:first-child{flex:0 0 290px}.tools{justify-content:flex-end}@media(max-width:750px){body{height:auto}main{min-height:520px}.tools{justify-content:flex-start}}
.tag.stage-area{white-space:pre-line;text-align:center;line-height:1.4;font-size:10px}.tag.compact{font-size:9px;padding:3px 4px}
.tag.first-area{white-space:pre-line;text-align:center;line-height:1.4;font-size:11px;border:1px solid #c2b693}.tag.first-void{background:#202622c9;color:#e2dccb}.navigation{display:flex;flex-direction:column;gap:8px;align-items:flex-end}.floor-nav{display:flex;gap:6px}.floor-nav button{font-size:12px;padding:8px 14px;font-weight:600}.tools[hidden],[hidden]{display:none!important}#first-tools{justify-content:flex-end}@media(max-width:750px){.navigation{align-items:flex-start}.floor-nav{margin-top:10px;flex-wrap:wrap}#first-tools{justify-content:flex-start}}
