:root{--fundo:#111c1b;--fundo2:#f7f6f2;--linha:#deded5;--texto:#263c37;--suave:#73817a;--acento:#29694d;--ok:#69a87c;--erro:#b94136}
.entrada-toast{position:fixed;right:22px;bottom:22px;z-index:1200;display:flex;flex-direction:column;gap:8px;align-items:flex-end;pointer-events:none;width:min(330px,calc(100% - 28px))}.entrada-toast-item{pointer-events:auto;display:flex;align-items:center;gap:11px;width:min(310px,100%);padding:11px 14px;text-align:left;color:#edf7f2;background:rgba(15,31,28,.94);border:1px solid rgba(145,215,185,.5);border-radius:7px;box-shadow:0 8px 24px rgba(0,0,0,.32);font:13px/1.25 Inter,"Segoe UI",Arial,sans-serif;animation:entrada-toast-in .22s ease-out}.entrada-toast-item:hover{background:#1d4738;border-color:#8ce4be}.entrada-toast-item.saida{background:rgba(60,22,25,.96);border-color:rgba(238,132,137,.65)}.entrada-toast-item.saida:hover{background:#6b2d32;border-color:#ffadb0}.entrada-toast-item.saida .entrada-toast-avatar{background:#e88489;color:#4b171b}.entrada-toast-item.saida .entrada-toast-texto small{color:#f0b5b8}.entrada-toast-item.saindo{animation:entrada-toast-out .22s ease-in forwards}.entrada-toast-avatar{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:#69d2ae;color:#103a2b;font-weight:750;font-size:15px}.entrada-toast-texto{display:flex;min-width:0;flex-direction:column;gap:3px}.entrada-toast-texto strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650}.entrada-toast-texto small{color:#a8c8bc;font-size:11px}@keyframes entrada-toast-in{from{opacity:0;transform:translateX(22px)}to{opacity:1;transform:translateX(0)}}@keyframes entrada-toast-out{to{opacity:0;transform:translateX(22px)}}
body.office-3d{font-family:Inter,"Segoe UI",Arial,sans-serif;background:#b9c8ca;color:var(--texto)}
button,a,input,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #79b995;outline-offset:3px}
#world-3d{position:fixed;inset:0;z-index:0}#world-3d canvas{display:block;width:100%;height:100%;outline:0;touch-action:none}
#intro-3d{position:fixed;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(12,28,28,.68),transparent 72%);color:white;padding:40px 4.5vw}
.wordmark{font-size:32px;font-weight:750;letter-spacing:-1.7px;text-decoration:none;color:inherit;pointer-events:auto}.wordmark span{font-size:12px;font-weight:400;letter-spacing:.6px;margin-left:14px;color:inherit;opacity:.8}.edition{position:absolute;top:58px;right:4.5vw;font-size:10px;letter-spacing:2.2px}.intro-copy{position:absolute;left:4.5vw;top:32%;max-width:51%}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:650}.intro-copy h2{font-size:clamp(36px,4.6vw,72px);line-height:1.08;letter-spacing:-2.5px;font-weight:500;margin:25px 0}.intro-copy p{font-size:15px;line-height:1.8;color:#e0e7df}.intro-tags{display:flex;gap:22px;margin-top:36px;font-size:11px;color:#dae6de}.intro-foot{position:absolute;bottom:36px;font-size:10px;letter-spacing:2px;opacity:.75}
.tela-login{background:none;justify-content:flex-end;padding:100px 4.5vw 60px;pointer-events:none;overflow:auto;z-index:3}.cartao{pointer-events:auto;max-width:374px;background:rgba(250,249,245,.96);border:1px solid #fff8;box-shadow:0 24px 90px #10211e45;border-radius:18px;padding:30px;color:var(--texto);backdrop-filter:blur(20px)}.cartao h1{font-size:26px;font-weight:550;letter-spacing:-1px;margin:17px 0 9px}.cartao .sub{font-size:12px;margin-bottom:22px}.cartao label{font-size:10px;letter-spacing:1px;color:#5a6960}.cartao input[type=text],.cartao input[type=password]{background:#fff;border-color:#dadfd6;color:var(--texto);font-size:13px}.atalhos{gap:6px}.atalhos button{background:transparent;color:#45564e;border-color:#d9dfd6;font-size:12px;padding:8px}.atalhos button.sel{background:#e3ebdf;color:#27503d;border-color:#6c9174}.avatar-details{margin-top:16px;font-size:11px;color:#637468}.avatar-details summary{cursor:pointer}.avatar-details[open] .editor-avatar{margin-top:10px}.editor-avatar{background:#eef0e9;border-color:#dce1d8}.opcoes .linha{color:#556258}.opcoes .linha button{background:white;color:#456353;border-color:#ccc}.primario{border-radius:8px;font-size:13px;padding:14px;margin-top:14px;background:#2a644b}.original-link{display:block;text-align:center;font-size:11px;color:#758078;text-decoration:none}.erro{font-size:12px}.cartao label.check{font-size:11px;color:#667466;margin:14px 0}
body.entered #intro-3d{display:none}body.entered #world-3d{inset:66px 290px 0 0}#app{position:relative;pointer-events:none;grid-template-columns:1fr 290px;grid-template-rows:66px auto 1fr;background:transparent}#app>*{pointer-events:auto}.barra{background:#f7f6f2f5;gap:24px;border-bottom:1px solid #d8dfd5;padding:0 23px;z-index:4}.wordmark.small{font-size:25px;letter-spacing:-1.4px;white-space:nowrap}.wordmark.small span{margin-left:7px;font-size:10px}.local{flex:1}.local strong{font-size:12px;font-weight:600}.local span{display:block;margin:2px 0 0;font-size:10px}.controles{gap:5px}.ctrl{width:31px;height:31px;font-size:14px;background:transparent;border-color:#cdd6cd;border-radius:8px;color:#294535;opacity:.7}.ctrl.ativo{background:#e1eadd;border-color:#a2b7a0;opacity:1}.ctrl.sair{border-color:#dbcac4}.ctrl.sair:hover{background:#ead7cf}.palco{position:relative;background:transparent;pointer-events:none!important;overflow:hidden}#mapa{visibility:hidden}#dica,#toque{display:none!important}.painel{background:#f7f6f2;z-index:4;border-left:1px solid #e0e2d8}.painel-topo{border-color:#deded5;font-size:11px;padding:24px 20px;text-transform:uppercase;letter-spacing:1px}.pessoas{padding:10px 12px}.pessoas li{color:#334e40;background:transparent;border-color:#e0e4da}.pessoas li .nome{font-size:12px}.chat{border-color:#dfe2d8}.msg .texto{color:#374e41}.msg.sistema{color:#7b877e;font-size:11px}.form-chat{border-color:#d8ddd2;padding:12px;gap:5px}.form-chat input,.form-chat select,.form-chat button{background:white;color:#355141;border-color:#d7dece}.form-chat input{min-width:0}.faixa-videos:not(:empty){position:absolute;top:75px;left:16px;max-width:calc(100% - 310px);z-index:6;background:#10221bd9;border:0;border-radius:12px}.tile-video{width:160px;height:100px}.tela-agente-mini{color:#b9dac8}.editor-flutuante{z-index:25}.cartao-editor{background:#f7f6f2}.cartao-editor .editor-avatar{background:#e9eee4}.palco-grande{z-index:30}
#hud-3d{position:absolute;top:22px;left:23px;right:23px;display:flex;justify-content:space-between;align-items:center;z-index:2;pointer-events:none;color:#fff}.view-label{display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:1.8px;text-shadow:0 1px 7px #000}.view-label i{width:6px;height:6px;border-radius:50%;background:#c6e2ac;box-shadow:0 0 12px #acff73}.view-actions{display:flex;gap:6px;pointer-events:auto}.view-actions button{background:#14231b9e;color:#f7f7ed;border:1px solid #f4f5e02e;padding:8px 10px;border-radius:7px;font-size:10px;backdrop-filter:blur(12px)}#minimap-3d{position:absolute;right:22px;bottom:27px;width:204px;padding:13px;border:1px solid #ecf4e535;background:#11211eda;color:#d8e0d7;border-radius:10px;z-index:2;backdrop-filter:blur(14px)}#minimap-3d>span{font-size:8px;letter-spacing:1.6px}#minimap-3d canvas{width:100%;height:auto;display:block;margin:10px 0}#minimap-3d small{font-size:8px;color:#9aaea1}#minimap-3d i,#minimap-3d b{display:inline-block;width:5px;height:5px;border-radius:50%;background:white}#minimap-3d b{background:#81c68f}#reticle-3d{position:absolute;top:50%;left:50%;width:5px;height:5px;background:#fffc;border-radius:50%;box-shadow:0 0 2px 2px #0003;display:none}body.exploring #reticle-3d{display:block}#explore-3d{position:absolute;left:50%;bottom:70px;transform:translateX(-50%);border:1px solid #ffffff4a;background:#f7f6ede8;border-radius:10px;padding:16px 28px;color:#233f30;pointer-events:auto;box-shadow:0 10px 40px #0002;font-size:13px;font-weight:600;white-space:nowrap}#explore-3d span{display:block;font-size:10px;font-weight:400;margin-top:6px;color:#708073}body.exploring #explore-3d{display:none}#help-3d{position:absolute;bottom:26px;left:24px;display:flex;gap:18px;color:#f0f4e8;font-size:10px;text-shadow:0 1px 5px #000}kbd{font-family:inherit;font-size:9px;padding:4px 6px;border:1px solid #fff4;border-radius:4px;background:#12291d65;margin-right:5px}#touch-3d{display:none}body.constructing #world-3d{display:none}body.constructing #mapa{visibility:visible}body.constructing #hud-3d,body.constructing #minimap-3d,body.constructing #reticle-3d,body.constructing #explore-3d,body.constructing #help-3d,body.constructing #touch-3d{display:none}body.constructing .palco{pointer-events:auto!important}.construcao{background:#f7f6f2;color:#324937}.construcao button{color:#415e4c}.construcao .pecas button{background:#e8ece4}.construcao .categorias button{background:#e1e6db}.construcao-rodape{background:#ebeee7}.construcao .pecas{background:#f3f3ec}#error-3d{position:fixed;bottom:20px;left:20px;right:20px;background:#fff7e8;color:#6e4833;padding:16px;z-index:100;border-radius:10px;font-size:13px}#error-3d a{color:#2a644b}#error-3d[hidden]{display:none}.no-script{position:fixed;z-index:100;background:white;padding:20px}.sortear{color:#48644e;border-color:#a9b9a7}#app.painel-fechado{grid-template-columns:1fr}body.sidebar-hidden #world-3d{right:0}
@media(max-width:1100px){.barra{gap:12px;padding:0 14px}.wordmark.small span{display:none}.intro-tags{display:block}.intro-tags span{display:block;margin:8px 0}.intro-copy{max-width:45%}#app{grid-template-columns:1fr 255px}body.entered #world-3d{right:255px}#help-3d span:last-child{display:none}#minimap-3d{width:170px}.view-label{display:none}}
@media(max-width:760px){.tela-login{padding:85px 20px 30px;align-items:center;justify-content:center}.cartao{max-width:370px;padding:24px}.intro-copy,.edition,.intro-foot{display:none}#intro-3d{padding:22px}#app{grid-template-columns:1fr;grid-template-rows:60px auto 1fr}body.entered #world-3d{inset:60px 0 0}.barra{padding:0 12px;gap:10px}.barra .wordmark{font-size:22px}.barra .local span{max-width:90px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ctrl{width:28px;height:30px;font-size:12px}.controles{gap:3px}#btn-avatar,#btn-voz-area{display:none}.painel{position:absolute;right:0;top:60px;bottom:0;width:min(290px,88vw);box-shadow:-12px 0 40px #0002}.faixa-videos:not(:empty){max-width:90%;top:65px}#hud-3d{top:15px;left:15px;right:15px}#minimap-3d{width:142px;right:15px;bottom:150px}#help-3d{display:none}#explore-3d{bottom:24px;font-size:12px;padding:13px 18px}#explore-3d span{font-size:9px}body.exploring #touch-3d{display:flex;position:absolute;bottom:24px;left:22px;right:22px;justify-content:space-between;align-items:end;color:white;font-size:10px}.touch-move{display:grid;grid-template-columns:44px 44px 44px;gap:5px;pointer-events:auto}.touch-move button{width:44px;height:44px;background:#203b2cc9;color:#fff;border:1px solid #fffa;border-radius:10px;font-size:20px;touch-action:none}.touch-move button:first-child{grid-column:2}.touch-move button:nth-child(2){grid-column:1}.palco-grande{z-index:40}}
@media(pointer:coarse){body.exploring #touch-3d{display:flex;position:absolute;bottom:24px;left:22px;right:22px;justify-content:space-between;align-items:end;color:white;font-size:10px}.touch-move{display:grid;grid-template-columns:44px 44px 44px;gap:5px;pointer-events:auto}.touch-move button{width:44px;height:44px;background:#203b2cc9;color:#fff;border:1px solid #fffa;border-radius:10px;font-size:20px;touch-action:none}.touch-move button:first-child{grid-column:2}.touch-move button:nth-child(2){grid-column:1}#help-3d{display:none}}

.pessoas li.eu{background:#e3ebdf;color:#274630}.pessoas li.eu .nome{color:#274630}

.pessoas li.perto{background:#e2ebdf;color:#2b4938}.pessoas li.perto .onde{color:#607765}
#builder3d{position:fixed;right:0;top:66px;bottom:0;width:316px;background:#f7f6f2;z-index:20;padding:22px;overflow:auto;border-left:1px solid #d9dfd4;color:#294638;pointer-events:auto}#builder3d[hidden]{display:none}.build-heading{position:relative}.build-heading h2{font-size:22px;letter-spacing:-.7px;margin:12px 0 6px}.build-heading button{position:absolute;right:-8px;top:-4px;width:28px;height:28px;border:0;background:transparent;color:#365041}.build-intro{font-size:12px;line-height:1.6;color:#748071;margin:8px 0 18px}#build-catalog{display:grid;grid-template-columns:1fr 1fr;gap:8px}.build-card{min-height:75px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px;padding:12px;border:1px solid #dbe0d5;border-radius:9px;background:#fff;color:#35523e;text-align:left}.build-card span{font-size:21px;color:#658775}.build-card b{font-size:10px;font-weight:500}.build-card:hover,.build-card.active{background:#e2eadb;border-color:#789377}.build-selection{padding:17px 0 12px;border-top:1px solid #dce0d5;margin-top:20px}.build-selection>small{font-size:8px;letter-spacing:1.5px;color:#899183}.build-selection>strong{display:block;font-size:12px;margin:7px 0 12px}.build-tools,.build-history{display:grid;grid-template-columns:1fr 1fr;gap:6px}.build-tools button,.build-history button,#build-orbit{border:1px solid #cad5c6;border-radius:6px;background:#f0f3ea;color:#37533d;padding:9px 6px;font-size:11px}#builder3d button:disabled{opacity:.4;cursor:default}.build-history{margin:6px 0}#build-orbit{width:100%;margin-top:7px}#build-orbit.active{background:#cee0c6}.build-help{font-size:10px;color:#808979;line-height:1.8}#build-status{font-size:11px;padding:10px;background:#e7ede0;border-radius:7px;color:#456d43;line-height:1.5}#build-status.error{background:#f1e0d8;color:#974c32}body.building3d #world-3d{right:316px!important;display:block!important}body.building3d .painel,body.building3d #explore-3d,body.building3d #help-3d,body.building3d #touch-3d,body.building3d #minimap-3d,body.building3d #hud-3d,body.building3d #reticle-3d{display:none!important}body.building3d #app{grid-template-columns:1fr 316px}body.building3d .palco{pointer-events:none!important}body.building3d #mapa{visibility:hidden!important}#construcao{display:none!important}body.exploring .controles{opacity:.75}body.exploring #help-3d{display:flex}
@media(max-width:760px){#builder3d{top:auto;bottom:0;left:0;right:0;width:100%;height:310px;padding:14px 18px}.build-heading h2{font-size:18px;margin:3px 0}.build-heading .eyebrow,.build-intro,.build-help{display:none}#build-catalog{display:flex;overflow-x:auto;gap:6px;margin-top:12px;padding-bottom:7px}.build-card{min-width:110px;min-height:62px;padding:8px}.build-card span{font-size:15px}.build-selection{margin:4px 0 0;padding:6px 0}.build-selection>small{display:none}.build-selection>strong{margin:3px 0 7px}.build-tools{grid-template-columns:repeat(4,1fr)}.build-history{width:68%;display:inline-grid;margin:4px 0}#build-orbit{width:30%;display:inline-block;margin:0}#build-status{margin:5px 0;padding:5px;font-size:10px}body.building3d #world-3d{inset:60px 0 310px!important}body.building3d #app{grid-template-columns:1fr}}

/* Conta pessoal */
#account3d{width:min(420px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;padding:28px;border:1px solid #d9e1d4;border-radius:16px;background:#f8f8f3;color:#294638;box-shadow:0 24px 90px #10211e45}#account3d::backdrop{background:#12251cc4;backdrop-filter:blur(5px)}.account-heading{display:flex;align-items:start;justify-content:space-between}.account-heading h2{margin:8px 0;font-size:23px;letter-spacing:-.6px}#account-close{border:0;background:none;color:#365041;padding:6px;font-size:17px}.account-name{font-size:12px;color:#6b7b69;margin:5px 0 22px}#account3d h3{font-size:15px;margin:0 0 8px}.account-help{font-size:12px;line-height:1.6;color:#70806b;margin:0 0 20px}#account3d label{display:block;font-size:12px;margin:15px 0 7px}#account3d input{display:block;width:100%;border:1px solid #cbd6c6;background:#fff;border-radius:7px;padding:11px;color:#294638;font-size:15px}#account3d input:focus{outline:2px solid #86aa85;outline-offset:1px}#account-password-help{display:block;font-size:10px;margin-top:6px;color:#71806b}#account-message{font-size:12px;line-height:1.5;color:#356844;min-height:18px;margin:16px 0}#account-message.error{color:#a14836}#account-save{width:100%;border:0;border-radius:8px;background:#2a644b;color:#fff;padding:13px;font-size:13px}#account-save:disabled{opacity:.55;cursor:wait}@media(max-width:480px){.barra .local{min-width:0}.barra .local strong{display:block;max-width:74px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.barra{gap:6px}.barra .wordmark{font-size:19px}.controles{gap:2px}.ctrl{width:26px}}

/* A entrada só fica disponível quando o ambiente e os controles estão prontos. */
#loading-3d{position:fixed;inset:0;z-index:200;display:grid;place-items:center;background:#f5f6f0;color:#294638;padding:24px;text-align:center;cursor:wait}
#loading-3d[hidden],#loading-actions[hidden]{display:none}
.loading-card{width:min(100%,420px)}
.loading-card>.wordmark{display:block;margin-bottom:48px;font-size:36px}
.loading-card h1{font-size:22px;font-weight:500;letter-spacing:-.5px;margin:22px 0 10px}
.loading-card p{font-size:13px;line-height:1.6;color:#71806b;margin:0}
.loading-spinner{display:block;width:42px;height:42px;margin:auto;border:3px solid #dbe4d7;border-top-color:#2a644b;border-radius:50%;animation:office-loading-spin .85s linear infinite}
@keyframes office-loading-spin{to{transform:rotate(360deg)}}
#loading-3d.failed{cursor:default}#loading-3d.failed .loading-spinner{display:none}
#loading-actions{margin-top:26px}#loading-actions button{display:block;margin:0 auto 18px;padding:12px 24px;border:0;border-radius:8px;background:#2a644b;color:white;font-size:13px;cursor:pointer}#loading-actions a{font-size:12px;color:#456b50}
@media(prefers-reduced-motion:reduce){.loading-spinner{animation:none;border-top-color:#2a644b}}

#seat-action{position:absolute;left:50%;bottom:154px;transform:translateX(-50%);z-index:8;pointer-events:auto;border:1px solid #c6d5bf;border-radius:9px;padding:12px 20px;background:#f6f8eff2;color:#294638;font-size:13px;box-shadow:0 5px 24px #0002;white-space:nowrap;cursor:pointer}#seat-action kbd{color:#294638;border-color:#b8cbb0;background:#e3edda}#seat-action[hidden],#seat-notice[hidden]{display:none}#seat-action:disabled{opacity:.65;cursor:wait}#seat-notice{position:absolute;bottom:208px;left:50%;transform:translateX(-50%);z-index:8;width:max-content;max-width:90%;border-radius:8px;padding:10px 14px;background:#f6f8ef;color:#294638;text-align:center;font-size:12px}body.exploring #seat-action{bottom:76px}body.exploring #seat-notice{bottom:128px}@media(max-width:760px){#seat-action,body.exploring #seat-action{bottom:180px}#seat-notice,body.exploring #seat-notice{bottom:234px}}

/* Presença: diferenciar microfone de recebimento de áudio. */
#lista-pessoas li{display:grid;grid-template-columns:22px minmax(0,1fr) auto;column-gap:9px;row-gap:3px}
#lista-pessoas .onde{max-width:130px;text-align:right}
#lista-pessoas .person-audio-state{grid-column:2 / -1;display:flex;gap:4px;margin-top:3px}
#lista-pessoas .person-audio-indicator{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:29px;height:34px;border:1px solid #d2d8d0;border-radius:6px;color:#737b73;background:#f4f5f1}
#lista-pessoas .person-audio-indicator.ativo{color:#28523b;background:#e1eadd;border-color:#a2b7a0}
#lista-pessoas .person-audio-indicator:nth-child(3){margin-left:5px}
#lista-pessoas .person-audio-indicator svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#lista-pessoas .person-audio-indicator small{font-size:8px;line-height:1;font-weight:600}
#lista-pessoas .person-audio-indicator.ativo .voice-off-mark{display:none}
#lista-pessoas .person-audio-indicator:not(.ativo) .voice-off-mark{stroke:#9b5550}

/* Quatro controles de voz: microfone e som, por sala e para todos. */
.controles .voice-control{width:36px;height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:3px;flex-shrink:0;opacity:1;color:#657067}
.voice-control svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.voice-control small{font-size:8px;line-height:1;font-weight:600}
.voice-control.ativo{color:#28523b;background:#e1eadd}
.voice-control.ativo .voice-off-mark{display:none}
#btn-falar-todos{margin-left:5px}
@media(max-width:760px){.barra .controles{min-width:0;overflow-x:auto;max-width:100%;padding:3px 0;scrollbar-width:thin}.barra .controles>.ctrl{flex-shrink:0}.barra .local{display:none}.barra .wordmark.small{flex-shrink:0}.controles .voice-control{width:32px;height:42px}#btn-falar-todos{margin-left:3px}}

@media(max-width:760px){#lista-pessoas{max-height:min(32dvh,230px)}}
