:root{--ink:#e6e1d5;--paper:#171815;--panel:#252821;--accent:#d4a14a;--green:#92ad87;--red:#c25e55}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 30% 0,#3a3527,#151613 48%);color:var(--ink);font:15px system-ui,sans-serif}header{height:64px;display:flex;justify-content:space-between;align-items:center;padding:0 24px;border-bottom:1px solid #68604b;background:#121310}header strong{letter-spacing:.15em;color:var(--accent)}header span{margin-left:12px;color:#aaa}button,select{background:#393c31;color:var(--ink);border:1px solid #77715d;border-radius:4px;padding:8px;cursor:pointer}button:hover{border-color:var(--accent)}button:disabled{opacity:.45;cursor:not-allowed}main{display:grid;grid-template-columns:minmax(520px,1fr) 360px;gap:16px;padding:16px;max-width:1500px;margin:auto}.scene{min-width:0}.floor-tabs{display:flex;gap:6px;margin-bottom:8px}.floor-tabs .active{background:var(--accent);color:#201b10}.view{height:620px;overflow:hidden;border:1px solid #77715d;border-radius:8px;background:linear-gradient(145deg,#282c25,#11130f);position:relative}.world{width:960px;height:720px;position:absolute;left:50%;top:52%;transform:translate(-50%,-50%) perspective(850px) rotateX(48deg) rotateZ(0);transform-style:preserve-3d;transition:transform .25s}.house{position:relative;width:760px;height:600px;margin:55px auto;background:#72745e;border:12px solid #b8a77d;box-shadow:0 45px 36px #000a}.room,.upstairs,.attic{position:absolute;border:4px solid #dbd0ad;color:#20251b;text-align:center;font-weight:800;padding-top:26px;background:#9da68d;box-shadow:inset 0 0 20px #0002}.room small{font-weight:400}.sala{left:0;bottom:0;width:280px;height:250px;background:#b8ad8d}.hall{left:280px;bottom:0;width:90px;height:250px}.garagem{left:370px;bottom:0;width:150px;height:250px;background:#899382}.copa{left:0;bottom:250px;width:280px;height:180px;background:#c9bea0}.cozinha{left:0;top:0;width:360px;height:170px;background:#aebaa3}.lavanderia{left:360px;top:0;width:160px;height:170px}.lateral{right:0;top:0;width:80px;height:500px;background:#869482}.quintal{left:0;top:-110px;width:520px;height:110px;background:#6e895c}.upstairs{display:none;left:0;top:0;width:600px;height:460px;background:#a8a07e}.attic{display:none;left:140px;top:80px;width:380px;height:270px;background:#806e52}.floor-1 .room,.floor-1 .quintal{display:none}.floor-1 .upstairs{display:block}.floor-2 .room,.floor-2 .quintal{display:none}.floor-2 .attic{display:block}.cabinet,.chair{position:absolute;transform:translateZ(28px);background:#5f442b;border:2px solid #24190f;color:#f3d89f;font-size:11px;padding:6px}.cabinet{left:230px;top:38px;width:68px;height:68px}.cabinet span{display:block;margin-top:5px;font-size:9px}.chair{left:275px;top:75px;width:45px;height:42px;background:#7d5231}.avatar{position:absolute;z-index:5;width:32px;height:32px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 5px #0005;transform:translate(-50%,-50%) translateZ(45px);display:grid;place-items:center;color:#121;font-size:11px;font-weight:bold}.avatar.selected{outline:4px solid var(--accent)}.avatar[data-id=rafa]{background:#d98d64}.avatar[data-id=bia]{background:#70b4c4}.hint{color:#aaa}.card{background:#20231d;border:1px solid #585b4d;border-radius:8px;margin-bottom:12px;padding:13px}.card h2{font-size:16px;margin:0 0 9px;color:#e7c77b}.card button{width:100%;margin:3px 0;text-align:left}.person{padding:8px;background:#30342a;margin:5px 0;border-left:3px solid var(--green);border-radius:3px}.person small{display:block;color:#bbb;margin-top:3px}.gm-only{display:none}body.gm .gm-only{display:block}.log{font:11px ui-monospace,monospace;color:#bbb;border-top:1px solid #555;padding-top:7px;margin-top:8px;max-height:160px;overflow:auto}.light{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #4b4e43;padding:5px 0}@media(max-width:950px){main{grid-template-columns:1fr}.view{height:480px}aside{display:grid;grid-template-columns:1fr 1fr;gap:10px}.card{margin:0}}@media(max-width:600px){header{height:auto;gap:8px;padding:12px;align-items:start;flex-direction:column}main{padding:8px}.view{height:390px}aside{display:block}.card{margin-bottom:8px}.world{transform:translate(-50%,-50%) scale(.7) perspective(850px) rotateX(48deg)}}

#view{touch-action:none;cursor:grab}#scene3d{display:block;width:100%;height:100%}

#interior{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:18px;cursor:default;z-index:5}
#interior[hidden]{display:none}
#interior .sheet{width:min(720px,100%);max-height:100%;display:flex;flex-direction:column;background:#14130fee;border:1px solid #6d6246;box-shadow:0 18px 60px #000c,inset 0 0 0 3px #0008;color:#e6e1d5;border-radius:4px;overflow:hidden}
#interior header{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #6d624680}
#interior h3{margin:0;color:#d4a14a;font-size:17px}#interior header p{margin:3px 0 0;font-size:12px;color:#b5ae9c}
#interior .x{background:none;border:0;color:#e6e1d5;font-size:17px;cursor:pointer;width:32px;height:32px;padding:0;flex:none}
#interior .cols{display:grid;grid-template-columns:minmax(150px,34%) 1fr;min-height:0;overflow:hidden;flex:1}
#interior nav{display:flex;flex-direction:column;overflow:auto;border-right:1px solid #6d624650;padding:6px}
#interior .comp{all:unset;box-sizing:border-box;display:flex;gap:7px;align-items:baseline;padding:7px 8px;font-size:13px;cursor:pointer;border-radius:3px}
#interior .comp:hover,#interior .comp:focus-visible{background:#ffffff10}#interior .comp.on{background:#d4a14a26;color:#f2d694}
#interior .comp em{color:#c25e55;font-size:11px}
#interior .dot{width:7px;height:7px;flex:none;border:1px solid #92ad87;border-radius:50%}#interior .dot.open{background:#92ad87}
#interior section{padding:12px 14px;overflow:auto}
#interior .access{margin:0 0 10px;font-size:13px;color:#c9c2b0;font-style:italic}
#interior .items{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:5px}
#interior .item{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 9px;background:#ffffff0a;border-left:2px solid #92ad87;font-size:13px}
#interior .item b{font-weight:500}#interior .qty{margin-left:6px;color:#d4a14a;font-size:12px}
#interior .gm-note{display:block;color:#d98f86;font-size:11px;margin-top:2px}
#interior .item-actions{display:flex;gap:4px;flex:none;flex-wrap:wrap;justify-content:flex-end}
#interior button:not(.comp):not(.x){background:#2c2f27;color:#e6e1d5;border:1px solid #6d6246;padding:4px 9px;font-size:12px;cursor:pointer;border-radius:3px;width:auto;margin:0}
#interior button.primary{background:#d4a14a!important;color:#1a1710!important;font-weight:600;padding:7px 18px!important}
#interior button:not(.comp):not(.x):hover{filter:brightness(1.25)}
#interior h4{margin:12px 0 6px;font-size:12px;color:#d4a14a;text-transform:uppercase;letter-spacing:.08em}
#interior .empty{color:#a39c8b;font-size:13px}
#interior .reader{padding:12px 14px;overflow:auto;flex:1}#interior .reader pre{white-space:pre-wrap;font:14px/1.5 'Courier New',monospace;background:#e9e2cc;color:#2a241a;padding:14px;margin:8px 0}
#interior .photo{font-size:13px;background:#ffffff0d;padding:10px;font-style:italic}#interior .back{font-size:12px;color:#b5ae9c}
#interior .err{margin:0;padding:6px 14px;font-size:12px;color:#e39a90;background:#c25e5522}
#interior footer{padding:6px 14px;font-size:11px;color:#8f8877;border-top:1px solid #6d624640}
@media(max-width:560px){#interior{padding:6px}#interior .cols{grid-template-columns:1fr}#interior nav{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid #6d624650}#interior .comp{flex:none}}

#vectron{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:18px;z-index:6;cursor:default}
#vectron[hidden]{display:none}
#vectron .sheet{width:min(520px,100%);background:#14130fee;border:1px solid #6d6246;color:#e6e1d5;border-radius:4px;box-shadow:0 18px 60px #000c}
#vectron header{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #6d624680}
#vectron h3{margin:0;color:#d4a14a;font-size:17px}#vectron header p{margin:3px 0 0;font-size:12px;color:#b5ae9c}
#vectron h4{margin:0 0 8px;font-size:12px;color:#d4a14a;text-transform:uppercase;letter-spacing:.08em}
#vectron section{padding:14px}#vectron footer{padding:6px 14px;font-size:11px;color:#8f8877;border-top:1px solid #6d624640}
#vectron .x{background:none;border:0;color:#e6e1d5;font-size:17px;cursor:pointer;width:32px;height:32px;padding:0;flex:none}
#vectron .cart{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#vectron .label{flex:1 1 180px;padding:10px 12px;background:#e9e2cc;color:#241d10;border-left:6px solid #9c2c24}
#vectron .label b{display:block;font-size:14px;letter-spacing:.06em}#vectron .label small{font-size:11px}
#vectron button:not(.x){width:auto;margin:0;background:#2c2f27;color:#e6e1d5;border:1px solid #6d6246;padding:7px 12px;font-size:13px;cursor:pointer;border-radius:3px}
#vectron button.primary{background:#d4a14a;color:#1a1710;font-weight:600}#vectron button:disabled{opacity:.45;cursor:not-allowed}
#vectron .busy{margin:0 0 10px;font-size:13px;color:#e3b873}
#vectron:has(.tv){padding:0;background:#000}
#vectron .tv{position:absolute;inset:0;display:flex;flex-direction:column}
#vectron .bar{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:5px 9px;background:#111;font-size:12px;color:#b5ae9c}
#vectron iframe{flex:1;width:100%;border:0;background:#000;min-height:0}

#vectron .cart-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
#vectron .versus{display:flex;flex-direction:column;gap:9px;align-items:flex-start;margin-top:12px}
#vectron .versus label{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;font-size:13px}
#vectron .versus select{background:#24261f;color:#e6e1d5;border:1px solid #6d6246;padding:5px;min-width:190px}

#creator{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:16px;background:#000b}
#creator[hidden]{display:none}
#creator .sheet-form{width:min(620px,100%);max-height:100%;overflow:auto;background:#191a15;border:1px solid #6d6246;border-radius:4px;padding:14px 16px;color:#e6e1d5}
#creator header{display:flex;justify-content:space-between;align-items:center}
#creator h3{margin:0;color:#d4a14a}#creator h4{margin:14px 0 6px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#d4a14a}
#creator .x{background:none;border:0;color:#e6e1d5;font-size:17px;width:32px;height:32px;padding:0;cursor:pointer}
#creator .grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}#creator .wide{grid-column:1/-1}
#creator label{display:flex;flex-direction:column;gap:3px;font-size:13px}
#creator input:not([type=radio]),#creator select{background:#24261f;color:#e6e1d5;border:1px solid #6d6246;padding:6px;font:inherit;min-width:0}
#creator .builds{display:flex;gap:14px;flex-wrap:wrap}#creator .builds label{flex-direction:row;align-items:center;gap:5px}
#creator .attrs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
#creator .hint{margin:6px 0;font-size:12px;color:#92ad87}#creator .hint.bad{color:#e39a90}
#creator .trait{margin-bottom:8px}#creator .trait small{color:#c9c2b0;line-height:1.4}
#creator .err{color:#e39a90;font-size:13px;min-height:1em;margin:6px 0}
#creator footer{display:flex;justify-content:flex-end}
#creator .primary{background:#d4a14a;color:#1a1710;border:0;font-weight:600;padding:8px 18px;border-radius:3px;cursor:pointer;width:auto}
@media(max-width:520px){#creator .grid{grid-template-columns:1fr}#creator .attrs{grid-template-columns:1fr 1fr}}
.sheet-card{display:flex;flex-direction:column;gap:4px}
.sheet-card .row{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.sheet-card .meter{display:flex;align-items:center;gap:6px;font-size:12px}.sheet-card .meter>span:first-child{width:52px;color:#b5ae9c}
.sheet-card .life{display:flex;gap:2px;flex:1}.sheet-card .life i{flex:1;height:10px;background:#92ad87;border-radius:1px}.sheet-card .life i.lost{background:#5a2420}
.sheet-card .status{color:#92ad87}.sheet-card .status.hurt{color:#e39a90}
.sheet-card .step{display:flex;gap:2px;margin-left:auto}.sheet-card .step button{width:24px;height:24px;padding:0;margin:0;line-height:1}
.sheet-card .attr-row{display:grid;grid-template-columns:1fr 1fr;gap:3px;font-size:12px}.sheet-card .attr-row button{margin:0;padding:4px;font-size:12px;width:100%}
.sheet-card details{font-size:12px}.sheet-card details p{margin:4px 0;line-height:1.35}.sheet-card summary{cursor:pointer;color:#d4a14a}
.sheet-card .edit{margin-top:3px;font-size:12px;padding:4px}
.roll{font-size:12px;padding:4px 6px;margin-bottom:3px;border-left:2px solid #6d6246;display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.roll.full{border-color:#92ad87}.roll.cost{border-color:#d4a14a}.roll.fail{border-color:#c25e55}.roll span{color:#b5ae9c}
.roll button{width:auto;margin:0 0 0 auto;padding:2px 6px;font-size:11px}

#locked{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:16px;text-align:center;background:#0d0e0b;color:#e6e1d5}
#locked[hidden]{display:none}#locked h1{margin:0;color:#d4a14a;letter-spacing:.14em;font-size:24px}
.invite{display:flex;align-items:center;gap:4px;margin-bottom:4px;font-size:13px}.invite b{flex:1}.invite button{width:auto;margin:0;padding:3px 7px;font-size:12px}
#inviteMsg{display:block;word-break:break-all;margin-top:4px}
#who{font-size:13px}

#tapeGm p{margin:0 0 6px;font-size:13px}#tapeGm .alert{color:#e39a90}#tapeGm button{font-size:12px;padding:4px 7px;margin-bottom:4px}

.cue{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);max-width:90%;z-index:4;padding:8px 14px;background:#000c;border-left:3px solid #c25e55;color:#efe7d4;font-size:14px;pointer-events:none}

#laundry{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:18px;z-index:6;cursor:default}
#laundry[hidden]{display:none}
#laundry .sheet{width:min(460px,100%);background:#14130fee;border:1px solid #6d6246;color:#e6e1d5;border-radius:4px}
#laundry header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid #6d624680}
#laundry h3{margin:0;color:#d4a14a;font-size:16px}#laundry section{padding:12px 14px;font-size:14px}#laundry p{margin:0 0 10px}
#laundry .x{background:none;border:0;color:#e6e1d5;font-size:17px;width:32px;height:32px;padding:0;cursor:pointer}
#laundry button:not(.x){width:auto;margin:0 6px 6px 0;background:#2c2f27;color:#e6e1d5;border:1px solid #6d6246;padding:6px 11px;font-size:13px;border-radius:3px;cursor:pointer}
#laundry button.primary{background:#d4a14a;color:#1a1710;font-weight:600}
#laundry .pattern{font-size:22px;letter-spacing:.2em;min-height:1.4em}#laundry .note{color:#e3b873;margin-top:6px}
#laundry .tasks{margin:0 0 10px;padding-left:18px}#laundry .tasks .done{text-decoration:line-through;color:#8f8877}
#laundry footer{padding:6px 14px;font-size:11px;color:#8f8877;border-top:1px solid #6d624640}

/* Tela cheia: a cena ocupa a janela e tudo o mais flutua por cima. */
html,body{height:100%;overflow:hidden}
body{background:#050608}
main{display:block;padding:0;max-width:none;margin:0;height:100%}
.scene{height:100%}
#view.view{position:fixed;inset:0;height:auto;border:0;border-radius:0;background:#050608}
.floor-tabs{position:fixed;top:10px;left:10px;z-index:8;margin:0}
body:not(.gm) .floor-tabs{display:none}
#toolbar{position:fixed;top:0;right:0;bottom:0;width:min(350px,calc(100vw - 44px));z-index:9;transition:transform .22s ease;display:block}
#toolbar.closed{transform:translateX(100%)}
#toolbarBody{height:100%;display:flex;flex-direction:column;background:#14130feb;border-left:1px solid #6d6246;backdrop-filter:blur(3px)}
#toolbarToggle{position:absolute;top:10px;left:-34px;width:34px;height:44px;padding:0;margin:0;border-radius:4px 0 0 4px;background:#14130feb;border:1px solid #6d6246;border-right:0;font-size:15px}
.bar-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:10px 12px 6px;font-size:12px;color:#b5ae9c}
.bar-head strong{width:100%;color:var(--accent);letter-spacing:.14em;font-size:13px}
.bar-tabs{display:flex;gap:2px;padding:0 8px;border-bottom:1px solid #6d624680}
.bar-tabs button{flex:1;background:none;border:0;border-bottom:2px solid transparent;border-radius:0;padding:8px 4px;margin:0;font-size:13px;color:#b5ae9c}
.bar-tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}
.bar-scroll{flex:1;overflow-y:auto;padding:8px}
.bar-scroll .card{margin:0 0 8px;padding:10px;background:#ffffff08;border:1px solid #ffffff14;border-radius:4px}
.bar-scroll .card h2{margin:0 0 6px;font-size:13px;color:var(--accent)}
.bar-scroll .hint{margin:0;font-size:12px;line-height:1.45;color:#b5ae9c}
#toolbar[data-tab="me"] .card:not(.tab-me),#toolbar[data-tab="group"] .card:not(.tab-group),#toolbar[data-tab="gm"] .card:not(.tab-gm){display:none}
#toolbar[data-tab="me"] #sheets .person:not(.mine),#toolbar[data-tab="group"] #sheets .mine{display:none}
body.gm #toolbar[data-tab="group"] #sheets .mine{display:flex}
/* Jogo no console: ocupa tudo, sem barra por cima. */
body:has(#vectron .tv) #toolbar,body:has(#vectron .tv) .floor-tabs{display:none}
.floor-tabs{flex-wrap:wrap;max-width:calc(100vw - 60px)}
body:has(#toolbar:not(.closed)) .floor-tabs{max-width:calc(100vw - 400px);min-width:120px}

/* Modo apresentação */
body.showcasing #toolbar,body.showcasing .floor-tabs{display:none}
#endShowcase{display:none;position:absolute;top:12px;right:12px;z-index:7;width:auto;margin:0}
body.gm.showcasing #endShowcase{display:block}
#showcase{position:absolute;inset:0;z-index:6;overflow:hidden;pointer-events:none}
#showcase[hidden]{display:none}
#showcase .band{position:absolute;left:-12%;right:-12%;bottom:13%;padding:14px 16% 12px;transform:translateX(-120%) rotate(-3deg);background:#d4a14a;color:#14110a;box-shadow:0 0 0 4px #14110a,0 12px 34px #000b}
#showcase.run .band{animation:bandIn .75s .9s cubic-bezier(.16,.84,.3,1) forwards}
#showcase b{display:block;font-size:clamp(30px,7vw,76px);line-height:1;letter-spacing:.04em;text-transform:uppercase;overflow-wrap:anywhere}
#showcase small{display:block;margin-top:4px;font-size:clamp(13px,1.9vw,19px);letter-spacing:.06em}
@keyframes bandIn{to{transform:translateX(0) rotate(-3deg)}}
@media (prefers-reduced-motion:reduce){#showcase.run .band{animation:none;transform:rotate(-3deg)}}

#loading{position:fixed;inset:0;z-index:55;display:flex;align-items:center;justify-content:center;background:#050608;color:#9fe08a;font:16px 'Courier New',monospace;letter-spacing:.08em}#loading[hidden]{display:none}
#login{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:10px;max-width:340px}#login select,#login input,#login button{font:inherit;font-size:16px;padding:8px 10px;border-radius:6px;border:1px solid #5a4a2a;background:#1a1b16;color:#e6e1d5}#login button{background:#d4a14a;color:#14130f;font-weight:700;border-color:#d4a14a;cursor:pointer}#loginErr{flex-basis:100%;margin:0;color:#e07a6a;min-height:1.2em}
#logout{margin-left:auto;font:inherit;font-size:12px;padding:3px 10px;border-radius:5px;border:1px solid #5a4a2a;background:transparent;color:#d4a14a;cursor:pointer}#logout:hover{background:#2a2418}
#logout{margin-left:auto;font:inherit;font-size:12px;padding:3px 10px;border-radius:5px;border:1px solid #5a4a2a;background:transparent;color:#d4a14a;cursor:pointer}#logout:hover{background:#2a2418}
/* menu de ações sobre o móvel */
#acoes{position:absolute;z-index:6;transform:translate(-50%,-100%);display:flex;flex-direction:column;gap:4px;min-width:150px;max-width:220px;padding:8px;background:#14130fe8;border:1px solid #6d6246;border-radius:6px;box-shadow:0 8px 24px #000a;color:#e6e1d5;font-size:13px}
#acoes[hidden]{display:none}
#acoes::after{content:"";position:absolute;left:50%;bottom:-7px;width:12px;height:12px;background:#14130fe8;border-right:1px solid #6d6246;border-bottom:1px solid #6d6246;transform:translateX(-50%) rotate(45deg)}
#acoes b{color:#d4a14a;font-size:12px;padding:0 22px 2px 2px}
#acoes button{all:unset;box-sizing:border-box;padding:7px 9px;border-radius:4px;background:#ffffff0d;cursor:pointer;text-align:left}
#acoes button:hover,#acoes button:focus-visible{background:#d4a14a33;color:#f2d694}
#acoes button.x{position:absolute;top:4px;right:4px;padding:2px 7px;background:none;color:#b5ae9c}
/* olhando um móvel de perto: a lista de itens vira painel lateral e deixa o cenário à vista */
body.olhando #interior{inset:12px 12px 12px auto;width:min(390px,46%);padding:0;align-items:stretch;justify-content:flex-end}
body.olhando #interior .sheet{width:100%;background:#14130fe6}
body.olhando #interior .cols{grid-template-columns:1fr;grid-template-rows:auto 1fr}
body.olhando #interior nav{flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid #6d624650}
@media (max-width:640px){body.olhando #interior{inset:auto 8px 8px 8px;width:auto;height:55%}}
/* escondido: a visão vira uma fresta (porta do armário, vão embaixo da cama, espiando por cima do sofá) */
#fresta{position:absolute;inset:0;pointer-events:none;z-index:4}
#fresta[hidden]{display:none}
#fresta[data-tipo=dentro]{background:linear-gradient(90deg,#000 0 42%,#000d 45%,transparent 47.5% 52.5%,#000d 55%,#000 58%)}
#fresta[data-tipo=embaixo]{background:linear-gradient(180deg,#000 0 50%,#000d 55%,transparent 59% 79%,#000d 83%,#000 88%)}
#fresta[data-tipo=atras]{background:radial-gradient(ellipse 48% 34% at 50% 40%,transparent 50%,#000e 100%),linear-gradient(180deg,transparent 0 58%,#160f0a 64%)}
#fresta::after{content:"Escondido · ande para sair";position:absolute;left:50%;bottom:14px;transform:translateX(-50%);font-size:12px;color:#b5ae9c;letter-spacing:.06em}
#fps{font-size:11px;color:#92ad87;font-variant-numeric:tabular-nums;margin-left:6px}
#qualidade{font:inherit;font-size:11px;padding:2px 4px;border-radius:4px;border:1px solid #5a4a2a;background:#1a1b16;color:#e6e1d5}
/* dados 3D por cima do mapa */
#dados3d{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:7}
#dados3d[hidden]{display:none}
#dadosRotulo{position:absolute;z-index:8;transform:translate(-50%,-100%);pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 12px;background:#14130fd9;border:1px solid #6d6246;border-radius:6px;color:#e6e1d5;font-size:14px;white-space:nowrap;text-shadow:0 1px 2px #000}
#dadosRotulo[hidden]{display:none}#dadosRotulo b{color:#d4a14a;font-size:12px}
#rolarLivre{position:absolute;left:12px;bottom:12px;z-index:6;display:flex;gap:6px;align-items:center}
#rolarLivre button{font:inherit;font-size:13px;padding:7px 12px;border-radius:6px;border:1px solid #6d6246;background:#14130fe0;color:#e6e1d5;cursor:pointer}
#rolarLivre button:hover{background:#2a2418;color:#f2d694}
#rolarMenu{display:flex;gap:6px}#rolarMenu[hidden]{display:none}
