@font-face{font-family:Pixel;src:url('/tamajones/assets/PixelifySans.ttf')}@font-face{font-family:Press;src:url('/tamajones/assets/PressStart2P.ttf')}
:root{color-scheme:dark;--ink:#0a0e22;--cream:#f4ecc2;--gold:#ffd36b;--pink:#ff6b8a;--line:#2a3358}*{box-sizing:border-box}body{margin:0;background:#0b1026;color:var(--cream);font:20px Pixel,monospace}button,input,select{font:inherit}a{color:var(--gold)}button{min-height:44px;cursor:pointer;border:3px solid var(--line);padding:8px 14px;background:var(--ink);color:var(--cream)}button:hover{border-color:var(--gold)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:4px}[hidden]{display:none!important}.header{min-height:76px;display:flex;align-items:center;gap:24px;padding:16px 2.8vw;background:var(--ink);border-bottom:4px solid var(--line);position:relative;z-index:5}.brand{font:clamp(14px,1.7vw,24px) Press,monospace;color:var(--gold);text-decoration:none}.header p{margin:0}.heart{color:var(--pink);font-size:30px}.hub-link{margin-left:auto;font-size:16px}.gpb-conta{font:14px Pixel,monospace;max-width:200px}.gpb-conta button,.gpb-conta a{font:14px Pixel,monospace}.game-page{height:100dvh;min-height:640px;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.world{position:relative;min-height:0;display:flex;align-items:center;justify-content:center;container-type:size;background:#172545}.stage{position:relative;width:min(100cqw,calc(100cqh * 16 / 9));height:min(100cqh,calc(100cqw * 9 / 16))}.scene{position:absolute;inset:0;width:100%;height:100%}.scene canvas{display:block;image-rendering:pixelated;cursor:url('/tamajones/assets/cursor_hand.png') 10 2,pointer;touch-action:none}.scene canvas.holding{cursor:url('/tamajones/assets/cursor_grab.png') 10 10,grabbing}.television{position:absolute;left:2.8%;top:5%;width:50%;z-index:4}.tv-frame{position:relative;background:#05070f;border:4px solid var(--cream);aspect-ratio:16/9;min-height:200px;display:grid;place-items:center;box-shadow:8px 8px 0 #0a0e2266}.tv-frame>p{padding:20px;text-align:center;color:#c9d3f2}.tv-frame #video:not(:empty){position:absolute;inset:0;z-index:2}iframe{display:block;border:0;width:100%;height:100%}.live-caption{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:10px 0;font-size:15px;color:#c9d3f2}.hud{position:absolute;left:56%;right:2.8%;top:22%;background:rgb(10 14 34 / 86%);border:4px solid var(--cream);padding:18px;z-index:2}.hud h1{font:10px Press,monospace;color:#c9d3f2;margin:0 0 16px}.stats{display:flex;gap:16px}.stat{flex:1;min-width:0}.stat>div:first-child{display:flex;align-items:center;gap:6px;font-size:15px}.stat img{width:24px;height:24px;image-rendering:pixelated}.stat output{font:clamp(12px,1.35vw,20px) Press,monospace;display:block;color:var(--gold);margin:8px 0 10px}.bar{display:flex;gap:3px;height:11px}.bar i{flex:1;background:var(--line)}.bar i:nth-child(-n+1){background:var(--line)}.food{--bar:#6aa0f0}.bath{--bar:#f3a7c8}.love{--bar:#ff6b8a}.bar i{background:linear-gradient(var(--bar),var(--bar));opacity:.22}.bar i.lit{opacity:1}.hud p{font-size:16px;color:#c9d3f2;margin:12px 0 0}.presence{position:absolute;right:2.8%;top:4%;display:flex;align-items:center;gap:10px;font-size:18px}.dot{width:10px;height:10px;background:#4ade80}.bottom{pointer-events:none;position:absolute;bottom:18px;left:2.8%;right:2.8%;display:flex;align-items:center;gap:14px;flex-wrap:wrap;z-index:3}.tip{font-size:16px;background:var(--ink);border:3px solid var(--line);padding:10px 14px;max-width:53%;margin:0;line-height:1.4}.care-controls{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.care-controls:focus-within{pointer-events:auto;width:auto;height:auto;clip-path:none;overflow:visible;right:0;bottom:0;display:flex;gap:6px;padding:6px;background:var(--ink)}#scene-message{position:absolute;bottom:18%;right:10%;max-width:300px}#celebration{position:absolute;right:3%;top:49%;max-width:40%;background:var(--ink);border:3px solid var(--pink);padding:18px;z-index:3;font:13px/1.8 Press,monospace}#maintenance{position:absolute;right:3%;top:50%;max-width:38%;padding:12px;background:var(--ink);z-index:3}#broken-badge{font-size:15px;color:var(--gold);margin:0}footer{display:flex;gap:16px;flex-wrap:wrap;justify-content:space-between;background:#1d3a2c;padding:14px 2.8vw;font-size:14px;color:#c9d3f2}#connection[data-state=reconectando]{color:var(--gold)}.admin{max-width:850px;margin:40px auto;padding:0 24px}.admin form{border-top:2px solid var(--line);padding:20px 0}.admin label{display:block;margin:16px 0}.admin input:not([type=checkbox]),.admin select{display:block;width:100%;padding:10px;color:var(--cream);background:#172344;border:2px solid #667096;margin-top:6px}.admin h1{font:20px/1.8 Press,monospace}.admin h2{color:var(--gold)}.admin #audit{font-size:16px;line-height:1.8}
@media(max-width:899px){
.game-page{height:auto;min-height:100dvh}
.world{container-type:normal;display:block}
.header{gap:8px 12px;padding:10px 16px;flex-wrap:wrap;min-height:0}
.header p{margin-left:auto;font-size:16px}.heart{font-size:22px}.hub-link{margin-left:0;font-size:14px}.gpb-conta{margin-left:auto}
.stage{width:100%;height:auto;display:flex;flex-direction:column}
.television,.hud,.presence,.bottom{position:relative;inset:auto;width:auto;flex-shrink:0}
.television{order:0;width:min(100%,480px);align-self:center}.tv-frame{border-width:0 0 4px;box-shadow:none;aspect-ratio:16/9;min-height:204px}
.live-caption{padding:4px 12px;gap:4px 10px;font-size:13px}

.hud{order:1;margin:4px 12px;padding:10px}.hud h1{font-size:9px;margin-bottom:8px}.stats{gap:10px}.stat>div:first-child{font-size:14px}.stat img{width:18px;height:18px}.stat output{font-size:13px;margin:4px 0 6px}.bar{height:8px}.hud p{font-size:14px;margin-top:6px}
.presence{order:2;margin:2px 16px;font-size:14px}
.scene{position:relative;inset:auto;order:3;flex:none;aspect-ratio:240/160;min-height:0;height:auto;width:100%}
.bottom{order:4;display:block;padding:4px 12px}.tip{max-width:none;text-align:center;font-size:13px;padding:5px 8px}
footer{gap:4px 12px;padding:8px 12px;font-size:12px}
#scene-message{bottom:25%;right:15%}#celebration,#maintenance{position:fixed;top:auto;bottom:18px;right:12px;left:12px;max-width:none;font-size:11px;z-index:6}#broken-badge{margin-top:4px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.tv-frame{min-width:0;width:100%}.scene{overflow:hidden}



/* Keep intrinsic canvas and iframe widths from expanding the page grid on resize. */
.game-page{grid-template-columns:minmax(0,1fr)}.world,.stage{min-width:0}
