:root{
    --bg:#1b1d22; --panel:#25282f; --line:#3a3e47; --txt:#e6e6e6; --dim:#9aa0ab; --acc:#2fb36b; --red:#ff4d4d;
    --mono:"Consolas","D2Coding","Malgun Gothic",monospace;
  }
  html,body{margin:0;background:var(--bg);color:var(--txt);font-family:"Malgun Gothic",sans-serif;font-size:13px}
  #panel{position:fixed;left:12px;top:12px;z-index:1000;width:310px;background:var(--panel);border:1px solid var(--line);
         border-radius:6px;box-shadow:0 6px 24px rgba(0,0,0,.5);user-select:none;max-height:calc(100vh - 24px);overflow-y:auto}
  #panel h1{margin:0;padding:8px 12px;font-size:13px;font-weight:700;letter-spacing:.5px;border-bottom:1px solid var(--line);
            display:flex;justify-content:space-between;align-items:center;cursor:move;position:sticky;top:0;background:var(--panel);z-index:1}
  #panel h1 span{color:var(--dim);font-weight:400;font-family:var(--mono);font-size:11px}
  .sec{padding:8px 12px;border-bottom:1px solid var(--line)}
  .sec:last-child{border-bottom:none}
  .lbl{color:var(--dim);font-size:11px;margin-bottom:4px}
  .row{display:flex;gap:6px;align-items:center;margin-bottom:6px}
  .row:last-child{margin-bottom:0}
  input[type=text],input[type=number]{background:#14161a;border:1px solid var(--line);color:var(--txt);padding:5px 7px;border-radius:3px;
        font-family:var(--mono);font-size:12px;min-width:0}
  input[type=number]{width:58px;text-align:right}
  input:focus{outline:1px solid var(--acc)}
  .save-options{gap:14px;padding:2px 0 3px}
  .checkopt{display:flex;align-items:center;gap:5px;color:var(--txt);font-size:12px;cursor:pointer;white-space:nowrap}
  .checkopt input{accent-color:var(--acc);margin:0}
  button{background:#30343d;border:1px solid var(--line);color:var(--txt);padding:5px 9px;border-radius:3px;cursor:pointer;font-size:12px;white-space:nowrap}
  button:hover{background:#3b404a}
  button.on{background:var(--acc);border-color:var(--acc);color:#fff}
  button.full{flex:1}
  button.danger{color:#ffb3b3}
  button:disabled{opacity:.45;cursor:default}
  .seg{display:flex}
  .seg button{flex:1;border-radius:0;border-right:none}
  .seg button:first-child{border-radius:3px 0 0 3px}
  .seg button:last-child{border-radius:0 3px 3px 0;border-right:1px solid var(--line)}
  #status,#prog{font-family:var(--mono);font-size:11px;color:var(--dim);line-height:1.6;white-space:pre}
  #status b{color:var(--txt);font-weight:400}
  #prog{color:var(--acc);min-height:16px}
  #boxes{font-family:var(--mono);font-size:11px;max-height:150px;overflow-y:auto;margin-bottom:6px}
  #boxes .bx{display:flex;align-items:center;gap:6px;padding:2px 0;border-bottom:1px dashed #33363e}
  #boxes .bx span{flex:1}
  #boxes .bx.big span{color:var(--red)}
  #boxes .bx button{padding:1px 6px;font-size:11px}
  #boxes:empty::before{content:"박스 없음 — 모드 선택 후 지도 위 클릭/드래그";color:#666}
  #qres{font-family:var(--mono);font-size:11px;max-height:190px;overflow-y:auto;margin-top:6px}
  #qres:empty{display:none}
  #qres .qh{color:var(--dim);padding:2px 0;display:flex;justify-content:space-between;align-items:center}
  #qres .qh button{padding:0 6px;font-size:11px}
  #qres .qi{padding:4px 6px;border-bottom:1px dashed #33363e;cursor:pointer;line-height:1.45}
  #qres .qi:hover{background:#30343d}
  #qres .qi.sel{background:#2c4436}
  #qres .qi b{color:var(--acc);font-weight:400;margin-right:4px}
  #qres .qi span{color:var(--dim)}
  .bar{height:4px;background:#14161a;border-radius:2px;overflow:hidden;margin-top:4px}
  .bar i{display:block;height:100%;width:0;background:var(--acc);transition:width .2s}
  #toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:#000c;color:#fff;padding:8px 14px;border-radius:4px;
         font-size:12px;z-index:2000;display:none}
  #map{width:1920px;height:1080px;background:#ddd;position:relative}
  #lmap{width:100%;height:100%;background:#ddd}
  body.autofit #map{width:100vw !important;height:100vh !important}
  body.draw #map, body.draw .leaflet-container{cursor:crosshair !important}
  body.moving #map, body.moving .leaflet-container{cursor:move !important}
  .home-btn{position:fixed;right:16px;top:16px;z-index:1300;background:rgba(25,27,32,.92);border:1px solid #4a4f59;color:#fff;text-decoration:none;padding:9px 14px;border-radius:5px;font:700 12px var(--ui);box-shadow:0 8px 28px rgba(0,0,0,.28)}
  .home-btn:hover{background:#343943}
  body.capture .home-btn{display:none}
  body.capture #panel{display:none}
  body.busy #panel{outline:2px solid var(--acc)}
  .boxlbl{background:var(--red);color:#fff;font:bold 12px var(--mono);padding:1px 6px;border-radius:2px;transform:translate(0,-100%);white-space:nowrap;display:inline-block}
  .leaflet-div-icon{background:none;border:none}
  .leaflet-control-attribution{font-size:10px}


/* v2.65 - fixed batch pixel controls: compact two-line layout */
.fixed-settings{margin-top:2px}
.fixed-settings .row{margin-bottom:5px}
.fixed-settings .lbl{margin-bottom:0;white-space:nowrap}
.fixed-label{width:50px;flex:0 0 50px}
.fixed-px-row #fixedPx{width:84px;flex:0 0 84px;text-align:right}
.fixed-sub-row #capLv{width:48px;flex:0 0 48px}
.fixed-sub-row #ovl{width:48px;flex:0 0 48px}
.fixed-hint{margin-left:4px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}
.fixed-help{text-align:right;margin-top:1px!important;margin-bottom:6px!important}
.sub-gap{margin-left:12px!important}
.unit-label{flex:0 0 auto}
@media (max-width: 520px){
  .fixed-hint{display:none}
}
