/* PLATEAU 3D都市モデルビューア。地図が画面いっぱいで、操作パネルを重ねる構成。 */
:root{
  --pl-ink:#1d2530; --pl-muted:#6b7684; --pl-line:#cfd6df; --pl-accent:#2b6cb0;
}
body.public{margin:0;}
#app{position:relative;width:100vw;height:100vh;overflow:hidden;font-size:13px;color:var(--pl-ink);}
#cesium{width:100%;height:100%;}
/* Cesium の既定のクレジット表示は自前のものと重なるので、右下の小さな枠に収める */
.cesium-widget-credits{font-size:10px;}

.pl-panel{position:absolute;top:14px;left:14px;z-index:5;width:232px;
  background:rgba(255,255,255,.96);border:1px solid var(--pl-line);border-radius:8px;
  box-shadow:0 2px 10px rgba(15,23,42,.12);}
.pl-head{display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:8px 12px;font-weight:600;border-bottom:1px solid var(--pl-line);}
.pl-head button{font-family:inherit;font-size:11px;border:1px solid var(--pl-line);
  background:#fff;border-radius:6px;padding:1px 8px;cursor:pointer;color:var(--pl-ink);}
.pl-body{padding:6px 12px 12px;}
.pl-section{font-size:11px;font-weight:600;color:var(--pl-muted);letter-spacing:.06em;
  margin:10px 0 4px;}
.pl-check{display:flex;align-items:center;gap:7px;cursor:pointer;padding:2px 0;}
.pl-note{font-size:11px;color:var(--pl-muted);margin-left:auto;}
.pl-buttons{display:flex;gap:6px;flex-wrap:wrap;}
.pl-buttons button{font-family:inherit;font-size:12px;border:1px solid var(--pl-line);
  background:#fff;border-radius:6px;padding:3px 10px;cursor:pointer;color:var(--pl-ink);}
.pl-buttons button:hover{border-color:var(--pl-accent);color:var(--pl-accent);}
.pl-hint{font-size:11px;color:var(--pl-muted);line-height:1.5;margin:12px 0 0;}

/* 建物の属性 */
.pl-info{position:absolute;top:14px;right:14px;z-index:5;width:258px;max-height:56vh;
  overflow-y:auto;background:rgba(255,255,255,.96);border:1px solid var(--pl-line);
  border-radius:8px;box-shadow:0 2px 10px rgba(15,23,42,.12);}
.pl-info-head{display:flex;align-items:center;justify-content:space-between;
  padding:8px 12px;border-bottom:1px solid var(--pl-line);}
.pl-info-head button{font-family:inherit;font-size:14px;line-height:1;border:0;
  background:none;cursor:pointer;color:var(--pl-muted);padding:0 2px;}
.pl-info dl{margin:0;padding:8px 12px 12px;display:grid;grid-template-columns:88px 1fr;
  gap:4px 10px;font-size:12.5px;}
.pl-info dt{color:var(--pl-muted);}
.pl-info dd{margin:0;word-break:break-all;}

.pl-status{position:absolute;left:50%;top:16px;transform:translateX(-50%);z-index:6;
  background:rgba(29,37,48,.88);color:#fff;font-size:12px;border-radius:999px;padding:6px 18px;}

.pl-credit{position:absolute;left:14px;bottom:10px;z-index:5;font-size:11px;
  color:var(--pl-ink);background:rgba(255,255,255,.9);border:1px solid var(--pl-line);
  border-radius:6px;padding:3px 10px;max-width:min(680px,calc(100vw - 40px));line-height:1.5;}
.pl-credit a{color:var(--pl-accent);}
.pl-credit-sub{color:var(--pl-muted);}

@media (max-width:640px){
  .pl-panel{width:auto;left:10px;right:10px;}
  .pl-info{left:10px;right:10px;width:auto;top:auto;bottom:44px;max-height:40vh;}
}
