*{box-sizing:border-box}html,body{margin:0;min-height:100%;color:#15364d;background:#eef2f5;font-family:'Segoe UI',Arial,sans-serif;font-size:16px}button,a,input,summary{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}button,input{font:inherit}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #1682c5;outline-offset:3px}button:disabled{cursor:wait;opacity:.5}[hidden]{display:none!important}.masthead{height:84px;display:flex;align-items:center;padding:0 32px;gap:32px;background:#fff;border-bottom:1px solid #dbe2e7}.identity{display:flex;flex-direction:column;width:164px;flex-shrink:0}.wordmark{font-size:31px;letter-spacing:.16em;font-weight:400;color:#146098;line-height:1.05}.brand-caption{font-size:9px;letter-spacing:.12em;color:#146098;margin-top:5px}.title{border-left:1px solid #dce3e9;padding-left:28px}.title h1{font-size:19px;margin:0 0 4px;font-weight:600}.title span{font-size:13px;color:#647989}.pdf-link{margin-left:auto;padding:12px 16px;border:1px solid #cedce5;border-radius:8px;font-size:14px;font-weight:600}.pdf-link span{margin-left:16px;font-size:20px}.pdf-link:hover{background:#edf5f9}.workspace{display:grid;grid-template-columns:304px minmax(0,1fr);height:calc(100dvh - 112px);min-height:650px}.explorer{background:white;padding:27px 22px 16px;border-right:1px solid #dce4ea;overflow-y:auto;scrollbar-width:thin}.section-caption{font-size:12px;font-weight:650;letter-spacing:.12em;color:#657c8e}.config-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:14px 0 21px;padding:4px;border-radius:10px;background:#edf2f5}.config-tabs button{border:0;background:transparent;padding:11px;border-radius:7px;font-size:18px}.config-tabs button[aria-pressed=true]{background:#12567f;color:white;box-shadow:0 2px 5px #123c5820}.explorer h2{margin:0;font-size:22px;font-weight:600;letter-spacing:-.02em}.config-description{font-size:14px;color:#6b7f8d;margin:5px 0 16px;line-height:1.4;min-height:20px}.preview-card{width:100%;border:1px solid #dce5ec;border-radius:9px;padding:0;overflow:hidden;background:#f1f5f8;text-align:left}.preview-card img{display:block;width:100%;aspect-ratio:16/11;object-fit:contain}.preview-card>span{display:flex;justify-content:space-between;background:white;padding:10px 12px;font-size:12px;font-weight:600}.preview-card:hover{border-color:#4484a7}.area-heading{margin:25px 0 12px}.area-views{display:grid;grid-template-columns:1fr 1fr;gap:7px}.area-views button{min-height:48px;text-align:left;background:#fff;border:1px solid #dbe4eb;border-radius:7px;padding:10px 9px;font-size:14px;font-weight:500;line-height:1.3}.area-views button:hover{background:#f0f6fa}.area-views button[aria-pressed=true]{border-color:#0e679c;background:#eaf3fa;color:#075783;box-shadow:inset 3px 0 #0b659d}.downloads{border-top:1px solid #e1e7eb;margin-top:24px;padding-top:15px;font-size:14px}.downloads summary{cursor:pointer;padding:4px 0;font-weight:600}.downloads a{display:block;padding:9px 0;color:#346780}.downloads details{margin-top:8px}.stage{position:relative;min-width:0;overflow:hidden;background:radial-gradient(ellipse at 50% 35%,#fbfcfd 0%,#eaf0f4 70%,#dfe7ec 100%)}#viewport{position:absolute;inset:0}canvas{display:block;width:100%;height:100%;touch-action:none}#still-view{position:absolute;inset:0;background:#eef2f6;display:flex;align-items:center;justify-content:center;padding:90px 30px 100px}#still-image{width:100%;height:100%;object-fit:contain}.stage-top{position:absolute;left:28px;right:28px;top:24px;display:flex;align-items:flex-start;justify-content:space-between;pointer-events:none;gap:10px}.view-badge{background:#ffffffdd;backdrop-filter:blur(12px);border:1px solid #ffffffa0;box-shadow:0 3px 18px #26455b08;border-radius:9px;padding:12px 16px;display:flex;flex-direction:column;gap:5px}.view-badge span{font-size:12px;color:#6b8090;letter-spacing:.08em;font-weight:650}.view-badge strong{font-size:16px;font-weight:600}.settings-toggle{pointer-events:auto;border:1px solid #cedce4;background:#fffffff0;padding:11px 15px;border-radius:8px;font-size:14px;box-shadow:0 3px 18px #26455b08}.settings-toggle span{margin-right:8px}.settings-panel{position:absolute;z-index:5;right:28px;top:86px;width:294px;max-height:calc(100% - 178px);overflow-y:auto;background:#fffffff5;backdrop-filter:blur(18px);border:1px solid #d9e3e9;box-shadow:0 14px 50px #173f5924;padding:20px;border-radius:12px}.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.panel-heading h2{font-size:18px;margin:0}.panel-heading button,.dialog-heading button{background:none;border:0;font-size:24px;padding:5px 8px}.settings-panel fieldset{padding:0;border:0;margin:0 0 14px}.settings-panel legend{font-size:12px;color:#6b8090;margin-bottom:9px}.segmented{display:flex;padding:3px;background:#eaf0f4;border-radius:8px;gap:2px}.segmented button{border:0;border-radius:6px;background:transparent;padding:9px 13px;font-size:14px;font-weight:550;flex:1;white-space:nowrap}.segmented button[aria-pressed=true]{background:white;box-shadow:0 1px 5px #173f5918;color:#075e94}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;font-size:14px;border-bottom:1px solid #e6edf1;cursor:pointer}.switch-row small{display:block;font-size:12px;color:#778b99;margin-top:4px}.switch-row input{appearance:none;width:34px;height:20px;border-radius:20px;background:#cad6df;margin:0;flex-shrink:0;position:relative;cursor:pointer;transition:background .2s}.switch-row input:after{content:'';width:14px;height:14px;position:absolute;left:3px;top:3px;border-radius:50%;background:white;transition:transform .2s}.switch-row input:checked{background:#15719e}.switch-row input:checked:after{transform:translateX(14px)}.scene-options{padding-top:18px;font-size:14px}.scene-options summary{cursor:pointer}.door-control{display:block;font-size:14px;margin-top:16px}.door-control output{float:right;color:#778b99}.door-control input{display:block;width:100%;margin:10px 0;accent-color:#15719e}.stage-bottom{position:absolute;bottom:48px;left:28px;right:28px;display:flex;align-items:center;gap:15px;pointer-events:none}.stage-bottom button,.display-mode{pointer-events:auto}.display-mode{background:#dae5ecb0;backdrop-filter:blur(10px);border:1px solid #d8e1e9}.display-mode button{padding:11px 17px}#view-status{font-size:12px;color:#5e788b;background:#f5f9fcc9;border-radius:30px;padding:7px 12px}.plain-button{margin-left:auto;background:#ffffffee;border:1px solid #cad9e2;border-radius:8px;padding:11px 17px;font-size:14px}.orbit-hint{position:absolute;bottom:10px;left:28px;right:28px;font-size:12px;color:#748996;text-align:center;pointer-events:none}.loading{position:absolute;inset:0;display:grid;place-items:center;background:#edf3f8b8;backdrop-filter:blur(7px);z-index:8}.loading-card{width:min(320px,85%);padding:28px;background:#ffffffed;border-radius:14px;box-shadow:0 16px 70px #1747661a;display:flex;flex-direction:column;gap:16px}.loading-card strong{font-size:22px;font-weight:550}.loading-card>span:last-child{font-size:13px;color:#658093}.progress-track{height:3px;background:#dae5ec;border-radius:3px;overflow:hidden}#progress{height:100%;background:#74ad30;width:8%;transition:width .3s}footer{height:28px;display:flex;justify-content:space-between;align-items:center;padding:0 26px;background:#fff;border-top:1px solid #dfe7ed;color:#778b98;font-size:12px}dialog{border:0;border-radius:12px;padding:0;max-width:94vw;width:1100px;background:#f4f7fa;color:#15364d;box-shadow:0 15px 80px #102b4466}dialog::backdrop{background:#102838ba;backdrop-filter:blur(5px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:14px 22px;background:white}.dialog-heading h2{font-size:17px;margin:0}.dialog-heading>div{display:flex;gap:20px;align-items:center;font-size:14px}#full-render{display:block;width:100%;max-height:80dvh;object-fit:contain}@media(max-width:1050px){.workspace{grid-template-columns:260px minmax(0,1fr)}.explorer{padding:22px 17px}.stage-top,.stage-bottom{left:18px;right:18px}.settings-panel{right:18px}.masthead{padding:0 22px;gap:22px}#view-status{display:none}}@media(max-width:720px){.masthead{height:70px;padding:0 16px;gap:16px}.identity{width:115px}.wordmark{font-size:24px}.brand-caption{font-size:7px}.title{padding-left:15px}.title h1{font-size:15px}.title span{font-size:12px}.pdf-link{font-size:0;padding:7px 11px}.pdf-link:before{content:'PDF';font-size:14px}.pdf-link span{display:none}.workspace{display:flex;flex-direction:column-reverse;height:auto;min-height:0}.stage{height:64dvh;min-height:430px}.explorer{border:0;padding:20px;overflow:visible}.config-tabs{margin:10px 0 15px}.preview-card{display:none}.explorer h2{font-size:19px}.config-description{margin-bottom:0}.area-heading{margin:20px 0 10px}.area-views{grid-template-columns:repeat(2,1fr)}.stage-top{top:16px;left:14px;right:14px}.view-badge{padding:10px 12px}.view-badge strong{font-size:14px}.settings-toggle{padding:10px;font-size:13px}.settings-toggle span{margin:0 4px 0 0}.settings-panel{top:82px;right:14px;width:280px;max-height:calc(100% - 140px)}.stage-bottom{bottom:40px;left:14px;right:14px;gap:8px}.display-mode button{font-size:13px;padding:10px}.plain-button{font-size:13px;padding:11px}.orbit-hint{bottom:6px}.downloads{margin-top:18px}footer{font-size:10px;padding:0 16px}.dialog-heading{padding:10px}.dialog-heading h2{font-size:14px}.dialog-heading>div{gap:8px;font-size:12px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

body{--config-accent:#12649b;--config-pale:#e8f3fb}body[data-configuration="2"]{--config-accent:#647c1d;--config-pale:#f0f5dc}body[data-configuration="3"]{--config-accent:#8050a5;--config-pale:#f3eafb}
.config-tabs button[data-config="1"]{--tab-color:#12649b;--tab-pale:#e8f3fb}.config-tabs button[data-config="2"]{--tab-color:#647c1d;--tab-pale:#f0f5dc}.config-tabs button[data-config="3"]{--tab-color:#8050a5;--tab-pale:#f3eafb}
.config-tabs button{background:var(--tab-pale);color:var(--tab-color);box-shadow:inset 0 -3px var(--tab-color)}.config-tabs button[aria-pressed=true]{background:var(--tab-color);color:white;box-shadow:0 2px 5px #123c5820}
.view-badge{border-left:4px solid var(--config-accent)}.view-badge span,.explorer h2{color:var(--config-accent)}.area-views button[aria-pressed=true]{border-color:var(--config-accent);color:var(--config-accent);background:var(--config-pale);box-shadow:inset 3px 0 var(--config-accent)}
.exposure-control{padding:8px 0 16px;border-bottom:1px solid #e6edf1}.exposure-control small{font-size:12px;color:#778b99}

.config-tabs{grid-template-columns:1fr 1fr}.config-tabs .upcoming-config{cursor:default;color:#657989;background:#edf1f5;border:1px dashed #c5d0db;opacity:.8}.upcoming-config small{display:block;font-size:10px;font-weight:400;margin-top:2px}

.stand-options{border:0;margin:0 0 18px;padding:0;min-width:0}.stand-options legend{font-size:12px;color:#50677b;margin-bottom:8px;font-weight:600}.stand-options .segmented{display:flex;width:100%;box-sizing:border-box}.stand-options button{flex:1;font-size:12px;padding:10px 5px;min-width:0}.stand-options small{font-size:9px;display:block;line-height:1.4;opacity:.75}.stand-options [aria-pressed="true"]{outline:1px solid #c4d9e8}
.stage-actions{display:flex;gap:8px;pointer-events:auto}.stage-actions button[aria-expanded=true]{background:var(--config-accent);color:#fff;border-color:var(--config-accent)}.stage-actions button:disabled{opacity:.5;cursor:wait}.arrange-panel{width:330px;max-height:calc(100% - 110px);top:82px;padding:18px}.editor-intro{font-size:13px;line-height:1.5;color:#607789;margin:0 0 12px}.editor-top{width:100%;padding:10px;border:1px solid #bdd9e7;background:#edf7fc;color:#12649b;border-radius:7px;font-size:13px;margin-bottom:15px}.editor-label{display:block;font-size:12px;font-weight:600;margin:0 0 7px}.arrange-panel select,.arrange-panel input:not([type=file]){width:100%;border:1px solid #c9d7e0;border-radius:6px;background:#fff;color:#173c54;padding:9px;font:inherit;box-sizing:border-box}.arrange-panel select{font-size:13px;margin-bottom:15px}.arrange-panel fieldset{margin-top:2px}.position-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.position-grid label{font-size:12px;color:#536d7e}.position-grid input{margin-top:5px}.arrange-panel fieldset:disabled{opacity:.48}.editor-link{background:none;border:0;color:#12649b;padding:11px 0 0;font-size:12px}.editor-history{display:flex;gap:6px;padding-bottom:15px;border-bottom:1px solid #dde7ed}.editor-history button{background:#eef3f6;border:1px solid #d5e0e6;border-radius:6px;padding:7px 8px;font-size:12px;flex:1}.editor-history button:disabled{opacity:.4}.layout-files{padding-top:15px}.layout-files>input{font-size:13px!important}.editor-file-actions{display:flex;gap:8px;margin:10px 0}.editor-file-actions button{flex:1;padding:10px 7px;border:1px solid #b9cdd8;background:white;color:#16485f;border-radius:7px;font-size:13px;font-weight:600}.editor-file-actions button:first-child{background:var(--config-accent);border-color:var(--config-accent);color:white}.layout-files small{display:block;font-size:11px;color:#627d8d;line-height:1.5}.layout-state{font-size:11px;color:#637d8f;margin:12px 0 4px}#layout-message{font-size:12px;color:#12649b;line-height:1.5;margin:4px 0}#layout-message.error{color:#a32828}.editor-note{font-size:11px;color:#768b97;line-height:1.5;border-top:1px solid #e0e8ec;padding-top:10px;margin-bottom:0}.stage-actions button:focus-visible,.arrange-panel :focus-visible{outline:3px solid #42b8d4;outline-offset:2px}@media(max-width:1050px){.stage-actions{flex-direction:column}.arrange-panel{top:128px;max-height:calc(100% - 155px)}}@media(max-width:720px){.arrange-panel{width:min(320px,calc(100% - 28px));top:108px;max-height:calc(100% - 122px);padding:14px}.stage-actions{gap:5px}.stage-actions button{font-size:12px;padding:8px}.view-badge{max-width:45%}}
@media(min-width:721px){.stage:has(.arrange-panel:not([hidden])) #viewport{right:364px}}
@media(max-width:720px){.arrange-panel{position:fixed;top:auto;bottom:12px;left:12px;right:12px;width:auto;max-height:45dvh;z-index:12}.arrange-panel input:not([type=file]),.arrange-panel select{font-size:16px!important}}
.placement-mode{margin-bottom:14px!important}.placement-mode .segmented button{font-size:12px;padding:9px 7px}.grid-spacing{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#587587;margin-top:10px}.grid-spacing select{width:110px;margin:0;font-size:12px}.arrange-panel .panel-heading{margin-bottom:12px}

/* A quiet moving border draws attention to the layout editor. */
@property --edit-trail-angle { syntax: '<angle>'; initial-value: 0deg; inherits: false; }
#arrange-toggle { position: relative; isolation: isolate; }
#arrange-toggle:not(:disabled)[aria-expanded="false"]::before {
 content: ''; position: absolute; inset: -3px; padding: 2px; border-radius: inherit;
 pointer-events: none; background: conic-gradient(from var(--edit-trail-angle), transparent 0% 62%, #8fc73f 78%, #40d7ef 92%, transparent 100%);
 -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
 -webkit-mask-composite: xor; mask-composite: exclude;
 animation: edit-border-trail 3s linear infinite;
}
@keyframes edit-border-trail { to { --edit-trail-angle: 360deg; } }
@media (prefers-reduced-motion: reduce) {
 #arrange-toggle:not(:disabled)[aria-expanded="false"]::before { animation: none; background: #39b8bf; }
}

.gizmo-tools .segmented button{font-size:13px;padding:9px 7px}.gizmo-tools{margin-bottom:12px!important}#gizmo-help{font-size:12px;line-height:1.5;color:#607789;margin:8px 0 0}.editor-top[aria-pressed=true]{background:#12649b;color:white;border-color:#12649b}
