:root{font:15px/1.6 -apple-system,BlinkMacSystemFont,"PingFang TC","Microsoft JhengHei",sans-serif;color:#1a343e;background:#f5f7f7;--green:#126c61;--line:#dfe7e5;--muted:#61777c}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,.button{cursor:pointer;border:1px solid #bccdca;border-radius:7px;padding:9px 16px;color:#24464b;background:#fff;display:inline-block;text-decoration:none}button:hover,.button:hover{filter:brightness(.96)}.primary{background:var(--green);border-color:var(--green);color:white}button:disabled{opacity:.5;cursor:wait}input,select{border:1px solid #bdceca;border-radius:6px;padding:9px 12px;max-width:100%;background:white;color:inherit}input:focus,select:focus,button:focus-visible,.button:focus-within{outline:3px solid #d8b565;outline-offset:2px}label{display:block}label input{display:block;margin-top:5px}h1,h2,h3,p{margin:0}h1{font-size:32px;letter-spacing:-.03em}h2{font-size:20px}h3{font-size:16px;margin:20px 0 10px}p{color:var(--muted);margin:7px 0}strong{font-weight:650}.hidden,[hidden]{display:none!important}.brand{font-size:25px;letter-spacing:-1px;font-weight:800}.brand span{color:#6dcbbb}.eyebrow{font-size:11px;letter-spacing:.17em;color:var(--green);font-weight:750;margin:0 0 5px}aside{width:228px;position:fixed;top:0;bottom:0;left:0;background:#142f36;color:#fff;padding:33px 25px;display:flex;flex-direction:column}.asideSub{color:#a9c3c6;font-size:13px;margin:4px 0 34px}nav{display:grid;gap:8px}nav button{background:none;border:0;text-align:left;color:#b9ccce;padding:12px 14px}nav button.active{background:#28534f;color:white}.asideBottom{margin-top:auto;display:grid;gap:6px;overflow-wrap:anywhere}.asideBottom span{font-size:12px;color:#a9c3c6}.asideBottom button{margin-top:10px;background:none;color:#c5d5d5;border-color:#446268}main{margin-left:228px;padding:32px 42px;max-width:1600px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.local{font-size:12px;padding:6px 12px;border:1px solid var(--line);border-radius:20px;color:var(--muted)}.banner{padding:13px 18px;border-left:3px solid #b88a38;background:#fff6e4;color:#715727;font-size:14px;margin-bottom:25px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.stats article,.panel{background:white;border:1px solid var(--line);border-radius:10px;padding:23px}.stats span,.stats small{display:block;color:var(--muted);font-size:13px}.stats strong{display:block;font-size:28px;margin:7px 0}.meter{height:5px;background:#e4eeee;border-radius:5px;margin-bottom:7px;overflow:hidden}.meter div{height:100%;background:var(--green);width:0}.uploadPanel{border:1px dashed #9fbbb4;background:#edf6f3;padding:28px;border-radius:10px;margin:26px 0;display:flex;align-items:center;justify-content:space-between;gap:20px}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.chips span{font-size:11px;border:1px solid #caddd5;border-radius:4px;padding:3px 7px;color:#41665f}.sectionTitle{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:26px 0 15px}.sectionTitle p{font-size:13px}.job{background:#fff;border:1px solid var(--line);padding:17px;border-radius:8px;margin:10px 0;display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:20px;align-items:center}.thumb{width:96px;height:60px;border-radius:5px;object-fit:cover;background:#e4eeeb;display:grid;place-items:center;font-size:24px;color:#72988e}.job .name{font-size:15px;overflow-wrap:anywhere}.job p{font-size:12px}.tag{font-size:11px;background:#edf2f1;color:#49676b;border-radius:15px;padding:4px 10px;display:inline-block}.tag.good{background:#dbf1e5;color:#246342}.tag.bad{background:#fff0eb;color:#9e442f}.error{color:#ab4938}.empty{padding:45px 20px;text-align:center;border:1px solid var(--line);border-radius:10px;color:var(--muted);background:#fff}.small,.muted{font-size:13px;color:var(--muted)}.inline{display:flex;gap:12px;flex-wrap:wrap;align-items:end}.panel{margin:20px 0}.tourgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}.tour{background:#fff;border:1px solid var(--line);border-radius:9px;padding:25px;text-align:left}.tour .cover{height:85px;display:flex;align-items:center;color:#4c8779;font-size:34px;background:#e9f2ef;margin:-25px -25px 18px;padding:25px;border-radius:9px 9px 0 0}.tour h3{margin:0}.tour p{font-size:13px}.auth{min-height:100vh;display:grid;place-items:center;padding:30px}.authbox{width:430px;max-width:100%;padding:35px;background:white;border:1px solid var(--line);border-radius:13px}.authbox .brand{margin-bottom:26px}.authbox form{display:grid;gap:17px;margin:24px 0}.authbox input{width:100%}.authbox h1{font-size:26px}#toast{position:fixed;right:24px;bottom:25px;z-index:50;background:#183f39;color:white;max-width:440px;box-shadow:0 4px 22px #142f3620;border-radius:8px;padding:0}#toast:not(:empty){padding:14px 22px}footer{border-top:1px solid var(--line);margin-top:42px;padding-top:20px;font-size:12px;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:12px;padding:28px;min-width:330px}dialog::backdrop{background:#1234}dialog h2{margin-bottom:18px}dialog .inline{justify-content:flex-end;margin-top:20px}.event{border-bottom:1px solid var(--line);padding:10px 0;font-size:13px;overflow-wrap:anywhere}.uploaditem{background:white;padding:15px;border-radius:7px;margin:8px 0}.uploaditem progress{width:100%;accent-color:var(--green)}.scene{padding:12px 0;border-bottom:1px solid var(--line)}@media(max-width:950px){aside{width:180px;padding:25px 16px}main{margin-left:180px;padding:25px}.stats{gap:10px}.stats strong{font-size:22px}.uploadPanel{display:block}.uploadPanel .button{margin-top:15px}}@media(max-width:650px){aside{position:static;width:100%;padding:16px}.brand{font-size:22px}.asideSub,.asideBottom{display:none}nav{display:flex;margin-top:12px;flex-wrap:wrap}nav button{padding:8px}main{margin:0;padding:20px 15px}h1{font-size:25px}.stats{grid-template-columns:1fr}.stats article{padding:15px}.stats strong{font-size:25px}.job{grid-template-columns:66px minmax(0,1fr);gap:12px}.thumb{width:66px;height:45px}.job>button{grid-column:2;justify-self:start}.local{font-size:10px}.uploadPanel{padding:20px}.sectionTitle{align-items:start}}
.assetgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;margin-top:18px}.assetgrid .job,.assetcard{display:flex;flex-direction:column;align-items:stretch;gap:8px;background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden;padding:0;margin:0}.assetgrid .job>.thumb,.photo img{width:100%;height:auto;aspect-ratio:2/1;object-fit:cover;border-radius:0}.assetgrid .job>div:not(.thumb){padding:0 12px}.assetgrid .job>button,.assetgrid .job>a{margin:0 12px 10px}.filename{display:block;font-size:10px!important;color:#7b8a8c;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:400}.photo{position:relative;background:#e1efeb;min-height:100px}.photo .number{position:absolute;top:8px;left:8px;border-radius:50%;background:#183f39;color:white;min-width:28px;text-align:center}.cardbody{padding:12px}.cardbody .inline{gap:6px;margin-top:10px}.cardbody button{padding:5px 9px;font-size:12px}#assetPicker{width:min(950px,94vw);max-height:90vh}#assetPicker .sectionTitle{margin-top:0}#pickerGrid{margin-bottom:20px}.pick{padding:0;overflow:hidden;text-align:left;border:2px solid #dfe7e5}.pick img{width:100%;aspect-ratio:2/1;object-fit:cover}.pick strong,.pick small{display:block;padding:2px 10px}.pick.selected{border:3px solid var(--green);background:#dff2e9}.pick:disabled{cursor:default}.detailThumb{width:280px;max-width:100%;aspect-ratio:2/1;object-fit:cover}#assetDetails{max-width:430px;width:92vw}#assetDetails input{width:100%}
.pick:disabled{opacity:1;background:#f2f5f4;color:#657b75}.pick:disabled img{opacity:.85}
.pickWrap{display:flex;min-width:0;flex-direction:column;gap:7px}.pickWrap .pick{width:100%;height:100%}.pickerRetry{width:100%;padding:7px 9px;border-color:#9bcf67;background:#efffe1;color:#315b18;font-size:12px;font-weight:700}.pickerReason{padding:0 4px;color:var(--muted);font-size:12px}
#assetDetails select{display:block;width:100%;margin:5px 0 12px}#propertyStatus{color:#126c61;font-weight:600}
#assetDetails{width:min(680px,94vw);max-width:680px;max-height:92vh;overflow-y:auto}#assetDetails .detailThumb{width:190px}.applicationField{margin:12px 0}#applicationToggle{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:5px;text-align:left}#applicationPanel{padding:12px;margin-top:8px;border:1px solid #b9d3cb;background:#f3f8f6;border-radius:10px}.applicationGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.applicationGrid button{padding:12px 4px;min-height:48px;font-size:14px;white-space:nowrap}.applicationGrid button[aria-pressed=true],.applicationFallback button[aria-pressed=true]{background:#126c61;color:white;border-color:#126c61}.applicationFallback{display:flex;gap:10px;flex-wrap:wrap;border-top:1px solid #d5e3df;margin-top:12px;padding-top:12px}.applicationFallback button{font-size:13px}#applicationToggle[aria-expanded=true]{border-color:#126c61}@media(max-width:540px){.applicationGrid{grid-template-columns:repeat(2,minmax(0,1fr))}#assetDetails{min-width:0;padding:18px}.applicationGrid button{padding:10px 4px}}
#tourDialog{width:min(680px,94vw);max-height:92vh;overflow-y:auto}#projectApplicationToggle,#sceneNameToggle{width:100%;text-align:left;margin:8px 0}#projectApplicationPanel,#sceneNamePanel{padding:12px;border:1px solid #caddd5;border-radius:10px;background:#f3f8f6;margin-bottom:12px}#sceneNamePanel button{white-space:normal}#sceneNamePanel button[aria-pressed=true],#projectApplicationPanel button[aria-pressed=true]{background:#126c61;color:white}#sceneNamePanel button:disabled{opacity:.6;cursor:default}#tourDialog input{width:100%}#inheritedApplication{padding:10px;background:#edf6f3;border-radius:6px}
.fieldSettingRow{display:flex;align-items:center;gap:12px;margin:12px 0}.fieldSettingRow button{padding:6px 12px}.sceneTitleRow{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.sceneTitleRow strong{overflow-wrap:anywhere}.sceneApplication{font-size:11px;color:var(--muted);font-weight:400}
#customNameWrap{flex:1;min-width:160px;font-size:12px}#customNameWrap input{margin-top:3px;width:100%}
.passwordField{display:flex;align-items:center;gap:8px;margin-top:5px}.passwordField input{flex:1;min-width:0;margin-top:0!important}.passwordToggle{flex:none;padding:8px 12px;color:var(--muted);background:#fff;border-color:var(--line)}.passwordToggle:hover{color:var(--green)}
.assetcard[draggable="true"]{cursor:grab}.assetcard.scene-dragging{opacity:.48;cursor:grabbing}.assetcard.scene-drop-target{outline:3px solid var(--brand-gold);outline-offset:2px}
/* High-visibility status for assets that are already in this Tour or selected for addition. */
#pickerGrid .pick{position:relative;cursor:pointer}
#pickerGrid .pick:disabled{cursor:not-allowed;opacity:1;color:#42514c;background:#f5f7f5}
#pickerGrid .pick:disabled:hover{transform:none;box-shadow:none;filter:none}
#pickerGrid .pick img{display:block;transition:opacity .15s ease}
#pickerGrid .pick.pick-used img{opacity:1}
#pickerGrid .pickStatusOverlay{position:absolute;top:25%;left:50%;z-index:1;transform:translate(-50%,-50%);padding:0;border:0;border-radius:0;color:rgb(255 255 255 / 72%);background:transparent;box-shadow:none;font-size:clamp(18px,1.9vw,24px);font-weight:700;letter-spacing:.06em;line-height:1.2;white-space:nowrap;text-shadow:0 1px 4px rgb(0 0 0 / 72%);pointer-events:none}
#pickerGrid .pickStatusOverlay:empty{display:none}
/* Keep picker tiles uniform and reveal long filenames only while inspected. */
#pickerGrid .pickWrap{min-width:0}
#pickerGrid .pick{display:grid;grid-template-rows:auto 1.5em 1.25em;align-content:start;min-width:0;width:100%;height:100%}
#pickerGrid .pick img{width:100%;height:auto;aspect-ratio:2/1;object-fit:cover}
#pickerGrid .pickName{display:block;min-width:0;width:100%;height:1.5em;overflow:hidden;padding:2px 10px;white-space:nowrap;text-overflow:ellipsis}
#pickerGrid .pickName>span{display:inline-block;max-width:none;white-space:nowrap}
#pickerGrid .pickWrap:hover .pickName.is-overflowing>span,#pickerGrid .pickWrap:focus-within .pickName.is-overflowing>span{animation:picker-filename-marquee var(--marquee-duration,6s) ease-in-out infinite alternate}
@keyframes picker-filename-marquee{0%,14%{transform:translateX(0)}86%,100%{transform:translateX(calc(-1 * var(--marquee-distance,0px)))}}
@media(prefers-reduced-motion:reduce){#pickerGrid .pickWrap:hover .pickName.is-overflowing>span,#pickerGrid .pickWrap:focus-within .pickName.is-overflowing>span{animation:none}}
/* Fixed-height Tour scene tiles with one-line names and hover-to-read marquee. */
#scenes .assetcard{height:100%;min-width:0}
#scenes .assetcard .photo{flex:0 0 auto;width:100%;aspect-ratio:1.8/1;min-height:0;overflow:hidden}
#scenes .assetcard .photo img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
#scenes .assetcard .cardbody{display:flex;flex:1;flex-direction:column;min-width:0}
#scenes .sceneTitleRow{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;min-width:0;height:1.8em;overflow:hidden}
#scenes .sceneTitleRow .sceneName{display:block;flex:1 1 auto;min-width:0;height:1.5em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;overflow-wrap:normal}
#scenes .sceneTitleRow .sceneName>span{display:inline-block;max-width:none;white-space:nowrap}
#scenes .sceneApplication{flex:0 0 auto;max-width:42%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#scenes .sceneTitleRow:hover .sceneName.is-overflowing>span,#scenes .sceneTitleRow:focus-within .sceneName.is-overflowing>span{animation:scene-name-marquee var(--marquee-duration,6s) ease-in-out infinite alternate}
#scenes .assetcard .cardbody>.inline{margin-top:auto;padding-top:10px}
@keyframes scene-name-marquee{0%,14%{transform:translateX(0)}86%,100%{transform:translateX(calc(-1 * var(--marquee-distance,0px)))}}
@media(prefers-reduced-motion:reduce){#scenes .sceneTitleRow:hover .sceneName.is-overflowing>span,#scenes .sceneTitleRow:focus-within .sceneName.is-overflowing>span{animation:none}}
#scenes .filename-placeholder{height:1.6em}
.resumeUploads:empty{display:none}.resumeUploadItem{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border:1px solid var(--line);border-radius:8px;background:var(--ws-surface,#fff);padding:12px;margin:8px 0}.resumeUploadItem>strong{min-width:min(260px,100%);flex:1 1 260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resumeUploadItem progress{flex:1 1 160px;min-width:120px;accent-color:var(--ws-action,var(--green))}.resumeUploadItem p{flex:1 1 180px;margin:0;font-size:12px}.resumeUploadItem .inline{align-items:center;gap:6px}

.uploaditem-heading{display:flex;align-items:baseline;gap:12px;min-width:0;margin-bottom:8px}
.uploaditem-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.uploaditem-status{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:13px}
.uploaditem-status.error{color:var(--danger,#ab4938)}
@media(max-width:650px){.uploaditem-heading{gap:8px}.uploaditem-name{flex:1 1 auto}.uploaditem-status{flex:0 1 auto}}

/* Compact scene management: thumbnail opens editor, card drag keeps ordering. */
#scenes .assetcard{gap:0;}
#scenes .assetcard .cardbody{gap:4px;padding:9px;}
#scenes .sceneApplication{display:block;max-width:100%;line-height:1.4;}
#scenes .filename-placeholder{display:none;}
#scenes .metadataPills{margin:3px 0;gap:4px;}
#scenes .assetcard .cardbody>.sceneActions{margin-top:3px;padding-top:2px;gap:6px;}
#scenes .photo[role="link"]{cursor:pointer;}
#scenes .photo[role="link"]:focus-visible{outline:3px solid var(--brand-gold);outline-offset:-3px;}
#scenes .sceneTitleRow .sceneName>span{max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:top;}
#scenes .sceneTitleRow:hover .sceneName.is-overflowing>span,#scenes .sceneTitleRow:focus-within .sceneName.is-overflowing>span{max-width:none;overflow:visible;}

#mediaLibrary{width:min(940px,94vw);max-height:88vh;border:1px solid #cfdad5;border-radius:20px;padding:22px;color:#24483e;background:#f6f9f7}#mediaLibrary::backdrop{background:#102b2466;backdrop-filter:blur(5px)}.mediaTools{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.mediaTools input,.mediaTools select,.mediaCard input{min-width:0;padding:8px;border:1px solid #ccd8d2;border-radius:8px}.mediaTools button.active,.mediaCard button.active{background:#235f4b;color:white}#mediaGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin-top:16px}.mediaCard{display:flex;flex-direction:column;gap:7px;border:1px solid #dbe3df;border-radius:14px;padding:10px;background:white}.mediaCard>img{width:100%;height:135px;object-fit:cover;border-radius:9px}.mediaCard audio{width:100%}.mediaCard small{color:#65796e}.selectedMedia{display:flex;align-items:center;gap:8px;margin:8px 0}.selectedMedia img{width:60px;height:45px;object-fit:cover;border-radius:6px}.selectedMedia span{flex:1;overflow-wrap:anywhere}.webPreview>img{max-height:220px;width:100%;object-fit:contain;border-radius:12px}.webPreview{margin:12px 0;overflow-wrap:anywhere}.webPreview strong{display:block}.galleryHero{width:100%;padding:0;border:0;background:transparent}.galleryHero img{display:block;max-height:50vh;width:100%;object-fit:contain;border-radius:12px}.galleryStrip{display:flex;gap:8px;overflow-x:auto;margin:10px 0}.galleryStrip img{width:75px;height:55px;object-fit:cover;border-radius:6px}.galleryStrip button{padding:2px;flex:none}.audioPlayer{padding:22px;background:#e8f2eb;border-radius:16px;text-align:center}.audioPlayer audio{width:100%}.soundWave{height:60px;display:flex;align-items:center;justify-content:center;gap:5px}.soundWave i{display:block;width:5px;height:12px;border-radius:5px;background:#559b80;animation:soundPulse .8s ease-in-out infinite alternate;animation-play-state:paused}.playing .soundWave i{animation-play-state:running}@keyframes soundPulse{to{height:48px}}.audioPlayer small{display:block;color:#65796e}.videoStart{width:100%;min-height:150px;background:#183d32;color:white;border-radius:14px;font-size:18px}#poiMediaView iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:12px}#poiViewer{width:min(820px,92vw)}#poiViewer .pswp{z-index:20}#mediaStatus{min-height:1.4em}#poiSelectedMedia{max-height:210px;overflow:auto}@media(prefers-reduced-motion:reduce){.soundWave i{animation:none}.playing .soundWave i:nth-child(odd){height:35px}}
#assetActionDialog{width:min(480px,90vw);border-radius:18px;}#assetActionMessage{overflow-wrap:anywhere;}#assetActionError{color:#c8102e;white-space:pre-line;}#assetActionDialog::backdrop{background:#0006;} .assetSections{margin-bottom:16px;}

#assetPicker .sectionTitle{flex-wrap:wrap}#assetPicker .sectionTitle h2{margin-bottom:0}#assetPicker .pickerActions{display:flex;gap:8px;margin-left:auto;align-items:center;flex-wrap:wrap}#assetPicker .pickerActions button{white-space:nowrap}

/* Isolated demo presentation only; server separately enforces feature access. */
[data-demo-disabled],.workflowAiStep,.aiImportPlaceholder,.sidebarAdminCard,.manualNavLink,#profileForm,#changePasswordForm,#mediaModelTab{display:none!important}

/* Transition classification belongs to excluded AI-assisted planning. */
.sceneTransitionRow{display:none!important}

html body #workspaceSidebar [data-demo-disabled],html body #workspaceSidebar .manualNavLink[hidden],html body #shell [data-demo-disabled]{display:none!important}
