/* IMGENYA BIM 4D · architectural model, restrained frame, clear controls. */
#bimScene.bim4d-console {
  --bim-surface:#102033;
  --bim-soft:#c2cede;
  --bim-line:#31475b;
  --bim-technical:#50c9df;
  --bim-active:#153b49;
  --bim-button:#182c40;
  position:relative;
  width:100%;
  max-width:700px;
  min-width:0;
  min-height:0;
  margin:0;
  overflow:hidden;
  border:1px solid var(--bim-line);
  border-radius:18px;
  background:var(--bim-surface);
  box-shadow:0 24px 56px #00000030;
  color:#f5f8fc;
  transform:none;
  transition:border-color 180ms;
  font-family:var(--font-title);
}
#bimScene.bim4d-console:hover { transform:none; border-color:#566f83; box-shadow:0 24px 56px #00000030; }
#bimScene.bim4d-console::before { display:none; }
#bimScene .bim-console-head {
  position:relative;
  display:flex;
  align-items:center;
  gap:12px;
  min-height:72px;
  padding:12px 16px;
  border-bottom:1px solid var(--bim-line);
  font:700 13px/1.4 var(--font-title);
  letter-spacing:0;
}
#bimScene .bim-console-brand { display:flex; align-items:center; gap:12px; min-width:0; font-size:13px; }
#bimScene .bim-console-brand .eng-icon { width:24px; height:24px; flex:none; color:var(--bim-technical); }
#bimScene .bim-console-brand>span { min-width:0; }
#bimScene .bim-console-brand strong { display:block; color:#f5f8fc; font:700 14px/1.4 var(--font-title); }
#bimScene .bim-console-brand small { display:block; margin-top:3px; color:var(--bim-soft); font:500 12px/1.4 var(--font-title); }
#bimScene .bim-console-status { color:#dfebf4; margin-left:auto; white-space:nowrap; padding:5px 8px; border:1px solid #486176; border-radius:6px; font-size:12px; font-weight:500; }
#bimScene .bim-console-status span { display:inline; }
#bimScene .bim-expand {
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  flex:0 0 44px;
  margin-left:0;
  border:1px solid #486176;
  border-radius:9px;
  background:var(--bim-button);
  color:#e8f1f8;
  cursor:pointer;
}
#bimScene .bim-view-tools {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
  padding:8px 12px;
  background:#0b192b;
  border-bottom:1px solid var(--bim-line);
}
#bimScene .bim-view-tools button {
  min-height:44px;
  min-width:0;
  padding:8px 7px;
  border:1px solid transparent;
  border-radius:7px;
  background:transparent;
  color:var(--bim-soft);
  font:600 12px/1.35 var(--font-title);
  text-align:center;
  cursor:pointer;
  transition:background-color 180ms,border-color 180ms,color 180ms;
}
#bimScene .bim-view-tools button[aria-pressed="true"] { color:#b8edf5; background:var(--bim-active); border-color:#466f80; }
#bimScene .bim-view-tools button:nth-child(3) { border-left-color:#31475b; border-top-left-radius:0; border-bottom-left-radius:0; }
#bimScene .bim-view-tools button:hover { background:#20384e; color:#fff; }
#bimScene #bimViewport {
  position:relative;
  flex:none;
  height:430px;
  min-height:0;
  overflow:hidden;
  isolation:isolate;
  background:#dbe6ed;
}
#bimScene #bimViewport::before,#bimScene #bimViewport::after { display:none; }
#bimScene #bimCanvas { position:absolute; inset:0; z-index:1; display:block; width:100%; height:100%; cursor:grab; touch-action:none; user-select:none; }
#bimScene #bimCanvas.dragging { cursor:grabbing; }
#bimScene #bimCanvas:focus-visible { outline:3px solid #075d75; outline-offset:-4px; box-shadow:none; }
#bimScene .bim-stage-summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:12px 16px 6px;
  border-top:1px solid var(--bim-line);
  background:var(--bim-surface);
}
#bimScene .bim-phase-card {
  position:static;
  flex:1;
  min-width:0;
  max-width:none;
  padding:0;
  border:0;
  border-radius:0;
  background:none;
  box-shadow:none;
  backdrop-filter:none;
  pointer-events:auto;
}
#bimScene .bim-phase-card>span { display:flex; flex-wrap:wrap; gap:4px 10px; align-items:center; justify-content:flex-start; color:var(--bim-soft); font:500 12px/1.4 var(--font-title); letter-spacing:0; text-transform:none; }
#bimScene .bim-phase-card>span b { margin-left:0; color:#b2e5ef; font:600 12px/1.4 var(--font-title); font-variant-numeric:tabular-nums; }
#bimScene .bim-phase-card>strong { display:block; margin-top:4px; color:#f5f8fc; font:700 15px/1.45 var(--font-title); }
#bimScene .tag-progress {
  position:static;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:3px;
  flex:none;
  padding:0;
  border:0;
  border-radius:0;
  background:none;
  box-shadow:none;
  backdrop-filter:none;
  color:var(--bim-soft);
  font:500 12px/1.4 var(--font-title);
}
#bimScene .tag-progress b { color:#e4b56a; font:700 22px/1.25 var(--font-title); font-variant-numeric:tabular-nums; }
#bimScene .bim-selection {
  position:absolute;
  z-index:4;
  left:12px;
  right:auto;
  top:auto;
  bottom:12px;
  width:min(360px,calc(100% - 24px));
  display:grid;
  grid-template-columns:36px minmax(0,1fr) 44px;
  gap:10px;
  padding:12px;
  border:1px solid #62758a;
  border-radius:12px;
  background:#0b1b2deb;
  backdrop-filter:none;
  box-shadow:0 8px 20px #00000024;
}
#bimScene .bim-selection[hidden] { display:none; }
#bimScene .bim-selection-icon { width:36px; height:40px; border:0; border-radius:8px; background:#183844; color:#9ae7f3; }
#bimScene .bim-selection small { font:500 12px/1.4 var(--font-title); text-transform:none; letter-spacing:0; color:#c2cede; }
#bimScene .bim-selection strong { font:700 14px/1.4 var(--font-title); white-space:normal; overflow:visible; }
#bimScene .bim-selection span { font:500 12px/1.5 var(--font-title); color:#c2cede; }
#bimScene .bim-selection span b { color:#eef3f8; font-weight:500; }
#bimScene .bim-selection button { width:44px; height:44px; align-self:center; border-color:#607387; background:#142b40; color:#e9f1f8; }
#bimScene .bim-console-foot {
  display:grid;
  grid-template-columns:auto minmax(90px,1fr) 44px;
  gap:12px;
  align-items:center;
  min-height:78px;
  padding:10px 16px 12px;
  border-top:0;
  background:var(--bim-surface);
}
#bimScene .bim-build-controls { display:flex; gap:8px; }
#bimScene .bim-tool {
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  min-height:44px;
  flex:0 0 44px;
  padding:0;
  border:1px solid #486176;
  border-radius:9px;
  background:var(--bim-button);
  color:#dce7f0;
  cursor:pointer;
  transform:none;
  transition:background-color 180ms,border-color 180ms,color 180ms;
}
#bimScene #bimPause { display:flex; align-items:center; justify-content:center; gap:8px; width:104px; min-width:0; flex:0 0 104px; padding:0 8px; background:#e4b56a; border-color:#e4b56a; color:#14263b; }
#bimScene .bim-play-label { font:700 12px/1.35 var(--font-title); }
#bimScene .bim-tool:hover:not(:disabled),#bimScene .bim-expand:hover { transform:none; color:#fff; background:#264c61; border-color:#78adc0; }
#bimScene #bimPause:hover { background:#efc580; border-color:#efc580; color:#102338; }
#bimScene .bim-tool:disabled { opacity:.4; cursor:not-allowed; }
#bimScene :is(button,input):focus-visible { outline:3px solid #50c9df; outline-offset:3px; }
#bimScene .bim-timeline { min-width:0; }
#bimScene .bim-timeline>div { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:4px 8px; margin:0; color:var(--bim-soft); font:500 12px/1.4 var(--font-title); text-transform:none; letter-spacing:0; }
#bimScene .bim-timeline>div b { color:#edf5fa; font:600 12px/1.4 var(--font-title); white-space:nowrap; font-variant-numeric:tabular-nums; }
#bimScene .bim-timeline input { display:block; width:100%; height:44px; min-height:44px; margin:0; appearance:none; background:transparent; cursor:pointer; }
#bimScene .bim-timeline input::-webkit-slider-runnable-track { height:5px; border-radius:4px; background:linear-gradient(90deg,#50c9df 0 var(--bim-progress),#40566e var(--bim-progress) 100%); }
#bimScene .bim-timeline input::-webkit-slider-thumb { width:18px; height:18px; margin-top:-6.5px; border:3px solid #0d1c30; background:#98e3ee; box-shadow:0 0 0 2px #7cc4d1; }
#bimScene .bim-timeline input::-moz-range-track { height:5px; border-radius:9px; background:#40566e; }
#bimScene .bim-timeline input::-moz-range-progress { height:5px; border-radius:9px; background:#50c9df; }
#bimScene .bim-timeline input::-moz-range-thumb { width:13px; height:13px; border:3px solid #0d1c30; border-radius:50%; background:#98e3ee; box-shadow:0 0 0 2px #7cc4d1; }
#bimScene .bim-hint {
  position:static;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:auto;
  max-width:none;
  padding:10px 16px 4px;
  margin:0;
  border:0;
  border-top:1px solid var(--bim-line);
  border-radius:0;
  translate:none;
  transform:none;
  background:var(--bim-surface);
  color:#c2cede;
  font:500 12px/1.5 var(--font-title);
  text-align:center;
  white-space:normal;
  backdrop-filter:none;
}
#bimScene .bim-hint .eng-icon { width:18px; height:18px; color:#7bdae8; flex:none; }
#bimScene .bim-hint>span { min-width:0; white-space:normal; }
#bimScene .bim-disclaimer { display:block; padding:0 16px 10px; margin:0; color:#acbccd; font:500 12px/1.5 var(--font-title); text-align:center; }
#bimScene.bim4d-console.bim-expanded { position:fixed; inset:20px; z-index:1800; width:auto; max-width:none; height:auto; margin:0; display:flex; flex-direction:column; border-radius:16px; background:#0d1c30; box-shadow:0 0 0 100vmax #020914d9; }
#bimScene.bim4d-console.bim-expanded #bimViewport { flex:1; height:auto; min-height:0; }
#bimScene.bim-expanded .bim-console-head,#bimScene.bim-expanded .bim-view-tools,#bimScene.bim-expanded .bim-stage-summary,#bimScene.bim-expanded .bim-console-foot,#bimScene.bim-expanded .bim-hint,#bimScene.bim-expanded .bim-disclaimer { flex:none; }
#bimScene.bim-expanded .bim-expand { border-color:#a4e0ec; background:#174356; color:#c8f2f9; }
@media (min-width:901px) and (max-width:1199px) {
  #bimScene .bim-console-foot { grid-template-columns:44px minmax(90px,1fr) 44px 44px; gap:8px; padding:12px; }
  #bimScene .bim-build-controls { display:contents; }
  #bimScene #bimPause { width:100%; }
  #bimScene .bim-timeline { grid-column:1/-1; grid-row:2; }
  #bimScene #bimReset { grid-column:4; grid-row:1; }
}
@media (max-width:900px) {
  #bimScene.bim4d-console { max-width:700px; }
  #bimScene #bimViewport { height:440px; }
}
@media (max-width:600px) {
  #bimScene.bim4d-console { border-radius:14px; }
  #bimScene .bim-console-head { min-height:64px; padding:10px 12px; gap:8px; }
  #bimScene .bim-console-brand { gap:9px; }
  #bimScene .bim-console-brand strong { font-size:13px; }
  #bimScene .bim-console-brand small { font-size:12px; }
  #bimScene .bim-console-brand .eng-icon { width:20px; height:20px; }
  #bimScene .bim-console-status { display:block; }
  #bimScene .bim-expand { margin-left:auto; }
  #bimScene .bim-view-tools { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px 8px; padding:8px 10px; }
  #bimScene .bim-view-tools button { font-size:13px; }
  #bimScene .bim-view-tools button:nth-child(3) { border-left-color:transparent; border-radius:7px; }
  #bimScene #bimViewport { height:370px; }
  #bimScene .bim-stage-summary { padding:12px 12px 6px; gap:12px; }
  #bimScene .bim-console-foot { grid-template-columns:44px minmax(90px,1fr) 44px 44px; gap:8px; padding:12px; }
  #bimScene .bim-build-controls { display:contents; }
  #bimScene #bimPause { width:100%; }
  #bimScene .bim-timeline { grid-column:1/-1; grid-row:2; }
  #bimScene #bimReset { grid-column:4; grid-row:1; }
  #bimScene .bim-selection { left:10px; bottom:10px; width:calc(100% - 20px); grid-template-columns:minmax(0,1fr) 44px; padding:10px; gap:8px; }
  #bimScene .bim-selection-icon { display:none; }
  #bimScene .bim-hint { padding-inline:10px; }
  #bimScene.bim4d-console.bim-expanded { inset:8px; border-radius:12px; }
}
@media (max-width:479px) {
  #bimScene .bim-console-brand small { display:none; }
  #bimScene .bim-console-brand strong { white-space:nowrap; }
}
@media (max-width:359px) {
  #bimScene #bimViewport { height:310px; }
  #bimScene .bim-console-foot { padding:10px; }
  #bimScene .bim-phase-card>strong { font-size:14px; }
  #bimScene .bim-console-brand small { max-width:174px; }
  #bimScene .bim-hint { align-items:flex-start; }
}
@media (max-width:600px) and (max-height:700px) {
  #bimScene.bim-expanded .bim-hint,#bimScene.bim-expanded .bim-disclaimer { display:none; }
  #bimScene.bim-expanded .bim-console-head { min-height:54px; padding-block:5px; }
  #bimScene.bim-expanded .bim-console-brand small { display:none; }
  #bimScene.bim-expanded .bim-view-tools { padding-block:8px; }
  #bimScene.bim-expanded .bim-stage-summary { padding-block:8px; }
  #bimScene.bim-expanded .bim-phase-card>span,#bimScene.bim-expanded .tag-progress>span,#bimScene.bim-expanded .bim-timeline>div { display:none; }
  #bimScene.bim-expanded .bim-phase-card>strong { margin:0; }
  #bimScene.bim-expanded .tag-progress b { font-size:18px; }
}
@media (max-height:600px) and (orientation:landscape) {
  #bimScene.bim-expanded .bim-stage-summary,#bimScene.bim-expanded .bim-hint,#bimScene.bim-expanded .bim-disclaimer { display:none; }
  #bimScene.bim-expanded .bim-console-head { min-height:54px; padding-block:5px; }
  #bimScene.bim-expanded .bim-view-tools { grid-template-columns:repeat(4,minmax(0,1fr)); padding-block:5px; }
  #bimScene.bim-expanded .bim-console-foot { display:grid; grid-template-columns:auto minmax(90px,1fr) 44px; min-height:72px; padding-block:8px; }
  #bimScene.bim-expanded .bim-build-controls { display:flex; }
  #bimScene.bim-expanded #bimPause { width:104px; }
  #bimScene.bim-expanded .bim-timeline { grid-column:auto; grid-row:auto; }
  #bimScene.bim-expanded #bimReset { grid-column:auto; grid-row:auto; }
}
@media (prefers-reduced-motion:reduce) {
  #bimScene,#bimScene * { animation:none!important; transition:none!important; }
}
