.park-map.digital-park { height: auto!important; min-height: 0; background: #0a243a; border: 1px solid #2b4c62; border-radius: 8px; }
.scene-viewport { position: relative; aspect-ratio: 16 / 9; overflow: hidden; isolation: isolate; }
.scene-layer { position: absolute; inset: 0; transform-origin: center; }
.scene-background { display: block; width: 100%; height: 100%; object-fit: cover; user-select: none; }
.scene-plume { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.scene-viewport.can-pan { cursor: grab; touch-action: none; }
.scene-viewport.can-pan:active { cursor: grabbing; }
.scene-heading { position: absolute; top: 13px; left: 14px; display: flex; align-items: center; gap: 7px; padding: 7px 10px; color: #edf7ff; font-size: 11px; background: #051b2cbb; border: 1px solid #7798b333; border-radius: 4px; pointer-events: none; }
.scene-heading i { width: 5px; height: 5px; background: #61e1bc; border-radius: 50%; box-shadow: 0 0 9px #61e1bc; }
.scene-heading span { margin-left: 3px; color: #89b6d0; font-size: 9px; }
.scene-compass { position: absolute; right: 18px; top: 11px; display: grid; justify-items: center; gap: 0; color: #cae9ff; font: 10px/1 Arial,sans-serif; text-shadow: 0 2px 5px #001; pointer-events: none; }
.scene-compass span { font: 26px/1.2 Arial,sans-serif; }
.scene-hotspot { --risk: #46d5b2; position: absolute; z-index: 2; transform: translate(-50%,-50%); display: flex; align-items: center; gap: 6px; padding: 0; border: 0; background: none; color: white; font-family: var(--font); cursor: pointer; min-height: 44px; }
.scene-hotspot.critical { --risk: #ff6266; }
.scene-hotspot.warning { --risk: #ffbf50; }
.risk-pin { position: relative; display: grid; place-items: center; width: 27px; height: 31px; border-radius: 12px 12px 12px 3px; background: var(--risk); box-shadow: 0 0 20px color-mix(in srgb,var(--risk) 70%,transparent),0 4px 12px #001b; color: white; font: 800 21px/1 Arial,sans-serif; transform: translateY(-10px); }
.scene-hotspot.normal .risk-pin { width: 23px; height: 27px; font-size: 15px; }
.risk-halo { position: absolute; left: 12px; top: 32px; width: 78px; height: 30px; transform: translate(-50%,-50%); border: 2px solid var(--risk); background: color-mix(in srgb,var(--risk) 20%,transparent); border-radius: 50%; box-shadow: 0 0 20px color-mix(in srgb,var(--risk) 50%,transparent),inset 0 0 13px color-mix(in srgb,var(--risk) 50%,transparent); pointer-events: none; }
.risk-halo:after { position: absolute; inset: -8px; content: ""; border: 1px solid var(--risk); border-radius: 50%; animation: scene-pulse 2.6s ease-out infinite; }
.scene-hotspot.normal .risk-halo { width: 53px; height: 20px; opacity: .65; }
.scene-hotspot.normal .risk-halo:after { animation: none; }
.scene-label { display: grid; gap: 3px; position: relative; min-width: 69px; padding: 8px 11px; text-align: left; border-radius: 4px; color: #f1f7fc; font-size: 12px; font-weight: 650; line-height: 1.3; background: #061e32e8; border: 1px solid #8ac1e34f; box-shadow: 0 6px 14px #0019; transition: border-color .16s,background .16s; }
.scene-label small { font-size: 9px; font-weight: 400; color: var(--risk); white-space: nowrap; }
.scene-hotspot:hover .scene-label,.scene-hotspot.is-selected .scene-label { border-color: var(--risk); background: #163950ee; }
.scene-hotspot.is-selected { z-index: 3; }
.scene-hotspot.is-selected .risk-halo { width: 100px; height: 42px; }
.scene-hotspot:focus-visible { outline: 2px solid #f8ef6c; outline-offset: 6px; border-radius: 4px; }
.scene-controls { position: absolute; right: 12px; bottom: 12px; display: flex; align-items: center; gap: 1px; background: #061e32ed; border: 1px solid #6489a36b; border-radius: 6px; box-shadow: 0 4px 12px #0004; }
.scene-controls button { display: grid; place-items: center; width: 32px; height: 32px; min-height: 32px; padding: 0; color: #d9edff; background: transparent; border: 0; font: 20px/1 Arial,sans-serif; border-radius: 4px; }
.scene-controls button:hover { color: white; background: #315873; }
.scene-zoom-label { width: 39px; text-align: center; color: #b1d4e9; font: 10px/1 Arial,sans-serif; }
.digital-park .map-caption { position: static; padding: 6px 10px; min-height: 28px; background: #0a243a; border-color: #2c4c62; color: #8eafc6; font-size: 10px; line-height: 1.5; }
.screen .digital-park .map-caption { background: #0a243a; }
.screen .home-grid { grid-template-columns: minmax(165px,.52fr) minmax(0,2.4fr) minmax(190px,.65fr); }
.screen .home-grid>.panel { margin-bottom: 0; }
.screen .home-grid { margin-bottom: 12px; }
.screen .screen-todo .work-item { min-height: 112px; }
.screen-brand { display: grid; gap: 7px; }
.screen-brand img { width: 145px; height: auto; }
.screen-brand small { font-size: 9px; color: #8facc0; letter-spacing: 1px; }
.brand .case-official-logo { width: 136px; height: auto; margin-bottom: 13px; }
.brand strong { font-size: 17px; }
.brand span { font-size: 13px; font-weight: 400; color: #b6aeb5; }
.brand small { font-size: 11px; color: #8d818a; }
.case-mobile-mark { width: 26px; height: 38px; object-fit: contain; }
.sidebar { background: #242021; }
.nav-item:hover { background: #3a3039; }
.nav-item.active { background: linear-gradient(100deg,#a45e9c,#7c4777); }
.workspace { --blue: #96518d; }
.workspace .button.primary { background: linear-gradient(110deg,#f8ef6c,#dfb9ad 56%,#ae66a6); color: #242021; border-color: #c89abb; font-weight: 600; }
:root[data-theme="mono"] .nav-item.active { background: #50494d; }
:root[data-theme="mono"] .workspace { --blue: #51484e; }
:root[data-theme="mono"] .workspace .button.primary { background: #242021; color: white; border-color: #242021; }
.case-logo-mono { display: none; }
:root[data-theme="mono"] .case-logo-brand { display: none; }
:root[data-theme="mono"] .case-logo-mono { display: block; filter: invert(1); }
:root[data-theme="mono"] .case-mobile-mark { filter: brightness(0); }
:root[data-theme="mono"] { --blue: #51484e; }
:root[data-theme="mono"] .mobile-banner { background: #393136; }
@keyframes scene-pulse { 0% { transform: scale(.75); opacity: .9; } 100% { transform: scale(1.5); opacity: 0; } }
@media(max-width:1200px) { .screen .home-grid { grid-template-columns: minmax(160px,.45fr) minmax(0,1.8fr); }.screen .screen-todo { grid-column: 1/-1; } }
@media(max-width:980px) { .screen .home-grid { grid-template-columns: 1fr; }.screen .screen-todo { grid-column: auto; } }
@media(max-width:700px) {
  .scene-label { min-width: 56px; padding: 5px 7px; font-size: 10px; gap: 2px; }
  .scene-label small { font-size: 8px; }
  .risk-pin { width: 21px; height: 25px; font-size: 17px; }
  .scene-hotspot { gap: 4px; }
  .scene-hotspot.normal .risk-pin { width: 19px; height: 23px; font-size: 12px; }
  .risk-halo { width: 52px; height: 22px; top: 27px; left: 10px; }
  .scene-hotspot.is-selected .risk-halo { width: 70px; height: 29px; }
  .scene-heading { top: 8px; left: 8px; padding: 5px 7px; font-size: 9px; }
  .scene-heading span { display: none; }
  .scene-controls { right: 7px; bottom: 7px; }
  .scene-controls button { width: 27px; height: 27px; min-height: 27px; font-size: 18px; }
  .scene-zoom-label { width: 32px; font-size: 9px; }
  .scene-compass { top: 7px; right: 10px; font-size: 8px; }
  .scene-compass span { font-size: 22px; }
  .screen-brand img { width: 116px; }
}
@media(prefers-reduced-motion:reduce) { .risk-halo:after { animation: none; } }
