:root{font-family:Baloo2,system-ui,sans-serif;color:#243b29;background:#eff4df}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}button{border:0;border-radius:12px;padding:12px 18px;background:#315f3c;color:#fff;font:inherit;font-weight:650;cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:hover:not(:disabled){background:#477b4e}[hidden]{display:none!important}
#gate{position:fixed;inset:0;z-index:100;background:radial-gradient(ellipse at 20% 15%,#c9e7a7,transparent 60%),#eff4df;display:grid;place-items:center;padding:20px}.card{background:#fffdf6;border-radius:28px;box-shadow:0 20px 80px #21432b20;width:min(480px,100%);padding:44px}.badge{letter-spacing:2px;font-size:12px;font-weight:800;color:#648d45}h1{font-size:46px;line-height:1.08;margin:24px 0}p{line-height:1.6;color:#60705e}#message{font-size:14px;white-space:pre-line}
#game-container{position:fixed;inset:0}iframe{border:0;width:100%;height:100%;display:block}
#toolbar{position:fixed;z-index:20;top:max(10px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));display:flex;align-items:center;gap:10px;width:max-content;max-width:calc(100vw - 24px);pointer-events:none}
#toolbar button{pointer-events:auto;flex:none}#toolbar .image-button{display:block;width:92px;height:104px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .12s ease}
#toolbar .image-button img{display:block;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}
#toolbar .image-button:hover:not(:disabled){background:transparent;transform:translateY(-2px)}#toolbar .image-button:active:not(:disabled){transform:scale(.96)}#toolbar button:focus-visible{outline:3px solid #fff;outline-offset:3px}#toolbar #logout{padding:10px 12px;font-size:13px;box-shadow:0 2px 4px #173c2940}
dialog{border:0;border-radius:22px;padding:28px;width:min(560px,94%);max-height:80vh}dialog::backdrop{background:#14231dcc}dialog form{display:flex;align-items:center;justify-content:space-between}h2{font-size:22px}.close{font-size:24px;padding:4px 12px}.farm-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-top:1px solid #ddd;gap:12px}.farm-row small{display:block;color:#60705e}
@media(max-width:650px){#toolbar{top:max(6px,env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right));gap:6px}#toolbar .image-button{width:72px;height:82px}#toolbar #logout{font-size:12px;padding:9px 10px}.card{padding:28px}h1{font-size:38px}}
@media(prefers-reduced-motion:reduce){#toolbar .image-button{transition:none}}

/* Aparência da versão exportada, mantendo a folha original para compatibilidade. */
html,body{margin:0;width:100%;height:100%;overflow:hidden}#game-container{position:fixed;inset:0}iframe{border:0;width:100%;height:100%;display:block}#toolbar{position:fixed;z-index:50000;display:flex;align-items:center;gap:10px;width:max-content;pointer-events:none}#toolbar[hidden]{display:none!important}#toolbar button{pointer-events:auto;cursor:pointer}#toolbar button[hidden]{display:none!important}#toolbar #neighbors,#toolbar #home{width:92px;height:104px;background:transparent;padding:0;border:0;transition:transform .12s}#toolbar #neighbors:hover,#toolbar #home:hover{transform:translateY(-2px)}#toolbar img{display:block;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}#toolbar #logout{border:0;border-radius:12px;font:700 13px Baloo2,system-ui;box-shadow:0 2px 4px #173c2940}#toolbar button:focus-visible{outline:3px solid white;outline-offset:3px}
#gate{position:fixed;inset:0;z-index:60000;display:grid;place-items:center;padding:20px;font-family:Baloo2,system-ui,sans-serif;box-sizing:border-box}#gate[hidden]{display:none!important}#login-card{box-sizing:border-box;box-shadow:0 20px 80px #21432b20}#login-title{font:700 40px/1.1 Baloo2,system-ui;margin:20px 0}#login-brand{font:800 12px Baloo2,system-ui;letter-spacing:2px;color:inherit}#login-description,#message{font:14px/1.6 Baloo2,system-ui;color:inherit;white-space:pre-line}#gate button{border:0;border-radius:12px;padding:12px 18px;font-family:Baloo2,system-ui;cursor:pointer}#gate button:disabled{opacity:.55}
#farms{position:fixed;inset:0;z-index:60000;border:0;margin:0;width:100%;height:100%;max-width:none;max-height:none;padding:0;background:#14231dcc;align-items:center;justify-content:center;box-sizing:border-box;font-family:Baloo2,system-ui}dialog#farms:not([open]){display:none}dialog#farms[open]{display:flex}dialog#farms::backdrop{background:transparent}#friends-content{box-sizing:border-box;overflow:auto;box-shadow:0 15px 55px #0005}#friends-content form{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0}#friends-title{font-size:1.4em;margin:0}#friends-close{background:transparent;color:inherit;border:0;font-size:26px;cursor:pointer}#friends-description{font-size:1em;line-height:1.5;color:inherit}#friends-content .farm-row{box-sizing:border-box;display:flex;gap:10px;align-items:center;justify-content:space-between;background:var(--online-row-bg);border-radius:var(--online-row-radius);padding:12px;min-width:0}#friends-content .farm-row strong{overflow-wrap:anywhere}#friends-content .farm-row small{display:block;margin-top:4px;font-size:.85em;opacity:.7}#friends-content .farm-row button,#more{border:0;border-radius:10px;padding:10px 12px;cursor:pointer;font:700 .9em Baloo2,system-ui;background:var(--online-visit-bg);color:var(--online-visit-text)}#more{margin-top:12px}#more[hidden]{display:none}
@media(max-width:650px){#login-title{font-size:32px}#friends-content #farm-list{grid-template-columns:1fr!important}}@media(prefers-reduced-motion:reduce){#toolbar button{transition:none!important}}
body:has(#farms[style*="display: flex"]) :is(#mf-bounds,#mf-truck-markers),body:has(#gate[style*="display: grid"]) :is(#mf-bounds,#mf-truck-markers){display:none!important}


/* A camada online fica acima do iframe também no modo fullscreen. */
:root:fullscreen #toolbar,:root:-webkit-full-screen #toolbar{z-index:2147483000}
#toolbar{max-width:calc(100dvw - max(12px,env(safe-area-inset-left)) - max(12px,env(safe-area-inset-right)));right:max(8px,env(safe-area-inset-right));top:max(8px,env(safe-area-inset-top));flex-wrap:nowrap;white-space:nowrap;visibility:visible}
#toolbar:not([hidden]) #neighbors:not([hidden]),#toolbar:not([hidden]) #home:not([hidden]),#toolbar:not([hidden]) #logout:not([hidden]){visibility:visible!important;opacity:1}
#toolbar #neighbors,#toolbar #home{max-width:clamp(44px,25dvw,92px);flex-shrink:1;min-width:0}
#toolbar #logout{max-width:32dvw;min-width:42px;flex-shrink:0}
#mf-rotate-warning{display:none;position:fixed;inset:0;z-index:40000;pointer-events:none;background:#152c23ee;color:#fff;align-items:center;justify-content:center;text-align:center;font:700 20px Baloo2,system-ui;padding:20px;box-sizing:border-box}
@media (max-width:900px) and (orientation:portrait){
 body:has(#gate[hidden]) #mf-rotate-warning{display:flex}
}
@media (max-width:650px){
 #toolbar{gap:clamp(3px,1vw,6px);top:max(4px,env(safe-area-inset-top));right:max(4px,env(safe-area-inset-right))}
 #toolbar #neighbors,#toolbar #home{max-width:min(72px,24dvw)}
 #toolbar #logout{font-size:12px}
}
@media (max-width:370px){#toolbar #neighbors,#toolbar #home{max-width:58px}#toolbar #logout{font-size:11px;padding:6px 7px}}

/* botão Amigos do topo removido: os amigos ficam na barra de baixo do jogo */
#toolbar #neighbors{display:none!important}
/* Visitando: "Voltar à minha fazenda" no canto inferior direito */
#toolbar #home{position:fixed;top:auto!important;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom))}
@media (max-width:900px),(max-height:500px){#toolbar #home{width:72px!important;height:82px!important;right:max(6px,env(safe-area-inset-right));bottom:max(6px,env(safe-area-inset-bottom))}}

/* Confirmação real de salvamento e tentativa manual, inclusive no celular. */
#toolbar #sync{position:fixed;right:max(8px,env(safe-area-inset-right));top:max(68px,calc(env(safe-area-inset-top) + 58px));max-width:min(380px,70vw);white-space:normal;padding:5px 9px;font:600 11px Baloo2,system-ui;color:#e9f8e2;background:#24482bdd;border-radius:8px;pointer-events:auto;box-shadow:0 2px 5px #0003}
#toolbar #sync[data-state="pending"]{background:#73541fee;color:#fff0b9}
#toolbar #sync[data-state="error"]{background:#922f28;color:#fff}

/* Indicador fixo: texto de estado permanece disponível ao leitor de tela e no toque. */
#toolbar #sync{width:30px;height:30px;min-width:30px;max-width:30px;padding:0;box-sizing:border-box;border:0;border-radius:50%;display:grid;place-items:center;white-space:nowrap;background:#24482bdd;color:#86ed70;font:700 19px Baloo2,system-ui;overflow:hidden}
#toolbar #sync[hidden]{display:none}
#toolbar #sync[data-state="pending"]{background:#24482bdd;color:#86ed70}
#toolbar #sync[data-state="pending"]::before{content:"";width:16px;height:16px;box-sizing:border-box;border:3px solid #86ed7040;border-top-color:#86ed70;border-right-color:#86ed70;border-radius:50%;animation:mf-sync-spin .8s linear infinite}
#toolbar #sync[data-state="error"]{background:#922f28;color:#fff}
@keyframes mf-sync-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){#toolbar #sync[data-state="pending"]::before{animation:none}}
