/* Maclera's two focused workspaces. This is the only studio layout stylesheet. */
:root{color-scheme:light;--ink:#24372f;--muted:#68756c;--green:#285643;--green-dark:#1e4333;--soft-green:#eaf0e9;--paper:#f6f5f1;--surface:#fff;--line:#e0e3da;--accent:#b58658;--error:#a63e31;--radius:12px;font-family:Inter,"Segoe UI",Arial,sans-serif;font-synthesis:none}
*{box-sizing:border-box} [hidden]{display:none!important} html{min-height:100%;scroll-padding-top:96px} body{margin:0;min-width:320px;background:var(--paper);color:var(--ink);font-size:14px;line-height:1.5} button,input,textarea,select{font:inherit} button,a,input,label,summary{-webkit-tap-highlight-color:transparent} button,a,summary{touch-action:manipulation} button{cursor:pointer} button:disabled{cursor:not-allowed;opacity:.48} a{color:inherit;text-decoration:none} img{display:block;max-width:100%} h1,h2,h3,h4,p{margin:0} button i,a i{font-size:18px} :focus-visible{outline:3px solid #89aa95;outline-offset:3px} input,textarea,select{width:100%;min-width:0;padding:11px 12px;border:1px solid #ccd4ca;border-radius:8px;background:#fff;color:var(--ink)} input:focus,textarea:focus{outline:2px solid #a6bdae;outline-offset:1px} input[readonly]{background:#f6f7f3;color:#526458} input[type=file]{max-width:100%} input[type=checkbox]{width:18px;height:18px;accent-color:var(--green)} label>span{display:block;margin-bottom:7px;font-size:12px;font-weight:600;color:var(--muted)} summary{cursor:pointer} .skip-link{position:fixed;top:-70px;left:16px;z-index:100;background:var(--green);color:white;padding:12px}.skip-link:focus{top:8px}.app{max-width:1680px;margin:auto;background:var(--paper);min-height:100vh}.app-header{height:80px;padding:0 28px;display:grid;grid-template-columns:232px 1fr 270px;align-items:center;gap:20px;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:30}.brand-lockup{display:flex;align-items:center;gap:10px;width:max-content}.brand-lockup img{width:36px;height:36px}.brand-lockup strong{font-size:24px;letter-spacing:-1px;line-height:1.1}.brand-lockup strong span{display:block;margin-top:5px;font-weight:450;font-size:10px;letter-spacing:.035em;color:var(--muted)}.app-nav{display:flex;justify-content:center;gap:8px}.app-nav-link{display:flex;align-items:center;gap:8px;min-height:43px;padding:0 18px;border:1px solid transparent;border-radius:8px;color:#667368;background:transparent;font-weight:600}.app-nav-link:hover{background:#f2f4ee;color:var(--green)}.app-nav-link.is-active{background:var(--soft-green);border-color:#dbe4d7;color:var(--green)}.header-note{text-align:right;font-size:12px;color:var(--muted)} main:focus{outline:0}.tool-section{scroll-margin-top:80px}.tool{min-height:calc(100vh - 80px)}.section-heading{padding:29px 30px 26px}.section-heading h1{font-size:clamp(24px,2.3vw,32px);line-height:1.18;letter-spacing:-1.2px;font-weight:620}.section-heading>p{font-size:13px;color:var(--muted);margin-top:9px}.section-kicker{font-size:10px;font-weight:650;letter-spacing:.1em;color:var(--accent);margin-bottom:8px}.panel-heading{display:flex;align-items:center;gap:10px;margin-bottom:19px}.panel-heading h2{font-size:15px;font-weight:650;letter-spacing:-.25px}.step-number{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;border:1px solid #d3dbcd;border-radius:8px;color:#59705d;font:11px ui-monospace,Consolas,monospace}.submit-button,.download-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:43px;padding:10px 15px;border:1px solid var(--green);border-radius:8px;font-size:13px;line-height:1.35;font-weight:600;text-align:center;transition:background .15s,border-color .15s}.submit-button,.download-button{background:var(--green);color:#fff}.submit-button:hover:not(:disabled),.download-button:hover{background:var(--green-dark)}.secondary-button{background:#fff;border-color:#d1d9cd;color:var(--ink)}.secondary-button:hover:not(:disabled){background:#f0f3eb;border-color:#b5c6b2}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 0;min-height:34px;border:0;background:transparent;color:var(--green);font-size:12px;font-weight:550}.text-button:hover{text-decoration:underline;text-underline-offset:4px}.icon-button{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;border:1px solid var(--line);background:#fff;border-radius:8px;font-size:20px}.button-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.danger-button,.danger-link{color:var(--error)}.status{font-size:12px;line-height:1.5;overflow-wrap:anywhere}.status:empty{display:none}.status.is-error{color:var(--error);background:#fff1ed;border-radius:8px;padding:12px}.status.is-ready{color:var(--green)}.status.is-warning{color:#906629;background:#fff8e7;padding:12px;border-radius:8px}.status.is-loading{color:#647761}.spinner{display:block;width:19px;height:19px;border:2px solid #cad6c7;border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}
/* Photo: a gallery, a canvas, and an inspector. */
.photo-workspace{display:grid;grid-template-columns:232px minmax(0,1fr) 296px;grid-template-rows:auto auto auto auto 1fr;align-items:start}.photo-workspace>.tool-heading{grid-column:2;grid-row:1}.workflow{display:contents}.upload-panel{grid-column:1;grid-row:1/8;align-self:stretch;position:sticky;top:80px;max-height:calc(100vh - 80px);min-height:calc(100vh - 80px);overflow-y:auto;padding:25px 18px;background:#fff;border-right:1px solid var(--line);scrollbar-width:thin;scrollbar-color:#cbd4c8 transparent}.dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:139px;padding:17px 10px;border:1px dashed #b5c5ad;border-radius:11px;text-align:center;background:#f6f8f2;cursor:pointer;position:relative;color:var(--green)}.dropzone:hover,.dropzone.is-dragover{border-color:var(--green);background:#eaf1e5}.dropzone>input{position:absolute;width:1px;height:1px;opacity:0;inset:auto;overflow:hidden;padding:0;pointer-events:none}.dropzone strong{font-size:13px}.dropzone>span:not(.dropzone-icon){font-size:11px;color:var(--muted);font-weight:400;margin:0}.dropzone-icon{font-size:24px;display:grid;place-items:center;width:35px;height:35px;margin-bottom:3px!important;color:var(--green)}.upload-spec{font-size:10px;line-height:1.7;color:var(--muted);text-align:center;margin:9px 0 23px}.file-meta{font-size:11px;display:flex;flex-direction:column;gap:2px;margin:10px 0;color:var(--muted);overflow-wrap:anywhere}.file-meta strong{color:var(--ink);font-weight:550}.batch-panel{margin:20px 0}.batch-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px;gap:6px}.batch-panel-header p{font-size:11px;color:var(--muted)}.batch-panel-header button{font-size:10px}.batch-list,.history-rail{display:grid;grid-template-columns:1fr;gap:12px}.batch-item{position:relative;overflow:hidden;border:2px solid transparent;border-radius:10px;background:#f2f4ee;cursor:pointer}.batch-item.is-active{border-color:var(--green)}.batch-thumb{width:100%;height:120px;object-fit:cover}.batch-item-body{padding:8px 9px}.batch-item-body strong{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:550}.batch-item-body span,.batch-item-body small{font-size:10px;color:var(--muted)}.batch-item-body em{display:block;font-size:10px;color:var(--error);font-style:normal;margin-top:4px}.batch-item.is-error{border-color:#d9a395}.batch-remove{position:absolute;right:5px;top:5px;display:grid;place-items:center;padding:0;width:28px;height:28px;border:1px solid #dde3d8;border-radius:7px;background:#ffffffee;color:var(--ink)}.batch-remove i{font-size:17px}.batch-status{font-size:10px;color:var(--muted)}.history-heading{display:flex;justify-content:space-between;gap:6px;margin:22px 0 11px;font-size:11px;font-weight:600}.saved-note{font-size:9px;color:var(--muted);font-weight:400}.history-rail-item{display:block;position:relative;min-width:0;width:100%;padding:0;overflow:hidden;border:2px solid transparent;border-radius:10px;background:#f2f4ee;text-align:left}.history-rail-item:hover{border-color:#a5b99e}.history-rail-item.is-active{border-color:var(--green);box-shadow:0 0 0 2px #dbe6d6}.history-rail-item img{width:100%;aspect-ratio:4/3;object-fit:cover}.history-rail-item>span:not(.history-rail-caption){position:absolute;right:8px;top:8px;width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:#fff;font-size:12px}.history-rail-caption{display:block;padding:8px 9px;font-size:11px;color:var(--ink)}.history-rail:not(:empty)+.history-empty-hint{display:none}.history-empty-hint{padding:15px 10px;border:1px solid var(--line);border-radius:8px;font-size:11px;text-align:center;color:var(--muted)}.mode-panel{grid-column:3;grid-row:1/3;padding:27px 21px 17px;background:#fff;border-left:1px solid var(--line);align-self:stretch}.mode-grid{display:grid;gap:8px}.mode-card{display:grid;grid-template-columns:30px 1fr;gap:3px 10px;position:relative;width:100%;text-align:left;padding:15px 12px;border:1px solid transparent;border-radius:10px;background:#fff;color:var(--ink)}.mode-card:hover:not(:disabled){background:#f6f8f2;border-color:#d4dfcf}.mode-card.is-selected,.mode-card[aria-pressed=true]{background:var(--soft-green);border-color:#c3d3bc}.mode-card:disabled{opacity:.72}.mode-icon{grid-column:1;grid-row:1/3;display:flex;padding-top:1px;color:var(--green)}.mode-icon i{font-size:23px}.mode-title{grid-column:2;font-size:13px;font-weight:600;line-height:1.4}.mode-description{grid-column:2;font-size:11px;color:var(--muted);line-height:1.65}.submit-panel{grid-column:3;grid-row:3;padding:0 21px 18px;background:#fff;border-left:1px solid var(--line)}#submitHint{font-size:12px;color:var(--muted);line-height:1.6;min-height:39px;margin-bottom:12px}#submitButton{width:100%}.loading-panel{display:flex;align-items:flex-start;gap:10px;margin-top:17px}.loading-panel strong{font-size:12px}.loading-panel p{font-size:11px;color:var(--muted);margin-top:4px}#uploadTool>.status{grid-column:3;grid-row:4;margin:0 21px 14px} .results-section{grid-column:2;grid-row:2/7;min-width:0;padding:0 30px 30px}.results-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:flex-end;margin-bottom:15px}.results-toolbar h2{font-size:15px;letter-spacing:-.3px;font-weight:600}.results-toolbar .section-kicker{font-size:9px;margin-bottom:3px;color:var(--muted)}.view-toggle{display:inline-flex;flex-shrink:0;padding:3px;border:1px solid #dce1d7;border-radius:8px;background:#edf0e8;gap:2px}.view-toggle button{min-height:31px;padding:4px 10px;border:0;border-radius:5px;background:transparent;color:var(--muted);font-size:10px;font-weight:550}.view-toggle button.is-active{background:#fff;color:var(--ink);box-shadow:0 1px 3px #24372f12}.preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;overflow:hidden;border:1px solid #dce1d7;border-radius:12px;background:var(--line)}.preview-card{min-width:0;background:#fff}.preview-card-header{display:flex;justify-content:space-between;align-items:center;padding:13px 15px;border-bottom:1px solid var(--line)}.preview-card-header h3{font-size:12px;font-weight:550}.preview-card-header>span{font:9px ui-monospace,Consolas,monospace;letter-spacing:.05em;color:#829074}.image-box{height:clamp(320px,55vh,660px);display:flex;align-items:center;justify-content:center;background:#eef0e9;position:relative}.image-box img{height:100%;width:100%;object-fit:contain}.image-box>span{display:flex;flex-direction:column;align-items:center;max-width:180px;gap:9px;padding:15px;text-align:center;font-size:12px;line-height:1.5;font-weight:550;color:#63735d}.image-box>span i{font-size:35px;margin-bottom:6px;color:#87967c}.image-box>span small{font-size:10px;font-weight:400;color:#7f8978}.image-box:not(.is-empty)>span{display:none}.result-summary{font-size:12px;line-height:1.6;color:var(--muted);margin-top:15px;max-width:570px}.compare-slider{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff}.compare-frame{position:relative;height:clamp(350px,59vh,700px);overflow:hidden;background:#eaeee5}.compare-frame>img{width:100%;height:100%;object-fit:contain}.compare-after{position:absolute;inset:0;overflow:hidden;width:50%;height:100%;clip-path:inset(0 50% 0 0)}.compare-after img{max-width:none;width:100%;height:100%;object-fit:contain}.compare-handle{position:absolute;z-index:3;top:0;bottom:0;left:50%;width:2px;background:#fff;pointer-events:none;box-shadow:0 0 8px #0002}.compare-handle i{display:grid;place-items:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);height:35px;width:35px;border:1px solid #ffffffaa;background:var(--green);color:#fff;border-radius:50%;font-size:16px}.compare-label{position:absolute;top:14px;padding:5px 9px;background:#ffffffed;color:var(--ink);font-size:10px;font-weight:550;border-radius:6px;z-index:4}.compare-label.before{right:14px}.compare-label.after{left:14px}.range-label{display:flex;align-items:center;gap:14px;padding:14px 16px;font-size:11px;color:var(--muted)}.range-label input{min-width:80px;padding:0;accent-color:var(--green);height:20px}.result-actions{grid-column:3;grid-row:5;display:grid;gap:9px;padding:20px 21px;border-left:1px solid var(--line);border-top:1px solid var(--line);background:#fff}.result-actions .section-kicker{margin:0 0 4px;color:var(--green)}.ethics-note{grid-column:3;grid-row:6;font-size:10px;line-height:1.8;color:var(--muted);padding:18px 21px;background:#fff;border-left:1px solid var(--line)}.ethics-note i{font-size:14px;margin-right:5px}.is-history-view .submit-panel{display:none}#batchResults{display:none!important}
/* Tour: rooms -> phone -> export. */
.virtual-tour-tool>.section-heading{margin-left:232px;border-bottom:1px solid var(--line)}.room-tour-layout{display:grid;grid-template-columns:232px minmax(0,1fr) 296px;align-items:start}.tour-room-sidebar{grid-column:1;grid-row:1;align-self:stretch;padding:25px 18px;position:sticky;top:80px;margin-top:-132px;min-height:calc(100vh - 80px);max-height:calc(100vh - 80px);overflow:auto;background:#fff;border-right:1px solid var(--line);scrollbar-width:thin}.tour-add-room-button{width:100%;margin-bottom:16px}.tour-sidebar-progress{font-size:10px;color:var(--muted);margin-bottom:12px}.tour-room-list{display:grid;gap:8px}.tour-room-item{position:relative;display:flex;align-items:center;gap:4px;border:1px solid transparent;border-radius:10px;background:#f6f7f3;padding:6px}.tour-room-item.is-active{border-color:#b3c7a9;background:#eaf1e5}.tour-room-main{display:flex;align-items:center;gap:10px;width:100%;padding:7px 4px;min-height:54px;min-width:0;background:transparent;border:0;text-align:left;color:var(--ink)}.tour-room-number{display:grid;place-items:center;flex-shrink:0;width:25px;height:25px;color:#74816d;font-size:10px}.tour-room-thumb{flex-shrink:0;width:37px;height:37px;border-radius:6px;overflow:hidden;background:#e4eadf;display:grid;place-items:center;font-size:20px;color:#6e8265}.tour-room-thumb img{width:100%;height:100%;object-fit:cover}.tour-room-copy{min-width:0;display:block}.tour-room-copy-top{display:block}.tour-room-copy strong{display:block;font-size:12px;font-weight:600;white-space:normal;overflow-wrap:anywhere;line-height:1.35}.tour-room-copy small,.tour-room-state-badge{display:block;font-size:10px;color:var(--muted);margin-top:3px}.tour-room-state-badge+small{display:none}.tour-room-menu{position:relative;flex-shrink:0;align-self:center}.tour-room-menu summary{list-style:none;display:grid;place-items:center;border:0;background:transparent;border-radius:6px;width:24px;height:32px;color:#74836e}.tour-room-menu summary::-webkit-details-marker{display:none}.tour-room-menu summary:hover{background:white}.tour-room-menu-actions{position:absolute;right:0;top:36px;z-index:15;min-width:154px;display:grid;padding:6px;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:0 8px 25px #20372017}.tour-room-menu-actions button{background:transparent;border:0;border-radius:5px;text-align:left;padding:9px;font-size:11px;color:var(--ink)}.tour-room-menu-actions button:hover{background:var(--soft-green)}.tour-room-menu-actions button.danger-link{color:var(--error)}.tour-room-inline-edit{display:none}.sidebar-tip{margin-top:28px;padding-top:18px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);line-height:1.8}.tour-room-editor{grid-column:2;min-width:0;padding:26px 30px 40px}.room-editor-current{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.room-editor-current h2{font-size:24px;font-weight:580;letter-spacing:-.8px}.room-editor-current>.ri-door-open-line{font-size:30px;color:#a1ad95}.room-editor-current .section-kicker{color:var(--muted);font-size:9px;letter-spacing:.05em}.room-name-field{display:block;max-width:430px}.room-name-field>span{font-size:11px}.room-next-step{font-size:12px;color:var(--muted);margin:10px 0 23px}.mobile-entry{display:grid;grid-template-columns:39px 1fr;align-items:center;gap:10px 13px;background:#eaf0e3;border:1px solid #d5e0cb;border-radius:12px;padding:20px;margin:0 0 23px}.mobile-entry-icon{font-size:31px;color:var(--green)}.mobile-entry h3{font-size:15px;font-weight:600}.mobile-entry p{font-size:12px;color:#64735b;line-height:1.6;margin-top:4px}.mobile-entry>.submit-button{grid-column:2;justify-self:start;margin-top:5px}.room-media-section{margin-top:24px}.room-media-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:15px}.room-media-heading h3{font-size:15px;font-weight:600}.room-media-heading p{font-size:11px;color:var(--muted);margin-top:4px}.room-media-heading button{font-size:11px;flex-shrink:0;min-height:36px;padding:8px 11px}.room-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.room-gallery-grid.is-dragover{outline:2px dashed var(--green);outline-offset:8px}.tour-empty-state{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:185px;padding:25px;text-align:center;border:1px dashed #cbd6c2;border-radius:10px;background:#f0f3e9}.tour-empty-state strong{font-size:13px;font-weight:550}.tour-empty-state p{font-size:11px;line-height:1.7;color:var(--muted);max-width:270px;margin:7px auto 0}.tour-empty-state .secondary-button{margin-top:12px;font-size:11px;min-height:34px}.tour-empty-icon{font-size:27px;color:#87997b;margin-bottom:10px}.tour-gallery-card .tour-empty-icon{font-size:27px}.room-media-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff;min-width:0}.room-media-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.room-media-card-body{padding:9px 11px;display:grid;gap:5px}.room-media-card-body strong{font-size:11px;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-media-card-body small,.room-media-card-body p{font-size:10px;color:var(--muted)}.room-media-actions{display:flex;flex-wrap:wrap;gap:7px}.room-media-card button{font-size:10px;padding:5px 8px;min-height:30px;border:1px solid var(--line);background:#fff;border-radius:6px}.room-media-card button:hover{background:#f4f6ee}.tour-panorama-card{border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}.tour-panorama-card>summary{display:flex;align-items:center;justify-content:space-between;padding:17px;font-size:12px;font-weight:550;list-style:none}.tour-panorama-card>summary>span:first-child{display:flex;align-items:center;gap:9px}.tour-panorama-card summary i{font-size:19px;color:var(--green)}.optional{font-size:10px;font-weight:400;color:var(--muted)}.panorama-content{padding:0 17px 17px}.tour-viewer{height:260px;border-radius:8px;overflow:hidden;background:#edf1e7;margin-top:14px;position:relative}.tour-viewer .tour-empty-state{border:0;height:100%;min-height:0}.tour-viewer img{width:100%;height:100%;object-fit:contain}.tour-media-hint,.panorama-info{font-size:11px;color:var(--muted);margin-top:10px;line-height:1.6}.tour-settings-card{grid-column:3;padding:27px 21px;background:#fff;border-left:1px solid var(--line);min-height:calc(100vh - 212px);position:sticky;top:80px}.project-name{display:block;margin-bottom:20px}.tour-build-summary{display:grid;gap:8px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.tour-build-summary>div{display:flex;justify-content:space-between;gap:10px;font-size:12px}.tour-build-summary span{font-size:11px;color:var(--muted)}.tour-build-summary strong{font-size:12px;font-weight:550;text-align:right}.tour-build-missing{font-size:12px;line-height:1.7;color:var(--muted);margin:16px 0}.tour-settings-card>#tourSubmit{width:100%}.export-help{font-size:10px;line-height:1.7;color:var(--muted);margin:11px 0 17px}.draft-status{font-size:10px;color:var(--muted);margin-top:15px}.tour-results{margin-top:23px;padding-top:20px;border-top:1px solid var(--line);display:grid;gap:10px}.export-success{display:flex;gap:9px;align-items:flex-start;margin-bottom:8px}.export-success>i{font-size:24px;color:var(--green)}.export-success h3{font-size:13px;font-weight:600}.export-success p{font-size:10px;line-height:1.7;color:var(--muted);margin-top:5px}.tour-results .download-button,.tour-results .secondary-button{width:100%;font-size:12px}.export-url{margin-top:8px}.export-url span{font-size:10px}.export-url input{font-size:11px}.is-disabled,[aria-disabled=true]{opacity:.45;pointer-events:none}.mobile-pair-panel{padding:20px;background:#fff;border:1px solid #c5d4bc;border-radius:12px;margin-bottom:22px}.pair-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.pair-heading h3{font-size:15px;font-weight:600}.pair-heading p{font-size:11px;color:var(--muted);margin-top:4px;max-width:340px}.pair-body{display:grid;grid-template-columns:170px 1fr;gap:18px;align-items:center;margin-top:16px}.pair-body canvas{width:170px!important;height:170px!important;max-width:100%;aspect-ratio:1}.pair-body input{font-size:11px}.pair-body .button-row{margin:10px 0}.pair-body .secondary-button{font-size:11px;min-height:36px;padding:8px}.pair-body .text-button{font-size:10px}.local-address{margin-top:15px;padding-top:12px;border-top:1px solid var(--line)}.local-address summary{font-size:10px;color:var(--muted)}.local-address p{font-size:11px;margin:10px 0;color:var(--muted)}.local-address .button-row{flex-wrap:nowrap}.local-address input{font-size:11px}.local-address button{font-size:11px}.room-media-lightbox{position:fixed;inset:0;z-index:60;background:#142118e8;display:grid;place-items:center;padding:35px}.room-media-lightbox img{max-height:85vh;object-fit:contain}.room-media-lightbox button{position:absolute;top:20px;right:20px}
@media(min-width:1440px){.mobile-entry{grid-template-columns:40px 1fr auto}.mobile-entry>.submit-button{grid-column:3;grid-row:1;margin:0}.room-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.image-box{height:clamp(350px,59vh,710px)}}
@media(max-width:1150px){.app-header{grid-template-columns:210px 1fr;gap:10px;padding:0 22px}.header-note{display:none}.app-nav{justify-content:flex-end}.photo-workspace,.room-tour-layout{grid-template-columns:198px minmax(0,1fr) 265px}.virtual-tour-tool>.section-heading{margin-left:198px}.section-heading,.photo-workspace>.tool-heading{padding:25px 22px}.section-heading h1{font-size:25px}.results-section{padding:0 22px 25px}.tour-room-editor{padding:22px}.mode-panel,.submit-panel,.result-actions,.ethics-note,.tour-settings-card{padding-left:17px;padding-right:17px}.mode-card{padding:12px 7px;grid-template-columns:25px 1fr;gap:3px 8px}.mode-title{font-size:12px}.mode-description{font-size:11px}.results-toolbar{flex-wrap:wrap;align-items:center}.tour-room-number{display:none}.tour-room-sidebar{margin-top:-124px}.room-media-heading{flex-wrap:wrap}.pair-body{grid-template-columns:1fr}.pair-body canvas{justify-self:center}.room-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:930px){.photo-workspace{grid-template-columns:178px minmax(0,1fr);grid-template-rows:auto auto auto auto auto}.photo-workspace>.tool-heading{grid-column:2;grid-row:1}.upload-panel{grid-column:1;grid-row:1/8}.results-section{grid-column:2;grid-row:2}.mode-panel{grid-column:2;grid-row:3;border-top:1px solid var(--line);padding:20px 22px 10px}.mode-grid{grid-template-columns:1fr}.mode-card{grid-template-columns:32px 1fr;padding:12px}.mode-description{font-size:12px}.mode-title{font-size:13px}.submit-panel{grid-column:2;grid-row:4;padding:12px 22px 20px}.result-actions{grid-column:2;grid-row:6;padding:20px 22px}.ethics-note{grid-column:2;grid-row:7;padding:15px 22px}#uploadTool>.status{grid-column:2;grid-row:5;margin:0;padding:0 22px 15px;background:#fff;border-left:1px solid var(--line)}.image-box{height:350px}.photo-workspace .panel-heading{margin-bottom:12px}.room-tour-layout{grid-template-columns:178px minmax(0,1fr)}.virtual-tour-tool>.section-heading{margin-left:178px}.tour-settings-card{grid-column:2;position:static;min-height:0;border-top:1px solid var(--line);padding:24px}.tour-room-sidebar{grid-column:1;grid-row:1/3}.tour-room-editor{grid-column:2}.tour-build-summary{grid-template-columns:1fr 1fr}.tour-build-summary>div{display:grid;gap:2px}.tour-build-summary strong{text-align:left}.tour-settings-card #tourSubmit{max-width:340px}.tour-results{max-width:500px}.pair-body{grid-template-columns:170px 1fr}.tour-room-thumb{display:none}.tour-room-copy strong{font-size:12px}}
@media(max-width:620px){html{scroll-padding-top:118px}body{font-size:14px}.app-header{height:auto;min-height:113px;grid-template-columns:1fr;gap:12px;padding:15px 16px 10px;position:sticky}.brand-lockup{justify-self:center;gap:8px}.brand-lockup img{width:26px;height:26px}.brand-lockup strong{font-size:21px}.brand-lockup strong span{display:none}.app-nav{justify-content:center;gap:8px}.app-nav-link{min-height:39px;padding:8px 14px;font-size:12px}.app-nav-link i{font-size:17px}.tool-section{scroll-margin-top:113px}.photo-workspace{display:flex;flex-direction:column}.photo-workspace>.tool-heading{order:0;width:100%;padding:23px 19px 20px}.section-heading h1{font-size:26px;line-height:1.2}.section-heading>p{font-size:12px;max-width:320px}.upload-panel{order:1;position:static;width:100%;max-height:none;min-height:0;padding:18px 19px;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.upload-panel .panel-heading{margin-bottom:13px}.dropzone{min-height:74px;display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;text-align:left;justify-content:start;padding:12px 16px;gap:1px 12px}.dropzone .dropzone-icon{grid-column:1;grid-row:1/3;margin:0!important}.dropzone strong{grid-column:2;align-self:end}.dropzone>span:not(.dropzone-icon){grid-column:2;align-self:start}.upload-spec{font-size:10px;margin:8px 0 0}.upload-spec br{display:none}.upload-spec br:after{content:' · '}.batch-panel{margin:14px 0 0}.batch-list,.history-rail{display:flex;overflow-x:auto;padding:3px 2px 6px;gap:10px;scroll-snap-type:x proximity}.batch-item,.history-rail-item{flex:0 0 128px;scroll-snap-align:start}.batch-thumb{height:94px}.history-rail-item img{height:94px}.history-heading{margin-top:15px;margin-bottom:6px}.history-heading:has(+.history-rail:empty),.history-rail:empty,.history-empty-hint{display:none}.file-meta{margin:10px 0 0}.results-section{order:2;width:100%;padding:24px 19px}.results-toolbar{gap:12px;margin-bottom:13px}.view-toggle button{min-height:31px;padding:5px 8px}.results-toolbar h2{font-size:14px}.results-toolbar .section-kicker{font-size:8px}.preview-card-header{padding:10px}.image-box{height:240px}.image-box>span{font-size:11px;padding:15px 9px}.image-box>span small{font-size:9px}.image-box>span i{font-size:29px}.result-summary{font-size:11px;margin-top:12px}.compare-frame{height:320px}.range-label{font-size:10px;padding:10px 12px}.mode-panel{order:3;width:100%;padding:20px 19px 5px;border:0;border-top:1px solid var(--line)}.mode-grid{gap:7px}.mode-card{padding:13px;min-height:80px}.mode-title{font-size:14px}.mode-description{font-size:12px}.submit-panel{order:4;width:100%;padding:16px 19px 20px;border:0}#submitHint{min-height:0;font-size:12px;margin-bottom:12px}#submitButton{min-height:47px}.result-actions{order:6;width:100%;padding:20px 19px;border:0;border-top:1px solid var(--line)}#uploadTool>.status{order:5;width:100%;border:0;padding:12px 19px}.ethics-note{order:7;width:100%;padding:16px 19px;border:0;font-size:11px}.virtual-tour-tool>.section-heading{margin-left:0;padding:23px 19px 20px}.room-tour-layout{display:flex;flex-direction:column}.tour-room-sidebar{position:static;width:100%;min-height:0;max-height:none;margin:0;padding:17px 19px;border:0;border-bottom:1px solid var(--line)}.tour-room-sidebar .panel-heading{float:left;margin-bottom:0;height:39px}.tour-add-room-button{width:auto;float:right;min-height:38px;font-size:11px;padding:8px 11px;margin:0}.tour-sidebar-progress{clear:both;padding-top:11px;margin-bottom:8px;font-size:10px}.tour-room-list{display:flex;gap:8px;overflow-x:auto;padding:2px 0 6px;min-height:67px}.tour-room-item{flex:0 0 166px;align-self:start}.tour-room-main{min-height:47px;padding:4px}.tour-room-copy strong{font-size:12px}.tour-room-number{display:grid;width:20px;height:25px}.tour-room-menu-actions{position:fixed;left:19px;right:auto;top:270px}.sidebar-tip{display:none}.tour-room-editor{width:100%;padding:23px 19px}.room-editor-current h2{font-size:24px}.room-next-step{font-size:12px;margin-bottom:18px}.mobile-entry{padding:18px 16px;gap:10px 10px;grid-template-columns:32px 1fr;margin-bottom:22px}.mobile-entry-icon{font-size:28px}.mobile-entry h3{font-size:14px}.mobile-entry p{font-size:11px}.mobile-entry>.submit-button{grid-column:1/-1;width:100%;min-height:44px;font-size:12px}.room-media-heading{gap:12px}.room-media-heading h3{font-size:15px}.room-media-heading p{font-size:11px}.room-media-heading button{width:100%;min-height:39px;font-size:12px}.room-gallery-grid{gap:9px}.tour-empty-state{min-height:175px;padding:20px}.room-media-card-body{padding:8px}.room-media-card-body strong{font-size:10px}.tour-panorama-card{margin-top:18px}.tour-settings-card{width:100%;padding:24px 19px;min-height:0;border-left:0;border-top:1px solid var(--line)}.tour-settings-card #tourSubmit{max-width:none;min-height:46px}.export-help{font-size:11px}.project-name input{font-size:14px}.tour-build-summary span{font-size:11px}.tour-build-summary strong{font-size:13px}.mobile-pair-panel{padding:16px}.pair-body{grid-template-columns:1fr;gap:12px}.pair-body canvas{width:180px!important;height:180px!important}.pair-heading p{font-size:11px}.pair-body .button-row{gap:12px}.pair-body .secondary-button{font-size:12px}.pair-body .text-button{font-size:11px}.local-address .button-row{flex-wrap:wrap}.local-address input{font-size:12px}.local-address button{width:100%}.local-address summary{font-size:11px}.tour-viewer{height:240px}}
.photo-workspace{position:relative}.photo-workspace::before{content:"";position:absolute;right:0;top:0;bottom:0;width:296px;background:#fff;border-left:1px solid var(--line);pointer-events:none}.photo-workspace>*{position:relative}.photo-workspace>.workflow{position:static}.mode-panel,.submit-panel,.result-actions,.ethics-note{position:relative;border-left:0}.compare-after{width:100%}.compare-label.before{left:14px;right:auto}.compare-label.after{right:14px;left:auto}.range-label{white-space:nowrap}.range-label input{flex:1}
@media(max-width:1150px){.photo-workspace::before{width:265px}}@media(max-width:930px){.photo-workspace::before{display:none}}
.history-rail-caption small{display:block;font-size:10px;color:var(--muted);margin-top:2px}.preview-controls{display:flex;align-items:center;gap:7px}.preview-controls .icon-button{height:37px;width:37px}.results-section:fullscreen{padding:24px;background:var(--paper);overflow:auto;display:flex;flex-direction:column}.results-section:fullscreen .image-box,.results-section:fullscreen .compare-frame{height:calc(100vh - 180px)}.results-section:fullscreen .preview-grid,.results-section:fullscreen .compare-slider{flex:1}.mobile-pair-panel.without-qr .pair-body{grid-template-columns:1fr}.tour-mobile-status{font-size:12px;line-height:1.6;margin:10px 0;overflow-wrap:anywhere}.tour-mobile-status.is-error{color:var(--error)}.tour-mobile-status.is-warning{color:#7f591f;background:#fff7e8;padding:10px;border-radius:8px}.tour-mobile-status.is-ready{color:var(--green)}.tour-empty-icon i{font-size:30px}
@media(max-width:620px){.preview-controls{gap:4px}.preview-controls .icon-button{width:32px;height:35px}.results-toolbar{align-items:center}.results-toolbar h2{max-width:135px}.history-rail-caption{padding:6px;font-size:10px}.history-rail-caption small{font-size:9px}}
.tour-build-summary>span{display:flex;align-items:center;justify-content:space-between;gap:12px}.tour-build-summary small{font-size:12px}.tour-build-summary strong{font-size:15px;color:var(--ink)}.room-media-card-body>span{font-size:10px;color:var(--muted)}.room-media-card-body{grid-template-columns:1fr auto;align-items:center}.room-media-card-body strong{grid-column:1/-1}.room-media-card-body>button{color:var(--muted);border:0;padding:4px}.room-media-card .room-media-preview{display:block;width:100%;border:0;border-radius:0;padding:0;background:#eef0e9;cursor:zoom-in}.photo-lightbox{max-width:94vw;max-height:94vh;width:1100px;border:0;border-radius:12px;padding:18px;background:var(--paper);color:var(--ink)}.photo-lightbox::backdrop{background:#142118de}.photo-lightbox>button{display:flex;margin:0 0 12px auto}.photo-lightbox img{width:100%;height:calc(90vh - 90px);object-fit:contain}
@media(min-width:1200px){.mobile-entry{grid-template-columns:34px 1fr auto;padding:18px;gap:12px}.mobile-entry>.submit-button{grid-column:3;grid-row:1;margin:0}.mobile-entry h3{font-size:14px}.mobile-entry p{font-size:11px}.mobile-entry>.submit-button{padding:10px;font-size:11px}}
@media(min-width:931px){.photo-workspace:has(#originalPreview:not([hidden]))>.tool-heading{display:none}.photo-workspace:has(#originalPreview:not([hidden]))>.results-section{grid-row:1/7;padding-top:26px}.photo-workspace:has(#originalPreview:not([hidden])) .compare-frame{height:clamp(350px,calc(100vh - 265px),780px)}.photo-workspace:has(#originalPreview:not([hidden])) .image-box{height:clamp(320px,calc(100vh - 255px),780px)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
