    html,body{margin:0;height:100%;overflow:hidden;font-family:sans-serif;background:#0b1020}
    #c{display:block;width:100%;height:100%}
    #panel{position:absolute;bottom:8px;left:8px;background:rgba(255,255,255,.9);
      padding:4px 16px 4px 6px;border-radius:4px;font-size:11px;line-height:1.4;max-width:280px;
      transform:scale(0.9);transform-origin:bottom left}
    #panel b{font-size:11px}
    #panel label{white-space:nowrap}
    #panel .row{margin:2px 0;white-space:nowrap}
    #panel .lbl{display:inline-block;width:82px}
    #panel button{margin:0 1px}
    #hidebtn{position:absolute;top:2px;right:3px;border:none;background:none;cursor:pointer;font-size:12px;color:#555;padding:0;line-height:1}
    #showbtn{position:absolute;bottom:8px;left:8px;z-index:2;display:none;font-size:11px;
      padding:3px 7px;border-radius:4px;border:1px solid #aaa;background:rgba(255,255,255,.88);cursor:pointer}
    label{cursor:pointer}
    #loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#cdd}
    #mappanel{position:absolute;bottom:8px;right:8px;background:rgba(255,255,255,.9);
      padding:4px 16px 4px 6px;border-radius:4px;font-size:11px;line-height:1.3;max-width:390px;
      transform:scale(0.9);transform-origin:bottom right;display:none}
    #mappanel b{font-size:11px}
    #mappanel label{white-space:nowrap}
    #mappanel .mrow{display:grid;grid-template-columns:62px 210px 80px;align-items:center;column-gap:6px;margin:3px 0}
    #mappanel .mrow>span{white-space:nowrap}
    #mappanel input[type=range]{width:210px;margin:0;vertical-align:middle}
    #mappanel input[type=number]{width:80px;box-sizing:border-box}
    #title{position:absolute;top:8px;left:12px;color:#fff;font-size:18px;font-weight:bold;
      text-shadow:0 1px 4px rgba(0,0,0,.75);pointer-events:none;z-index:3}
    #version{font-size:11px;font-weight:normal;opacity:.7;margin-left:8px}
    #fsbtn{position:absolute;top:8px;right:10px;z-index:3;cursor:pointer;font-size:15px;line-height:1;
      border:1px solid #aaa;border-radius:4px;background:rgba(255,255,255,.85);padding:4px 8px}
    #northbtn{position:absolute;top:8px;right:48px;z-index:3;cursor:pointer;font-size:15px;line-height:1;
      border:1px solid #aaa;border-radius:4px;background:rgba(255,255,255,.85);padding:4px 8px}
    #caminfo{position:absolute;top:40px;left:12px;z-index:3;background:rgba(255,255,255,.9);
      padding:6px 9px;border-radius:4px;font-size:11px;line-height:1.45;color:#1a2330;
      box-shadow:0 1px 4px rgba(0,0,0,.25)}
    #caminfo .ci-row{display:grid;grid-template-columns:48px auto;gap:6px;white-space:nowrap}
    #caminfo .ci-row b{font-weight:600;color:#556}
    #caminfo .ci-val{font-family:ui-monospace,Menlo,Consolas,monospace}
    #caminfo button{margin-top:5px;font-size:10px;padding:3px 7px;border:1px solid #aaa;
      border-radius:4px;background:rgba(255,255,255,.95);cursor:pointer;width:100%}
    #caminfo button:active{background:#e8eef5}
