/* The ownership example starts small; the SVG camera makes room as it grows. */
.structure-canvas{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:15px;padding:24px;min-height:650px;background-color:var(--forest)}
.structure-canvas>.demo-badge,.structure-canvas>.canvas-caption{position:static;inset:auto;margin:0}
.structure-canvas>.demo-badge{font-size:.5rem;letter-spacing:.11em;color:var(--mist)}
.structure-canvas>.canvas-caption{padding-top:2px;font-size:.8rem;color:var(--mist)}
.entity-journey{position:relative;z-index:1}
.entity-journey-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.entity-journey-heading{min-width:0}
.entity-stage-label{display:block;color:var(--acid,var(--citron));font-size:.48rem;letter-spacing:.14em;font-weight:700;margin-bottom:8px}
.entity-stage-title{font-size:1.25rem;line-height:1.25;letter-spacing:-.025em;font-weight:600;color:var(--ivory)}
.entity-stage-detail{font-size:.67rem;line-height:1.65;color:var(--mist);margin-top:7px;max-width:38em;min-height:2.3em}
.entity-presets{display:flex;gap:2px;padding:3px;background:var(--forest);border:1px solid var(--forest-line);border-radius:7px;flex-shrink:0}
.entity-presets button{min-height:35px;padding:7px 11px;border:0;border-radius:4px;background:transparent;color:var(--mist);font-size:.63rem}
.entity-presets button[aria-pressed="true"]{background:var(--forest-panel);color:var(--ivory)}
.entity-presets button:hover{color:var(--citron);background:var(--forest-raised)}
.entity-growth{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:18px}
.entity-progress{display:flex;gap:4px;flex:0 0 70px}
.entity-progress span{width:14px;height:4px;border-radius:3px;background:var(--forest-panel)}
.entity-progress span.complete{background:var(--citron)}
.entity-count{font-size:.6rem;color:var(--mist);font-variant-numeric:tabular-nums}
#entity-expand{margin-left:auto;min-height:38px;padding:8px 13px;background:var(--citron);color:var(--ink);font-size:.65rem;font-weight:700;border:1px solid var(--citron);border-radius:5px;white-space:nowrap}
#entity-expand:hover:not(:disabled){background:color-mix(in srgb,var(--citron) 84%,var(--ivory))}
#entity-expand:disabled{background:var(--forest-panel);border-color:var(--forest-line);color:var(--mist);opacity:1;cursor:default}
.structure-canvas #entity-diagram{display:block;width:100%;height:460px;min-height:380px;max-height:none;margin:0;flex:1 0 380px;overflow:hidden;border:1px solid var(--forest-line);border-radius:10px;background-color:var(--forest);background-image:radial-gradient(color-mix(in srgb,var(--sage) 15%,transparent) .8px,transparent .8px);background-size:18px 18px;touch-action:none;cursor:grab;outline-offset:4px}
.structure-canvas.is-panning #entity-diagram,.structure-canvas.is-panning #entity-diagram .entity-node{cursor:grabbing}
#entity-diagram .entity-node rect{stroke-width:1.6}
#entity-diagram .entity-node:focus-visible rect{stroke:var(--citron);stroke-width:3.5;stroke-dasharray:5 3}
#entity-diagram .entity-name{font-size:16px;font-weight:500}
#entity-diagram .entity-type{font-size:9px;letter-spacing:1px}
#entity-diagram .entity-share-pill{fill:var(--forest);stroke:var(--forest-line);stroke-width:.8}
#entity-diagram .entity-ownership{fill:var(--mist);font-size:12px}
.entity-viewbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:9px}
.entity-camera-controls{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.entity-camera-controls button{height:36px;min-width:36px;padding:7px 10px;border:1px solid var(--forest-line);border-radius:5px;background:var(--forest-panel);color:var(--ivory);font-size:.62rem;line-height:1}
.entity-camera-controls button:hover:not(:disabled){background:var(--forest-raised);border-color:var(--citron);color:var(--citron)}
.entity-camera-controls button:disabled{opacity:.4;cursor:default}
.entity-camera-controls #entity-zoom-in,.entity-camera-controls #entity-zoom-out{font-size:1.15rem;padding:3px 9px}
.entity-zoom-readout{min-width:37px;text-align:center;color:var(--mist);font-size:.58rem;font-variant-numeric:tabular-nums}
.entity-camera-help{color:var(--mist);font-size:.54rem;line-height:1.6}
@media(min-width:1500px){.structure-canvas #entity-diagram{height:530px;flex-basis:440px}}
@media(min-width:641px){.structure-canvas[data-entity-stage="2"] #entity-diagram{min-height:470px;flex-basis:470px}.structure-canvas[data-entity-stage="3"] #entity-diagram{min-height:570px;flex-basis:570px}}
@media(max-width:1120px){.structure-canvas{padding:19px;gap:13px}.entity-journey-top{gap:10px}.entity-presets button{padding-inline:8px}.entity-growth{gap:8px}.entity-progress{flex-basis:54px;gap:3px}.entity-progress span{width:11px}.entity-count{font-size:.56rem}#entity-expand{font-size:.59rem;padding-inline:10px;color:var(--ink)}}
@media(max-width:850px) and (min-width:641px){.entity-journey-top{flex-direction:column}.entity-stage-detail{min-height:0}.entity-growth{gap:8px}#entity-expand{width:100%;margin-left:0;color:var(--ink)}.entity-stage-title{font-size:1.1rem}.entity-camera-help{font-size:.5rem}}
@media(max-width:640px){.structure-canvas{padding:18px 14px;min-height:610px;gap:13px}.structure-canvas>.demo-badge{font-size:.43rem}.entity-stage-title{font-size:1.1rem}.entity-stage-detail{font-size:.65rem}.entity-presets button{font-size:.6rem;min-height:37px;padding-inline:9px}.entity-journey-top{gap:9px}.entity-growth{margin-top:12px}.entity-progress{display:none}.entity-count{font-size:.58rem}#entity-expand{font-size:.6rem;min-height:39px;color:var(--ink)}.structure-canvas #entity-diagram{height:400px;min-height:350px;flex-basis:350px}.entity-camera-controls{gap:5px}.entity-camera-controls button{height:40px;min-width:40px;font-size:.6rem}.entity-camera-help{font-size:.55rem}.structure-canvas>.canvas-caption{font-size:.74rem}}
@media(prefers-reduced-motion:reduce){#entity-diagram .entity-node rect{transition:none}}

/* A single camera pulls back while the fictional group grows beneath it. */
.entity-modebar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding-bottom:15px;border-bottom:1px solid var(--forest-line)}
.entity-modebar button{min-height:40px;padding:9px 14px;border:1px solid var(--forest-line);border-radius:5px;background:var(--forest-panel);color:var(--ivory);font-size:.63rem;font-weight:600}
.entity-modebar button:hover{border-color:var(--citron);background:var(--forest-raised)}
.entity-modebar button:disabled{opacity:.45;cursor:default}
.entity-modebar #entity-watch,.entity-modebar #entity-edit{background:var(--citron);border-color:var(--citron);color:var(--ink)}
.entity-modebar #entity-watch:hover,.entity-modebar #entity-edit:hover{background:color-mix(in srgb,var(--citron) 84%,var(--ivory))}
.entity-watch-note{font-size:.57rem;line-height:1.5;color:var(--mist)}
.entity-film-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;width:100%}
.entity-film-actions #entity-edit{margin-left:auto}
.entity-film-actions[hidden],.entity-film-hud[hidden],.entity-watch-note[hidden],#entity-watch[hidden]{display:none!important}
#demo-structure.entity-showcase{grid-template-columns:minmax(0,1fr)}
.entity-showcase>.demo-sidebar{display:none}
.entity-showcase .structure-canvas{grid-column:1/-1;min-height:0;padding:24px 30px;gap:16px}
.entity-showcase .entity-modebar{padding-bottom:13px}
.entity-showcase .entity-presets,.entity-showcase .entity-growth,.entity-showcase .entity-viewbar{display:none}
.entity-showcase .entity-journey-top{display:block}
.entity-showcase .entity-stage-title{font-size:1.7rem;line-height:1.25}
.entity-showcase .entity-stage-detail{max-width:none;min-height:1.8em;font-size:.7rem}
.entity-showcase .structure-canvas #entity-diagram{height:clamp(420px,61vh,650px);min-height:0;flex:0 0 auto;cursor:default;background-image:radial-gradient(color-mix(in srgb,var(--sage) 10%,transparent) .8px,transparent .8px);background-size:22px 22px}
#entity-diagram .entity-film-node rect{fill:var(--forest-panel);stroke:var(--forest-line);stroke-width:1.8}
#entity-diagram .entity-film-node[data-depth="2"] rect{fill:var(--forest-raised);stroke:var(--forest-line)}
#entity-diagram .entity-film-node[data-depth="3"] rect{fill:var(--forest-panel);stroke:var(--sage)}
#entity-diagram .entity-film-node[data-depth="4"] rect{fill:var(--forest-raised);stroke:var(--forest-line)}
#entity-diagram .entity-film-node.film-core rect{fill:var(--forest-raised);stroke:var(--sage);stroke-width:2}
#entity-diagram .entity-film-node.film-root rect{fill:var(--citron);stroke:var(--citron);stroke-width:2}
#entity-diagram .entity-film-name{font-size:16px;font-weight:500;fill:var(--ivory)}
#entity-diagram .entity-film-type{font-size:9px;letter-spacing:1.5px;fill:var(--mist)}
#entity-diagram .film-root .entity-film-name{fill:var(--ink);font-weight:700}
#entity-diagram .film-root .entity-film-type{fill:var(--ink)}
#entity-diagram .entity-film-node:not(.film-root):not(.film-core) .entity-film-label{opacity:var(--film-detail-opacity,1);filter:blur(var(--film-detail-blur,0px))}
#entity-diagram .entity-film-link{fill:none;stroke:var(--forest-line);stroke-width:2.2;stroke-linejoin:round}
#entity-diagram .entity-film-share{font-size:11px;fill:var(--mist);filter:blur(var(--film-detail-blur,0px))}
#entity-diagram .film-root .entity-film-name,#entity-diagram .film-core .entity-film-name{font-size:19px;font-weight:600}
#entity-diagram .film-root .entity-film-type,#entity-diagram .film-core .entity-film-type{font-size:10px;letter-spacing:.8px}
#entity-diagram .entity-film-share-core{font-size:13px;font-weight:600;fill:var(--citron);filter:none;paint-order:stroke;stroke:var(--forest);stroke-width:4px;stroke-linejoin:round}
.entity-film-hud{display:flex;align-items:center;gap:17px;padding:0 2px}
.entity-film-count{color:var(--citron);font-size:.67rem;min-width:92px;font-variant-numeric:tabular-nums;font-weight:600}
.entity-film-timeline{height:3px;flex:1;overflow:hidden;background:var(--forest-panel);border-radius:2px}
.entity-film-timeline span{display:block;width:100%;height:100%;background:var(--citron);transform-origin:left center;transform:scaleX(0)}
.entity-film-time{color:var(--mist);font-size:.58rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.entity-film-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:640px){.entity-modebar{gap:8px;padding-bottom:12px}.entity-modebar button{min-height:42px;padding:9px 12px;font-size:.62rem}.entity-watch-note{font-size:.54rem}.entity-showcase .structure-canvas{padding:18px 14px;gap:14px}.entity-showcase .entity-stage-title{font-size:1.25rem;min-height:2.5em}.entity-showcase .entity-stage-detail{font-size:.66rem;min-height:3.2em}.entity-showcase .structure-canvas #entity-diagram{height:390px;min-height:0}.entity-film-actions{gap:6px}.entity-film-actions #entity-edit{padding-inline:9px}.entity-film-hud{gap:10px}.entity-film-count{font-size:.59rem;min-width:84px}.entity-film-time{font-size:.52rem}}
.entity-editor-note{flex-basis:100%;margin:2px 0 0;color:var(--mist);font-size:12px;line-height:1.5}
