[hidden]{display:none!important}
body.mundo{overflow:hidden;background:#000;user-select:none;-webkit-user-select:none}
#view{position:fixed;inset:0;width:100%;height:100%;display:block;image-rendering:pixelated;image-rendering:crisp-edges}
#hud{position:fixed;top:.8rem;left:.8rem;right:.8rem;display:flex;gap:.6rem;align-items:center;z-index:5}
#hud .btn{background:rgba(0,0,0,.6)}
#face{width:72px;height:72px}
#btn-fs{margin-left:auto}
#btn-dev{margin-left:auto;font-size:.9rem;padding:.35rem .6rem;opacity:.6}#btn-dev:hover{opacity:1}#btn-fs:not([hidden])+#btn-dev{margin-left:0}
#hint{font-family:var(--mono);font-size:.85rem;position:fixed;left:50%;bottom:3rem;transform:translateX(-50%);background:rgba(0,0,0,.7);border:1px solid var(--a);border-radius:.4rem;padding:.4rem .9rem;z-index:5;font-size:.9rem}
#nogl{position:fixed;inset:0;display:grid;place-content:center;text-align:center;padding:1rem;z-index:6}
#loading{position:fixed;inset:0;display:grid;place-content:center;text-align:center;background:#000;color:var(--accent,#7cf5e6);z-index:5;letter-spacing:.08em;animation:ldpulse 1.2s ease-in-out infinite alternate}
#loading[hidden]{display:none}
@keyframes ldpulse{from{opacity:.5}to{opacity:1}}
/* painel que abre as páginas (monitor, tela de cinema, celular...) — moldura por tipo via data-frame, vindo do registro em app.js */
#panel{position:fixed;inset:0;z-index:10;display:grid;place-items:center;background:rgba(0,0,0,.35);animation:fadein .3s;padding:.6rem}
#panel .monitor{position:relative;width:min(96vw,1100px);height:min(92vh,760px);display:flex;flex-direction:column;background:#0a0a0f;border:3px solid #556;border-radius:.6rem;box-shadow:0 0 40px #7cf5e633,0 0 0 8px #15151d}
#panel .bar{display:flex;align-items:center;gap:1rem;padding:.4rem .8rem;background:#15151d;font-size:.85rem;position:relative;z-index:2;border-radius:inherit;border-bottom-left-radius:0;border-bottom-right-radius:0}
#panel .bar span{flex:1;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#panel .bar .btn{padding:.3rem .6rem;font-size:.8rem}
#panel iframe{flex:1;border:0;background:var(--bg);min-height:0;border-radius:inherit;border-top-left-radius:0;border-top-right-radius:0}
#panel .monitor::before,#panel .monitor::after{content:none;position:absolute;pointer-events:none;z-index:3}
/* cinema: tela larga, sem borda, cortinas nas laterais */
#panel[data-frame=cinema] .monitor{width:min(98vw,1400px);height:min(80vh,680px);border:0;border-radius:.2rem;background:#000;box-shadow:0 0 90px #000,0 0 0 2px #1a0608}
#panel[data-frame=cinema] .bar{background:#2a0a10}
#panel[data-frame=cinema] .monitor::before,#panel[data-frame=cinema] .monitor::after{content:"";top:0;bottom:0;width:4%;background:repeating-linear-gradient(90deg,#4a0d18 0 6px,#2a0609 6px 14px);box-shadow:0 0 30px #000}
#panel[data-frame=cinema] .monitor::before{left:0}#panel[data-frame=cinema] .monitor::after{right:0}
/* celular: estreito e alto, cantos redondos, entalhe em cima */
#panel[data-frame=celular] .monitor{width:min(94vw,420px);height:min(92vh,820px);border:10px solid #111;border-radius:2.2rem;box-shadow:0 0 0 3px #333,0 0 50px #000}
#panel[data-frame=celular] .bar{justify-content:center;padding-top:1.1rem;background:#0a0a0f}
#panel[data-frame=celular] .monitor::before{content:"";top:.35rem;left:50%;width:34%;height:.8rem;margin-left:-17%;background:#111;border-radius:0 0 .6rem .6rem}
/* papel: folha clara, torta, com fita no alto */
#panel[data-frame=papel] .monitor{background:#efe6cf;border:0;border-radius:.15rem;padding:1.1rem 1.1rem 1.6rem;box-shadow:5px 7px 0 #0009,0 0 40px #0008;transform:rotate(-1deg);width:min(94vw,900px)}
#panel[data-frame=papel] .bar{background:#e4d8bb;color:#2a2416}#panel[data-frame=papel] .bar span{color:#5a5040}
#panel[data-frame=papel] .bar .btn{color:#2a2416;border-color:#2a2416}#panel[data-frame=papel] .bar .btn:hover{background:#2a2416;color:#efe6cf}
#panel[data-frame=papel] .monitor::before{content:"";top:-.3rem;left:50%;width:7rem;height:1.4rem;margin-left:-3.5rem;background:#fff3;border:1px solid #fff5;transform:rotate(2deg)}
/* gaveta: madeira grossa, puxador em cima */
#panel[data-frame=gaveta] .monitor{border:14px solid #5a3a1e;border-top-width:28px;border-radius:.3rem;background:#1a1208;box-shadow:inset 0 0 40px #000,0 24px 50px #000,0 0 0 3px #2e1c0c}
#panel[data-frame=gaveta] .bar{background:#2e1c0c}
#panel[data-frame=gaveta] .monitor::before{content:"";top:-22px;left:50%;width:3.2rem;height:.9rem;margin-left:-1.6rem;background:#c9a14a;border-radius:.5rem;box-shadow:0 2px 0 #6b5220}
/* tv de tubo: bege, cantos redondos, scanlines */
#panel[data-frame=tv] .monitor{width:min(92vw,960px);height:min(88vh,720px);border:18px solid #d8cfb8;border-radius:1.8rem;background:#050507;box-shadow:inset 0 0 0 6px #222,inset 0 0 60px #000,0 0 50px #000}
#panel[data-frame=tv] .bar{background:#222}
#panel[data-frame=tv] .monitor::before{content:"";inset:0;background:repeating-linear-gradient(0deg,#0000 0 2px,#0003 2px 3px);mix-blend-mode:multiply}
/* projetor: tela branca com borda fina, brilho que oscila */
#panel[data-frame=projetor] .monitor{border:0;border-radius:.1rem;background:#fff;padding:.5rem;box-shadow:0 0 0 4px #333,0 -14px 0 4px #333,0 0 70px #fff6;animation:fadein .3s,tremula 7s infinite}
#panel[data-frame=projetor] .bar{background:#eee;color:#222}#panel[data-frame=projetor] .bar span{color:#555}
#panel[data-frame=projetor] .bar .btn{color:#222;border-color:#222}#panel[data-frame=projetor] .bar .btn:hover{background:#222;color:#fff}
@keyframes tremula{0%,100%{filter:brightness(1)}48%{filter:brightness(1)}50%{filter:brightness(.88)}53%{filter:brightness(1)}80%{filter:brightness(.95)}82%{filter:brightness(1)}}
/* vitrine: latão e vidro com reflexo */
#panel[data-frame=vitrine] .monitor{border:6px solid #8a7a3a;border-radius:.3rem;background:#0e1416;box-shadow:inset 0 0 50px #7cf5e622,0 0 0 2px #3a3218,0 0 40px #000}
#panel[data-frame=vitrine] .bar{background:#1a2022}
#panel[data-frame=vitrine] .monitor::before{content:"";inset:0;background:linear-gradient(115deg,#fff0 30%,#ffffff12 45%,#fff0 50%,#ffffff0a 70%,#fff0 75%)}
/* caixa de papelão: borda grossa marrom, fita no alto */
#panel[data-frame=caixa] .monitor{border:16px solid #8b6a3e;border-radius:.2rem;background:#3a2a16;box-shadow:inset 0 0 40px #0009,0 0 40px #000,0 0 0 2px #5a4426}
#panel[data-frame=caixa] .bar{background:#5a4426}
#panel[data-frame=caixa] .monitor::before{content:"";top:-16px;left:50%;width:5rem;height:calc(100% + 32px);margin-left:-2.5rem;background:#e8d9a8aa;border-left:1px solid #fff5;border-right:1px solid #fff5}
/* disco: preto fosco com anéis, disquinho girando no canto */
#panel[data-frame=disco] .monitor{border:12px solid #1a1a1f;border-radius:.8rem;background:#06060a;box-shadow:0 0 0 4px #333,0 0 0 10px #111,0 0 50px #000}
#panel[data-frame=disco] .bar{background:#111}
#panel[data-frame=disco] .monitor::after{content:"";top:.45rem;right:.6rem;width:1.8rem;height:1.8rem;border-radius:50%;background:radial-gradient(circle,var(--b) 0 22%,#000 23% 30%,#222 31% 100%);box-shadow:0 0 0 1px #444;animation:gira 2s linear infinite;z-index:4}
@keyframes gira{to{transform:rotate(360deg)}}
@media (max-width:40rem){#panel{padding:.3rem}#panel .monitor{width:100%;height:100%}#panel[data-frame=papel] .monitor{transform:none;padding:.6rem}#panel[data-frame=cinema] .monitor::before,#panel[data-frame=cinema] .monitor::after{width:2.5%}}
#facepanel{position:fixed;top:5rem;left:.8rem;z-index:7;background:rgba(0,0,0,.85);border:1px solid var(--line);border-radius:.6rem;padding:1rem;width:min(18rem,calc(100vw - 1.6rem));max-height:calc(100vh - 6rem);overflow:auto}
#facepanel h3{margin-bottom:.6rem}
#face.big{display:block;width:200px;height:200px;margin:0 auto .8rem;cursor:pointer}
#facepanel label{display:grid;grid-template-columns:5rem 1fr;align-items:center;gap:.5rem;margin:.3rem 0;font-size:.85rem}
#facepanel input{width:100%}
#facepanel .tp-h{margin:.9rem 0 .4rem;padding-top:.7rem;border-top:1px solid var(--line);font-size:.95rem}
#facepanel .tp{display:flex;flex-wrap:wrap;gap:.3rem}
#facepanel .tp button{font:inherit;font-size:.7rem;background:#100d17;color:var(--fg);border:1px solid var(--line);border-radius:.3rem;padding:.25rem .5rem;cursor:pointer}
#facepanel .tp button.on{border-color:var(--c);color:var(--c)}
#face{cursor:pointer}
@keyframes fadein{from{opacity:0}to{opacity:1}}
#touchhelp{position:fixed;left:50%;top:5.5rem;transform:translateX(-50%);background:rgba(0,0,0,.7);border:1px solid var(--line);border-radius:.4rem;padding:.4rem .9rem;font-size:.8rem;z-index:5;text-align:center}
body.saindo #view{transition:filter .45s,opacity .45s;filter:brightness(3);opacity:0}
#label{position:fixed;left:50%;transform:translate(-50%,-100%);font-family:var(--titulo);color:#fff;text-shadow:0 0 6px #000,0 0 14px var(--a);pointer-events:none;z-index:4;white-space:nowrap;letter-spacing:.06em}
body.porta #view{transition:opacity .3s;opacity:0}
#view{transition:opacity .25s}
#draft{position:fixed;top:.8rem;left:50%;transform:translateX(-50%);background:#3a2a00;border:1px solid var(--c);color:var(--c);border-radius:.4rem;padding:.3rem .8rem;font-size:.8rem;z-index:5}
#devpanel{position:fixed;top:4rem;right:.8rem;z-index:7;background:rgba(0,0,0,.88);border:1px solid var(--line);border-radius:.6rem;padding:1rem;width:min(20rem,calc(100vw - 1.6rem));font-family:var(--mono);letter-spacing:0;font-size:.8rem}
#devpanel h3{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--c);margin-bottom:.6rem;font-family:var(--mono)}
#devpanel label{display:grid;grid-template-columns:5.5rem 1fr 2.6rem;align-items:center;gap:.4rem;margin:.25rem 0}
#devpanel input{width:100%}#devpanel b{font-weight:400;color:var(--muted);text-align:right}
#devpanel .small{font-size:.7rem;word-break:break-all}
#label .vi{color:var(--c);font-size:.6em;vertical-align:top;margin-left:.3em;font-style:normal}
#label small{display:block;font-family:var(--mono);font-size:.55em;letter-spacing:0;color:var(--a);text-shadow:0 0 6px #000;margin-top:.1em}
/* vista isométrica: no editor some tudo que é HUD; no jogo só o rótulo (posição não bate) */
body.isoedit #hud,body.isoedit #hint,body.isoedit #label,body.isoedit #touchhelp,body.isoedit #draft,body.isoedit #devpanel{display:none!important}
body.iso #label{display:none!important}
