@font-face{font-family:FarmNative;src:url('/assets/ui-native/Roboto-Black.ttf')} .game-body{font-family:FarmNative,Arial,sans-serif;color:#705036}button,input,select,textarea{font-family:inherit}#world{filter:saturate(1.12)}
.auth-screen{background:linear-gradient(180deg,#24542122,#24542100 40%,#163d2455);backdrop-filter:none}.landing-head{justify-content:center;padding:4vh 20px}.brand-logo{width:min(450px,65vw);height:auto;max-height:220px;filter:drop-shadow(0 8px 2px #28522c77)}.landing-admin{position:absolute;right:24px;top:20px;color:white;text-shadow:0 2px 2px #28542d}.auth-copy,.landing-footer,.login-icon,.login-card>p,.login-card>small,.login-card .divider{display:none}.auth-layout{display:flex;justify-content:center;align-items:end;min-height:40vh;max-width:100%;padding:0 16px}.login-card{width:min(380px,90vw);background:#fff1c8;border:20px solid transparent;border-image:var(--native-dialogFrame) 71 71 72 71 fill/20px stretch;box-shadow:0 8px 20px #193e2f44;border-radius:12px;padding:14px 12px;text-align:center}.login-card h2{font-size:22px;color:#8b4c29;margin:0 0 18px}.login-card #loginForm,.login-card #registerOpen{display:none}.login-card.show-login #loginForm,.login-card.show-login #registerOpen{display:block}.login-card.show-login{margin-top:0}.auth-layout .text-button{display:block;margin:12px auto 0;color:#705036}.primary,.secondary,.outline,.pagination button,.tabs button,.dialog-actions button{border:8px solid transparent;border-image:var(--native-buttonGreen) 20 fill/8px stretch;background:none;color:white;text-shadow:0 2px 1px #39783d;font-weight:900;box-shadow:0 2px 1px #84653533;border-radius:8px}.secondary,.tabs button{border-image-source:var(--native-buttonWhite);color:#7a532d;text-shadow:none}.outline{border-image-source:var(--native-buttonRed)}button:disabled{opacity:.55;filter:grayscale(.6)}.game-ui .hud{background:none;box-shadow:none;backdrop-filter:none;align-items:flex-start;padding:12px;gap:8px;pointer-events:none}.game-ui .hud>*{pointer-events:auto}.profile-pill{background:none;border:0;box-shadow:none;color:white;padding:0;text-shadow:0 2px 2px #44652b}.profile-pill img{width:56px;height:56px;border:4px solid #ffe7a4;border-radius:14px}.profile-pill>span{display:none}.level-pill{position:relative;background:none;border:0;padding:5px 0 0 12px;gap:0;min-width:150px;color:white;text-shadow:0 2px 2px #44652b}.level-star{width:64px;height:64px;background:var(--native-level) center/contain no-repeat;clip-path:none;display:grid;place-items:center;color:white;font-size:22px;padding:0 0 3px}.level-pill>span:last-child{margin-left:-5px;width:110px;z-index:-1}.level-pill strong{font-size:12px}.level-pill progress{height:18px;border:3px solid #c48942;border-radius:9px;background:#543926}.wallet{margin-left:auto;display:flex;gap:12px;align-items:flex-start}.currency{position:relative;height:43px;min-width:150px;background:#ffefc7;border:9px solid transparent;border-image:var(--native-wallet) 22 fill/10px stretch;border-radius:20px;padding:0 18px 0 24px;box-shadow:0 2px 2px #315c3655;font-size:19px;color:#72502d}.currency>span:first-child{position:absolute;left:-29px;top:-12px}.currency img{width:52px;height:52px;object-fit:contain;filter:drop-shadow(0 2px 1px #78522d44)}.currency.gem{min-width:120px}.currency.gem>span:last-child{background:var(--native-plus) center/contain no-repeat;font-size:0;position:absolute;right:-20px;top:-9px;width:39px;height:39px;border:0}.hud-settings{margin-left:8px}.game-ui .round{background:none;border:0;box-shadow:none;backdrop-filter:none;width:48px;height:48px;padding:1px;color:white;filter:drop-shadow(0 2px 1px #315c3677)}.round img{width:100%;height:100%;object-fit:contain}.map-controls{top:90px;right:12px;gap:4px}.map-controls #homeCamera,.map-controls #fullscreen,.map-controls #musicToggle{background:var(--native-settings) center/contain no-repeat;padding:12px}.bottom-dock{inset:auto 14px 12px auto;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px;max-width:380px;background:none;border:0;border-radius:0;padding:0;box-shadow:none;backdrop-filter:none;transform:none;overflow:visible}.bottom-dock button{width:66px;height:78px;padding:2px 1px;background:none;border:0;border-radius:0;color:white;text-shadow:0 2px 2px #35502b,1px 0 #35502b,-1px 0 #35502b;position:relative;gap:0}.bottom-dock button:hover{transform:translateY(-4px);background:none}.bottom-dock button>span:first-child{width:58px;height:58px;display:block;filter:drop-shadow(0 3px 1px #315c3655)}.bottom-dock button>span:first-child img{width:100%;height:100%;object-fit:contain}.bottom-dock button>span:last-child{font-size:11px;white-space:nowrap}.bottom-dock button[data-panel=build]{position:fixed;right:0;bottom:175px;width:90px;height:94px}.bottom-dock button[data-panel=build]>span:first-child{width:80px;height:80px}.bottom-dock button[data-panel=coop]{position:fixed;left:0;bottom:0;width:100px;height:110px}.bottom-dock button[data-panel=coop]>span:first-child{width:90px;height:90px}.dock-separator{display:none}.bottom-dock small{position:absolute;top:43px;right:0;color:white;background:#88552d;border:2px solid #f3d9aa}.left-actions{left:12px;top:160px;bottom:auto;gap:12px}.floating-button{background:none;border:0;box-shadow:none;backdrop-filter:none;padding:0;display:flex;flex-direction:column;color:white;font-size:10px;text-shadow:0 2px 2px #35502b}.floating-button>span:first-child{width:58px;height:58px}.floating-button img{width:100%;height:100%;object-fit:contain}.quest-teaser{top:88px;left:12px;width:190px;max-width:28vw;background:#ffefc7;border:9px solid transparent;border-image:var(--native-dialogFrame) 71 71 72 71 fill/10px stretch;box-shadow:0 2px 4px #315c3644;padding:7px 9px;font-size:11px}.quest-teaser h3{font-size:13px}.quest-teaser small{font-size:8px}.quest-teaser p{margin:4px 0}.left-actions{top:230px}.tutorial-guide{bottom:20px;left:130px;max-width:calc(100vw - 560px);background:#ffefc7;border:10px solid transparent;border-image:var(--native-tutorialBubble) 30 fill/10px stretch;color:#7b4c24;box-shadow:0 2px 3px #274f3933;font-size:12px}.world-caption{display:none}.placement-bar{bottom:180px;border:10px solid transparent;border-image:var(--native-dialogFrame) 71 71 72 71 fill/10px stretch;background:#fff0c8}.announcement{top:82px;background:#fff0c8}.action-status{bottom:170px;right:115px;background:#376949;color:white}dialog{border:22px solid transparent;border-image:var(--native-dialogFrame) 71 71 72 71 fill/24px stretch;border-radius:14px;background:#fff2cf;color:#79522e;box-shadow:0 20px 70px #16382999;max-height:calc(100dvh - 35px);padding:0}dialog::backdrop{background:#163e3155;backdrop-filter:none}.modal-head{background:#deb27a;border-bottom:3px solid #c48d50;padding:12px 16px}.modal-head h2{font-size:24px;color:#fff9de;text-shadow:0 2px 1px #89562e}.modal-head .eyebrow{font-size:9px;color:#805331}.modal-head .icon-button{width:44px;height:44px;padding:0;border:0;background:none}.modal-head img{width:100%;height:100%;object-fit:contain}.modal-content{padding:18px;background:#fff2cf}.item-card,.detail-info,.activity-card{background:#fff8e2;border:2px solid #e4c28a;box-shadow:0 2px 0 #cda36344;border-radius:12px;color:#78512f}.item-card:hover{border-color:#79ae3b;background:#fffce9}.item-card img{filter:drop-shadow(0 3px 1px #97784a33)}.item-card.goods{background:var(--native-seedCard) center/100% 100% no-repeat #fffae6}.item-card.locked{filter:grayscale(.7);opacity:.62}.panel-summary{background:#f2d7a4;border:2px solid #d7ae72;color:#7d542f}.hint{color:#91724e}.tabs{border:0;gap:8px}.tabs button.active{border-image-source:var(--native-buttonGreen);color:white;text-shadow:0 1px #4a7e35;background:none}.jobs{padding:12px;background:#be824b;border:3px solid #e4b77c;border-radius:10px;min-height:90px}.job{background:var(--native-queueSlot) center/100% 100% no-repeat #edc78c;border:0;border-radius:6px}.recipe-card .item-card{background:var(--native-recipeCard) center/100% 100% no-repeat;border:0;padding:28px 12px 15px;min-height:225px;box-shadow:none}.hero-building{background:radial-gradient(ellipse,#fffbed,#f1dba6);border-radius:16px;padding:18px}.hero-building>img{height:170px;max-width:100%;object-fit:contain}.recipe-card button>img{height:75px}.activity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.activity-card{padding:18px 12px;display:flex;flex-direction:column;align-items:center;gap:12px}.activity-icon{width:95px;height:95px;object-fit:contain}.activity-card strong{font-size:17px}.activity-card small{font:14px Arial,sans-serif;line-height:1.4}.cargo-scene{display:flex;align-items:center;gap:20px;padding:20px}.cargo-crates{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.cargo-crates .item-card>img{height:85px}.mine-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:3px;background:#5e3f34;padding:9px;border:8px solid #ab7649;border-radius:10px;margin:15px 0}.mine-block{aspect-ratio:1;background:linear-gradient(135deg,#b9895a,#795331);border:2px solid #d09c67;border-radius:4px;color:#eee1c5;font-size:20px;min-width:0}.mine-block.dug{background:#403b40;opacity:1;filter:none}.festival-hero{text-align:center;padding:20px}.festival-hero progress{display:block;width:80%;margin:25px auto}.loader{background:#72ba5d}.loader-box{border:18px solid transparent;border-image:var(--native-dialogFrame) 71 71 72 71 fill/20px stretch;background:#fff0c8;color:#7d522c}.loader-box h2{color:#7d522c}.loader-box .brand-symbol{background:url('/assets/brand/farm-life-logo.png') center/contain no-repeat;width:200px;height:110px;border-radius:0;margin:auto}.loader-box .brand-symbol svg{display:none}progress{accent-color:#74b936}input,select,textarea{border-color:#d3ad73;background:#fffbed;color:#735235}.toast{background:#fff0c8;border:3px solid #c88e4a;color:#76502c}
@media(max-width:700px){.hud{padding:8px!important}.profile-pill img{width:42px;height:42px}.level-pill{min-width:104px;padding:0}.level-star{width:46px;height:46px;font-size:17px}.level-pill>span:last-child{width:70px}.level-pill strong{font-size:9px}.level-pill progress{height:13px}.wallet{gap:8px;padding-top:3px}.currency{height:32px;min-width:92px;font-size:13px;padding:0 6px 0 10px;border-width:6px}.currency img{width:36px;height:36px}.currency>span:first-child{left:-21px;top:-8px}.currency.gem{min-width:65px}.currency.gem>span:last-child{width:28px;height:28px;right:-17px;top:-6px}.hud-settings{width:32px!important;height:32px!important;margin-left:2px}.quest-teaser{top:66px;width:150px;max-width:42vw}.quest-teaser small{display:none}.quest-teaser h3{font-size:11px}.map-controls{top:65px;right:5px}.game-ui .map-controls .round{width:35px;height:35px}.left-actions{top:175px;left:6px;gap:8px}.floating-button>span:first-child{width:43px;height:43px}.floating-button>span:last-child{font-size:8px}.bottom-dock{right:5px;bottom:5px;max-width:270px;gap:1px}.bottom-dock button{width:50px;height:62px}.bottom-dock button>span:first-child{width:45px;height:45px}.bottom-dock button>span:last-child{font-size:8px}.bottom-dock button[data-panel=build]{bottom:132px;width:70px;height:75px}.bottom-dock button[data-panel=build]>span:first-child{width:65px;height:65px}.bottom-dock button[data-panel=coop]{width:70px;height:80px}.bottom-dock button[data-panel=coop]>span:first-child{width:65px;height:65px}.tutorial-guide{left:80px;bottom:136px;max-width:calc(100vw - 160px);font-size:10px;padding:8px}.placement-bar{bottom:150px;max-width:95vw}.modal-head h2{font-size:18px}.modal-content{padding:10px}dialog{width:96vw;border-width:14px}.activity-grid{grid-template-columns:repeat(2,1fr)}.cargo-crates{grid-template-columns:repeat(2,1fr)}.activity-card{padding:10px}.activity-card strong{font-size:14px}.activity-icon{width:70px;height:70px}.mine-block{font-size:15px}.brand-logo{width:280px}.auth-layout{min-height:30vh}.login-card h2{font-size:19px}.landing-admin{font-size:11px;top:10px;right:10px}}
.quest-teaser{right:auto}.tutorial-guide{transform:none;right:auto;width:auto}.floating-button.gift,.bottom-dock button:first-child{background:none}.bottom-dock{left:auto;width:auto}.bottom-dock button{flex:none;min-width:0}.bottom-dock button[data-panel=coop]{left:12px}.wallet button.currency{border:9px solid transparent;font-family:inherit;font-size:19px}.quest-teaser>small,.quest-teaser p{color:#815731}.quest-teaser progress{height:6px}.action-status{top:auto;left:auto;transform:none}.modal-head .icon-button:hover{background:none}.activity-card:hover{background:#fff8e2}.game-ui .tutorial-guide:hover{transform:translateY(-2px)}@media(max-width:700px){.bottom-dock{width:270px}.wallet button.currency{border-width:6px;font-size:13px}.floating-button span:last-child{display:block}.bottom-dock button[data-panel=coop]{left:3px}.hud-settings{position:static}.tutorial-guide{width:auto}.quest-teaser{right:auto;left:6px}}
.jobs.drop-active{outline:4px solid #7ac743;box-shadow:0 0 15px #d6ef88}.recipe-card [draggable=true]{cursor:grab}.recipe-card [draggable=true]:active{cursor:grabbing}.primary:hover{background:none}.auth-layout .primary{min-height:62px;font-size:20px}.modal-content .hint{line-height:1.5}.cargo-scene{flex-wrap:wrap}.cargo-scene>div{flex:1;min-width:180px}

.login-card #registerOpen{display:block;font-size:16px;padding:13px;background:#fff9e5;border:2px solid #d5af72;border-radius:12px;text-decoration:none}.login-card #loginToggle{font-size:16px}.login-card.show-login #loginForm{margin-top:16px}.login-card #playGuest{font-size:16px}.login-card input{font-family:Arial,sans-serif}.login-card #registerOpen:hover{background:#fffdf3}.login-card.show-login .text-button{margin-top:8px}

.region-nav{position:absolute;left:50%;top:78px;transform:translateX(-50%);display:flex;gap:5px;pointer-events:auto;background:#e6c38b;border:3px solid #9b6739;border-radius:18px;padding:4px;box-shadow:0 3px 4px #34562c55}.region-nav button{background:#fff1cd;color:#7c512c;border-radius:12px;padding:9px 15px;font-size:12px}.region-nav button.active{background:#79ae3d;color:white;text-shadow:0 1px #3d662b}.edit-banner{position:absolute;top:132px;left:50%;transform:translateX(-50%);display:flex;gap:8px;align-items:center;background:#fff4cf;border:3px solid #c18d4c;border-radius:12px;padding:8px 12px;font-size:11px;pointer-events:auto;max-width:90vw}.edit-banner button{background:#6d9d38;color:white;border-radius:8px;padding:7px 10px;white-space:nowrap}.edit-banner #stopEditing{background:#b77442}.object-tools{display:flex;gap:9px;flex-wrap:wrap;position:sticky;top:0;z-index:2;padding:10px;background:#f5dfad;border-radius:12px;margin-bottom:12px}.object-tools button{flex:1;min-width:85px}.editing-world #editWorld{filter:drop-shadow(0 0 7px #ffef6e)}.editing-world #editWorld>span:last-child{background:#4c8c36;border-radius:6px;padding:2px 7px}.placement-bar label{margin:0;white-space:nowrap;color:#79512e;font-size:11px}.placement-bar select{width:110px;margin:0;font-size:11px;padding:6px}.left-actions{gap:8px}.floating-button>span:first-child{width:52px;height:52px}.object-tools .danger{background:#c45e3d;color:white}.payment-banner label{margin:12px 0 0;color:#875525}.region-nav button:hover{transform:none}.edit-banner>span{white-space:nowrap}@media(max-width:700px){.region-nav{top:58px;left:50%;max-width:calc(100% - 100px);padding:3px;border-width:2px;gap:3px}.region-nav button{font-size:9px;padding:7px 9px;white-space:nowrap}.quest-teaser{top:105px;max-width:35vw}.left-actions{top:210px}.floating-button>span:first-child{width:38px;height:38px}.edit-banner{top:auto;bottom:150px;flex-wrap:wrap;font-size:9px;justify-content:center;width:calc(100% - 80px)}.edit-banner button{padding:6px;font-size:10px}.edit-banner>span{width:100%;text-align:center}.placement-bar{bottom:230px;flex-wrap:wrap}.placement-bar label{font-size:10px}.object-tools{gap:6px}.object-tools button{min-width:70px;padding:8px;font-size:11px}}

/* Entry scene: real staged preparation, with an accessible progress element. */
.loader{background:radial-gradient(ellipse at 50% 10%,#e8f8cc 0,#b8dfa0 40%,#6d9c60 100%);overflow:hidden;isolation:isolate}
.loader-box{position:relative!important;z-index:2;background:linear-gradient(145deg,#fffcee,#f3e6bd)!important;border:2px solid #fff7d4!important;border-radius:28px!important;box-shadow:0 22px 90px #214c3955,0 4px 0 #b8955b!important;padding:30px 38px!important;width:min(520px,calc(100vw - 32px))!important;text-align:center}
.loading-logo{display:block;width:190px;height:130px;object-fit:contain;margin:-12px auto 8px;filter:drop-shadow(0 6px 4px #65794030)}
.loading-eyebrow{font-size:10px;font-weight:900;letter-spacing:2px;color:#788348}.loader-box h2{font-size:25px;color:#355d38;margin:10px 0}.loader-box #loadText{font-size:13px;color:#6a7651;min-height:36px;margin:16px 0 5px}
.loading-meter{position:relative;display:flex;align-items:center;gap:12px}.loading-meter progress{appearance:none;height:22px;width:100%;border:3px solid #fff8de;border-radius:20px;overflow:hidden;box-shadow:0 0 0 1px #cbbb89;background:#ded9b7}.loading-meter progress::-webkit-progress-bar{background:#ded9b7}.loading-meter progress::-webkit-progress-value{background:repeating-linear-gradient(115deg,#78ae46 0,#78ae46 16px,#91c65a 16px,#91c65a 32px);border-radius:20px;transition:width .2s}.loading-meter b{font-size:12px;color:#597d36;min-width:32px}
.loading-stages{display:flex;justify-content:space-between;margin-top:16px;gap:5px;font-size:11px;font-weight:700;color:#9d9982}.loading-stages .done{color:#43814b}.loading-stages .done:before{content:'✓ ';color:#6ca344}.loading-tip{font-size:11px!important;color:#8e9275!important;line-height:1.6;margin:22px 0 0!important}.loading-actions{justify-content:center;flex-wrap:wrap;margin-top:14px}.loading-actions:has(.hidden):not(:has(button:not(.hidden))){display:none}
.loading-landscape{position:absolute;inset:0;z-index:0;pointer-events:none}.loading-landscape i{position:absolute;width:150vw;height:70vh;bottom:-40vh;left:-25vw;border-radius:50%;background:#568352;transform:rotate(-10deg)}.loading-landscape i:nth-child(2){bottom:-42vh;left:-50vw;background:#93b75f;transform:rotate(12deg)}.loading-landscape i:nth-child(3){bottom:-56vh;left:0;background:#c4ce7d;transform:rotate(-5deg)}
@media(max-width:600px){.loader-box{padding:25px!important}.loading-logo{width:160px;height:110px}.loader-box h2{font-size:22px}}
