body{margin:0;display:flex;font-family:Helvetica,Arial,sans-serif;background:#ddd;height:100vh}
#panel{width:260px;padding:12px;background:#fff;overflow:auto}#panel label{display:block;margin:8px 0;font-size:13px}#panel input,#panel select{width:100%}
#stage{flex:1;display:flex;align-items:center;justify-content:center}
#poster{background:#fff;box-shadow:0 2px 12px #0004;display:flex;flex-direction:column}
#map{flex:1}#caption{height:18%;display:flex;flex-direction:column;align-items:center;justify-content:center}
#ct{font-size:36px;letter-spacing:.3em;font-weight:300}#cs{font-size:11px;letter-spacing:.2em;margin-top:6px}#attr{font-size:7px;color:#888;margin-top:10px}
details{border-top:1px solid #eee;margin:8px 0;padding-top:6px;font-size:13px}summary{font-weight:bold;cursor:pointer}
button{font-size:12px;margin:2px 0}#pinmode.on{background:#e4572e;color:#fff}
.file{display:inline-block!important;margin:0!important;font-size:12px;border:1px solid #999;padding:1px 4px;cursor:pointer}.file input{display:none}
.pinrow{border:1px solid #eee;padding:4px;margin:4px 0}.pinrow .pr{display:flex;gap:2px}.pinrow .rg{flex:1;min-width:0}.pinrow button{padding:0 4px}
.pin-handle{width:18px;height:18px;border-radius:50%;cursor:move;background:transparent}
.legend span{display:inline-block;width:10px;height:10px;border-radius:50%;margin:0 3px 0 6px}.legend{font-size:11px}
.st{font-size:11px;color:#444;margin:4px 0}#profile{border:1px solid #ddd;width:100%}
.cpop table{font-size:10px;border-collapse:collapse}.cpop td{border-bottom:1px solid #eee;padding:1px 3px;vertical-align:top}
