:root{--navy:#142a45;--navy2:#263f59;--blue:#486c86;--gold:#ae823a;--goldlight:#e9d2a1;--cream:#f7f5f0;--pastel:#edf2f3;--mint:#e4eeea;--rose:#f0e8e5;--ink:#20364e;--muted:#536779;--line:#d7dfe3;--white:#fff;--shadow:0 18px 55px #142a4512}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font:16px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif}a{color:var(--blue)}button,input{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #9d7029;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.1rem,5vw,4.2rem);line-height:1.13;letter-spacing:-.04em}h2{font-size:clamp(1.35rem,2.5vw,2rem);line-height:1.24;letter-spacing:-.02em}h3{font-size:1.12rem}p{line-height:1.7}.brand{display:inline-flex;gap:10px;align-items:center;color:var(--navy);font-size:1.26rem;font-weight:800;text-decoration:none;letter-spacing:-.025em;white-space:nowrap}.brand b{color:#8b642b}.site-header,.app-header{padding:17px max(24px,calc((100vw - 1320px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px;background:#ffffffda;border-bottom:1px solid #dfe5e7}.nav-info{font-size:.89rem;color:var(--muted)}.eyebrow{font-size:.77rem;letter-spacing:.17em;text-transform:uppercase;color:#8b642b;font-weight:800}.hero{max-width:1320px;margin:auto;min-height:620px;padding:76px 28px 85px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:6%}.hero h1 em{font-style:normal;color:#9b7337}.hero-copy{max-width:600px}.hero-copy .lead{font-size:1.13rem;color:#4a6070;margin:27px 0 34px}.hero-art img{display:block;width:100%;height:auto;border-radius:25px;box-shadow:var(--shadow)}.btn{border:1px solid transparent;border-radius:13px;padding:12px 20px;display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;font-size:.93rem;font-weight:750;min-height:46px;transition:background .15s,transform .15s}.btn:hover{transform:translateY(-1px)}.btn.primary{background:var(--navy);color:#fff}.btn.primary:hover{background:#294a68}.btn.secondary{background:#fff;color:var(--navy);border:1px solid var(--line)}.btn.secondary:hover{background:var(--pastel)}.hero-cta{padding:16px 26px;font-size:1rem}.trust{display:flex;flex-wrap:wrap;gap:10px 19px;color:#556c79;font-size:.82rem;margin-top:24px}.landing-content{padding:72px 24px 93px;background:#fff;text-align:center}.landing-content h2{max-width:720px;margin:0 auto 37px}.center{text-align:center}.feature-grid{max-width:1150px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;text-align:left}.feature-grid article{padding:32px;border-radius:20px;background:var(--pastel);border:1px solid #dfe6e8}.feature-grid article:nth-child(2){background:#f7f1e8}.feature-grid article:nth-child(3){background:var(--mint)}.feature-icon{font-size:2.2rem;color:#92703e}.feature-grid p{color:var(--muted);font-size:.94rem}.ethical{padding:75px 24px;background:#e9eeef}.ethical>div{max-width:850px;margin:auto}.ethical p:last-child{color:var(--muted)}.footer{padding:30px max(24px,calc((100vw - 1320px)/2));display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;font-size:.84rem;color:var(--muted)}.footer nav{display:flex;gap:20px}.footer a{text-decoration:none}.auth{min-height:calc(100svh - 2px);padding:40px 17px;display:grid;place-items:center;background:radial-gradient(circle at 10% 10%,#e6edee,transparent 46%),radial-gradient(circle at 95% 90%,#e8dbbf,transparent 35%),#f7f5f0}.auth-card{width:min(100%,460px);background:#fff;padding:clamp(24px,5vw,44px);border:1px solid #dfe5e8;border-radius:23px;box-shadow:var(--shadow)}.auth-card.wide{width:min(100%,760px)}.auth-card h1{font-size:2rem;margin:18px 0 12px}.auth-card p{color:var(--muted)}.stack{display:grid;gap:17px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.span2{grid-column:1/-1}label{display:grid;gap:7px;font-size:.87rem;font-weight:700;color:var(--ink)}input{width:100%;min-width:0;padding:12px 13px;border:1px solid #b8c5cc;border-radius:10px;background:#fff;color:var(--navy)}input:focus{border-color:#a87c38}input[type=color]{height:45px;padding:4px}.alert{color:#832d2d!important;background:#fff1ee;border:1px solid #efc8c1;border-radius:10px;padding:10px 12px}.small{font-size:.84rem}.mini{font-size:.73rem}.muted{color:var(--muted)}.dashboard{max-width:1320px;padding:54px 25px;margin:auto}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-bottom:36px}.section-head h1{font-size:clamp(2rem,4vw,2.9rem);margin:4px 0 10px}.session-card,.admin-strip,.empty{border:1px solid var(--line);border-radius:18px;padding:25px;background:#fff;box-shadow:0 6px 22px #142a4507}.sessions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,310px),1fr));gap:20px}.session-card h2{font-size:1.32rem;margin:10px 0}.session-card .actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.session-icon{font-size:2.3rem;color:var(--gold)}.text-button{color:var(--blue);border:0;background:transparent;font-size:.83rem;text-decoration:underline;padding:7px}.admin-strip{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:25px;background:#edf1eb}.admin-strip p{margin:0}.empty{grid-column:1/-1;text-align:center;padding:65px 20px}.empty-icon{font-size:3rem;color:var(--gold)}.dashboard-disclaimer{margin-top:30px}.user-head{display:flex;align-items:center;gap:20px}.header-user{font-size:.86rem;color:var(--muted)}.softlink{font-size:.87rem;text-decoration:none;color:var(--blue);font-weight:750}.studio{--studio-height:calc(100svh - 74px);height:var(--studio-height);display:flex;flex-direction:column;min-height:430px}.studio-toolbar{padding:12px 25px;display:flex;justify-content:space-between;align-items:center;gap:14px;border-bottom:1px solid var(--line);background:#f9faf9}.studio-toolbar h1{font-size:1.17rem;letter-spacing:-.01em;margin:4px 0 0}.toolbar-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px}#saveStatus{font-size:.79rem;color:var(--muted);max-width:230px}.studio-layout{display:grid;grid-template-columns:235px minmax(0,1fr) 240px;flex:1;min-height:0}.studio-side{overflow:auto;padding:23px 17px;background:#fff;min-width:0}.studio-side.left{border-right:1px solid var(--line)}.studio-side.right{border-left:1px solid var(--line)}.studio-side h2{font-size:1.05rem;margin:8px 0 17px}.studio-side hr{border:none;border-top:1px solid var(--line);margin:19px 0}.tool{display:block;width:100%;padding:12px 11px;margin-bottom:7px;color:var(--ink);text-align:left;background:#f5f7f7;border:1px solid #dae2e5;border-radius:10px;font-weight:650;font-size:.86rem}.tool:hover{background:#e8eff0}.tool.danger{color:#863e38;background:#fff5f3;border-color:#efd2cb}.scene-wrap{position:relative;min-width:0;min-height:260px;overflow:hidden;background:radial-gradient(ellipse at center,#e7eeed,#cedcdd);isolation:isolate}.scene-wrap canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}.scene-wrap canvas:active{cursor:grabbing}.scene-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}.scene-label{position:absolute;transform:translate(-50%,-50%);background:#ffffffef;border:1px solid #d1d9d9;border-radius:22px;box-shadow:0 2px 11px #20364e13;padding:3px 9px;font-size:11px;font-weight:750;white-space:nowrap;max-width:130px;overflow:hidden;text-overflow:ellipsis;color:#263f59}.scene-label.selected{border-color:var(--gold);box-shadow:0 0 0 2px #ddba78aa}.scene-top,.scene-bottom{pointer-events:none;position:absolute;left:15px;right:15px;display:flex;align-items:center;justify-content:space-between;gap:10px;z-index:2}.scene-top{top:14px}.scene-bottom{bottom:15px;color:var(--ink);font-size:.72rem}.scene-top>* ,.scene-bottom button{pointer-events:auto}.scene-pill{background:#fffdf3;border:1px solid #dccba7;border-radius:30px;padding:6px 12px;font-weight:700;color:#82653b;font-size:.76rem}.scene-control{color:var(--ink);border:1px solid #c5d1d8;background:#fffffff0;border-radius:9px;padding:8px 12px;font-weight:700;font-size:.77rem}.scene-control:hover{background:#eaf0f1}.scene-bottom>div{display:flex;gap:5px}.inspector-form{display:grid;gap:13px}.inspector-form .tool{margin:0}.inspector-form .danger{margin-top:10px}.viewer{height:calc(100svh - 74px);display:flex;flex-direction:column}.viewer .scene-wrap{flex:1;min-height:260px}.viewer-footer{padding:8px 20px;margin:0;color:var(--muted);font-size:.75rem;text-align:center}.viewer:fullscreen,.scene-wrap:fullscreen{width:100vw;height:100dvh;background:#e2e9e9}.viewer .scene-wrap.fullscreen-fallback,.scene-wrap.fullscreen-fallback{position:fixed!important;inset:0!important;z-index:99999;width:100vw!important;height:100dvh!important}.legal{max-width:800px;padding:75px 25px;margin:auto}.legal h1{font-size:2.8rem}.legal h2{margin-top:30px}.error-page{text-align:center;max-width:650px;margin:12vh auto;padding:30px}.error-page h1{font-size:2.9rem}.error-page .error-symbol{font-size:5rem;color:var(--gold)}@media(max-width:1100px){.studio-layout{grid-template-columns:180px minmax(0,1fr) 200px}.studio-side{padding:17px 12px}.studio-toolbar{padding:11px 14px}}@media(max-width:850px){.hero{grid-template-columns:1fr;padding:60px 23px}.hero-art{max-width:660px}.feature-grid{grid-template-columns:1fr}.studio{height:auto;min-height:calc(100svh - 70px)}.studio-layout{display:flex;flex-direction:column}.studio-layout .scene-wrap{height:min(66svh,650px);min-height:330px;order:0}.studio-side{border:none!important;overflow:visible}.studio-side.left{order:1;display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.studio-side.left .eyebrow,.studio-side.left h2,.studio-side.left hr,.studio-side.left p{grid-column:1/-1}.studio-side.right{order:2}.studio-toolbar{align-items:flex-start}.viewer{height:calc(100svh - 74px)}.viewer .scene-wrap{min-height:260px}}@media(max-width:580px){.site-header,.app-header{padding:13px 18px}.nav-info,.header-user{display:none}.hero{padding:45px 20px 57px;gap:40px}.hero h1{font-size:2.55rem}.hero-copy .lead{font-size:1rem}.section-head{align-items:flex-start;flex-direction:column}.dashboard{padding:30px 16px}.studio-toolbar{flex-direction:column;gap:8px}.toolbar-actions{width:100%}.toolbar-actions .btn{padding:9px 12px;min-height:40px;font-size:.79rem}#saveStatus{width:100%;max-width:none}.studio-side.left{grid-template-columns:repeat(2,1fr)}.scene-bottom{font-size:.66rem}.scene-top{top:9px;left:9px;right:9px}.scene-bottom{bottom:9px;left:9px;right:9px}.scene-control{font-size:.69rem;padding:7px}.form-grid{grid-template-columns:1fr}.span2{grid-column:auto}.user-head{gap:10px}.viewer .studio-toolbar{flex-direction:row;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

.team-section{margin-top:42px}.team-list{display:grid;gap:12px}.team-item{background:#fff;border:1px solid var(--line);border-radius:13px;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.team-item p{margin:4px 0 0}.team-item .actions{display:flex;gap:8px;flex-wrap:wrap}

.fake-link{background:none;border:0;padding:0;cursor:pointer}.fake-link:hover{text-decoration:underline}

/* Constela 360 v0.2.0 RC1 · catálogo progresivo de mallas 3D */
.character-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:12px 0 18px}
.character-card{display:flex;flex-direction:column;align-items:stretch;gap:7px;min-width:0;border:1px solid #d9e3e6;border-radius:12px;background:#f9fbfa;color:#243d52;padding:7px;cursor:pointer;text-align:left;transition:transform .16s,border-color .16s,box-shadow .16s}
.character-card:hover{transform:translateY(-2px);border-color:#a78b5a;box-shadow:0 7px 15px #1f3a4c1c}
.character-card:focus-visible{outline:3px solid #b69152;outline-offset:2px}
.character-card img{width:100%;height:117px;object-fit:cover;object-position:center 36%;border-radius:7px;background:#dce9e9}
.character-card span{font-size:.73rem;line-height:1.35;font-weight:750}
.inspector-form select{width:100%;min-width:0;padding:10px 9px;border:1px solid #b8c5cc;border-radius:10px;background:#fff;color:#203b55}
@media(min-width:851px) and (max-width:1100px){.character-catalog{grid-template-columns:1fr}}
@media(max-width:850px){.studio-side.left .character-catalog{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,145px));justify-content:flex-start}.studio-side.left>h2{grid-column:1/-1}}

/* G1: etiquetas claras en escena / miniaturas basadas en modelo entregado */
.scene-label{max-width:180px;font-size:11px;text-overflow:ellipsis;background:#fffffff5;border-color:#bdcbd0;box-shadow:0 3px 13px #19334522}
.character-card img{height:128px;object-fit:contain;object-position:center center;background:#eff3f3}
.character-card span{min-height:2.8em}
@media(max-width:580px){.scene-label{max-width:125px;font-size:10px}}

/* CONSTELA 360 G2: visual hierarchy / filter / zone interaction */
.catalog-filter-label{font-size:.75rem;color:#31485c;margin:4px 0 5px;font-weight:750}
.catalog-filter{display:block;width:100%;min-width:0;min-height:39px;border:1px solid #b7cbd0;background:#fff;border-radius:10px;color:#20364c;padding:8px;margin-bottom:6px}
#catalogCount{margin:5px 0 10px}.character-catalog{gap:9px}
.character-card{background:#fff;border-color:#ccd9d9}.character-card img{height:119px;object-fit:contain;background:#f3f5f2}
.character-card span{font-size:.73rem;line-height:1.35}.scene-label{max-width:140px;min-width:60px;text-align:center;font-size:11px;box-shadow:0 2px 10px #162d4214}
.scene-label-compact{max-width:100px;opacity:.86}.zone-check{display:flex!important;flex-direction:row!important;align-items:center!important;gap:10px}
.zone-check input{width:17px;height:17px;flex-shrink:0;accent-color:#527f7b}
.inspector-form input[type=range]{accent-color:#4e8683}
.scene-wrap{background:radial-gradient(circle at 50% 40%,#edf3f1,#d1dfdd)}
@media(max-width:850px){.studio-side.left>.catalog-filter,.studio-side.left>.catalog-filter-label,.studio-side.left>#catalogCount{grid-column:1/-1}.studio-side.left .character-catalog{grid-template-columns:repeat(auto-fill,minmax(115px,135px))}}

/* G2-RC2: neutral semantic zones; per-character wardrobe tint control */
.zone-label{position:absolute;transform:translate(-50%,-50%);pointer-events:none;font-size:11px;font-weight:700;background:rgba(255,255,255,.90);color:#35535d;border:1px solid #b8ccca;border-radius:15px;padding:3px 9px;white-space:nowrap;box-shadow:0 2px 8px #1b414114;z-index:2}.zone-label.active{border-color:#be883c;color:#7d5525}.zone-members{border:1px solid #d7e1e0;border-radius:10px;padding:10px;background:#f7faf9;margin-top:12px;overflow-wrap:anywhere}.zone-members strong{color:#173c4c;font-size:13px}.zone-members p{margin:.45rem 0 0}.zone-check{display:flex!important;align-items:flex-start;gap:8px;font-size:12px;margin:9px 0!important}.zone-check input{width:auto!important;flex:none;margin:2px 0!important}

/* G3 camera sharing: controls never obscure the scene or labels */
.viewer-view-modes{position:relative;z-index:4;display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:12px 14px;background:#f8fbfc;border-bottom:1px solid #dbe5e8;color:#23415a}
.view-mode{padding:9px 14px;background:white;border:1px solid #bacbd2;border-radius:9px;color:#233d59;font-weight:700;cursor:pointer;font:inherit}
.view-mode.active,.view-mode[aria-pressed="true"]{background:#142a45;color:white;border-color:#142a45}
.viewer-mode-hint{font-size:12px;margin-left:8px;flex:1;min-width:200px}
.guide-publish-status{font-size:11px;color:#24475a;background:#fff;border:1px solid #d1dddf;border-radius:12px;padding:4px 9px;max-width:220px}
@media(max-width:700px){.viewer-view-modes{padding:8px;gap:5px}.viewer-mode-hint{min-width:100%;margin:3px 0}.guide-publish-status{display:none}}

/* PRO-RC1: non-obstructive connectivity indication. */
.live-pill{font:600 11px/1.2 system-ui,sans-serif;display:inline-flex;align-items:center;padding:6px 9px;border-radius:30px;background:#eaf5ef;color:#186347;border:1px solid #b7ddca;white-space:nowrap}
.live-pill[data-state="offline"]{background:#fff0eb;color:#974229;border-color:#edc3b7}
.live-pill[data-state="connecting"]{background:#f5f1e6;color:#785f22;border-color:#ddd2b3}
@media(max-width:640px){.live-pill{font-size:10px}.viewer-view-modes{flex-wrap:wrap}}


/* CONSTELA 360 PRO Fluid & UX 0.6.1 — work surface, not a decorative redesign */
.studio-toolbar{background:#fff;box-shadow:0 3px 14px rgba(20,42,69,.04);z-index:3}
.studio-layout{grid-template-columns:244px minmax(0,1fr) 250px;transition:grid-template-columns .18s ease}
.studio.tools-collapsed .studio-layout{grid-template-columns:0 minmax(0,1fr) 250px}
.studio.inspector-collapsed .studio-layout{grid-template-columns:244px minmax(0,1fr) 0}
.studio.tools-collapsed.inspector-collapsed .studio-layout{grid-template-columns:0 minmax(0,1fr) 0}
.studio.tools-collapsed .studio-side.left,.studio.inspector-collapsed .studio-side.right{display:none}
.studio-side{background:#fbfcfc;padding:18px 15px}
.studio-side h2{font-size:.97rem;color:#172f47}
.studio-side .tool{background:#fff;border-color:#d4e0e0;box-shadow:0 2px 5px #173a4b08}
.studio-side .tool:hover{background:#eaf2f0;border-color:#adc8c5}
.scene-wrap{background:radial-gradient(circle at 50% 40%,#ebf2ef,#cbdbd9)}
.scene-top{flex-wrap:wrap;justify-content:flex-end;align-items:center;row-gap:6px;max-width:100%}
.scene-top .scene-pill{margin-right:auto}
.scene-control{box-shadow:0 3px 9px #132c3c0d;transition:background .15s,border-color .15s}
.scene-control:hover,.scene-control:focus-visible{border-color:#7c9a97}
.scene-labels.is-hidden{display:none}
.scene-label{padding:5px 9px;border:1px solid #c9d4d3;background:#ffffffed;color:#19354a;font-weight:700;box-shadow:0 4px 13px #142a4517}
.scene-label.selected{background:#fffbef;color:#654718;border-color:#bd9451}
.scene-label-compact{opacity:.76;font-size:10px}
.scene-bottom{background:linear-gradient(90deg,#e9f0edc9,#e9f0ed00);border-radius:8px;padding:4px 6px}
.character-card{box-shadow:0 3px 12px #1b34380a}
.character-card:focus-visible{outline-offset:0}
.network-stats{font-size:11px;color:#4e687b;white-space:nowrap;border-left:1px solid #d9e3e3;padding-left:8px;font-variant-numeric:tabular-nums}
.panel-toggle{font-size:.76rem;min-height:35px;padding:8px 10px;border-radius:10px}
.viewer-view-modes{background:#fff;box-shadow:0 2px 10px #132f4710}
@media(max-width:1100px) and (min-width:851px){
 .studio-layout{grid-template-columns:190px minmax(0,1fr) 205px}
 .studio.tools-collapsed .studio-layout{grid-template-columns:0 minmax(0,1fr) 205px}
 .studio.inspector-collapsed .studio-layout{grid-template-columns:190px minmax(0,1fr) 0}
}
@media(max-width:850px){
 .studio-layout,.studio.tools-collapsed .studio-layout,.studio.inspector-collapsed .studio-layout,.studio.tools-collapsed.inspector-collapsed .studio-layout{display:flex;flex-direction:column}
 .studio-toolbar .panel-toggle{display:none}
 .studio-side{background:#fff}
 .scene-top{top:8px;left:8px;right:8px}
 .scene-top .scene-control{padding:6px 8px}
 .scene-bottom>span{max-width:70%}
}
@media(max-width:530px){.scene-top .guide-publish-status{display:none}.scene-top .scene-pill{font-size:10px;padding:5px 7px}.scene-top .scene-control{font-size:10px}.network-stats{font-size:10px;padding-left:5px}.studio-toolbar h1{font-size:1rem}}


/* CONSTELA 360 PRO 0.6.2 — Immersive fullscreen for desktop, tablet and mobile. */
.fullscreen-viewer-exit{display:none;}
.viewer .scene-wrap:is(:fullscreen,.fullscreen-fallback) .fullscreen-viewer-exit{
 display:block;position:absolute;top:max(10px,env(safe-area-inset-top,0px));
 right:max(10px,env(safe-area-inset-right,0px));z-index:12;
 border:1px solid #142a45;border-radius:10px;background:#142a45;color:#fff;
 padding:11px 16px;min-height:42px;box-shadow:0 3px 12px #172f4733;font-weight:700;
 touch-action:manipulation;cursor:pointer;
}
.scene-wrap:fullscreen,
.scene-wrap.fullscreen-fallback,
.scene-wrap:-webkit-full-screen {
 position:fixed !important;
 inset:0 !important;
 width:100vw !important;
 height:var(--scene-viewport-height,100dvh) !important;
 max-height:none !important;
 min-height:0 !important;
 max-width:none !important;
 overflow:hidden !important;
 box-sizing:border-box !important;
 z-index:2147483645 !important;
 border:0 !important;
 border-radius:0 !important;
 background:#d9e5e2 !important;
}
.scene-wrap:fullscreen canvas,.scene-wrap.fullscreen-fallback canvas{width:100% !important;height:100% !important;}
html.constela-immersive,html.constela-immersive body{overscroll-behavior:none;overflow:hidden !important;}
.scene-wrap:is(:fullscreen,.fullscreen-fallback) .scene-top{
 top:max(10px,env(safe-area-inset-top,0px)) !important;
 left:max(12px,env(safe-area-inset-left,0px)) !important;
 right:max(12px,env(safe-area-inset-right,0px)) !important;
 z-index:8;
 justify-content:flex-end;
 flex-wrap:wrap;
}
.scene-wrap:is(:fullscreen,.fullscreen-fallback) .scene-bottom{
 bottom:max(10px,env(safe-area-inset-bottom,0px)) !important;
 left:max(12px,env(safe-area-inset-left,0px)) !important;
 right:max(12px,env(safe-area-inset-right,0px)) !important;
 z-index:8;
}
.scene-wrap:is(:fullscreen,.fullscreen-fallback) #fullscreenBtn{background:#142a45;color:#fff;border-color:#142a45;min-height:42px;touch-action:manipulation;}
.scene-wrap:is(:fullscreen,.fullscreen-fallback) .scene-control{min-height:42px;touch-action:manipulation;}
.viewer .scene-wrap:is(:fullscreen,.fullscreen-fallback) .viewer-view-modes{
 position:absolute;top:max(58px,env(safe-area-inset-top,0px));
 left:max(8px,env(safe-area-inset-left,0px));right:max(8px,env(safe-area-inset-right,0px));
 width:auto;max-height:42%;overflow-y:auto;border:1px solid #c8d9d6;border-radius:12px;
 box-shadow:0 8px 24px #233b4a18;background:#fffffff0;z-index:10;
}
@media(max-width:720px){
 .scene-wrap:is(:fullscreen,.fullscreen-fallback) .scene-top{gap:5px;align-items:flex-start;justify-content:flex-end;}
 .scene-wrap:is(:fullscreen,.fullscreen-fallback) .scene-top #sceneMode,
 .scene-wrap:is(:fullscreen,.fullscreen-fallback) .scene-top #guidePublishStatus{display:none;}
 .scene-wrap:is(:fullscreen,.fullscreen-fallback) .scene-bottom>span{display:none;}
 .scene-wrap:is(:fullscreen,.fullscreen-fallback) .scene-bottom{justify-content:flex-end;}
 .scene-wrap:is(:fullscreen,.fullscreen-fallback) .scene-control{font-size:12px;padding:8px 10px;}
 .viewer .scene-wrap:is(:fullscreen,.fullscreen-fallback) .viewer-view-modes{gap:4px;padding:8px;}
 .viewer .scene-wrap:is(:fullscreen,.fullscreen-fallback) .viewer-mode-hint{display:none;}
 .viewer .scene-wrap:is(:fullscreen,.fullscreen-fallback) .view-mode{font-size:12px;padding:8px 10px;min-height:36px;}
}
@media(max-width:390px){
 .scene-wrap:is(:fullscreen,.fullscreen-fallback) .scene-top #toggleLabels{display:none;}
 .scene-wrap:is(:fullscreen,.fullscreen-fallback) .scene-top{left:4px;right:max(7px,env(safe-area-inset-right,0px));}
 .viewer .scene-wrap:is(:fullscreen,.fullscreen-fallback) .viewer-view-modes .network-stats{display:none;}
}

/* CONSTELA 360 v0.6.3 PRO Premium — mobile workspaces and compact spectator HUD */
.mobile-pane-btn,.mobile-drawer-close,.mobile-drawer-backdrop{display:none}
.pro-color-palette{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:-4px 0 0}
.pro-swatch{display:block;min-height:42px;width:100%;background:var(--swatch);border:2px solid #ffffff;border-radius:9px;box-shadow:0 0 0 1px #b5c4c8;touch-action:manipulation}
.pro-swatch:hover,.pro-swatch:focus-visible{box-shadow:0 0 0 2px #16354d;transform:translateY(-1px)}
.pro-swatch[aria-pressed="true"]{outline:3px solid #c79343;outline-offset:1px}
.pro-color-note{margin:-3px 0 1px!important}
/* Viewer status is an unobtrusive compact HUD, never a broad white overlay. */
.viewer .scene-wrap{position:relative}
.viewer .scene-wrap .viewer-view-modes{
 position:absolute;top:max(10px,env(safe-area-inset-top,0px));left:max(10px,env(safe-area-inset-left,0px));right:auto;
 width:max-content;max-width:calc(100% - 20px);display:flex;flex-wrap:nowrap;align-items:center;
 gap:5px;padding:6px;border-radius:14px;border:1px solid #cadbdc;
 background:rgba(255,255,255,.94);box-shadow:0 6px 22px #1933481a;
 z-index:8;pointer-events:auto;
}
.viewer .viewer-view-modes .viewer-mode-hint{display:none}
.viewer .viewer-view-modes .view-mode{font-size:12px;font-weight:750;min-height:36px;padding:7px 11px;white-space:nowrap}
.viewer .viewer-view-modes .network-stats{font-size:10px;padding-left:7px}
.viewer .viewer-view-modes .live-pill{font-size:10px;padding:5px 7px}
/* Native fullscreen and CSS fallback must use the same HUD positioning. */
.viewer .scene-wrap:is(:fullscreen,.fullscreen-fallback) .viewer-view-modes{
 position:absolute;top:max(12px,env(safe-area-inset-top,0px));left:max(12px,env(safe-area-inset-left,0px));right:auto;
 width:max-content;max-width:calc(100% - 155px);max-height:none;overflow:visible;
 border-radius:14px;padding:6px;z-index:10;flex-wrap:nowrap;
}
.viewer .scene-wrap:is(:fullscreen,.fullscreen-fallback) .fullscreen-viewer-exit{top:max(12px,env(safe-area-inset-top,0px));right:max(12px,env(safe-area-inset-right,0px));z-index:12}
.viewer .scene-wrap .scene-bottom{left:12px;right:12px;bottom:max(10px,env(safe-area-inset-bottom,0px));}
@media(max-width:950px){
 .viewer .viewer-view-modes .network-stats{display:none}
 .viewer .scene-wrap .viewer-view-modes{gap:4px;padding:5px}
 .viewer .viewer-view-modes .view-mode{font-size:12px;padding:6px 9px}
}
@media(max-width:600px){
 .viewer .scene-wrap .viewer-view-modes{left:max(6px,env(safe-area-inset-left,0px));top:max(8px,env(safe-area-inset-top,0px));max-width:calc(100% - 12px)}
 .viewer .scene-wrap:is(:fullscreen,.fullscreen-fallback) .viewer-view-modes{max-width:calc(100% - 88px);left:max(6px,env(safe-area-inset-left,0px))}
 .viewer .viewer-view-modes .view-mode{font-size:11px;padding:6px 8px;min-height:34px}
 .viewer .viewer-view-modes .live-pill{padding:4px 6px}
 .viewer .scene-wrap:is(:fullscreen,.fullscreen-fallback) .fullscreen-viewer-exit{font-size:12px;padding:6px 9px;min-height:34px}
 .viewer .scene-wrap .scene-bottom>span{display:none}
 .viewer .scene-wrap .scene-bottom{justify-content:flex-end}
}
@media(max-width:390px){.viewer .viewer-view-modes .live-pill{display:none}}
/* A real mobile workstation: scene first; tools and inspector are independent drawers. */
@media(max-width:850px){
 .studio{height:auto;min-height:calc(100dvh - 65px)}
 .studio-toolbar{padding:9px 12px;gap:8px;align-items:stretch}
 .studio-toolbar h1{font-size:1rem;margin-top:2px}
 .studio-toolbar .toolbar-actions{display:flex;gap:5px;align-items:center;flex-wrap:wrap;width:100%;}
 .studio-toolbar .toolbar-actions #saveStatus{font-size:.72rem;flex:1 1 100%;width:auto;order:5}
 .studio-toolbar .toolbar-actions .btn{min-height:38px;padding:7px 10px;font-size:.75rem}
 .studio-toolbar .panel-toggle{display:none!important}
 .mobile-pane-btn{display:inline-flex!important}
 .studio-layout,.studio.tools-collapsed .studio-layout,.studio.inspector-collapsed .studio-layout,.studio.tools-collapsed.inspector-collapsed .studio-layout{display:flex;flex-direction:column;min-height:0;flex:1}
 .studio-layout .scene-wrap{order:0;height:max(410px,calc(100dvh - 205px));min-height:380px;flex:none;}
 .studio-layout .studio-side.left,.studio-layout .studio-side.right,
 .studio.tools-collapsed .studio-side.left,.studio.inspector-collapsed .studio-side.right{
   display:block;position:fixed;z-index:1002;top:0;bottom:0;left:0;right:auto;
   width:min(88vw,365px);max-height:100dvh;overflow-y:auto;overscroll-behavior:contain;
   background:#fff;box-shadow:10px 0 40px #102b4352;padding:16px;
   transform:translateX(-110%);visibility:hidden;transition:transform .2s ease,visibility .2s;
   border:0!important;
 }
 .studio-layout .studio-side.right,.studio.inspector-collapsed .studio-side.right{left:auto;right:0;transform:translateX(110%);box-shadow:-10px 0 40px #102b4352}
 .studio.mobile-tools-open .studio-side.left,.studio.mobile-inspector-open .studio-side.right{transform:translateX(0);visibility:visible}
 .mobile-drawer-close{display:block;position:sticky;top:0;z-index:2;width:100%;min-height:44px;text-align:left;border:1px solid #d3dfdf;border-radius:10px;background:#f3f8f7;color:#18364d;font-weight:750;margin-bottom:14px}
 .mobile-drawer-backdrop{display:none;position:fixed;z-index:1001;inset:0;background:rgba(11,26,42,.42)}
 .studio:is(.mobile-tools-open,.mobile-inspector-open) .mobile-drawer-backdrop{display:block}
 body.constela-drawer-active{overflow:hidden}
 .studio-side.left .character-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .scene-top{justify-content:flex-end;gap:5px;left:8px;right:8px;top:7px}
 .scene-top .scene-pill{display:none}
 .scene-top .guide-publish-status{display:none}
 .scene-top .scene-control{padding:7px 8px;font-size:11px;min-height:36px}
 .scene-bottom>span{display:none}
 .scene-bottom{justify-content:flex-end}
}
@media(max-width:580px){
 .studio-toolbar{flex-direction:column}
 .studio-toolbar .toolbar-actions .btn.primary{order:0}
 .studio-toolbar .toolbar-actions #shareBtn{order:1}
 .studio-toolbar .toolbar-actions #mobileToolsBtn{order:2}
 .studio-toolbar .toolbar-actions #mobileInspectorBtn{order:3}
 .studio-toolbar .toolbar-actions #exportBtn{display:none}
 .studio-layout .scene-wrap{height:max(390px,calc(100dvh - 245px))}
 .studio-toolbar .toolbar-actions{gap:5px}
 .studio .scene-top #toggleLabels{display:none}
}
@media(prefers-reduced-motion:reduce){.studio-layout .studio-side{transition:none!important}}


/* 0.6.4 PRO Sync Fidelity & Mobile Immersive — compact unobstructed fullscreen */
.hud-reveal-btn{display:none}
@media(max-width:760px){
 .viewer .scene-wrap:is(:fullscreen,.fullscreen-fallback) .viewer-view-modes{
   top:max(6px,env(safe-area-inset-top,0px));left:max(8px,env(safe-area-inset-left,0px));
   width:auto;max-width:calc(100% - 58px);padding:3px;border-radius:12px;gap:2px;
   background:rgba(255,255,255,.76);backdrop-filter:blur(8px);
   transition:opacity .18s ease,transform .18s ease;box-shadow:0 2px 12px #132d3d17;
 }
 .viewer .scene-wrap:is(:fullscreen,.fullscreen-fallback) .view-mode{
   min-height:30px;padding:4px 7px;font-size:10px;border-radius:8px;
 }
 .viewer .scene-wrap:is(:fullscreen,.fullscreen-fallback) .live-pill,
 .viewer .scene-wrap:is(:fullscreen,.fullscreen-fallback) .network-stats{display:none!important}
 .viewer .scene-wrap:is(:fullscreen,.fullscreen-fallback) .fullscreen-viewer-exit{
   display:flex;align-items:center;justify-content:center;
   top:max(7px,env(safe-area-inset-top,0px));right:max(7px,env(safe-area-inset-right,0px));
   height:32px;width:32px;min-height:32px;padding:0;font-size:14px;border-radius:10px;
   background:rgba(20,42,69,.78);backdrop-filter:blur(7px);
 }
 .viewer .scene-wrap:is(:fullscreen,.fullscreen-fallback) .scene-bottom{
   right:max(8px,env(safe-area-inset-right,0px));bottom:max(10px,env(safe-area-inset-bottom,0px));
   transition:opacity .18s ease,transform .18s ease;
 }
 .viewer .scene-wrap:is(:fullscreen,.fullscreen-fallback) .scene-bottom .scene-control{
   height:32px;min-height:32px;min-width:32px;padding:3px 8px;font-size:12px;border-radius:9px;
   background:rgba(255,255,255,.76);backdrop-filter:blur(6px);
 }
 .viewer .scene-wrap:is(:fullscreen,.fullscreen-fallback) #resetView{font-size:0;width:32px;padding:0}
 .viewer .scene-wrap:is(:fullscreen,.fullscreen-fallback) #resetView::after{content:'⌖';font-size:18px}
 .viewer .scene-wrap:is(:fullscreen,.fullscreen-fallback) .hud-reveal-btn{
   display:flex;align-items:center;justify-content:center;
   position:absolute;top:max(8px,env(safe-area-inset-top,0px));
   left:max(8px,env(safe-area-inset-left,0px));z-index:13;
   min-width:32px;height:32px;padding:0;border-radius:10px;
   background:rgba(20,42,69,.7);border:1px solid #ffffff40;color:#fff;
   opacity:0;pointer-events:none;transition:opacity .18s ease;
 }
 .viewer .scene-wrap:is(:fullscreen,.fullscreen-fallback).hud-dimmed .viewer-view-modes,
 .viewer .scene-wrap:is(:fullscreen,.fullscreen-fallback).hud-dimmed .scene-bottom{
   opacity:0;transform:translateY(-5px);pointer-events:none;
 }
 .viewer .scene-wrap:is(:fullscreen,.fullscreen-fallback).hud-dimmed .hud-reveal-btn{opacity:1;pointer-events:auto}
 /* preserve a small, visible exit control even when controls are hidden */
 .viewer .scene-wrap:is(:fullscreen,.fullscreen-fallback).hud-dimmed .fullscreen-viewer-exit{opacity:.66}
 .viewer .scene-label{font-size:10px;max-width:90px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
}
@media(prefers-reduced-motion:reduce){.viewer .scene-wrap .viewer-view-modes,.viewer .scene-wrap .scene-bottom{transition:none!important}}

/* PRO v0.6.5 — verified local wardrobe feedback. Does not overlap the 3D scene. */
.constela-color-applied{font-size:.78rem;color:#24445b;display:flex;gap:9px;align-items:center;margin:0;padding:7px 9px;border:1px solid #d5e3e2;border-radius:9px;background:#f4f8f7;}
.constela-color-applied::before{content:'';display:inline-block;flex:0 0 15px;width:15px;height:15px;border-radius:5px;background:var(--live-wardrobe-color,#719ab4);border:1px solid #7893a0;box-shadow:0 0 0 2px #fff;}


/* CONSTELA 360 PRO v0.7 — session-scoped interactive participation, mobile-first. */
.participant-owner-status{font-size:11px;color:#40605b;max-width:155px;line-height:1.25}
#allowParticipantBtn[aria-pressed="true"]{background:#d8f0e4;border-color:#7ebda0;color:#18543d}
.studio.guest-control-active #toolsPane .tool:not(#revokeBtn),
.studio.guest-control-active #toolsPane .character-card,
.studio.guest-control-active #inspectorPane .inspector-form{pointer-events:none;opacity:.54}
.viewer .viewer-view-modes .participation-choice{background:#e8f3ef;color:#155644;border-color:#91bcad}
.viewer .viewer-view-modes .participation-choice.active{background:#17614c;color:#fff}
.viewer .viewer-view-modes .participation-choice[hidden],.participation-hint[hidden],.participant-rotate[hidden]{display:none!important}
.participation-hint{color:#1c5b4d;font-size:11px;white-space:nowrap;font-weight:750}
.participant-rotate{position:absolute;z-index:10;bottom:max(64px,calc(18px + env(safe-area-inset-bottom,0px)));left:50%;transform:translateX(-50%);background:rgba(255,255,255,.96);border:1px solid #c4d9d1;box-shadow:0 3px 20px #132f472c;border-radius:14px;padding:7px 11px;display:flex;align-items:center;gap:9px;max-width:min(90vw,360px);pointer-events:auto}
.participant-rotate label{font-size:11px;white-space:nowrap}.participant-rotate input{width:min(35vw,140px);padding:0;accent-color:#17614c}.participant-rotate button{background:#17614c;color:#fff;border:0;border-radius:8px;min-width:34px;min-height:34px}
.viewer.participant-enabled #sceneCanvas{cursor:grab}
@media(max-width:680px){.participant-owner-status{display:none}.viewer .viewer-view-modes .participation-hint{display:none}.participant-rotate{bottom:max(55px,calc(15px + env(safe-area-inset-bottom,0px)))}.viewer .viewer-view-modes .participation-choice{font-size:11px;padding:6px 8px}}
@media(max-width:390px){.viewer .viewer-view-modes .view-mode{padding:5px 6px;font-size:10px}.viewer .viewer-view-modes .participation-choice{min-height:31px}.participant-rotate label{display:none}}


/* =============================================================
   CONSTELA 360 PRO 0.7.1 — touch-first, low-obstruction UI
   A single responsive menu; no fixed rotation slider on selection.
   ============================================================= */
.viewer-compact-controls{display:none}
.viewer-optional-actions{display:none}
.owner-fullscreen-control{display:none}
@media(max-width:760px), (pointer:coarse) and (max-height:650px){
 .viewer .scene-wrap .viewer-compact-controls,
 .viewer .scene-wrap:is(:fullscreen,.fullscreen-fallback) .viewer-compact-controls{
  display:flex;align-items:center;gap:4px;position:absolute;z-index:17;
  top:max(8px,env(safe-area-inset-top,0px));left:max(8px,env(safe-area-inset-left,0px));
  max-width:calc(100% - 78px);padding:3px;border-radius:13px;
  background:rgba(255,255,255,.83);border:1px solid rgba(137,159,165,.38);
  box-shadow:0 3px 12px rgba(23,48,60,.11);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
 }
 .viewer-compact-controls button{min-height:38px;border:0;border-radius:9px;font-size:12px;font-weight:750;line-height:1.15;white-space:nowrap;touch-action:manipulation}
 .viewer .viewer-quick-mode{background:rgba(255,255,255,.64);color:#173b53;padding:0 12px;max-width:min(32vw,128px);overflow:hidden;text-overflow:ellipsis}
 .viewer .viewer-quick-mode.active{background:#17614c;color:#fff}
 .viewer .viewer-menu-trigger{background:transparent;color:#173b53;min-width:37px;padding:0 8px;font-size:23px;letter-spacing:2px}
 .viewer .scene-wrap .viewer-view-modes,
 .viewer .scene-wrap:is(:fullscreen,.fullscreen-fallback) .viewer-view-modes{
  display:none!important;flex-direction:column;align-items:stretch;gap:5px;
  position:absolute!important;top:calc(max(8px,env(safe-area-inset-top,0px)) + 52px)!important;
  left:max(8px,env(safe-area-inset-left,0px))!important;right:auto!important;
  width:min(232px,calc(100vw - 32px))!important;max-width:min(232px,calc(100vw - 32px))!important;
  max-height:min(69dvh,420px)!important;overflow-y:auto!important;
  padding:9px!important;border-radius:14px;background:rgba(255,255,255,.97)!important;
  box-shadow:0 12px 40px rgba(8,32,47,.22);z-index:18!important;
 }
 .viewer .scene-wrap.hud-menu-open .viewer-view-modes,
 .viewer .scene-wrap:is(:fullscreen,.fullscreen-fallback).hud-menu-open .viewer-view-modes{display:flex!important;opacity:1!important;transform:none!important;pointer-events:auto!important}
 .viewer .viewer-view-modes .view-mode{display:block;width:100%;min-height:40px;font-size:13px;text-align:left;padding:7px 12px}
 .viewer .viewer-view-modes .participation-hint,.viewer .viewer-view-modes .viewer-mode-hint,.viewer .viewer-view-modes .network-stats,.viewer .viewer-view-modes .live-pill{display:none!important}
 .viewer .viewer-optional-actions{display:flex;flex-direction:column;gap:3px;padding-top:8px;border-top:1px solid #dbe6e5;margin-top:5px}
 .viewer .viewer-optional-actions button{background:transparent;border:0;color:#23495a;border-radius:9px;font-size:12px;font-weight:650;min-height:37px;text-align:left;padding:6px 11px}
 .viewer .viewer-optional-actions button:active,.viewer .viewer-optional-actions button[aria-pressed="true"]{background:#e4f0ea}
 .viewer .scene-wrap .scene-bottom,
 .viewer .scene-wrap:is(:fullscreen,.fullscreen-fallback) .scene-bottom{display:none!important}
 .viewer .scene-wrap.viewer-zoom-visible .scene-bottom,
 .viewer .scene-wrap:is(:fullscreen,.fullscreen-fallback).viewer-zoom-visible .scene-bottom{
  display:flex!important;right:max(8px,env(safe-area-inset-right,0px))!important;
  bottom:max(8px,env(safe-area-inset-bottom,0px))!important;
  left:auto!important;width:auto!important;pointer-events:none
 }
 .viewer .scene-wrap.viewer-zoom-visible .scene-bottom>div{pointer-events:auto}
 .viewer .scene-wrap.viewer-zoom-visible .scene-bottom .scene-control{min-width:40px;min-height:40px;background:rgba(255,255,255,.83)}
 .viewer .scene-wrap.hud-dimmed .viewer-compact-controls{opacity:.73;transform:none;pointer-events:auto}
 .viewer .scene-wrap.hud-manual-hidden .viewer-compact-controls{display:none!important}
 .viewer .scene-wrap.hud-manual-hidden .viewer-view-modes{display:none!important}
 .viewer .scene-wrap.hud-manual-hidden .hud-reveal-btn{
  display:flex!important;position:absolute;opacity:1!important;pointer-events:auto!important;
  top:max(8px,env(safe-area-inset-top,0px));left:max(8px,env(safe-area-inset-left,0px));
  z-index:20;min-width:40px;min-height:40px;align-items:center;justify-content:center;
  padding:0;background:rgba(20,42,69,.85);border:1px solid rgba(255,255,255,.3);border-radius:11px;color:#fff;
 }
 .viewer .scene-wrap .participant-rotate,
 .viewer .scene-wrap:is(:fullscreen,.fullscreen-fallback) .participant-rotate{
  left:50%;bottom:max(15px,env(safe-area-inset-bottom,0px))!important;
  width:min(290px,calc(100% - 28px));max-width:290px;justify-content:space-between;
  padding:7px 8px;gap:6px;z-index:19;touch-action:manipulation;
  background:rgba(255,255,255,.9);backdrop-filter:blur(10px)
 }
 .viewer .participant-rotate label{display:none}
 .viewer .participant-rotate input{flex:1;width:auto;min-width:50px}
 .viewer .participant-rotate button{min-width:40px;min-height:40px}
 .viewer .scene-wrap .fullscreen-viewer-exit,
 .viewer .scene-wrap:is(:fullscreen,.fullscreen-fallback) .fullscreen-viewer-exit{
   width:38px;height:38px;min-width:38px;min-height:38px;border-radius:11px;
   top:max(8px,env(safe-area-inset-top,0px));right:max(8px,env(safe-area-inset-right,0px));
 }
 .viewer .scene-wrap:not(:fullscreen):not(.fullscreen-fallback) .fullscreen-viewer-exit{display:none!important}
 .viewer .scene-label{max-width:82px;font-size:10px;padding:2px 6px;pointer-events:none}
 .viewer .viewer-quick-mode:focus-visible,.viewer .viewer-menu-trigger:focus-visible{outline:2px solid #C29551;outline-offset:2px}
 .studio .scene-wrap:is(:fullscreen,.fullscreen-fallback) .owner-fullscreen-control{
  position:absolute;z-index:13;left:max(9px,env(safe-area-inset-left,0px));top:max(9px,env(safe-area-inset-top,0px));
  display:flex;align-items:center;justify-content:center;min-height:40px;padding:0 11px;
  border:1px solid rgba(255,255,255,.4);border-radius:10px;
  background:rgba(20,42,69,.83);color:#fff;font-weight:750;font-size:12px;backdrop-filter:blur(7px)
 }
 .studio .scene-wrap:is(:fullscreen,.fullscreen-fallback) .owner-fullscreen-control[aria-pressed="true"]{background:rgba(26,104,77,.92)}
 .studio .scene-wrap:is(:fullscreen,.fullscreen-fallback) .scene-top #resetView,
 .studio .scene-wrap:is(:fullscreen,.fullscreen-fallback) .scene-top #toggleLabels,
 .studio .scene-wrap:is(:fullscreen,.fullscreen-fallback) .scene-bottom{display:none!important}
 .studio .scene-wrap:is(:fullscreen,.fullscreen-fallback) .scene-top #fullscreenBtn{min-height:40px;padding:5px 10px;font-size:11px}
}
@media(prefers-reduced-motion:reduce){.viewer .viewer-compact-controls,.viewer .viewer-view-modes{transition:none!important}}
/* On spacious screens, fine rotation is also opt-in, not forced upon selection. */
@media (min-width:761px) and (min-height:651px){
 .viewer .viewer-optional-actions{display:flex;gap:4px;margin-left:6px;align-items:center}
 .viewer .viewer-optional-actions button{border:1px solid #d1dddc;border-radius:9px;background:#f7faf9;color:#204d45;min-height:34px;padding:5px 9px;font-size:11px;font-weight:700}
 .viewer .viewer-optional-actions button:disabled{display:none}
 .viewer .viewer-optional-actions button:not(#viewerRotationToggle){display:none}
}

/* PRO 0.7.2 — history is private to the authenticated owner studio. */
.session-history-pane[hidden]{display:none!important}
.session-history-pane{position:fixed;z-index:85;right:max(12px,env(safe-area-inset-right,0px));top:76px;bottom:14px;width:min(390px,calc(100vw - 24px));overflow-y:auto;background:rgba(255,255,255,.98);border:1px solid #cfdbd8;border-radius:17px;box-shadow:0 18px 55px rgba(19,42,59,.22);padding:18px;color:#142a45}
.session-history-header{display:flex;align-items:center;justify-content:space-between;gap:10px}
.session-history-header h2{font-size:18px;margin:0}.session-history-pane h3{font-size:13px;margin:18px 0 9px}
.history-items{display:grid;gap:7px}.history-item{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:10px;border:1px solid #e3eae8;border-radius:11px;background:#f7faf9;color:#23435a}
.history-item>span{flex:1;min-width:0;overflow-wrap:anywhere}.history-item button{border:1px solid #c8d8d7;border-radius:9px;background:white;padding:7px 10px;color:#163f4c;font-weight:650;cursor:pointer}
.history-item button:disabled{opacity:.5}.history-item .history-remove{font-weight:500;color:#904138}
#historyMessage{padding:8px;color:#326e65;min-height:25px}
@media(max-width:760px){.session-history-pane{top:max(8px,env(safe-area-inset-top,0px));bottom:max(8px,env(safe-area-inset-bottom,0px));right:8px;left:8px;width:auto;padding:14px}}

/* v0.7.2 owner history controls: buttons are fully touch accessible; no visual impact on guest. */
.history-item button{min-height:40px;touch-action:manipulation}.session-history-header button{min-height:42px}.session-history-pane:focus-within{outline:0}
@media(max-width:480px){.history-item{align-items:stretch;flex-wrap:wrap}.history-item>span{flex-basis:100%}.history-item button{flex:1}}

/* PRO 0.8.1 · Una sola bandeja y propuestas orientadas a la acción. */
#personalActions[hidden],#personalReviewPane[hidden]{display:none!important}
#personalActions{display:grid;gap:8px;padding:10px;border-radius:12px;background:var(--surface,#f4f7f6);max-width:350px}
#personalActions button{border:1px solid #a8bcb6;border-radius:10px;background:#fff;color:#173d39;font-weight:650;padding:10px;min-height:40px}
#personalStatus{font-size:12px;line-height:1.4}
#openPersonalReview.has-proposals{border-color:#3f8f7a;background:#e7f4ef;color:#155b49;font-weight:750}
.personal-review-pane .personal-proposal{padding:16px;border:1px solid #d4dfdd;border-radius:13px;background:#fff;margin:10px 0;display:grid;gap:9px}
.personal-review-pane .personal-proposal h3{font-size:15px;margin:0}
.personal-review-pane .personal-proposal p{margin:0}
.personal-proposal-summary{font-size:13px;font-weight:700;color:#24564b}
.personal-proposal-note{font-size:12px;color:#526a64;line-height:1.6}
.personal-review-pane button{cursor:pointer;min-height:40px;border:1px solid #b7c9c2;border-radius:9px;padding:8px 12px;background:#fff;color:#153b35}
.personal-review-pane button.personal-accept{background:#176756;color:#fff;border-color:#176756;font-weight:750;width:100%}
.personal-review-pane button:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:700px){#personalActions{max-width:min(90vw,300px);padding:8px}.personal-review-pane{max-width:min(100vw,420px)}}

#personalQuickSubmit[hidden]{display:none!important}
.viewer .scene-wrap .personal-quick-submit{position:absolute;right:max(12px,env(safe-area-inset-right,0px));bottom:max(14px,env(safe-area-inset-bottom,0px));z-index:16;min-height:40px;padding:8px 12px;border-radius:12px;border:1px solid #186c58;background:rgba(20,97,78,.94);color:#fff;font-size:12px;font-weight:750;box-shadow:0 4px 12px rgba(14,50,40,.2);touch-action:manipulation}
@media (min-width:761px) and (min-height:651px){.viewer .viewer-view-modes #personalActions{position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 9px 28px #203b3a28;z-index:23;background:rgba(255,255,255,.96);width:260px}}
@media (max-width:760px),(pointer:coarse) and (max-height:650px){.viewer .scene-wrap .personal-quick-submit{font-size:11px;bottom:max(12px,env(safe-area-inset-bottom,0px))}}
/* CONSTELA 360 PRO v0.8.2 — Private workspace & immersive representative perspective */
.workspace-pane{width:min(450px,calc(100vw - 18px));max-width:100%;overflow-y:auto;overscroll-behavior:contain;padding-bottom:calc(26px + env(safe-area-inset-bottom));}
.workspace-pane textarea,.workspace-pane input,.workspace-pane select{width:100%;min-width:0;background:white;color:#142d45;border:1px solid #bfd0d4;border-radius:10px;padding:11px 12px;font:inherit;box-sizing:border-box;}
.workspace-pane textarea{resize:vertical;line-height:1.5;}
.workspace-pane label{display:block;font-size:.87rem;font-weight:700;margin:14px 0 6px;}
.workspace-pane h3{font-size:1rem;margin:16px 0 8px;}
.workspace-pane .workspace-row{display:flex;gap:8px;align-items:center;}
.workspace-pane .workspace-row input{flex:1;}
.workspace-template-list{display:flex;flex-direction:column;gap:9px;margin-top:12px;}
.workspace-template-item{display:flex;align-items:center;gap:7px;padding:10px;border:1px solid #d2e0e1;border-radius:10px;background:#f7faf9;}
.workspace-template-item span{flex:1;overflow-wrap:anywhere;font-size:.86rem;}
.workspace-template-item .btn{font-size:.75rem;padding:8px;}
.workspace-actions{display:flex;flex-wrap:wrap;gap:8px;}
.pov-picker{display:flex;align-items:center;gap:6px;color:#24465b;font-size:.78rem;font-weight:650;background:#fffefa;border:1px solid #d3dcda;border-radius:10px;padding:4px 7px;max-width:210px;}
.pov-picker select{max-width:130px;min-width:92px;border:none;background:transparent;color:#142a45;font-size:.8rem;}
.viewer-pov-option{display:flex;flex-direction:column;gap:6px;padding:8px;background:#f4f8f7;border-radius:10px;}
.viewer-pov-option label{font-size:.83rem;font-weight:700;}
.viewer-pov-option select{width:100%;min-height:40px;padding:8px;border:1px solid #c0d0d1;border-radius:8px;background:white;font:inherit;}
@media(max-width:850px){.pov-picker{max-width:150px;font-size:.72rem;}.pov-picker select{max-width:98px;}}
@media(max-width:520px){.workspace-pane{width:100%;}.workspace-template-item{flex-wrap:wrap;}.workspace-template-item span{flex-basis:100%;}.workspace-actions .btn{flex:1;}}
/* CONSTELA PRO 0.9 — SaaS business dashboard, scope isolated from 3D editor. */
.saas-main{max-width:1240px;margin:0 auto;padding:clamp(16px,3vw,38px);display:grid;gap:22px}
.saas-hero,.saas-section-title{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px}
.saas-hero h1{font-size:clamp(1.55rem,2.6vw,2.5rem);margin:.2em 0}
.saas-section-title h2{margin:0}
.saas-card,.saas-metric{background:#fff;border:1px solid #dce6e5;border-radius:16px;box-shadow:0 6px 24px #142a4508;padding:22px}
.saas-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:12px}
.saas-metric{display:grid;gap:6px}.saas-metric strong{font-size:clamp(1.4rem,2.5vw,2rem);color:#122c46}.saas-metric span{font-size:.84rem;color:#536779}
.saas-plan{background:#e4f4ef;color:#1e6553;border-radius:50px;padding:9px 15px;font-size:.84rem;font-weight:700}
.saas-message{min-height:1.2em;font-size:.9rem;color:#247a63}.saas-message.error{color:#b13e39}
.saas-usage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 30px}.saas-use-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:9px;font-size:.9rem}.saas-use-head span{color:#536779}
.saas-use-track{height:8px;border-radius:6px;background:#e6eeed;overflow:hidden}.saas-use-track span{height:100%;display:block;background:#448d80;border-radius:6px}.saas-use-track.near-limit span{background:#ad7740}
.saas-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;align-items:end}.saas-form label{display:grid;gap:6px;font-size:.86rem;font-weight:600}.saas-form input,.saas-form select,.saas-org-controls select{min-width:0;width:100%;padding:11px;border:1px solid #bfcfce;border-radius:9px;font:inherit;background:#fff;color:#152b41}.saas-form button{min-height:43px}
.saas-org-list{display:grid;gap:10px}.saas-organization{border:1px solid #dbe5e4;border-radius:12px;padding:12px 16px;display:flex;justify-content:space-between;gap:15px;align-items:center}.saas-organization p{margin:4px 0 0}.saas-org-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.saas-org-controls select{width:auto;max-width:210px}
@media(max-width:850px){.saas-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.saas-organization{flex-direction:column;align-items:stretch}.saas-org-controls select{flex:1;max-width:none}}
@media(max-width:540px){.saas-main{padding:14px;gap:15px}.saas-card{padding:16px}.saas-form,.saas-usage{grid-template-columns:1fr}.saas-metric-grid{gap:8px}.saas-metric{padding:13px}.saas-metric strong{font-size:1.4rem}.saas-org-controls{flex-direction:column;align-items:stretch}.saas-org-controls select{width:100%}}

/* Facilitator spotlight for guests, visible even with hidden labels and in POV. */
.shared-focus-toast{position:absolute;z-index:15;left:50%;top:max(64px,env(safe-area-inset-top));transform:translateX(-50%);display:flex;align-items:center;gap:8px;max-width:90%;border:1px solid #b7d8d1;background:rgba(244,252,248,.94);color:#184c45;padding:7px 9px 7px 14px;border-radius:999px;font-size:.79rem;font-weight:700;box-shadow:0 5px 18px #1b3f3920;pointer-events:auto;backdrop-filter:blur(12px)}
.shared-focus-toast[hidden]{display:none!important}
.shared-focus-toast span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}
.shared-focus-toast button{border:1px solid #a7cec2;border-radius:999px;padding:5px 9px;background:#fff;color:#15574e;font:inherit;cursor:pointer}
@media(max-width:650px){.shared-focus-toast{font-size:.72rem;padding:5px 7px 5px 9px;top:max(66px,env(safe-area-inset-top))}.shared-focus-toast span{max-width:52vw}}

.saas-member{display:flex;align-items:center;justify-content:space-between;padding:10px 2px;gap:12px;border-bottom:1px solid #e2ebea}.saas-member p{margin:4px 0 0}.saas-member-status{font-size:.78rem;color:#346f63;white-space:nowrap}.saas-plan-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.saas-plan-form{display:grid;gap:9px;align-content:start;padding:15px;border:1px solid #dce6e5;border-radius:12px}.saas-plan-form label{display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:.82rem}.saas-plan-form input{width:86px;max-width:45%;padding:6px;border:1px solid #bbcfc9;border-radius:7px}.saas-plan-form button{margin-top:5px}@media(max-width:820px){.saas-plan-list{grid-template-columns:1fr}}

/* CONSTELA 360 PRO v0.9.1 — guided camera reliability / unobstructed mobile viewer */
.viewer .scene-wrap .shared-focus-toast{
 left:max(10px,env(safe-area-inset-left,0px));right:auto;top:auto;
 bottom:max(12px,env(safe-area-inset-bottom,0px));transform:none;
 max-width:min(230px,calc(100% - 24px));width:max-content;
 box-sizing:border-box;min-height:33px;padding:4px 5px 4px 10px;
 border-radius:11px;font-size:11px;line-height:1.2;gap:6px;
 background:rgba(246,252,250,.90);box-shadow:0 3px 12px #183e3b1b;
}
.viewer .scene-wrap .shared-focus-toast span{max-width:145px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.viewer .scene-wrap .shared-focus-toast button{padding:6px 8px;min-height:30px;font-size:11px;white-space:nowrap;touch-action:manipulation;}
.viewer .scene-wrap .shared-focus-toast.focus-attention{animation:constela-focus-attention .65s ease-in-out 2;}
@keyframes constela-focus-attention{50%{border-color:#379b80;box-shadow:0 0 0 4px #279d7433;}}
.viewer .scene-wrap .viewer-advanced-options{width:100%;border-top:1px solid #dde8e5;margin-top:3px;}
.viewer .scene-wrap .viewer-advanced-options summary{cursor:pointer;list-style:none;padding:10px 11px;font-size:12px;font-weight:750;color:#234d4a;border-radius:8px;min-height:39px;box-sizing:border-box;}
.viewer .scene-wrap .viewer-advanced-options summary::-webkit-details-marker{display:none;}
.viewer .scene-wrap .viewer-advanced-options summary:after{content:'⌄';float:right;font-size:15px;}
.viewer .scene-wrap .viewer-advanced-options[open] summary:after{content:'⌃';}
.viewer .scene-wrap .viewer-advanced-options summary:focus-visible{outline:2px solid #967444;outline-offset:-2px;}
.viewer .scene-wrap .viewer-advanced-body{display:grid;gap:8px;padding:1px 5px 7px;}
@media(max-width:760px), (pointer:coarse) and (max-height:650px){
 .viewer .scene-wrap .viewer-view-modes,
 .viewer .scene-wrap:is(:fullscreen,.fullscreen-fallback) .viewer-view-modes{
   top:calc(max(8px,env(safe-area-inset-top,0px)) + 48px)!important;
   width:min(240px,calc(100% - 20px))!important;
   max-width:min(240px,calc(100% - 20px))!important;
   max-height:min(48dvh,300px,calc(100% - 64px))!important;
   overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
   padding:6px!important;gap:3px!important;
 }
 .viewer .viewer-view-modes .view-mode{min-height:37px!important;padding:6px 10px!important;font-size:12px!important;}
 .viewer .scene-wrap .viewer-advanced-options summary{min-height:36px;padding:8px 10px;}
 .viewer .scene-wrap .viewer-advanced-body .viewer-optional-actions{display:flex;}
 .viewer .scene-wrap .shared-focus-toast{max-width:min(195px,calc(100% - 20px));bottom:max(8px,env(safe-area-inset-bottom,0px));}
 .viewer .scene-wrap .shared-focus-toast span{max-width:112px;}
 .viewer .scene-wrap .shared-focus-toast button{min-height:29px;padding:4px 6px;}
 .viewer .scene-wrap:has(.personal-quick-submit:not([hidden])) .shared-focus-toast{bottom:max(60px,calc(52px + env(safe-area-inset-bottom,0px)));}
}
@media(max-width:400px){
 .viewer .scene-wrap .viewer-view-modes,
 .viewer .scene-wrap:is(:fullscreen,.fullscreen-fallback) .viewer-view-modes{
   width:min(215px,calc(100% - 20px))!important;max-width:min(215px,calc(100% - 20px))!important;
   max-height:min(47dvh,265px,calc(100% - 64px))!important;
 }
 .viewer .scene-wrap .shared-focus-toast{font-size:10px;}
}
@media(max-height:480px){
 .viewer .scene-wrap .viewer-view-modes,
 .viewer .scene-wrap:is(:fullscreen,.fullscreen-fallback) .viewer-view-modes{max-height:min(60dvh,calc(100% - 62px))!important;}
}
@media(prefers-reduced-motion:reduce){.viewer .scene-wrap .shared-focus-toast.focus-attention{animation:none;border-color:#379b80;}}

/* CONSTELA 360 PRO 0.9.4 — discreet observation health state; never obscures the scene. */
.viewer .viewer-quick-mode[data-sync]::after{content:"";display:inline-block;width:6px;height:6px;vertical-align:middle;margin-left:7px;border-radius:50%;background:#aab8be;box-shadow:0 0 0 2px rgba(255,255,255,.5)}
.viewer .viewer-quick-mode[data-sync="online"]::after{background:#30977d}
.viewer .viewer-quick-mode[data-sync="connecting"]::after{background:#c28b43}
.viewer .viewer-quick-mode[data-sync="offline"]::after{background:#b65d54}
@media(max-width:380px){.viewer .viewer-quick-mode[data-sync]::after{width:5px;height:5px;margin-left:4px}}

/* CONSTELA 360 PRO 0.9.8.1 — only the facilitator may signal shared focus.
   Passive and compact in every guest mode; no interaction required. */
.viewer .scene-wrap .shared-focus-toast.facilitator-focus-only{
 pointer-events:none;max-width:min(245px,calc(100% - 20px));
 background:rgba(246,252,248,.92);border-color:#86bbaa;
 z-index:21;box-shadow:0 4px 14px rgba(22,69,61,.14);
}
.viewer .scene-wrap .shared-focus-toast.facilitator-focus-only span{
 max-width:min(210px,calc(100vw - 48px));overflow:hidden;text-overflow:ellipsis;
}
.viewer .scene-wrap .shared-focus-toast.facilitator-focus-only[hidden]{display:none!important;}
@media(max-width:650px){
 .viewer .scene-wrap .shared-focus-toast.facilitator-focus-only{
   bottom:max(10px,env(safe-area-inset-bottom,0px));
   width:max-content;max-width:min(215px,calc(100% - 20px));padding:7px 10px;
 }
 .viewer .scene-wrap .shared-focus-toast.facilitator-focus-only span{max-width:185px;}
}
@media(prefers-reduced-motion:reduce){
 .viewer .scene-wrap .shared-focus-toast.facilitator-focus-only{animation:none!important;}
}


/* CONSTELA 360 PRO v0.9.8.2 — facilitator name highlight in every guest mode.
   Always visible even if regular labels are turned off. No camera/gesture changes. */
.viewer .scene-wrap .constela-facilitator-focus-tag{
 position:absolute;z-index:24;pointer-events:none;
 transform:translate(-50%,-100%);box-sizing:border-box;
 max-width:min(225px,calc(100% - 20px));
 min-height:29px;display:flex;align-items:center;justify-content:center;
 padding:6px 11px 6px 10px;border-radius:999px;
 background:#086b57;color:#fff;border:2px solid #fff;
 font-size:12px;font-weight:800;line-height:1.2;letter-spacing:.01em;
 text-shadow:0 1px 1px #063e35;
 box-shadow:0 2px 0 #16463b,0 0 0 3px rgba(10,114,91,.45),0 7px 18px #102e2c66;
 white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.viewer .scene-wrap .constela-facilitator-focus-tag::before{
 content:'●';color:#a5ffe1;font-size:10px;margin-right:6px;
}
.viewer .scene-wrap .constela-facilitator-focus-tag[hidden]{display:none!important}
.viewer .scene-wrap .constela-facilitator-focus-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:185px}
@media(max-width:650px){
 .viewer .scene-wrap .constela-facilitator-focus-tag{font-size:11px;max-width:min(166px,calc(100% - 18px));padding:5px 8px;min-height:27px}
 .viewer .scene-wrap .constela-facilitator-focus-name{max-width:145px}
}
@media(prefers-contrast:more){
 .viewer .scene-wrap .constela-facilitator-focus-tag{background:#064c3e;border-width:3px;box-shadow:0 0 0 3px #fafafa}
}

/* v0.9.9 — PRO Focus UX: clear hierarchy, no interruptions to 3D/gesture layers. */
:root{--focus-forest:#075c4b;--focus-mint:#d5f7e9}
.studio-toolbar{min-width:0;gap:12px}
.studio-toolbar .toolbar-actions{min-width:0;justify-content:flex-end}
.studio-toolbar .toolbar-actions .btn{white-space:nowrap}
.studio .scene-top{flex-wrap:wrap;justify-content:flex-end;align-content:flex-start}
.studio .scene-top>.scene-pill{margin-right:auto}
.studio .scene-top .guide-publish-status{max-width:min(180px,36vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.studio .studio-side h2{letter-spacing:-.02em}
.studio .studio-side .catalog-filter,.studio .studio-side select{max-width:100%}
.studio .scene-wrap{background:radial-gradient(ellipse at 48% 42%,#eaf1ef 2%,#d8e6e3 78%,#cddbd9 100%)}
.studio .scene-labels .scene-label{box-shadow:0 3px 11px rgba(24,55,55,.11);border:1px solid rgba(105,131,134,.3)}
.studio .scene-labels .scene-label.selected{box-shadow:0 0 0 2px rgba(183,142,70,.25),0 3px 12px rgba(24,55,55,.13)}
.owner-focus-badge{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(10,111,89,.32);background:rgba(244,255,250,.95);color:#075c4b;border-radius:100px;max-width:205px;font-size:11px;line-height:1.1;padding:5px 7px 5px 10px;font-weight:750;box-shadow:0 3px 13px rgba(8,54,40,.08)}
.owner-focus-badge[hidden]{display:none!important}
.owner-focus-badge .owner-focus-name{display:inline-block;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:148px}
.owner-focus-badge .owner-focus-clear{border:0;background:rgba(8,85,69,.08);color:#074d41;border-radius:50%;min-width:25px;min-height:25px;display:inline-grid;place-items:center;font-size:15px;line-height:1;cursor:pointer}
.owner-focus-badge .owner-focus-clear:focus-visible{outline:2px solid #9b7a3e;outline-offset:2px}
.viewer .scene-wrap .shared-focus-toast.facilitator-focus-only{position:absolute!important;left:max(9px,env(safe-area-inset-left,0px))!important;right:auto!important;bottom:max(10px,env(safe-area-inset-bottom,0px))!important;top:auto!important;transform:none!important;max-width:min(250px,calc(100% - 20px));padding:6px 11px;background:rgba(238,251,244,.94);box-shadow:0 4px 12px rgba(5,48,42,.14);border:1px solid rgba(25,111,89,.35);font-size:11px;pointer-events:none}
.viewer .scene-wrap .shared-focus-toast.facilitator-focus-only span{max-width:210px}
.viewer .scene-wrap .constela-facilitator-focus-tag{z-index:29!important;background:#075c4b!important;border:2px solid #fff!important;box-shadow:0 3px 15px rgba(0,65,48,.3),0 0 0 2px rgba(16,142,113,.65)!important}
.viewer .scene-wrap .constela-facilitator-focus-name{letter-spacing:.012em}
.viewer .scene-wrap .viewer-compact-controls{box-shadow:0 5px 17px rgba(21,43,57,.1)}
.viewer .scene-wrap .viewer-view-modes{overscroll-behavior:contain}
.viewer .viewer-footer{line-height:1.45}
.viewer-privacy-summary{padding:6px 14px;text-align:center;color:#647a83;font-size:11px}
.viewer-privacy-summary summary{cursor:pointer;list-style:none}
.viewer-privacy-summary summary::-webkit-details-marker{display:none}
.viewer-privacy-summary[open] span{display:block;padding-top:5px;max-width:740px;margin:auto}
@media(max-width:1050px){.studio-toolbar .toolbar-actions{gap:6px}.studio-toolbar .toolbar-actions .btn{padding:8px 11px;font-size:.76rem}}
@media(max-width:760px){
 .viewer{height:calc(100dvh - 60px);min-height:0}
 .viewer .studio-toolbar{padding:8px 14px;gap:8px;align-items:center;flex-direction:row}
 .viewer .studio-toolbar .eyebrow{display:none}
 .viewer .studio-toolbar h1{font-size:1rem;margin:0;max-width:54vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .viewer .studio-toolbar .toolbar-actions{flex:0 0 auto;margin-left:auto;width:auto}
 .viewer .studio-toolbar #saveStatus{display:none}
 .viewer .studio-toolbar #fullscreenBtn{font-size:.73rem;min-height:37px;padding:7px 9px}
 .viewer .viewer-footer{display:none}
 .viewer-privacy-summary{flex:none;padding:4px 12px;font-size:10px;background:#fff}
 .viewer .scene-wrap{min-height:0}
 .viewer .scene-wrap .shared-focus-toast.facilitator-focus-only{left:max(8px,env(safe-area-inset-left,0px))!important;bottom:max(8px,env(safe-area-inset-bottom,0px))!important;max-width:min(180px,calc(100% - 24px));font-size:10px}
 .viewer .scene-wrap .shared-focus-toast.facilitator-focus-only span{max-width:160px}
 .viewer .scene-wrap .constela-facilitator-focus-tag{max-width:160px;min-height:27px;font-size:11px}
 .studio .scene-top .owner-focus-badge{order:3;max-width:125px}
 .studio .scene-top .owner-focus-name{max-width:88px}
}
@media(max-width:540px){
 .studio .scene-top .guide-publish-status{max-width:95px;font-size:10px}
 .studio .scene-top .owner-focus-badge{padding:4px 5px 4px 7px;font-size:10px}
 .viewer .scene-wrap .viewer-compact-controls{max-width:calc(100% - 70px);padding:2px;top:max(8px,env(safe-area-inset-top,0px));border-radius:12px}
 .viewer .viewer-compact-controls button{min-height:38px;font-size:12px}
 .viewer .viewer-quick-mode{max-width:116px}
 .viewer .scene-wrap .viewer-view-modes{width:min(220px,calc(100vw - 26px))!important;max-width:min(220px,calc(100vw - 26px))!important;max-height:min(61dvh,390px)!important}
 .viewer .scene-wrap .constela-facilitator-focus-tag{font-size:11px;box-shadow:0 2px 9px rgba(0,65,48,.22),0 0 0 2px rgba(16,142,113,.55)!important}
}
@media(max-height:500px) and (orientation:landscape){
 .viewer{height:calc(100dvh - 48px)}
 .viewer .studio-toolbar{padding:3px 8px}
 .viewer-privacy-summary{display:none}
 .viewer .scene-wrap .viewer-view-modes{max-height:calc(100dvh - 82px)!important}
}
@media(prefers-reduced-motion:reduce){.owner-focus-badge,.viewer .scene-wrap .constela-facilitator-focus-tag{animation:none!important;transition:none!important}}
