:root{font-family:"Instrument Sans",system-ui,sans-serif;color:#182f2a;background:#eef1ec;--green:#153f34;--muted:#52665d;--line:#d7dfd6;--paper:#fcfdf9}
*{box-sizing:border-box}body{margin:0}header{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px clamp(14px,3vw,38px);background:#102f28;color:#fff}h1,h2,p{margin:0}h1{font-size:1.48rem}h2{font-size:1.05rem}.brand{display:flex;gap:12px;align-items:center}.brand span{font-size:1.55rem;color:#f3cd85;background:#21473c;border:1px solid #456052;padding:7px 12px;border-radius:10px}.brand p{color:#c8dacd;font-size:.84rem;margin-top:3px}
main{display:grid;grid-template-columns:minmax(0,1fr) minmax(315px,360px);gap:16px;padding:16px;max-width:1900px;margin:auto;align-items:start}.map-panel,aside{background:var(--paper);border:1px solid var(--line);border-radius:13px;overflow:hidden}.toolbar,.legend,.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.toolbar{justify-content:space-between;padding:10px}.viewport{position:relative;background:#dce4da;overflow:hidden}#map{width:100%;height:clamp(390px,calc(100dvh - 212px),1050px);display:block;touch-action:none;cursor:grab;user-select:none}#map.placing{cursor:crosshair}#map:active{cursor:grabbing}.stand-shape{cursor:move}.stand-shape:focus{outline:none}.stand-shape:focus rect{stroke-width:4px}.stand-label{font-weight:700;paint-order:stroke;stroke:#183e34;stroke-width:2px;fill:#fff;pointer-events:none}#tooltip,#ruler{position:absolute;pointer-events:none;background:#102f28;color:white;border-radius:7px;padding:8px 10px;font-size:.79rem}#tooltip{white-space:pre-line;max-width:min(250px,90%);z-index:2}#ruler{bottom:10px;left:10px;text-align:center}#ruler div{border:solid #fff;border-width:0 1px 2px;height:5px}.legend{padding:10px 12px;font-size:.8rem}.legend span{display:inline-flex;align-items:center;gap:5px}.legend i{display:inline-block;width:13px;height:13px;border-radius:3px}.booth{background:#287a64}.buffer{border:1px dashed #17748a;background:#d2edf2}.blocked{background:#e2b675}.warning{background:#bb483d}#hint{padding:0 12px 12px;color:var(--muted);font-size:.8rem;min-height:28px}
button,input,select,textarea{font:inherit}button{background:#fff;border:1px solid var(--line);border-radius:7px;padding:7px 10px;color:var(--green);font-size:.83rem;font-weight:650;cursor:pointer}button:hover{background:#e9f2e9}button.primary{background:var(--green);border-color:var(--green);color:#fff}button.primary:hover{background:#27614f}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #2474a4;outline-offset:2px}#storage{font-size:.79rem;color:#c8dacd}
aside{max-height:calc(100dvh - 108px);overflow:auto}.aside-top{padding:14px;display:flex;justify-content:space-between;gap:7px;align-items:center;flex-wrap:wrap}.aside-top p{font-size:.82rem;color:var(--muted)}.filters,.fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.filters{padding:0 14px 12px}.fields .wide{grid-column:1/-1}label{display:grid;gap:3px;font-size:.78rem;font-weight:600;color:var(--muted)}input,select,textarea{width:100%;min-width:0;padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:#fff;color:#172e28}textarea{resize:vertical;min-height:50px}ul{list-style:none;margin:0;padding:0}#list{padding:0 14px 12px;max-height:270px;overflow:auto;display:grid;gap:5px}#list button{width:100%;text-align:left}#list button[aria-current=true]{border-color:#287a64;background:#e7f3ea}#list small{display:block;color:var(--muted);margin-top:2px}#list .empty{color:var(--muted);font-size:.82rem;padding:8px 0}details,#editor{border-top:1px solid var(--line);padding:12px 14px}summary{cursor:pointer;font-size:.9rem;font-weight:650}details label{margin-top:8px}#issues{padding-top:8px;color:#784031;font-size:.82rem;display:grid;gap:5px}#issues button{padding:4px 7px;text-align:left}#editor .aside-top{padding:0 0 10px}form .actions{margin-top:12px}dialog{width:min(480px,calc(100vw - 24px));color:#182f2a;border:1px solid var(--line);border-radius:13px;padding:18px}dialog h2{margin-bottom:10px}dialog p{font-size:.86rem;color:var(--muted);margin:8px 0}dialog::backdrop{background:#0a231e99}
@media(max-width:850px){main{grid-template-columns:1fr;gap:10px;padding:10px}aside{max-height:none}#map{height:55dvh;min-height:280px}header{flex-wrap:wrap}}
[hidden]{display:none!important}.stand-shape{cursor:inherit}.editable .stand-shape{cursor:move}#login-error{color:#9d352c}
.rotation-controls{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.rotation-controls>label{white-space:nowrap}.rotation-controls input[type=range]{width:clamp(65px,11vw,140px);padding:0;accent-color:var(--green)}.angle-field{display:flex;align-items:center;gap:3px;color:var(--muted);font-size:.82rem}.angle-field input{width:66px}.rotation-controls button[aria-pressed=true]{background:var(--green);color:#fff}.rotation-controls input:disabled{opacity:.65}
.list-swatch{display:inline-block;width:.72rem;height:.72rem;border-radius:3px;border:1px solid #172e2855;margin-right:.42rem;vertical-align:baseline}.fields input[type=color]{width:72px;height:35px;padding:3px;cursor:pointer}
#move-item{margin-bottom:10px}
.map-object-icon{pointer-events:none;transform:rotate(calc(0deg - var(--map-turn,0deg) - var(--item-turn,0deg)));font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif}.list-icon{display:inline-block;margin-right:.35rem;font-style:normal}
.map-object-icon{font-size:var(--map-icon-size,18px)}
