/* Design tokens — consolidated from three formerly-scattered :root blocks (see docs/design-system.md). */
:root{color-scheme:dark;--ink:#f4f7f5;--muted:#aab7b0;--line:rgba(255,255,255,.13);--hud-bg:rgba(7,17,13,.68);--hud-bg-strong:rgba(7,17,13,.9);--hud-border:rgba(224,255,243,.13);--hud-blur:18px;--text-primary:#f5faf7;--text-secondary:#a9b8b0;--radius-sm:12px;--radius-md:17px;--radius-lg:22px;--space-1:6px;--space-2:10px;--space-3:16px;--accent:#92b5a1;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html,body,#room{width:100%;height:100%;margin:0;overflow:hidden;background:#0b1310;color:var(--ink)}body{overscroll-behavior:none}button,a{font:inherit}button{color:inherit}#scene{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.glass{background:var(--glass);border:1px solid var(--line);box-shadow:0 18px 55px rgba(0,0,0,.28);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.topbar{position:fixed;z-index:15;top:max(16px,env(safe-area-inset-top));left:18px;right:18px;height:64px;border-radius:18px;display:flex;align-items:center;justify-content:space-between;padding:9px 14px}.brand{display:flex;align-items:center;gap:11px;color:inherit;text-decoration:none}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,#42dda3,#176e50);font-weight:900;letter-spacing:-1px;box-shadow:inset 0 1px rgba(255,255,255,.35)}.brand b,.brand small{display:block}.brand b{font-size:14px}.brand small{margin-top:2px;color:var(--muted);font-size:11px}.live{display:flex;align-items:center;gap:8px;padding:9px 12px;background:rgba(255,255,255,.065);border-radius:13px;font-size:12px;font-weight:700}.live i{width:8px;height:8px;background:#39d99d;border-radius:50%;box-shadow:0 0 0 5px rgba(57,217,157,.12),0 0 15px #39d99d}
.welcome{position:fixed;z-index:30;width:min(430px,calc(100vw - 32px));left:50%;top:50%;transform:translate(-50%,-50%);padding:30px;border-radius:26px;text-align:center;transition:.35s ease}.welcome.hidden{opacity:0;transform:translate(-50%,-46%) scale(.97);pointer-events:none}.eyebrow{font-size:10px;letter-spacing:.22em;font-weight:900;color:#70eab9}.welcome h1{font-size:clamp(25px,5vw,38px);line-height:1.06;margin:12px 0}.welcome p{color:var(--muted);line-height:1.55;margin:0 auto 22px;max-width:34ch}.primary{border:0;border-radius:14px;padding:14px 23px;background:linear-gradient(135deg,#39dda0,#21805d);font-weight:900;cursor:pointer;box-shadow:0 14px 28px rgba(27,154,105,.28)}
.people,.requests{position:fixed;z-index:12;top:98px;width:260px;max-height:min(55vh,470px);border-radius:20px;padding:15px}.people{left:18px}.requests{right:18px}.panel-title{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:900;letter-spacing:.02em}.panel-title b{display:grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:20px;background:rgba(54,211,153,.16);color:#71e7b9}.people-list,.request-list{margin-top:10px;display:grid;gap:7px;max-height:390px;overflow:auto}.person,.request{display:flex;align-items:center;gap:9px;padding:9px;border-radius:13px;background:rgba(255,255,255,.05)}.avatar-dot{width:29px;height:29px;border-radius:10px;display:grid;place-items:center;background:#263b32;color:#91f0c9;font-weight:900;font-size:10px}.person-copy{min-width:0;flex:1}.person-copy b,.person-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person-copy b{font-size:12px}.person-copy small{font-size:10px;color:var(--muted);margin-top:2px}.request{flex-wrap:wrap}.request .person-copy{flex-basis:100px}.request-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:6px}.request-actions button{border:0;padding:8px;border-radius:9px;font-size:10px;font-weight:900;cursor:pointer}.accept{background:#2ba978}.reject{background:rgba(255,255,255,.1)}.empty{font-size:11px;color:var(--muted);margin:13px 2px 4px}
.actions{position:fixed;z-index:14;right:18px;bottom:max(22px,env(safe-area-inset-bottom));display:grid;gap:9px}.action{width:235px;border:1px solid var(--line);border-radius:17px;padding:11px 13px;display:flex;align-items:center;gap:11px;background:rgba(12,22,18,.82);backdrop-filter:blur(16px);cursor:pointer;box-shadow:0 15px 35px rgba(0,0,0,.25);text-align:left}.action:hover{transform:translateY(-1px);border-color:rgba(223,200,147,.4)}.action .icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:rgba(196,167,108,.16);color:#dfc893;font-size:17px}.copy{min-width:0}.copy b,.copy small{display:block}.copy b{font-size:12px}.copy small{color:var(--muted);font-size:10px;margin-top:3px}.action.active{border-color:#48e0a6;background:rgba(19,70,50,.88)}.action.waiting{border-color:#e9b949}.action[disabled]{opacity:.55;cursor:not-allowed}.hint{position:fixed;z-index:10;left:50%;bottom:20px;transform:translateX(-50%);border-radius:12px;padding:9px 13px;color:var(--muted);font-size:10px}.hint b{color:#fff}.crosshair{position:fixed;z-index:5;left:50%;top:50%;width:5px;height:5px;border:1px solid rgba(255,255,255,.75);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.toast{position:fixed;z-index:40;top:92px;left:50%;transform:translate(-50%,-12px);padding:11px 16px;border-radius:13px;background:#effaf5;color:#173427;font-size:12px;font-weight:800;box-shadow:0 16px 35px rgba(0,0,0,.3);opacity:0;pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}.joystick{display:none}
.video-panel{position:fixed;z-index:20;right:18px;top:98px;width:min(420px,calc(100vw - 36px));aspect-ratio:16/10;border-radius:24px;overflow:hidden;background:#07100c}.video-panel[hidden]{display:none}.video-panel video{width:100%;height:100%;object-fit:cover;background:#07100c}.video-panel #localVideo{position:absolute;right:14px;bottom:58px;width:29%;height:34%;border-radius:14px;border:2px solid rgba(255,255,255,.7);box-shadow:0 10px 30px rgba(0,0,0,.45);transform:scaleX(-1)}.video-empty{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:9px;color:var(--muted);background:radial-gradient(circle at 50% 35%,#1d3f31,#08100d 68%)}.video-empty span{display:grid;place-items:center;width:72px;height:72px;border-radius:24px;background:linear-gradient(145deg,#45dda5,#176e50);color:white;font-size:22px;font-weight:900}.video-empty b{font-size:13px}.video-label{position:absolute;left:14px;top:14px;padding:7px 10px;border-radius:10px;background:rgba(3,8,6,.62);font-size:11px;font-weight:800}.video-controls{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);display:flex;gap:8px}.video-controls button{border:1px solid rgba(255,255,255,.16);background:rgba(5,12,9,.78);color:white;border-radius:12px;padding:9px 13px;font-weight:800;cursor:pointer}.video-controls #flipCamera{width:40px;padding:9px;font-size:18px}.video-controls .camera-off{background:#9c3030}.camera.active .icon{background:#39d99d;color:#082016}
@media(max-width:760px), (orientation:landscape) and (max-height:600px){.topbar{left:10px;right:10px;top:max(8px,env(safe-area-inset-top));height:56px;border-radius:16px}.brand-mark{width:36px;height:36px;border-radius:11px}.live span{display:none}.people{top:76px;left:10px;width:190px;max-height:35vh;padding:12px}.requests{top:76px;right:10px;width:220px;max-height:40vh}.people-list{max-height:25vh}.people .person:nth-child(n+5){display:none}.actions{right:10px;bottom:max(12px,env(safe-area-inset-bottom))}.action{width:185px;padding:9px}.action .icon{width:34px;height:34px}.hint{display:none}.joystick{display:block;position:fixed;z-index:14;left:20px;bottom:max(28px,env(safe-area-inset-bottom));width:116px;height:116px;border:1px solid rgba(255,255,255,.15);border-radius:50%;background:rgba(12,22,18,.42);backdrop-filter:blur(8px);touch-action:none}.joystick:after{content:"";position:absolute;left:50%;top:7px;width:2px;height:30px;background:linear-gradient(#64e9b5,transparent)}.run-lock{position:absolute;left:50%;top:-19px;transform:translateX(-50%);font-size:8px;font-weight:900;letter-spacing:.13em;color:#73eabd;opacity:.7;transition:.2s}.joystick.auto-run{border-color:#58e4ad;box-shadow:0 0 0 7px rgba(54,211,153,.1),0 0 30px rgba(54,211,153,.2)}.joystick.auto-run .run-lock{opacity:1;color:#ecfff7}.joystick.auto-run:before{content:"";position:absolute;left:50%;top:5px;width:18px;height:9px;transform:translateX(-50%);border:2px solid #66e7b5;border-bottom:0;border-radius:9px 9px 0 0}#stick{position:absolute;left:35px;top:35px;width:46px;height:46px;border-radius:50%;background:rgba(237,250,244,.9);box-shadow:0 8px 25px rgba(0,0,0,.32);transform:translate(0,0);transition:box-shadow .2s}.joystick.auto-run #stick{box-shadow:0 0 0 5px rgba(54,211,153,.16),0 8px 25px rgba(0,0,0,.32)}.crosshair{display:none}}
@media(max-width:760px), (orientation:landscape) and (max-height:600px){.video-panel{top:74px;right:10px;width:calc(100vw - 20px);max-height:42vh}.video-panel~.actions .action{width:174px}.video-panel:not([hidden])~.people{opacity:.25;pointer-events:none}}
@media(max-width:430px){.people{width:162px}.requests{left:10px;right:auto;width:calc(100vw - 20px)}.actions .action{width:174px}.copy b{font-size:11px}.welcome{padding:25px 20px}.people-list{gap:5px}.person{padding:7px}}
.video-panel.local-only{width:150px;aspect-ratio:3/4;border-radius:20px}.video-panel.local-only #remoteVideo,.video-panel.local-only .video-empty{display:none}.video-panel.local-only #localVideo{inset:0;width:100%;height:100%;border:0;border-radius:0}.video-panel.local-only .video-label{top:8px;left:8px}.video-panel.local-only .video-controls{left:auto;right:8px;bottom:8px;transform:none}.video-panel.local-only #closeCamera{display:none}.video-panel.local-only #flipCamera{width:38px;height:38px;padding:0;border-radius:50%}
@media(max-width:760px), (orientation:landscape) and (max-height:600px){.video-panel{top:76px;max-height:34vh;border-radius:20px}.video-panel.local-only{top:76px;width:108px;height:144px;aspect-ratio:auto}.video-panel #localVideo{right:10px;bottom:52px;width:27%;height:32%}.video-panel.local-only #localVideo{inset:0;width:100%;height:100%}.video-panel:not([hidden])~.people{opacity:1;pointer-events:auto}}
.remote-fallback{position:absolute;z-index:1;inset:0;width:100%;height:100%;object-fit:cover;background:#07100c}.remote-fallback[hidden],.video-empty[hidden],.video-panel video[hidden]{display:none!important}.video-empty{z-index:2}.video-panel #localVideo{z-index:3}.video-label,.video-controls{z-index:4}.video-panel.local-only .remote-fallback{display:none}

/* Patrick Vision — world-first HUD */
html,body,#room{height:100%;height:100dvh}.glass{background:var(--hud-bg);border-color:var(--hud-border);box-shadow:0 12px 34px rgba(0,0,0,.2);backdrop-filter:blur(var(--hud-blur));-webkit-backdrop-filter:blur(var(--hud-blur))}
.topbar{top:max(12px,env(safe-area-inset-top));left:max(14px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right));height:58px;padding:8px 10px;border-radius:19px}.brand{gap:9px}.brand-mark{width:38px;height:38px;border-radius:12px;font-size:14px}.brand b{font-size:14px}.brand small{font-size:12px}.room-tools{display:flex;align-items:center;gap:7px}.identity-chip,.live{height:38px;border:1px solid rgba(255,255,255,.08);color:var(--text-primary);background:rgba(255,255,255,.055);border-radius:13px;display:flex;align-items:center;gap:7px;padding:0 11px;cursor:pointer}.identity-chip span{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800}.identity-chip i{font-style:normal;color:var(--accent);font-size:12px}.identity-chip[hidden]{display:none}.live{font-size:12px}.live b{display:none;color:#dff9ef}.people{top:82px;left:max(14px,env(safe-area-inset-left));width:246px;padding:13px;border-radius:var(--radius-md);transition:opacity .2s ease,transform .2s ease}.panel-title{font-size:14px}.panel-title>span:last-child{display:flex;align-items:center;gap:7px}.panel-title #peopleClose{display:none;width:27px;height:27px;border:0;border-radius:9px;background:rgba(255,255,255,.08);color:#fff;font-size:20px;line-height:1;cursor:pointer}.people-list,.request-list{gap:6px}.person{padding:8px;border-radius:11px}.person.is-self{cursor:pointer;border:1px solid rgba(67,221,164,.12)}.person-copy b{font-size:13px}.person-copy small{font-size:12px}.rename-person{width:28px;height:28px;flex:0 0 auto;border:0;border-radius:9px;background:rgba(67,221,164,.12);color:#70eab9;cursor:pointer}.panel-backdrop{display:none}.welcome{width:min(390px,calc(100vw - 28px));padding:25px;border-radius:var(--radius-lg)}.welcome h1{font-size:clamp(24px,5vw,34px)}.welcome p{font-size:14px}.actions{right:max(14px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));gap:7px}.action{width:210px;min-height:52px;border-radius:15px;padding:8px 10px}.action .icon{width:35px;height:35px;border-radius:11px}.copy b{font-size:13px}.copy small{font-size:12px}.action[disabled]{display:none}.hint{bottom:max(16px,env(safe-area-inset-bottom));font-size:12px}.rename-dialog{width:min(370px,calc(100vw - 28px));padding:0;border-radius:24px;color:var(--text-primary)}.rename-dialog::backdrop{background:rgba(2,8,5,.56);backdrop-filter:blur(5px)}.rename-dialog form{padding:24px}.rename-dialog h2{margin:8px 0 20px;font-size:23px}.rename-dialog label{display:block;margin-bottom:7px;color:var(--text-secondary);font-size:13px;font-weight:700}.rename-dialog input{width:100%;height:48px;border:1px solid rgba(255,255,255,.16);border-radius:13px;background:rgba(255,255,255,.07);color:#fff;padding:0 13px;font:700 16px inherit;outline:none}.rename-dialog input:focus{border-color:rgba(223,200,147,.7);box-shadow:0 0 0 4px rgba(223,200,147,.12)}.rename-dialog p{margin:10px 0 20px;color:var(--text-secondary);font-size:12px;line-height:1.45}.dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.dialog-actions button{height:44px;border:0;border-radius:12px;font-weight:800;cursor:pointer}.dialog-actions #renameCancel{background:rgba(255,255,255,.08)}
@media(max-width:760px), (orientation:landscape) and (max-height:600px){.topbar{top:max(8px,env(safe-area-inset-top));left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));height:54px;padding:7px 8px;border-radius:17px}.brand-mark{width:36px;height:36px}.brand small{font-size:11px}.room-tools{gap:5px}.identity-chip{max-width:106px;height:36px;padding:0 9px}.identity-chip span{max-width:70px}.live{width:40px;height:36px;justify-content:center;padding:0}.live span{display:none}.live b{display:block;font-size:12px}.live i{position:absolute;margin:-24px 0 0 24px;width:7px;height:7px}.people{display:block;z-index:22;top:70px;left:max(8px,env(safe-area-inset-left));width:min(260px,calc(100vw - 16px));max-height:min(50dvh,410px);opacity:0;transform:translateY(-8px) scale(.98);pointer-events:none}.people.open{opacity:1;transform:none;pointer-events:auto}.people .panel-title #peopleClose{display:grid;place-items:center}.people-list{max-height:calc(50dvh - 58px)}.panel-backdrop{display:block;position:fixed;z-index:21;inset:0;border:0;background:rgba(1,6,4,.18)}.panel-backdrop[hidden]{display:none}.requests{z-index:23;top:70px;right:max(8px,env(safe-area-inset-right));width:min(250px,calc(100vw - 16px))}.welcome{padding:22px 18px}.welcome .eyebrow{font-size:10px}.welcome p{margin-bottom:18px}.actions{right:max(8px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));gap:6px}.action{width:min(168px,44vw);min-height:48px;padding:7px 8px;border-radius:14px}.action .icon{width:33px;height:33px}.copy b{font-size:12px}.copy small{display:none}.joystick{left:max(14px,env(safe-area-inset-left));bottom:max(18px,env(safe-area-inset-bottom));width:clamp(98px,27vw,112px);height:clamp(98px,27vw,112px);opacity:.58;transition:opacity .18s,border-color .18s,box-shadow .18s}.joystick:active,.joystick.auto-run{opacity:1}.joystick .run-lock{top:-18px;font-size:8px}#stick{left:50%;top:50%;width:clamp(43px,12vw,50px);height:clamp(43px,12vw,50px);margin-left:calc(clamp(43px,12vw,50px)/-2);margin-top:calc(clamp(43px,12vw,50px)/-2)}.video-panel{top:70px}.toast{top:max(72px,calc(env(safe-area-inset-top) + 62px));max-width:calc(100vw - 24px);font-size:12px}.rename-dialog form{padding:21px}}
@media(max-width:390px){.identity-chip{max-width:92px}.identity-chip span{max-width:57px}.brand b{font-size:13px}.brand small{font-size:10px}.action{width:min(158px,43vw)}}
@media(max-width:760px) and (orientation:landscape){.topbar{width:min(470px,calc(100vw - 16px));right:auto}.people{max-height:calc(100dvh - 82px)}.people-list{max-height:calc(100dvh - 140px)}.joystick{width:98px;height:98px;bottom:max(10px,env(safe-area-inset-bottom))}.actions{bottom:max(8px,env(safe-area-inset-bottom))}.welcome{width:min(380px,62vw);padding:18px}.welcome h1{font-size:24px}.welcome p{margin-bottom:13px}}
.rename-dialog input{font:inherit;font-size:16px;font-weight:700}
.zone-prompt{position:fixed;z-index:16;left:50%;bottom:82px;transform:translateX(-50%);width:min(300px,calc(100vw - 32px));padding:12px 13px;border-radius:16px;display:grid;grid-template-columns:1fr auto;gap:3px 12px;align-items:center;animation:zone-in .2s ease}.zone-prompt[hidden]{display:none}.zone-prompt .eyebrow{grid-column:1;font-size:9px;color:#dfc893;opacity:.85}.zone-prompt .eyebrow[hidden]{display:none}.zone-prompt>b{grid-column:1;font-size:14px}
/* Never ellipsize the description: proximity copy is short enough to wrap, and a
   clipped "Acesso aos serviços digital…" reads as a layout accident, not as design. */
.zone-prompt>small{grid-column:1;color:var(--text-secondary);font-size:12px;line-height:1.4;text-wrap:pretty}.zone-action{grid-column:2;grid-row:1/-1;align-self:stretch;min-width:82px;border:1px solid rgba(196,167,108,.4);border-radius:12px;background:rgba(196,167,108,.15);color:#f2e4c4;font-size:12px;font-weight:850;cursor:pointer}.zone-action:hover{background:rgba(196,167,108,.24);border-color:#c4a76c}.zone-dialog{width:min(680px,calc(100vw - 28px));max-height:min(760px,calc(100dvh - 32px));padding:0;border-radius:24px;color:var(--text-primary);overflow:hidden}.zone-dialog::backdrop{background:rgba(1,7,4,.58);backdrop-filter:blur(7px)}.zone-dialog #zoneDialogContent{max-height:min(720px,calc(100dvh - 32px));overflow:auto;padding:28px}.dialog-close{position:absolute;z-index:2;right:14px;top:14px;width:34px;height:34px;border:1px solid rgba(255,255,255,.1);border-radius:11px;background:rgba(255,255,255,.07);color:#fff;font-size:22px;cursor:pointer}.zone-dialog h2{margin:9px 42px 9px 0;font-size:clamp(23px,4vw,32px);line-height:1.1}.zone-dialog>div>p{margin:0 0 20px;color:var(--text-secondary);font-size:14px;line-height:1.55}.zone-directory{display:grid;grid-template-columns:1fr 1fr;gap:8px}.zone-directory>div{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:rgba(255,255,255,.035)}.zone-directory i{width:9px;height:9px;flex:0 0 auto;margin-top:5px;border-radius:50%;background:var(--zone-color);box-shadow:0 0 13px var(--zone-color)}.zone-directory span,.zone-directory b,.zone-directory small{display:block}.zone-directory b{font-size:13px}.zone-directory small{margin-top:3px;color:var(--text-secondary);font-size:12px;line-height:1.35}.private-preview{display:grid;gap:4px;padding:15px;border:1px solid rgba(95,176,255,.18);border-radius:14px;background:linear-gradient(135deg,rgba(67,132,197,.1),rgba(67,221,164,.045))}.private-preview b{font-size:14px}.private-preview small{color:var(--text-secondary);font-size:12px;line-height:1.45}.wide{width:100%}.topic-groups{display:grid;gap:17px;margin:18px 0}.topic-groups section h3{margin:0 0 7px;color:#c7d6cf;font-size:13px}.topic-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.topic{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:rgba(255,255,255,.035);color:#fff;text-align:left;cursor:pointer;transition:transform .18s,border-color .18s,background .18s}.topic:hover{transform:translateY(-1px);border-color:rgba(67,221,164,.24)}.topic span,.topic b,.topic small{display:block}.topic b{font-size:13px}.topic small{margin-top:3px;color:var(--text-secondary);font-size:11px;line-height:1.32}.topic i{display:grid;place-items:center;width:23px;height:23px;flex:0 0 auto;border:1px solid rgba(255,255,255,.1);border-radius:50%;color:transparent;font-style:normal}.topic.selected{border-color:rgba(67,221,164,.45);background:rgba(67,221,164,.1)}.topic.selected i{border-color:var(--accent);background:var(--accent);color:#082017}@keyframes zone-in{from{opacity:0;transform:translate(-50%,7px)}to{opacity:1;transform:translate(-50%,0)}}
@media(max-width:760px), (orientation:landscape) and (max-height:600px){.zone-prompt{bottom:140px;width:min(300px,calc(100vw - 24px));padding:10px 11px}.zone-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:21px}.zone-dialog #zoneDialogContent{max-height:calc(100dvh - 16px);padding:22px 18px}.zone-directory,.topic-grid{grid-template-columns:1fr}.topic-groups{gap:15px}.topic{padding:10px}.zone-dialog h2{font-size:24px}}
@media(max-width:760px) and (orientation:landscape){.zone-prompt{bottom:12px;width:270px}.zone-dialog{width:min(680px,calc(100vw - 18px));max-height:calc(100dvh - 12px)}.zone-dialog #zoneDialogContent{max-height:calc(100dvh - 12px)}.topic-grid{grid-template-columns:1fr 1fr}}

/* PASS 2 — voice-first call experience */
.action[hidden],.call-header[hidden],.owner-camera-controls[hidden],.camera-active-indicator[hidden]{display:none!important}
.actions.in-call{width:min(252px,calc(100vw - 28px));grid-template-columns:repeat(3,1fr);gap:7px;padding:10px;border:1px solid var(--hud-border);border-radius:20px;background:var(--hud-bg-strong);box-shadow:0 18px 45px rgba(0,0,0,.32);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.actions.in-call .call-header{grid-column:1/-1}.call-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 3px 7px}.call-header span,.call-header b,.call-header small{display:block;min-width:0}.call-header span{overflow:hidden}.call-header b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.call-header small{margin-top:2px;color:var(--text-secondary);font-size:11px}.call-header time{flex:0 0 auto;padding:5px 7px;border-radius:8px;background:rgba(255,255,255,.06);color:#d7eee5;font-size:11px;font-variant-numeric:tabular-nums}
.actions.in-call .action{width:auto;min-height:48px;padding:6px;justify-content:center;border-radius:13px}.actions.in-call .action .icon{width:36px;height:36px}.actions.in-call .action .copy{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.actions.in-call .talk .icon{background:rgba(226,92,92,.16);color:#ffb0aa}.actions.in-call .talk:hover{border-color:rgba(255,126,118,.35)}
.owner-camera-controls{grid-column:1/-1;display:grid;grid-template-columns:1fr repeat(3,auto);align-items:center;gap:5px;padding-top:2px}.owner-camera-controls span{font-size:10px;color:var(--text-secondary)}.owner-camera-controls button{height:30px;padding:0 8px;border:1px solid rgba(255,255,255,.1);border-radius:9px;background:rgba(255,255,255,.06);color:#eaf7f1;font-size:10px;font-weight:800;cursor:pointer}.owner-camera-controls button:last-child{color:#ffb7b0}
.owner-start{height:28px;padding:0 9px;border:1px solid rgba(67,221,164,.2);border-radius:9px;background:rgba(67,221,164,.1);color:#86edc5;font-size:10px;font-weight:850;cursor:pointer}
.consent-dialog{width:min(410px,calc(100vw - 24px));padding:0;border-radius:24px;color:var(--text-primary)}.consent-dialog::backdrop{background:rgba(1,7,4,.68);backdrop-filter:blur(7px)}.consent-dialog form{padding:25px}.consent-dialog h2{margin:10px 0 9px;font-size:24px;line-height:1.12}.consent-dialog p{margin:0 0 19px;color:var(--text-secondary);font-size:13px;line-height:1.5}.consent-dialog .dialog-actions button:first-child{background:rgba(255,255,255,.08);color:#fff}
.consent-option{display:flex;align-items:flex-start;gap:11px;margin:0 0 20px;padding:13px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.035);cursor:pointer}.consent-option input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--accent)}.consent-option span,.consent-option b,.consent-option small{display:block}.consent-option span{flex:1}.consent-option b{font-size:12px}.consent-option small{margin-top:4px;color:var(--text-secondary);font-size:11px;line-height:1.4}
.camera-active-indicator{position:absolute;z-index:5;right:14px;top:14px;display:flex;align-items:center;gap:7px;padding:7px 9px;border-radius:10px;background:rgba(4,14,10,.72);font-size:10px;font-weight:850}.camera-active-indicator i{width:7px;height:7px;border-radius:50%;background:#42dda5;box-shadow:0 0 0 4px rgba(66,221,165,.15)}
@media(max-width:760px), (orientation:landscape) and (max-height:600px){.actions.in-call{right:max(8px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));width:214px;padding:8px;border-radius:17px}.actions.in-call .action{min-height:44px}.actions.in-call .action .icon{width:33px;height:33px}.call-header{padding-bottom:5px}.call-header b{font-size:12px}.owner-camera-controls{grid-template-columns:1fr repeat(3,30px)}.owner-camera-controls span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.owner-camera-controls button{width:30px;padding:0;font-size:0}.owner-camera-controls button:after{font-size:12px}.owner-camera-controls button[data-camera-command="on"]:after{content:"●"}.owner-camera-controls button[data-camera-command="flip"]:after{content:"↻"}.owner-camera-controls button[data-camera-command="off"]:after{content:"■"}.consent-dialog form{padding:22px 18px}.consent-dialog h2{font-size:22px}}

/* PASS 3 — private 3D document hub */
.documents-toggle{height:38px;display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:rgba(255,255,255,.055);color:var(--text-primary);font-size:11px;font-weight:800;cursor:pointer}.documents-toggle[hidden]{display:none}.documents-toggle b{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:rgba(67,221,164,.16);color:#79eabd;font-size:9px}
.document-inbox{position:fixed;z-index:24;top:82px;right:max(14px,env(safe-area-inset-right));width:min(360px,calc(100vw - 28px));max-height:min(62dvh,590px);padding:14px;border-radius:var(--radius-md)}.document-inbox[hidden]{display:none}.document-inbox .panel-title>span:last-child{display:flex;align-items:center;gap:7px}.document-inbox .panel-title button{display:grid;place-items:center;width:27px;height:27px;border:0;border-radius:9px;background:rgba(255,255,255,.08);color:#fff;font-size:19px;cursor:pointer}.document-list{display:grid;gap:7px;margin-top:10px;max-height:calc(min(62dvh,590px) - 60px);overflow:auto}.documentvil,.document-item{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px;border:1px solid rgba(255,255,255,.07);border-radius:13px;background:rgba(255,255,255,.04)}.document-item span,.document-item b,.document-item small{display:block;min-width:0}.document-item b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.document-item small{margin-top:3px;color:var(--text-secondary);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.document-item>button{height:30px;padding:0 10px;border:1px solid rgba(67,221,164,.18);border-radius:9px;background:rgba(67,221,164,.1);color:#86edc5;font-size:10px;font-weight:850;cursor:pointer}.document-icon{display:grid!important;place-items:center;width:38px;height:38px;border-radius:11px;background:linear-gradient(145deg,rgba(67,221,164,.2),rgba(67,221,164,.07));color:#87ecc6;font-size:9px;font-weight:900;letter-spacing:.05em}
.document-drop{display:grid;justify-items:center;gap:5px;margin:18px 0 10px;padding:21px 14px;border:1px dashed rgba(101,232,183,.32);border-radius:17px;background:linear-gradient(145deg,rgba(67,221,164,.08),rgba(255,255,255,.025));text-align:center;cursor:pointer;transition:.2s}.document-drop:hover{border-color:rgba(101,232,183,.62);transform:translateY(-1px)}.document-drop input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.document-drop>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:rgba(67,221,164,.14);color:#82edc4;font-size:24px}.document-drop b{font-size:13px}.document-drop small{color:var(--text-secondary);font-size:11px}.selected-documents{display:grid;gap:6px;margin-bottom:11px}.selected-document{display:grid;grid-template-columns:38px minmax(0,1fr) 28px;align-items:center;gap:9px;padding:8px;border-radius:12px;background:rgba(255,255,255,.045)}.selected-document span,.selected-document b,.selected-document small{display:block;min-width:0}.selected-document b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.selected-document small{margin-top:2px;color:var(--text-secondary);font-size:10px}.selected-document>button{width:28px;height:28px;border:0;border-radius:9px;background:rgba(255,255,255,.07);color:#fff;font-size:17px;cursor:pointer}.zone-dialog [data-upload-documents][disabled]{opacity:.45;cursor:not-allowed}
.upload-dock{position:fixed;z-index:26;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(360px,calc(100vw - 28px));display:grid;grid-template-columns:1fr auto;gap:7px 12px;padding:13px;border-radius:17px}.upload-dock[hidden]{display:none}.upload-dock span,.upload-dock b,.upload-dock small{display:block;min-width:0}.upload-dock b{font-size:12px}.upload-dock small{margin-top:3px;color:var(--text-secondary);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-dock>strong{align-self:center;color:#8cefc9;font-size:12px;font-variant-numeric:tabular-nums}.upload-dock>div{grid-column:1/-1;height:4px;overflow:hidden;border-radius:4px;background:rgba(255,255,255,.09)}.upload-dock>div i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2cad7d,#68eab7);transition:width .15s}.upload-dock>button{grid-column:1/-1;justify-self:end;border:0;background:none;color:var(--text-secondary);font-size:10px;cursor:pointer}
.document-viewer{width:min(920px,calc(100vw - 24px));height:min(760px,calc(100dvh - 24px));padding:0;overflow:hidden;border-radius:24px;color:var(--text-primary)}.document-viewer::backdrop{background:rgba(1,7,4,.72);backdrop-filter:blur(8px)}.document-viewer>header{height:64px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 15px;border-bottom:1px solid rgba(255,255,255,.08)}.document-viewer header span,.document-viewer header b,.document-viewer header small{display:block;min-width:0}.document-viewer header span{overflow:hidden}.document-viewer header b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}.document-viewer header small{margin-top:3px;color:var(--text-secondary);font-size:10px}.document-viewer header>div{display:flex;align-items:center;gap:7px}.viewer-download,.document-viewer header button{height:34px;display:flex;align-items:center;padding:0 11px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:rgba(255,255,255,.06);color:#fff;font-size:11px;font-weight:800;text-decoration:none;cursor:pointer}.document-viewer header button{width:34px;padding:0;justify-content:center;font-size:20px}.viewer-content{height:calc(100% - 64px);display:grid;place-items:center;background:#09110e}.viewer-content iframe,.viewer-content img{width:100%;height:100%;border:0;object-fit:contain}.viewer-fallback{display:grid;gap:6px;text-align:center}.viewer-fallback small{color:var(--text-secondary)}
@media(max-width:760px), (orientation:landscape) and (max-height:600px){.documents-toggle{width:38px;padding:0;justify-content:center}.documents-toggle span{display:none}.documents-toggle b{position:absolute;margin:-25px 0 0 25px}.document-inbox{top:70px;right:max(8px,env(safe-area-inset-right));width:calc(100vw - 16px);max-height:min(58dvh,500px)}.document-list{max-height:calc(min(58dvh,500px) - 58px)}.upload-dock{bottom:max(128px,calc(env(safe-area-inset-bottom) + 122px));width:min(320px,calc(100vw - 20px));padding:11px}.document-viewer{width:calc(100vw - 12px);height:calc(100dvh - 12px);border-radius:20px}.document-viewer>header{height:58px;padding:0 10px}.document-viewer header small{max-width:48vw}.viewer-content{height:calc(100% - 58px)}}
.onboarding-lobby{min-width:min(760px,82vw)}
.onboarding-lobby-grid{display:grid;grid-template-columns:minmax(0,1fr) 250px;align-items:end;gap:24px;overflow:hidden}
.onboarding-lobby-grid>div{padding:10px 0 16px}.onboarding-lobby-grid img{display:block;width:100%;height:310px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 24px 24px rgba(0,0,0,.45))}
.onboarding-trust{display:flex;flex-wrap:wrap;gap:8px 20px;margin:22px 0;color:#a7b5ae;font-size:10px;font-weight:800;letter-spacing:.08em}
.onboarding-experience{inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:radial-gradient(circle at 28% 35%,rgba(46,194,126,.17),transparent 34%),linear-gradient(120deg,rgba(7,15,12,.98),rgba(12,23,18,.96));color:#f5faf7;overflow:hidden}
.onboarding-experience::backdrop{background:#07100d}.onboarding-experience[open]{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(560px,1.28fr);align-items:stretch}
.onboarding-experience:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:62px 62px;mask-image:linear-gradient(90deg,#000,transparent 75%)}
.onboarding-close{position:fixed;z-index:9;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(255,255,255,.14);border-radius:15px;background:rgba(8,17,13,.78);color:#fff;font-size:29px;cursor:pointer;backdrop-filter:blur(14px)}
.onboarding-host{position:relative;display:flex;align-items:flex-end;justify-content:center;min-width:0;overflow:hidden;perspective:900px}
.onboarding-host img{position:relative;z-index:2;width:min(94%,690px);height:min(91dvh,900px);object-fit:contain;object-position:center bottom;filter:drop-shadow(0 35px 34px rgba(0,0,0,.55));transform:translateZ(22px);animation:onboarding-breathe 6s ease-in-out infinite}
.host-aura{position:absolute;z-index:1;width:min(72vw,620px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(66,224,151,.28),rgba(43,147,102,.08) 46%,transparent 70%);filter:blur(10px)}
.host-shadow{position:absolute;z-index:1;bottom:2%;width:65%;height:10%;border-radius:50%;background:rgba(0,0,0,.62);filter:blur(28px)}
.onboarding-console{position:relative;z-index:3;display:grid;grid-template-rows:auto auto minmax(0,1fr);min-width:0;margin:clamp(18px,4vh,42px) clamp(18px,4vw,58px) clamp(18px,4vh,42px) 0;padding:clamp(18px,2.4vw,30px);border:1px solid rgba(129,228,177,.22);border-radius:24px;background:linear-gradient(145deg,rgba(22,37,30,.83),rgba(7,14,11,.9));box-shadow:0 38px 100px rgba(0,0,0,.48),inset 0 1px rgba(255,255,255,.06);backdrop-filter:blur(18px)}
.onboarding-console>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-right:42px}.onboarding-console>header span{color:#63e1a3;font-size:10px;font-weight:900;letter-spacing:.14em}.onboarding-console h2{margin:7px 0 4px;font-size:clamp(25px,2.2vw,38px);letter-spacing:-.035em}.onboarding-console p{margin:0;color:#aebcb5}
.onboarding-languages{display:flex;gap:6px;flex:0 0 auto}.onboarding-languages button{display:grid;place-items:center;gap:1px;width:44px;height:45px;padding:3px;border:1px solid rgba(255,255,255,.09);border-radius:11px;background:rgba(255,255,255,.035);color:#9aa9a1;cursor:pointer;font-size:16px}.onboarding-languages button span{color:inherit;font-size:8px;letter-spacing:.05em}.onboarding-languages button.active{border-color:rgba(80,224,153,.62);background:rgba(54,204,131,.13);color:#dffff0;box-shadow:0 8px 20px rgba(27,174,105,.12)}
.onboarding-status{display:flex;align-items:center;gap:9px;min-height:34px;color:#9daca4;font-size:11px}.onboarding-status i{width:7px;height:7px;border-radius:50%;background:#e5b967;box-shadow:0 0 0 5px rgba(229,185,103,.09)}.onboarding-status.ready i{background:#55dda0;box-shadow:0 0 0 5px rgba(85,221,160,.1)}.onboarding-status.error{color:#ffc3bd}.onboarding-status.error i{background:#e46f68}
.onboarding-frame-shell{position:relative;min-height:0;overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:17px;background:#090d0b;box-shadow:inset 0 1px rgba(255,255,255,.04)}.onboarding-frame-shell iframe{display:block;width:100%;height:100%;border:0;opacity:0;transition:opacity .28s ease}.onboarding-frame-shell iframe.ready{opacity:1}
@keyframes onboarding-breathe{0%,100%{transform:translateY(0) translateZ(22px) rotateY(-1deg)}50%{transform:translateY(-7px) translateZ(28px) rotateY(1deg)}}
@media(max-width:900px){.onboarding-experience[open]{grid-template-columns:180px minmax(0,1fr)}.onboarding-host img{width:260px;max-width:none;transform:translateX(24px)}.onboarding-console{margin:72px 12px 12px 0}.onboarding-console>header{display:block}.onboarding-languages{margin-top:12px}.onboarding-languages button{width:42px}}
@media(max-width:620px){.onboarding-lobby{min-width:0}.onboarding-lobby-grid{grid-template-columns:1fr 116px;gap:6px}.onboarding-lobby-grid img{height:205px}.onboarding-trust{display:grid;margin:15px 0}.onboarding-experience[open]{display:block;padding-top:max(64px,env(safe-area-inset-top))}.onboarding-host{position:absolute;z-index:2;top:7px;left:3px;width:105px;height:116px;pointer-events:none}.onboarding-host img{width:120px;height:145px;transform:none}.host-aura{width:115px}.host-shadow{display:none}.onboarding-console{height:calc(100dvh - max(72px,env(safe-area-inset-top)) - max(8px,env(safe-area-inset-bottom)));margin:0 7px max(7px,env(safe-area-inset-bottom));padding:13px;border-radius:18px;backdrop-filter:blur(8px)}.onboarding-console>header{min-height:105px;padding:0 48px 0 101px}.onboarding-console h2{font-size:20px}.onboarding-console p{display:none}.onboarding-languages{position:absolute;top:64px;right:12px;gap:3px}.onboarding-languages button{width:36px;height:37px;border-radius:9px;font-size:13px}.onboarding-status{min-height:27px}.onboarding-frame-shell{border-radius:13px}.onboarding-close{top:max(9px,env(safe-area-inset-top));right:9px;width:43px;height:43px}.onboarding-host img{animation:none}}
@media(prefers-reduced-motion:reduce){.onboarding-host img{animation:none}.onboarding-frame-shell iframe{transition:none}}

/* PDS architecture pass: quieter interface accents. */
.glass{box-shadow:0 10px 30px #0b171329} .live i{box-shadow:none} .crosshair{display:none}

/* Landscape framing and first-entry installation guidance. */
.experience-intro{margin:12px 0 16px}.install-app{border:1px solid #79c6a3;border-radius:12px;padding:11px 18px;background:#224537;font-weight:750;cursor:pointer}.welcome .experience-intro p{font-size:13px;line-height:1.4;margin:10px auto 0}.install-help{text-align:left}.welcome{max-height:calc(100dvh - 28px);overflow-y:auto}.fullscreen-control{position:fixed;right:max(14px,env(safe-area-inset-right));top:90px;z-index:20;border-radius:12px;padding:10px 13px;font-size:12px;cursor:pointer}#roomFullscreen[hidden],#installApp[hidden],#rotateAdvice[hidden],#installHelp[hidden]{display:none}
@media(orientation:landscape) and (max-height:600px){.topbar{top:max(8px,env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left));right:auto;width:min(440px,58vw);height:52px;padding:6px 10px}.brand-mark{width:34px;height:34px}.brand small{display:none}.people{top:68px;max-height:calc(100dvh - 80px)}.welcome{width:min(520px,calc(100vw - 40px));padding:16px 22px}.welcome h1{font-size:25px;margin:8px 0}.welcome>p{font-size:13px;margin-bottom:8px}.experience-intro{margin:8px 0}.welcome .experience-intro p{font-size:12px;margin:6px auto}.install-app,.welcome .primary{padding:10px 18px}.fullscreen-control{top:max(10px,env(safe-area-inset-top))}.joystick{width:96px;height:96px;left:max(14px,env(safe-area-inset-left));bottom:max(10px,env(safe-area-inset-bottom))}.actions{right:max(14px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom))}.zone-prompt{bottom:10px;max-width:260px}}

.health-space .people:not(.open){display:none}.health-navigation{position:fixed;z-index:16;top:84px;left:50%;transform:translateX(-50%);display:flex;gap:7px;align-items:center;padding:8px;border-radius:14px;max-width:calc(100vw - 20px)}.health-navigation[hidden]{display:none}.health-navigation strong{font-size:11px;white-space:nowrap;padding:0 8px}.health-navigation button,.health-secondary{border:1px solid #648f7e;background:#1c382e;color:#e8f3ed;border-radius:10px;padding:10px;font:inherit;font-size:12px;cursor:pointer;text-decoration:none}.health-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.health-columns article,.health-comparison,.health-steps details{background:#ffffff08;border:1px solid #ffffff16;border-radius:14px;padding:14px}.health-columns h3,.health-comparison h3{margin-top:0}.health-steps{display:grid;gap:8px;margin:14px 0}.health-steps summary{cursor:pointer;font-weight:700}.health-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.health-actions a{text-decoration:none}.health-note,.health-source{font-size:12px!important;color:#b4c7bc}.health-source{display:inline-block;margin-top:10px}.health-comparison{margin-top:14px}.health-comparison li{margin-bottom:9px}
@media(max-width:760px),(orientation:landscape) and (max-height:600px){.health-navigation{top:68px;gap:4px;padding:5px;overflow-x:auto}.health-navigation strong{display:none}.health-navigation button{white-space:nowrap;font-size:11px;padding:8px}.health-columns{grid-template-columns:1fr}.health-actions .primary{font-size:13px;padding:12px}.health-navigation~.zone-prompt{bottom:10px}}

/* Modo assistido: a página do consultor já traz o seu próprio cabeçalho, por isso
   escondemos o da moldura para não duplicar o título/eyebrow. */
.onboarding-experience.staff .onboarding-console>header{visibility:hidden;height:0;margin:0;padding:0;overflow:hidden;pointer-events:none}

/* Onboarding assistido — visivel apenas para owner / beraters */
.onboarding-staff{display:grid;gap:5px;margin-top:16px;padding:15px;border:1px solid rgba(67,221,164,.3);border-radius:14px;background:rgba(67,221,164,.08)}
.onboarding-staff .eyebrow{font-size:9px}
.onboarding-staff b{font-size:14px}
.onboarding-staff small{color:var(--text-secondary);font-size:12px;line-height:1.45}
.onboarding-staff .ghost{margin-top:9px;min-height:48px;padding:0 14px;border:1px solid rgba(67,221,164,.5);border-radius:12px;background:rgba(67,221,164,.16);color:#8af0c8;font-size:13px;font-weight:850;cursor:pointer}
.onboarding-staff .ghost:hover{background:rgba(67,221,164,.26)}
.onboarding-languages[hidden]{display:none}

/* Microfone de difusão do owner: fala ao vivo para toda a sala (não é uma chamada 1:1). */
.action.broadcast .icon{background:rgba(255,107,107,.15);color:#ff8a80}
.action.broadcast.active{border-color:#ff5f56;background:rgba(90,20,20,.85)}
.action.broadcast.active .icon{background:rgba(255,95,86,.28);color:#ffb4ad;animation:broadcast-pulse 1.1s ease-in-out infinite}
@keyframes broadcast-pulse{0%,100%{box-shadow:0 0 0 0 rgba(255,95,86,.5)}50%{box-shadow:0 0 0 7px rgba(255,95,86,0)}}

/* Barra superior: widget glass compacto. .room-tools cresce dinamicamente conforme os módulos da
   sala (owner-push, journey, access-log, etc.) inserem os seus próprios botões — em vez de deixar
   a barra transbordar/sobrepor texto, o essencial fica visível e o resto entra no menu "⋯ Mais". */
.topbar{width:auto!important;justify-content:flex-start!important;max-width:calc(100vw - 28px)}
.room-tools{flex-wrap:nowrap;min-width:0}
.room-tools>*{flex:0 0 auto}

.more-tools{position:relative;flex:0 0 auto}
.more-tools[hidden]{display:none!important}
.more-tools-toggle{height:38px;width:38px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.1);border-radius:13px;background:rgba(255,255,255,.06);color:var(--text-primary,#fff);font-size:18px;font-weight:900;line-height:1;cursor:pointer}
.more-tools-toggle:hover,.more-tools-toggle[aria-expanded="true"]{background:rgba(255,255,255,.12)}
.more-tools-menu{position:fixed;z-index:999;display:grid;gap:4px;min-width:250px;max-width:min(320px,calc(100vw - 28px));max-height:min(70vh,520px);overflow:auto;padding:8px;border-radius:16px;background:rgba(12,22,18,.92);border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 50px rgba(0,0,0,.4);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);animation:emote-appear .18s ease}
.more-tools-menu[hidden]{display:none!important}
.more-tools-menu>button{all:unset!important;box-sizing:border-box!important;display:flex!important;align-items:center!important;gap:8px!important;width:100%!important;height:auto!important;min-height:40px;padding:10px 12px!important;margin:0!important;border-radius:11px!important;background:none!important;color:var(--text-primary,#fff)!important;font-size:13px!important;font-weight:700!important;cursor:pointer!important;white-space:normal!important;text-align:left!important;line-height:1.3!important}
.more-tools-menu>button:hover{background:rgba(255,255,255,.08)!important}
.more-tools-menu>button b{display:grid;place-items:center;margin-left:auto;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:rgba(67,221,164,.16);color:#79eabd;font-size:10px}
#clientAccountMenu{position:fixed;z-index:48;top:max(20px,calc(env(safe-area-inset-top) + 8px));right:max(22px,calc(env(safe-area-inset-right) + 8px))}
#clientAccountMenu[hidden],#clientAccountMenuPanel[hidden]{display:none!important}
#clientAccountMenuToggle{display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid #d8bd7d66;border-radius:14px;background:#102b23e8;color:#fff4dc;box-shadow:0 10px 30px #03120d66;backdrop-filter:blur(12px);font:900 20px/1 system-ui;cursor:pointer}
#clientAccountMenuToggle:hover,#clientAccountMenuToggle[aria-expanded="true"]{background:#1c4839}
#clientAccountMenuPanel{position:absolute;right:0;top:50px;display:grid;gap:4px;width:min(286px,calc(100vw - 28px));padding:8px;border:1px solid #d8bd7d55;border-radius:17px;background:#0c211bea;box-shadow:0 20px 55px #0008;backdrop-filter:blur(18px)}
#clientAccountMenuPanel>.account-menu-entry{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:11px;width:100%;min-height:48px;padding:10px 12px;border-radius:11px;color:#fff;cursor:pointer}
#clientAccountMenuPanel>.account-menu-entry:hover,#clientAccountMenuPanel>.account-menu-entry:focus-visible{background:#ffffff12;outline:1px solid #d8bd7d55}
.account-menu-entry>svg{flex:0 0 21px;color:#d8bd7a}
.account-menu-copy{display:grid;gap:2px;min-width:0}
.account-menu-copy strong{font-size:13px;font-weight:750;color:#fff}
.account-menu-copy small{font-size:10px;font-weight:500;color:rgba(255,255,255,.62)}
body.bunker-space #clientAccountMenu{right:max(72px,calc(env(safe-area-inset-right) + 68px))}
@media(max-width:760px),(orientation:landscape) and (max-height:600px){#clientAccountMenu{top:max(16px,calc(env(safe-area-inset-top) + 8px));right:max(16px,calc(env(safe-area-inset-right) + 8px))}body.bunker-space #clientAccountMenu{right:max(68px,calc(env(safe-area-inset-right) + 64px))}}
.identity-chip{display:none!important}
@media(max-width:620px){.onboarding-staff{margin-top:12px;padding:12px}}

.health-theme-card{width:100%;margin:24px 0 8px;display:flex;gap:20px;align-items:center;text-align:left;background:linear-gradient(120deg,#294c3f,#183329);border:1px solid #759a8160;color:#f4f0e3;padding:26px;border-radius:24px;cursor:pointer}.theme-symbol{display:grid;place-items:center;width:74px;height:74px;border-radius:24px;background:#d6c18d;color:#284c39;font-size:36px;flex-shrink:0}.health-theme-card small,.health-theme-card b,.health-theme-card em{display:block}.health-theme-card small{font-size:10px;letter-spacing:.14em;color:#b6c7b3}.health-theme-card b{font-size:28px;margin:8px 0}.health-theme-card em{font-style:normal;font-size:13px;color:#c5d2c5}.health-theme-card i{margin-left:auto;font-size:24px}.health-experience{padding:0;width:min(1260px,calc(100vw - 28px));max-width:none;height:calc(100dvh - 28px);max-height:none;background:#f3f5ef;border:1px solid #b6c6b4;border-radius:22px;overflow:hidden;color:#234132;box-shadow:0 30px 100px #0009}.health-experience::backdrop{background:#0b1b18c9;backdrop-filter:blur(10px)}.health-experience>header{height:62px;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;background:#173d30;color:#f5f3e8}.health-experience header small{display:block;font-size:11px;color:#b7cfbd;margin-top:3px}.health-experience header button{border:1px solid #7c9d84;border-radius:20px;background:transparent;padding:10px 16px;color:#fff;cursor:pointer}.health-experience iframe{width:100%;height:calc(100% - 62px);border:0;background:#f2f3ed}.health-navigation{background:#163a2fed;border-color:#abc09c40}
@media(max-width:700px),(orientation:landscape) and (max-height:600px){.health-experience{width:calc(100vw - 8px);height:calc(100dvh - 8px);border-radius:14px}.health-experience>header{height:50px;padding:8px 12px}.health-experience iframe{height:calc(100% - 50px)}.health-experience header small{display:none}.health-theme-card{padding:18px;gap:12px}.theme-symbol{width:50px;height:50px;font-size:25px;border-radius:16px}.health-theme-card b{font-size:23px}}

/* Owner avatar skins */
.skin-dialog{width:min(720px,calc(100vw - 24px));max-height:min(640px,calc(100dvh - 24px));overflow:auto;padding:24px;border-radius:24px;color:var(--text-primary)}.skin-dialog::backdrop{background:rgba(1,7,4,.6);backdrop-filter:blur(6px)}
.skin-dialog h2{margin:8px 42px 16px 0;font-size:clamp(22px,4vw,28px);line-height:1.1}
.skin-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:18px}
.skin-stage{position:relative;border-radius:18px;background:radial-gradient(circle at 50% 35%,rgba(67,221,164,.16),rgba(0,0,0,.25) 70%);border:1px solid rgba(255,255,255,.08);overflow:hidden;display:grid}
.skin-stage canvas{width:100%;aspect-ratio:4/5;display:block;touch-action:none}
.skin-preview-status{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);padding:6px 11px;border-radius:10px;background:rgba(0,0,0,.5);font-size:12px;font-weight:700}.skin-preview-status[hidden]{display:none}
.skin-clips{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:8px}
.skin-clips button{height:32px;border:1px solid rgba(255,255,255,.1);border-radius:9px;background:rgba(255,255,255,.06);font-size:11px;font-weight:800;cursor:pointer}.skin-clips button[aria-pressed="true"]{background:rgba(67,221,164,.2);border-color:rgba(67,221,164,.45);color:#9af3cd}
.skin-side{display:flex;flex-direction:column;gap:12px;min-width:0}
.skin-list{display:grid;gap:7px}
.skin-option{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;width:100%;padding:11px 12px;text-align:left;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.045);cursor:pointer}
.skin-option i{width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.35)}.skin-option[aria-checked="true"]{border-color:rgba(67,221,164,.55);background:rgba(67,221,164,.1)}.skin-option[aria-checked="true"] i{border-color:#43dda4;background:radial-gradient(circle,#43dda4 45%,transparent 50%)}
.skin-option b{display:block;font-size:14px}.skin-option small{display:block;color:var(--text-secondary);font-size:11px;margin-top:2px}
.skin-option em{font-style:normal;font-size:9px;font-weight:900;letter-spacing:.1em;padding:4px 7px;border-radius:8px;background:rgba(67,221,164,.16);color:#7eecc0}
.skin-note{margin:0;color:var(--text-secondary);font-size:12px;line-height:1.45}
.skin-side .dialog-actions{margin-top:auto}.skin-side #skinCancel{background:rgba(255,255,255,.08)}.skin-side #skinApply:disabled{opacity:.45;cursor:default;box-shadow:none}
@media(max-width:640px){.skin-dialog{padding:18px}.skin-layout{grid-template-columns:1fr}.skin-stage canvas{aspect-ratio:1/1;max-height:34dvh}}
.skin-side .dialog-actions button{white-space:nowrap;padding:0 10px}

/* HUD minimize toggle — "Esconder barra / Mostrar barra" (photo/cinema mode) */
.hud-toggle{height:38px;display:flex;align-items:center;gap:6px;padding:0 13px;border:1px solid rgba(255,255,255,.1);border-radius:13px;background:rgba(255,255,255,.06);color:var(--text-primary,#fff);font-size:12px;font-weight:800;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}
.hud-toggle:hover{background:rgba(255,255,255,.12)}
.hud-toggle[aria-pressed="true"]{background:rgba(67,221,164,.14);border-color:rgba(67,221,164,.28);color:#8af0c8}
body.hud-min .topbar>*:not(.room-tools),
body.hud-min .topbar .room-tools>*:not(#hudToggle),
body.hud-min .actions,
body.hud-min .hint,
body.hud-min #hint,
body.hud-min .zone-prompt,
body.hud-min #zonePrompt,
body.hud-min .people,
body.hud-min .requests,
body.hud-min .document-inbox,
body.hud-min .panel-backdrop,
body.hud-min .joystick{opacity:0;pointer-events:none}
body.hud-min .topbar{background:transparent;border-color:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;justify-content:flex-end;transition:background .2s,border-color .2s,box-shadow .2s}
/* Recovery control: hiding the HUD must never hide the only way to restore it. */
body.hud-min #hudToggle{display:flex!important;position:fixed!important;top:max(12px,env(safe-area-inset-top))!important;right:max(72px,calc(env(safe-area-inset-right) + 72px))!important;z-index:1000!important;width:auto!important;height:42px!important;padding:0 15px!important;background:rgba(15,54,43,.94)!important;border-color:rgba(223,200,147,.55)!important;color:#fff4d6!important;box-shadow:0 8px 24px rgba(3,20,15,.34)!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}
.topbar,.actions,.hint,#hint,.zone-prompt,#zonePrompt,.people,.requests,.document-inbox,.panel-backdrop,.joystick{transition:opacity .2s ease}
@media(max-width:760px){body.hud-min .joystick{opacity:1;pointer-events:auto}}

/* Stand up button — shown while the owner's character is sitting */
.stand-up-button{position:fixed;z-index:24;left:50%;bottom:max(96px,calc(env(safe-area-inset-bottom) + 90px));transform:translateX(-50%);height:46px;padding:0 22px;border:1px solid rgba(67,221,164,.3);border-radius:23px;background:rgba(12,22,18,.9);color:#8af0c8;font-size:14px;font-weight:800;cursor:pointer;box-shadow:0 16px 40px rgba(0,0,0,.35);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);animation:emote-appear .25s ease}
.stand-up-button[hidden]{display:none!important}
.stand-up-button:hover{background:rgba(67,221,164,.14)}

/* Emote Menu — drag-drop animation menu */
.emote-menu{position:fixed;z-index:25;pointer-events:none}
.emote-menu[hidden]{display:none!important}
.emote-container{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:8px;border-radius:20px;background:rgba(12,22,18,.88);border:1px solid rgba(67,221,164,.2);box-shadow:0 20px 60px rgba(0,0,0,.4),0 0 30px rgba(67,221,164,.15);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);animation:emote-appear .3s cubic-bezier(.34,1.56,.64,1)}
.emote-item{width:68px;height:68px;border:0;border-radius:14px;background:rgba(67,221,164,.1);color:#f5faf7;cursor:pointer;font-size:11px;font-weight:700;padding:0;display:grid;place-items:center;grid-template-rows:auto auto;gap:4px;transition:all .15s;pointer-events:auto;user-select:none}
.emote-item:hover,.emote-item.drag-hover{background:rgba(67,221,164,.32);transform:scale(1.12);box-shadow:0 0 0 2px rgba(67,221,164,.5)}
.emote-item:active{transform:scale(.96)}
.emote-icon{font-size:28px;line-height:1}
.emote-label{font-size:10px}
@keyframes emote-appear{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}
@media(max-width:760px){.emote-container{grid-template-columns:repeat(3,1fr);gap:6px;padding:6px}.emote-item{width:62px;height:62px;border-radius:12px;font-size:10px}.emote-icon{font-size:24px}.emote-label{font-size:9px}}

/* Larger character catalogue remains scrollable on phones and desktop. */
.skin-dialog{max-height:90dvh;overflow:auto}.skin-list{max-height:52dvh;overflow-y:auto;overscroll-behavior:contain}

.office-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0}.office-directory button{display:flex;align-items:center;gap:12px;text-align:left;padding:16px;border:1px solid #547362;border-radius:12px;background:#193e32;color:#fff}.office-directory button b{color:#d8c28e}.office-directory button span:last-child{margin-left:auto}@media(max-width:600px){.office-directory{grid-template-columns:1fr}.skin-dialog .dialog-actions{flex-wrap:wrap}}

/* Compact registration frame: no decorative column stealing the mobile form height. */
#onboardingExperience{box-sizing:border-box;background:#f4f3ed;color:#243b32}
#onboardingExperience .onboarding-console{min-height:0;background:#fafaf6;color:#243b32;border-color:#b6c2b34d;box-shadow:0 18px 65px #14282020;grid-template-rows:auto auto minmax(0,1fr)}
#onboardingExperience .onboarding-console>header span{color:#4a7156}
#onboardingExperience .onboarding-console p{color:#627064}
#onboardingExperience .onboarding-languages button{color:#415c4b;border-color:#99ac9855;background:#e9eee5}
#onboardingExperience .onboarding-languages button.active{border-color:#477256;background:#dce6d8;color:#234c32;box-shadow:none}
#onboardingExperience .onboarding-status{color:#627064;flex-wrap:wrap}
#onboardingExperience .onboarding-status.error{color:#943c31}
#onboardingExperience .onboarding-close{background:#f9faf3ed;color:#294531;border-color:#879c8055}
#onboardingExperience .onboarding-frame-shell{background:#f6f6f1;border-color:#98ac8b44;min-height:0}
#onboardingRetry{font:600 12px system-ui;border:1px solid #839b77;border-radius:8px;padding:6px 12px;min-height:36px;background:#f9fbf6;color:#294531;cursor:pointer}
#onboardingRetry[hidden]{display:none!important}
@media(max-width:1000px),(max-height:650px){
 #onboardingExperience[open]{display:block;padding:0}
 #onboardingExperience .onboarding-host{display:none}
 #onboardingExperience .onboarding-console{box-sizing:border-box;margin:0;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));height:100dvh;border:0;border-radius:0;gap:4px;backdrop-filter:none}
 #onboardingExperience .onboarding-console>header{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:0 50px 0 0;gap:12px}
 #onboardingExperience .onboarding-console h2{font-size:20px;margin:3px 0}
 #onboardingExperience .onboarding-console>header p{display:none}
 #onboardingExperience .onboarding-console>header>div>span{font-size:9px}
 #onboardingExperience .onboarding-languages{position:static;display:flex;margin:0;gap:3px;flex-shrink:0}
 #onboardingExperience .onboarding-languages button{width:38px;height:40px;min-width:0;min-height:40px;border-radius:9px;font-size:16px}
 #onboardingExperience .onboarding-status{min-height:26px;font-size:11px;margin:0 3px}
 #onboardingExperience .onboarding-frame-shell{border-radius:12px}
 #onboardingExperience .onboarding-close{top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));width:40px;height:40px}
}
@media(max-width:540px) and (orientation:portrait){
 #onboardingExperience .onboarding-console>header{display:block;padding-right:44px;min-height:0}
 #onboardingExperience .onboarding-languages{margin:7px 0 3px}
 #onboardingExperience .onboarding-languages button{width:44px;height:44px}
}

#onboardingExperience [hidden]{display:none!important}
/* Embedded registration is a non-modal screen surface, with native form scrolling. */
#onboardingExperience.on-imac[open]{position:fixed;inset:auto!important;left:0!important;top:0!important;width:480px!important;max-width:none!important;height:270px!important;max-height:none!important;margin:0!important;transform:var(--monitor-transform);transform-origin:0 0;z-index:30;display:block;padding:0!important;border:0;border-radius:0;box-shadow:none;overflow:hidden;will-change:transform}
#onboardingExperience.on-imac .onboarding-host,#onboardingExperience.on-imac::before{display:none}
#onboardingExperience.on-imac .onboarding-console{box-sizing:border-box;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:2px;width:100%;height:100%;min-height:0;margin:0;padding:6px 8px;border:0;border-radius:0;background:#f7f8f2;box-shadow:none;backdrop-filter:none}
#onboardingExperience.on-imac .onboarding-console>header{display:flex;align-items:center;justify-content:space-between;min-height:30px;padding:0 30px 0 0;gap:8px}
#onboardingExperience.on-imac .onboarding-console>header>div>span{font-size:8px;letter-spacing:.1em}
#onboardingExperience.on-imac .onboarding-console h2{font:600 15px/1.1 system-ui;margin:2px 0}
#onboardingExperience.on-imac .onboarding-console>header p{display:none}
#onboardingExperience.on-imac .onboarding-languages{position:static;display:flex;gap:3px;margin:0}
#onboardingExperience.on-imac .onboarding-languages button{width:30px;height:30px;min-height:0;min-width:0;padding:2px;border-radius:7px;font-size:14px}
#onboardingExperience.on-imac .onboarding-languages button span{font-size:7px}
#onboardingExperience.on-imac .onboarding-status{min-height:18px;font-size:9px;gap:7px;margin:0 3px}
#onboardingExperience.on-imac .onboarding-status i{width:5px;height:5px;box-shadow:none}
#onboardingExperience.on-imac .onboarding-frame-shell{min-height:0;border-radius:7px;overflow:hidden}
#onboardingExperience.on-imac .onboarding-close{position:absolute;top:6px;right:6px;width:28px;height:28px;border-radius:8px;font-size:21px;backdrop-filter:none}
#onboardingExperience.on-imac #onboardingRetry{font-size:10px;min-height:26px;padding:3px 8px}

/* Expand the same iframe beyond the 480x270 monitor while the keypad is open. */
#onboardingExperience.phone-pad-expanded[open]{box-sizing:border-box;position:fixed!important;inset:12px!important;left:12px!important;top:12px!important;display:block!important;width:min(760px,calc(100vw - 24px))!important;max-width:calc(100vw - 24px)!important;height:calc(100dvh - 24px)!important;max-height:calc(100dvh - 24px)!important;margin:auto!important;padding:0!important;transform:none!important;will-change:auto!important;z-index:100000!important;border-radius:16px!important;overflow:hidden!important}
#onboardingExperience.phone-pad-expanded .onboarding-host,#onboardingExperience.phone-pad-expanded .onboarding-console>header,#onboardingExperience.phone-pad-expanded .onboarding-status,#onboardingExperience.phone-pad-expanded .onboarding-close{display:none!important}
#onboardingExperience.phone-pad-expanded .onboarding-console{display:grid!important;grid-template-rows:minmax(0,1fr)!important;box-sizing:border-box!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;gap:0!important}
#onboardingExperience.phone-pad-expanded .onboarding-frame-shell,#onboardingExperience.phone-pad-expanded iframe{width:100%!important;height:100%!important;min-height:0!important;border-radius:0!important}


/* Minimal loading: brand, display control, language and real progress. */
#soaresLoading#soaresLoading{overflow-y:auto;padding:max(20px,env(safe-area-inset-top)) 24px max(20px,env(safe-area-inset-bottom));box-sizing:border-box;background:radial-gradient(ellipse at 50% 25%,#28513f,#142820 65%,#0d1d18)}
#soaresLoading#soaresLoading .loading-card{box-sizing:border-box;width:min(100%,420px);padding:16px;margin:auto}
#soaresLoading#soaresLoading img{width:min(100%,270px);max-height:120px;margin:0 auto 30px}
#soaresLoadingSetup{display:grid;justify-items:center;gap:24px}#soaresLoadingSetup[hidden]{display:none}
#soaresLoading#soaresLoading #soaresLoadingFullscreen{display:grid;place-items:center;width:100px;height:92px;padding:8px;margin:0;border:1px solid #d6bd7e55;border-radius:24px;background:#d6bd7e0a;color:#e3ce9b;cursor:pointer}
.loading-motion{width:80px;height:64px}.loading-motion svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.loading-device{transform-origin:50px 40px;animation:loading-turn 3s cubic-bezier(.65,0,.35,1) infinite}.loading-expand{transform-origin:50px 40px;opacity:.25;animation:loading-expand 3s cubic-bezier(.65,0,.35,1) infinite}.loading-arc{transform-origin:50px 40px;opacity:.3;animation:loading-arc 3s ease-in-out infinite}.loading-rotate{opacity:.7}
#soaresLoading#soaresLoading #soaresLoadingLanguage{width:min(100%,300px);min-height:48px;padding:10px 15px;border:1px solid #d6bd7e66;border-radius:13px;background:#17392c;color:#f8f2e3;font:16px system-ui;color-scheme:dark}
#soaresLoading#soaresLoading progress{margin:30px 0 12px;height:4px}#soaresLoadingPercent{font-size:14px;color:#e3ce9b}
#soaresLoading#soaresLoading .loading-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:0;padding:0}
#soaresLoading#soaresLoading #soaresLoadingContinue[hidden]{display:none}#soaresLoading#soaresLoading #soaresLoadingContinue{display:block;margin:16px auto 0;min-width:48px;min-height:48px;font-size:25px;border-radius:50%}
#soaresLoading :focus-visible{outline:2px solid #f5d893;outline-offset:5px}
@keyframes loading-turn{0%,15%,100%{transform:rotate(0)}45%,72%{transform:rotate(-90deg)}}
@keyframes loading-expand{0%,15%,100%{transform:scale(.8);opacity:.18}45%,72%{transform:scale(1);opacity:.85}}
@keyframes loading-arc{0%,15%,100%{opacity:.14}40%,72%{opacity:.6}}
@media(orientation:landscape) and (max-height:500px){#soaresLoading#soaresLoading .loading-card{width:min(100%,680px);display:grid;grid-template-columns:1fr 1fr;align-items:center;column-gap:44px;padding:8px}#soaresLoading#soaresLoading img{margin:auto;width:240px;max-height:95px}#soaresLoadingSetup{gap:14px}#soaresLoading#soaresLoading progress{grid-column:1/-1;margin-top:22px}#soaresLoadingPercent{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.loading-device,.loading-expand,.loading-arc{animation:none}}
