.portal-core-controls-panel {position:fixed;z-index:25;right:28px;top:150px;width:440px;max-width:calc(100vw - 32px);max-height:calc(100vh - 180px);overflow:auto;background:#142331;border:1px solid #536d87;border-radius:10px;padding:16px;box-shadow:0 15px 48px #0009}
.portal-core-controls-panel header {display:flex;align-items:center;justify-content:space-between;gap:8px}
.portal-core-controls-panel p {font-size:12px;line-height:1.5;color:#b0c1d1;margin:12px 0 18px}
.portal-core-controls-panel label {display:grid;grid-template-columns:minmax(0,1fr) 120px 42px;gap:8px;align-items:center;font-size:12px;margin:13px 0}
.portal-core-controls-panel input {width:100%;accent-color:#8fc7d3}
.portal-core-controls-panel output {text-align:right;color:#c4dae9;font-variant-numeric:tabular-nums}
.portal-docking-cell > polygon {stroke-linejoin:round}
.portal-center-node > polygon {stroke-width:3}
.portal-entry-cell > .portal-area-ground {stroke-opacity:.72}
.portal-active-treatment {display:none}
.portal-area-node:is(:hover,:focus-visible,.is-active) .portal-active-treatment {display:inline}
.portal-area-node:is(:hover,:focus-visible,.is-active):not(.has-sector-walls) > .portal-area-ground {stroke:#eef7ff;stroke-width:4}
.portal-area-node:is(:hover,:focus-visible,.is-active) .portal-sector-walls {opacity:1}
.portal-area-node:is(:hover,:focus-visible,.is-active) .portal-sector-wall-contours,
.portal-area-node:is(:hover,:focus-visible,.is-active) .portal-sector-gate-jambs {stroke:#eef7ff;stroke-width:4}
.portal-core-controls-panel .portal-option-toggle {display:flex;gap:10px;align-items:center}
.portal-core-controls-panel .portal-option-toggle input {width:17px;height:17px;flex:none}
.portal-core-controls-panel input[type=color] {height:30px;padding:3px;cursor:pointer}
.portal-core-controls-panel .portal-option-select {grid-template-columns:1fr 1.4fr}
.portal-core-controls-panel select {min-width:0;width:100%;padding:7px;background:#0d1c2b;color:#c4dae9;border:1px solid #536d87;border-radius:5px}
.portal-surface-settings {border-top:1px solid #3a5266;margin-top:15px;padding-top:12px}
.portal-surface-settings summary {cursor:pointer;font-weight:650;color:#c4dae9;font-size:13px}
.portal-surface-settings p {margin:10px 0;line-height:1.5}
@media(max-width:560px) {.portal-core-controls-panel label {grid-template-columns:minmax(0,1fr) 95px 38px}}
.portal-level-toolbar {
  position: absolute;
  right: 12px;
  top: 12px;
  z-index: 5;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  align-items: start;
  gap: 6px;
  width: 300px;
  max-width: calc(100% - 24px);
  pointer-events: auto;
  font-size: 11px;
}
.portal-floor-breadcrumbs,.portal-floor-actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-width: 0;
  gap: 5px;
}
.portal-floor-actions[hidden] {display:none}
.portal-level-toolbar:has(.portal-floor-actions[hidden]) { width: 145px; grid-template-columns: minmax(0, 1fr); }
.portal-level-toolbar button {
  background: #122330e8;
  border: 1px solid #587384;
  border-radius: 5px;
  color: #bfd7e6;
  padding: 5px 8px;
  font: inherit;
  line-height: 1.25;
  cursor: pointer;
  overflow-wrap: anywhere;
  text-align: left;
}
.portal-level-toolbar button:hover,.portal-level-toolbar button:focus-visible {color:#fff;border-color:#9ddbc9;background:#21404f}
.portal-level-toolbar button[aria-current=page] {color:#d8fff1;border-color:#75c9b5;font-weight:650}
.portal-floor-breadcrumbs>span {color:#89a5b7}
.portal-floor-depth {font-size:10px;text-transform:uppercase;letter-spacing:.08em;padding:2px 8px}
.portal-level-toolbar p {grid-column:1 / -1;margin:0;background:#10212edf;color:#b4c7d7;padding:6px 8px;border-radius:5px;line-height:1.4;font-size:10px}
.portal-floor-return {cursor:pointer}
.portal-floor-return:is(:hover,:focus-visible)>g>polygon {stroke:#e8fff6;fill:#294b53}
@container canvas-stage (max-width: 620px) {
  .portal-level-toolbar { right: 8px; top: 54px; max-width: calc(100% - 16px); }
}
