html:has(.hero-embed),body.hero-embed{width:100%;height:100%;overflow:hidden;background:#f0f4fb}
.hero-embed .wordmark,.hero-embed .viewer-heading,.hero-embed .app-footer,.hero-embed .viewer-note,.hero-embed .view-mode{display:none}
.hero-embed .app-header{position:absolute;inset:12px 12px auto;z-index:10;height:38px;min-height:0;padding:0;border:0;background:transparent;gap:8px;flex-wrap:nowrap;pointer-events:none}
.hero-embed .tabs{width:auto;order:0;gap:1px;flex-shrink:0;padding:3px;background:#ffffffed;box-shadow:0 2px 14px #31495d0b;border:1px solid #dae4ef;pointer-events:auto}
.hero-embed .tabs button{flex:0 0 auto;min-height:32px;padding:0 10px;font-size:12px;gap:5px;color:#647589}
.hero-embed .tabs button[aria-selected=true]{background:#e9f0fb;color:#245bd0;box-shadow:none}
.hero-embed .tab-symbol{font-size:14px}
.hero-controls-button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:38px;min-width:75px;padding:0 11px;margin-left:auto;border:1px solid #dae4ef;border-radius:8px;background:#ffffffed;color:#52677e;font-size:12px;pointer-events:auto}
.hero-controls-button[aria-expanded=true]{border-color:#3e71f5;background:#edf3ff;color:#245bd0}
.hero-controls-button span{font-size:17px;line-height:1}
.hero-embed .tutorial-launch{flex-shrink:0;width:32px;height:36px;margin-left:0;justify-content:center;pointer-events:auto}
.hero-embed .tutorial-launch>span:last-child{display:none}
.hero-embed .workspace{position:absolute;inset:0;display:block;width:100%;height:100%;min-height:0;max-height:none}
.hero-embed .viewer{position:absolute;inset:0;width:100%;height:100%;min-height:0;z-index:0;overflow:hidden}
.hero-embed #canvas-host{inset:0}
.hero-embed #scene-canvas{touch-action:pan-y!important}
.hero-embed .orbit-tools{left:14px;bottom:16px;gap:1px;padding:3px;border-radius:8px;background:#ffffffeb}
.hero-embed .orbit-tools .icon-button{width:34px;height:34px;font-size:20px}
.hero-embed .orbit-tools>span{margin:0 3px}
.hero-embed .zoom-dock{left:auto;right:16px;bottom:20px;transform:none;width:170px;column-gap:9px;grid-template-columns:1fr 33px}
.hero-embed .zoom-dock label{font-size:12px;gap:6px;margin-bottom:4px;color:#667d98}
.hero-embed .zoom-value{font-size:12px;color:#526c89}
.hero-embed .zoom-dock input{height:22px}
.hero-embed .scene-label{font-size:12px;padding:6px 8px;background:#fffffff2;box-shadow:0 3px 12px #244b7420}
.hero-embed .inspector{position:absolute;top:60px;right:12px;bottom:68px;z-index:12;width:min(268px,calc(100% - 24px));height:auto;max-height:calc(100% - 128px);padding:16px;border:1px solid #d6e0ed;border-radius:12px;background:#fffffff5;box-shadow:0 12px 40px #294c7133;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;backdrop-filter:blur(14px)}
.hero-embed .inspector-top{margin-bottom:12px;gap:8px;align-items:flex-start}
.hero-embed .inspector h2{margin:6px 0 0;font-size:16px;line-height:1.2}
.hero-embed .inspector .eyebrow{font-size:12px;letter-spacing:.08em}
.hero-embed .mobile-panel-toggle{display:grid;flex-shrink:0;width:30px;height:30px;font-size:20px;background:#f0f4f9}
.hero-embed .layer-list{display:flex;gap:3px}
.hero-embed .layer-row{grid-template-columns:1fr 34px;min-height:38px}
.hero-embed .layer-select{font-size:12px;gap:8px;padding:8px 5px;min-height:38px}
.hero-embed .layer-swatch{width:12px;height:12px}
.hero-embed .visibility-toggle{width:34px;height:38px}
.hero-embed .control-block{padding-top:14px;margin-top:16px}
.hero-embed .control-label{font-size:12px;margin-bottom:7px}
.hero-embed .control-label output,.hero-embed .range-ends{font-size:12px}
.hero-embed .switch-row{font-size:12px;margin-top:14px}
.hero-embed .selection-detail{margin-top:17px;padding-top:15px;padding-bottom:8px}
.hero-embed .selection-detail h3{font-size:14px;margin-top:8px}
.hero-embed .selection-detail p,.hero-embed .panel-intro,.hero-embed .small-note,.hero-embed .connection-status{font-size:12px;line-height:1.6}
.hero-embed .selection-meta{font-size:12px;gap:7px}
.hero-embed .cell-list{grid-template-columns:repeat(2,1fr)}
.hero-embed .cell-button{font-size:12px;min-height:38px;padding:9px 8px}
.hero-embed .primary-button,.hero-embed .secondary-button{font-size:12px;min-height:36px;padding:9px 12px}
.hero-embed .inspector-bottom{display:block;padding-top:11px;margin-top:10px}
.hero-embed .sources-button{width:100%;font-size:12px}
.hero-embed .sources-button>span:last-child{margin-left:auto}
.hero-embed .provenance-line{max-width:none;font-size:12px;margin-top:7px;line-height:1.5}
.hero-embed .data-badge{font-size:12px}
.hero-embed .gate-actions{margin-top:15px;padding-left:10px}
.hero-embed .gate-actions p{font-size:12px}
.hero-embed .demo-action{font-size:12px}
.hero-embed dialog{max-width:calc(100% - 24px);max-height:calc(100% - 24px);padding:22px;border-radius:12px}
.hero-embed .tutorial-dialog{width:340px}
.hero-embed .tutorial-visual{height:100px;margin:18px 0 10px}
.hero-embed .tutorial-dialog h2{font-size:21px}
.hero-embed .tutorial-dialog p{font-size:12px}
.hero-embed .tutorial-progress{margin:18px 0}
.hero-embed .sources-dialog{width:470px}
.hero-embed .sources-dialog>p,.hero-embed .source-item p,.hero-embed .sources-boundary p{font-size:12px;line-height:1.6}
.hero-embed .source-file{font-size:12px}
.hero-embed .render-error{inset:25% 12%;padding:15px;font-size:12px}
@media(max-width:450px){
  .hero-embed .app-header{inset:10px 10px auto;height:48px;gap:6px}
  .hero-embed .tabs{padding:3px}
  .hero-embed .tabs button{padding:0 7px;min-width:44px;min-height:44px;font-size:12px}
  .hero-embed .tab-symbol{display:none}
  .hero-controls-button{min-width:65px;min-height:44px;padding:0 8px;font-size:12px;gap:5px}
  .hero-embed .tutorial-launch{display:none}
  .hero-embed .orbit-tools{left:12px;bottom:12px}
  .hero-embed .orbit-tools .icon-button{width:44px;height:44px}
  .hero-embed .zoom-dock{left:16px;right:16px;bottom:76px;width:auto;grid-template-columns:1fr 33px}
  .hero-embed .zoom-dock input{height:26px}
  .hero-embed .inspector{top:68px;right:10px;bottom:120px;width:calc(100% - 20px);max-height:calc(100% - 188px);padding:14px}
  .hero-embed .scene-label{font-size:12px;padding:7px 9px;min-height:44px}
  .hero-embed .layer-row{grid-template-columns:1fr 44px;min-height:44px}
  .hero-embed .visibility-toggle{width:44px;height:44px}
  .hero-embed .layer-select,.hero-embed .cell-button,.hero-embed .primary-button,.hero-embed .secondary-button,.hero-embed .sources-button,.hero-embed .text-button,.hero-embed .dialog-close{min-height:44px}
  .hero-embed .mobile-panel-toggle{width:44px;height:44px}
}
@media(pointer:coarse){
  .hero-embed .tabs button{min-width:44px;min-height:44px}
  .hero-embed .hero-controls-button{min-height:44px}
  .hero-embed .orbit-tools .icon-button{width:44px;height:44px}
  .hero-embed .layer-row{grid-template-columns:1fr 44px;min-height:44px}
  .hero-embed .visibility-toggle,.hero-embed .layer-select{height:44px;min-height:44px}
  .hero-embed .visibility-toggle{width:44px}
  .hero-embed .mobile-panel-toggle{width:44px;height:44px}
  .hero-embed .cell-button,.hero-embed .primary-button,.hero-embed .secondary-button,.hero-embed .sources-button,.hero-embed .text-button,.hero-embed .dialog-close,.hero-embed .scene-label{min-height:44px}
}

html[data-theme=dark]{--bg:#101319;--surface:#171d27;--ink:#eef3fc;--muted:#a1adc2;--line:#303b4d;--accent:#8bb5ff;color-scheme:dark}
html[data-theme=dark]:has(.hero-embed),html[data-theme=dark] body.hero-embed,html[data-theme=dark] .hero-embed .viewer{background:#101319;color:#eef3fc}
html[data-theme=dark] .hero-embed .tabs,html[data-theme=dark] .hero-controls-button,html[data-theme=dark] .hero-embed .orbit-tools{background:#192232ed;border-color:#364258;box-shadow:0 3px 16px #00000030}
html[data-theme=dark] .hero-embed .tabs button{color:#bac8dd}
html[data-theme=dark] .hero-embed .tabs button[aria-selected=true]{background:#263f63;color:#c1daff}
html[data-theme=dark] .hero-controls-button{color:#cad8ee}
html[data-theme=dark] .hero-controls-button[aria-expanded=true]{border-color:#81a9ed;background:#253d61;color:#c3dcff}
html[data-theme=dark] .hero-embed .icon-button,html[data-theme=dark] .hero-embed .tutorial-launch{color:#c7d6ec}
html[data-theme=dark] .hero-embed .icon-button:hover{background:#2b3b53;color:#fff}
html[data-theme=dark] .hero-embed .orbit-tools>span{background:#42516a}
html[data-theme=dark] .hero-embed .tutorial-launch>span:first-child{border-color:#778da9}
html[data-theme=dark] .hero-embed .zoom-dock label,html[data-theme=dark] .hero-embed .zoom-value,html[data-theme=dark] .hero-embed .range-ends,html[data-theme=dark] .hero-embed .control-label output{color:#b0c2dc}
html[data-theme=dark] .hero-embed .zoom-arrow{color:#8097b6}
html[data-theme=dark] .hero-embed input[type=range]::-webkit-slider-runnable-track{background:#40526e}
html[data-theme=dark] .hero-embed input[type=range]::-webkit-slider-thumb{background:#9fc1ff;border-color:#d8e8ff;box-shadow:0 2px 10px #0006}
html[data-theme=dark] .hero-embed input[type=range]::-moz-range-track{background:#40526e}
html[data-theme=dark] .hero-embed input[type=range]::-moz-range-thumb{background:#9fc1ff;border-color:#d8e8ff}
html[data-theme=dark] .hero-embed .scene-label{background:#19263bef;color:#d7e6ff;border-color:#435772;box-shadow:0 3px 12px #0005}
html[data-theme=dark] .hero-embed .scene-label:hover{background:#263954}
html[data-theme=dark] .hero-embed .scene-label[aria-pressed=true]{color:#fff;border-color:var(--layer-color)}
html[data-theme=dark] .hero-embed .inspector{background:#171e2bf5;color:#eef3fc;border-color:#39465c;box-shadow:0 14px 44px #0008;scrollbar-color:#56677f transparent}
html[data-theme=dark] .hero-embed .mobile-panel-toggle{background:#2b374b}
html[data-theme=dark] .hero-embed .layer-row:hover{background:#232e41}
html[data-theme=dark] .hero-embed .layer-row.selected{background:#2b3d58}
html[data-theme=dark] .hero-embed .layer-row input[type=checkbox]{border-color:#7487a2;background:#202b3c}
html[data-theme=dark] .hero-embed .layer-row input:checked{border-color:#91b4e9;background:#2e4667}
html[data-theme=dark] .hero-embed .layer-row input:checked::after{color:#d5e7ff}
html[data-theme=dark] .hero-embed .switch{background:#495973}
html[data-theme=dark] .hero-embed .switch::after{background:#e3edff}
html[data-theme=dark] .hero-embed .switch-row input:checked+.switch{background:#477bd0}
html[data-theme=dark] .hero-embed .cell-button{background:#263247;color:#d2e2f8}
html[data-theme=dark] .hero-embed .cell-button[aria-pressed=true]{background:#2a4265;border-color:#86b0ef;color:#eef6ff}
html[data-theme=dark] .hero-embed .cell-glyph{color:#9dbbeb}
html[data-theme=dark] .hero-embed .primary-button{background:#2f66c3;color:#f6f9ff}
html[data-theme=dark] .hero-embed .primary-button:hover{background:#3472d2}
html[data-theme=dark] .hero-embed .secondary-button{background:#29374d;color:#d4e2f8}
html[data-theme=dark] .hero-embed .secondary-button:hover{background:#354762}
html[data-theme=dark] .hero-embed .eyebrow,html[data-theme=dark] .hero-embed .selection-detail p,html[data-theme=dark] .hero-embed .panel-intro,html[data-theme=dark] .hero-embed .small-note,html[data-theme=dark] .hero-embed .connection-status,html[data-theme=dark] .hero-embed .selection-meta,html[data-theme=dark] .hero-embed .provenance-line,html[data-theme=dark] .hero-embed .data-badge{color:#b0bed3}
html[data-theme=dark] .hero-embed .selection-meta strong{color:#e0ecff}
html[data-theme=dark] .hero-embed .text-button{color:#b6d2ff;text-decoration-color:#6483b2}
html[data-theme=dark] .hero-embed .status-mark,html[data-theme=dark] .hero-embed .sources-icon{color:#a3c2f4}
html[data-theme=dark] .hero-embed .sources-button>span:last-child{color:#b8cee9}
html[data-theme=dark] .hero-embed .gate-actions{border-color:#d7b45c}
html[data-theme=dark] .hero-embed .gate-actions .eyebrow{color:#f2d38e}
html[data-theme=dark] .hero-embed .gate-actions p,html[data-theme=dark] .hero-embed .demo-action dt{color:#b2c2d9}
html[data-theme=dark] .hero-embed .demo-action dd{color:#e4efff}
html[data-theme=dark] .hero-embed dialog,html[data-theme=dark] .hero-embed .render-error{background:#192232;color:#ecf3ff;border-color:#3b4b63;box-shadow:0 16px 70px #0009}
html[data-theme=dark] .hero-embed dialog::backdrop{background:#03060cbf;backdrop-filter:blur(6px)}
html[data-theme=dark] .hero-embed .tutorial-dialog p,html[data-theme=dark] .hero-embed .sources-dialog>p,html[data-theme=dark] .hero-embed .source-key,html[data-theme=dark] .hero-embed .source-item p,html[data-theme=dark] .hero-embed .sources-boundary p{color:#b5c5dd}
html[data-theme=dark] .hero-embed .source-file{color:#a9c8f5}
html[data-theme=dark] .hero-embed .source-dot{background:#72d6c6}
html[data-theme=dark] .hero-embed .illustration-dot{background:#879bb9}
html[data-theme=dark] .hero-embed .tutorial-cube>span{background:#4b75b35c;border-color:#85ace7}
html[data-theme=dark] .hero-embed .tutorial-arrow{color:#aac9f7}
html[data-theme=dark] .hero-embed .tutorial-progress span{background:#3e506c}
html[data-theme=dark] .hero-embed .tutorial-progress .current{background:#9bbdf2}
