:root{--green: #173f27;--green-2: #245c38;--gold: #f2c14e;--laterite: #b5532a;--paper: #fbf3dd;--ink: #23301f;--bad: #c0392b;--good: #2f8a4a;--shadow: 0 6px 22px rgba(20, 25, 10, .28);font-family:Trebuchet MS,Segoe UI,system-ui,-apple-system,Roboto,sans-serif;color:var(--ink);-webkit-tap-highlight-color:transparent}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;overflow:hidden;background:#e9d4ad;overscroll-behavior:none}button{font:inherit;cursor:pointer;border:0;color:inherit;touch-action:manipulation}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.welcome{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:end center;pointer-events:none;padding:16px 16px max(16px,env(safe-area-inset-bottom));background:linear-gradient(180deg,#3c230f00 60%,#3c230f59)}.returning #root>.game>.welcome{display:none}#root>.game>.boot-loading{display:none}.returning #root>.game>.boot-loading{display:grid}.boot-loading .meter i{width:35%;animation:boot-meter 1.4s ease-in-out infinite alternate}@keyframes boot-meter{0%{margin-left:0}to{margin-left:65%}}.welcome-card{pointer-events:auto;display:grid;grid-template-columns:1fr;gap:10px;align-items:center;text-align:center;width:100%;max-width:460px;padding:14px 16px 12px;background:#fbf3ddf2;border-radius:22px;box-shadow:var(--shadow);border:3px solid var(--green)}@media(min-width:700px){.welcome-card{max-width:640px;grid-template-columns:1fr auto;text-align:left;padding:14px 16px 12px 22px}.welcome .small{grid-column:1 / -1}}.welcome h1{margin:0;font-size:clamp(30px,8vw,38px);color:var(--green);line-height:1}.welcome h1 span{color:var(--laterite)}.tag{margin:4px 0 0;line-height:1.35;font-size:14px}.play{padding:15px 30px;font-size:21px;font-weight:800;border-radius:16px;color:#1b1405;white-space:nowrap;background:linear-gradient(#ffd56b,#f2b705);box-shadow:0 5px #a87a00,var(--shadow)}.play:active{transform:translateY(3px);box-shadow:0 2px #a87a00}.play:disabled{opacity:1;cursor:progress}.small{font-size:13px;opacity:.75;margin:0;text-align:center}.welcome-actions{display:grid;gap:8px}.welcome .ghost{padding:11px 30px;font-size:18px;font-weight:700;border-radius:16px;color:var(--green);background:#fff;border:2px solid var(--green)}.online-now{margin:0;font-size:14px;display:flex;align-items:center;justify-content:center;gap:6px}.online-now i{width:9px;height:9px;border-radius:50%;background:#2fa84f;box-shadow:0 0 0 3px #2fa84f33}.welcome-card>.online-now,.welcome-card>.auth{grid-column:1 / -1}.welcome-card:has(>.auth){max-width:460px;grid-template-columns:1fr;text-align:center}.link{background:none;border:0;color:var(--laterite);font-weight:700;font-size:14px;text-decoration:underline}.auth{display:grid;gap:10px;text-align:left}.auth h2{margin:0;text-align:center;font-size:20px;color:var(--green)}.auth label{display:grid;gap:4px;font-weight:700;font-size:14px}.auth label small{font-weight:400;opacity:.7}.auth input{font:inherit;font-size:16px;padding:12px;border-radius:12px;border:2px solid #c9b48a;background:#fff}.auth input:focus{outline:none;border-color:var(--green)}.auth .play:disabled{opacity:.6}.auth .link{justify-self:center}.auth-error{margin:0;padding:8px 10px;border-radius:10px;background:#fde2dc;color:#8a2a12;font-size:14px}.game{position:fixed;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#9cc3de,#f1dcb5 42%,#a9845a 58%,#7d8a3e)}.game canvas{touch-action:none}.fade{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a120a;opacity:0;pointer-events:none;transition:opacity .5s}.fade.on{opacity:1}.loading{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;gap:12px;text-align:center;background:#e9d4ad}.loading b{font-size:40px;color:var(--green)}.loading b span{color:var(--laterite)}.loading .meter{width:min(320px,70vw)}.hud{position:fixed;top:0;left:0;right:0;z-index:4;display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px;padding:max(10px,env(safe-area-inset-top)) 12px 0;pointer-events:none}.hud>*{pointer-events:auto}.hud-left{display:flex;align-items:center;gap:6px;background:#173f27e6;color:#fff;padding:5px 14px 5px 5px;border-radius:999px;box-shadow:var(--shadow)}.level{position:relative;width:36px;height:36px;display:grid;place-items:center;font-weight:800;color:var(--gold)}.level .ring{position:absolute;top:0;right:0;bottom:0;left:0;transform:rotate(-90deg)}.ring-bg{fill:none;stroke:#fff3;stroke-width:3.5}.ring-fg{fill:none;stroke:var(--gold);stroke-width:3.5;stroke-linecap:round;transition:stroke-dasharray .6s}.wallet{font-size:19px;font-weight:800;letter-spacing:.02em}.objective{flex:1;min-width:0;max-width:420px;margin:0 auto;display:flex;flex-direction:column;align-items:center;padding:6px 14px;background:#fbf3ddf0;border-radius:14px;box-shadow:var(--shadow);border:2px solid var(--gold)}.objective small{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--laterite);font-weight:700}.objective span{font-weight:700;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.clean-btn{margin-left:auto;display:flex;align-items:center;gap:4px;height:36px;margin-top:5px;padding:0 12px;border-radius:999px;background:#173f27bf;color:#fff;font-size:12px;font-weight:800;box-shadow:var(--shadow);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.clean-btn span{font-size:15px;line-height:1}.clean-btn:active{transform:scale(.95)}.save-dot{position:absolute;top:5px;right:calc(50% - 20px);width:11px;height:11px;border-radius:50%;border:2px solid #fff}.save-dot.local{background:#e0a030}.save-dot.cloud{background:#39c35a}.save-dot.sync{background:#39a0e0;animation:pulse .8s infinite alternate}.hud-sub{flex-basis:100%;order:4;display:flex;justify-content:space-between;align-items:flex-start;gap:8px;pointer-events:none;min-width:0}.hud-sub>*{pointer-events:auto}@media(max-width:560px){.objective{order:3;flex-basis:100%;max-width:none;padding:4px 12px}.objective span{font-size:13px}.wallet{font-size:17px}}.dock{position:fixed;left:0;right:0;bottom:calc(88px + env(safe-area-inset-bottom));display:flex;justify-content:center;gap:10px;flex-wrap:wrap;padding:0 12px;pointer-events:none}.dock>*{pointer-events:auto}.world-nav{position:fixed;z-index:4;left:50%;transform:translate(-50%);bottom:max(10px,env(safe-area-inset-bottom));width:min(440px,calc(100vw - 24px));display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:6px;border-radius:24px;background:#fbf3ddf7;border:1px solid rgba(23,63,39,.16);box-shadow:var(--shadow)}.world-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:54px;border-radius:18px;background:transparent;color:var(--green);font-size:12px;font-weight:800}.world-nav button span{font-size:21px;line-height:1}.world-nav button[aria-current=page]{background:var(--green);color:#fff}.world-nav button:hover:not([aria-current]){background:#e3ead6}.world-nav button:active{transform:scale(.96)}.pill{padding:11px 18px;border-radius:999px;font-weight:700;background:#fbf3ddf2;box-shadow:var(--shadow);border:2px solid var(--green)}.pill.on{background:var(--green);color:#fff}.pill.danger{background:var(--bad);color:#fff;border-color:#7a1e14}.pulse{animation:pulse .7s infinite alternate}@keyframes pulse{0%{transform:scale(1)}to{transform:scale(1.06)}}.toasts{position:fixed;top:max(8px,env(safe-area-inset-top));left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:6px;align-items:stretch;pointer-events:none;z-index:40;width:min(calc(100vw - 24px),420px)}.toast{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:16px;background:#161c16f0;color:#fff;font-weight:600;font-size:14px;line-height:1.3;box-shadow:0 8px 24px #0000004d;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:drop .25s ease-out}.toast:before{content:"ℹ";flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:800;background:#ffffff29}.toast.good:before{content:"✓";background:#2f9a52}.toast.bad:before{content:"!";background:#c0392b}@keyframes drop{0%{transform:translateY(-14px);opacity:0}}.activity{position:fixed;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translate(-50%);width:min(94vw,420px);background:#fbf3ddf5;border-radius:18px;padding:14px 16px;box-shadow:var(--shadow);text-align:center;border:2px solid var(--green)}.activity.top{bottom:auto;top:calc(max(10px,env(safe-area-inset-top)) + 58px);background:#fbf3ddeb}.act-title{margin:0 0 8px;font-weight:800;font-size:16px}.act-hint{display:block;margin-top:6px;opacity:.7;font-size:13px}.big-action{width:100%;padding:14px;font-size:18px;font-weight:800;border-radius:14px;color:#1b1405;background:linear-gradient(#ffd56b,#f2b705);box-shadow:0 4px #a87a00;user-select:none;-webkit-user-select:none}.big-action:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px #a87a00}.big-action.hold:active{background:linear-gradient(#8fd0ff,#3b8ed8);color:#fff}.dots{display:flex;justify-content:center;gap:8px;margin-bottom:10px}.dots i{width:16px;height:16px;border-radius:50%;background:#d9c9a0;border:2px solid #8a6a46}.dots i.on{background:#4e8f33;border-color:#2a5a1a}.meter{height:12px;border-radius:99px;background:#0000001f;overflow:hidden;margin:6px 0 10px}.meter i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),#e8901a);transition:width .15s}.meter i.water{background:linear-gradient(90deg,#8fd0ff,#3b8ed8)}.defend-stats{display:flex;justify-content:center;gap:14px;font-weight:700}.defend-stats .timer{color:var(--laterite)}.defend-stats .bad{color:var(--bad)}.big-number{font-size:34px;font-weight:900;color:var(--green)}.timing{position:relative;height:34px;border-radius:10px;background:linear-gradient(90deg,#c27a50,#a9603a);margin:6px 0 12px;overflow:hidden;cursor:pointer}.timing .zone{position:absolute;top:0;bottom:0;background:#4eaa3cd9}.timing .marker{position:absolute;top:-2px;bottom:-2px;width:6px;margin-left:-3px;background:#fff;box-shadow:0 0 6px #000;border-radius:3px}.flash{font-weight:800;color:var(--green);margin-bottom:8px}.sheet{position:fixed;left:50%;bottom:0;transform:translate(-50%);width:min(100vw,480px);max-height:78vh;overflow:auto;background:var(--paper);border-radius:22px 22px 0 0;padding:18px 18px max(18px,env(safe-area-inset-bottom));box-shadow:0 -8px 30px #0000004d;border-top:4px solid var(--green);animation:up .22s ease-out}@keyframes up{0%{transform:translate(-50%,30px);opacity:.4}}@media(min-width:900px){.sheet{bottom:20px;border-radius:22px;border:3px solid var(--green)}}.sheet h2{margin:0 0 2px;color:var(--green)}.sheet .role{margin:0 0 10px;opacity:.7}.close{position:absolute;top:10px;right:12px;width:36px;height:36px;border-radius:50%;background:#00000014;font-weight:800}.choices{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.choice{display:flex;flex-direction:column;align-items:center;gap:3px;padding:12px 6px;border-radius:14px;background:#fff;border:2px solid #e2d3ad}.choice:not(:disabled):hover{border-color:var(--gold)}.choice small{font-size:12px;opacity:.75;text-align:center}.crop-dot{width:26px;height:26px;border-radius:50%}.crop-cassava .crop-dot{background:radial-gradient(circle at 35% 35%,#9a6a42,#5e3a1f)}.crop-maize .crop-dot{background:radial-gradient(circle at 35% 35%,#f6dc7a,#c9a227)}.crop-tomato .crop-dot{background:radial-gradient(circle at 35% 35%,#ff7a5a,#c0281a)}.toggle{display:flex;gap:8px;align-items:center;font-weight:600}.note,.fine{font-size:13px;opacity:.75}.say{background:#fff;border-radius:14px;padding:10px 12px;border-left:4px solid var(--laterite);font-style:italic}.row{display:flex;gap:8px;margin:8px 0}.row>*{flex:1}.price-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0}.price-row em{font-style:normal;font-size:13px}.price-row em.up{color:var(--good)}.price-row em.down{color:var(--bad)}.qty{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.qty button{width:36px;height:36px;border-radius:10px;background:#fff;border:2px solid #e2d3ad;font-weight:800;font-size:18px}.qty b{min-width:24px;text-align:center;font-size:18px}.offer{text-align:center;margin:6px 0}.tabs-mini{display:flex;gap:6px;margin-bottom:6px}.tabs-mini button{padding:6px 12px;border-radius:99px;background:#fff;border:2px solid #e2d3ad;font-weight:700}.tabs-mini button.on{background:var(--green);color:#fff;border-color:var(--green)}.shop-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px dashed #d8c69a}.shop-row b{display:block}.shop-row small{display:block;opacity:.7;font-size:12px}.buy-btns{display:flex;gap:6px;flex-shrink:0}.buy-btns button{padding:9px 12px;border-radius:12px;font-weight:800;background:linear-gradient(#ffd56b,#f2b705);white-space:nowrap}.wallet-line{text-align:right;font-weight:800;color:var(--green);margin:10px 0 0}.farmlink-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:8;background:#140f0580;display:grid;grid-template-columns:minmax(0,1fr);place-items:center;justify-items:center;padding:12px}.nb-big{font-size:38px;font-weight:900;color:var(--green)}.nb-table{border-collapse:collapse;width:100%}.nb-table td,.nb-table th{text-align:left;padding:0 8px 0 0;height:28px}.nb-map{display:grid;grid-template-columns:1fr 1fr;gap:8px}.nb-map button{padding:12px;border-radius:12px;background:#fff;border:2px solid #e2d3ad;font-weight:700;text-align:left}.nb-map button.here{border-color:var(--green);background:#e9f3e3}.nb-map small{display:block;font-weight:400;font-size:12px;opacity:.7}@media(max-width:560px){.nb-map{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.pulse,.save-dot.sync,.toast,.sheet{animation:none}.fade{transition:none}}.life-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:grid;place-items:center;padding:16px;background:#140f0573}.life-picker{width:min(760px,100%);max-height:92vh;overflow:auto;background:var(--paper);border-radius:22px;padding:20px 18px;box-shadow:var(--shadow);border:3px solid var(--green)}.life-picker h2{margin:0 0 4px;color:var(--green)}.lives{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}@media(max-width:640px){.lives{grid-template-columns:1fr}}.life{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px;border-radius:16px;background:#fff;border:2px solid #e2d3ad;text-align:left}.life:hover{border-color:var(--gold)}.life b{font-size:18px;color:var(--green)}.life small{font-size:13px;opacity:.8;line-height:1.35}.life-icon{font-size:30px}.process-box{margin-top:12px;padding-top:6px;border-top:2px solid #e2d3ad}.process-box h3{margin:4px 0;color:var(--green)}.steps{display:flex;gap:6px;padding:0;list-style:none;justify-content:center;flex-wrap:wrap;margin:6px 0 10px}.steps li{padding:4px 10px;border-radius:99px;background:#eadfc2;font-size:13px;font-weight:700}.steps li.now{background:var(--gold)}.steps li.on{background:#4e8f33;color:#fff}.pill.small{padding:7px 12px;font-size:13px;margin-top:8px;width:100%}.square-sheet{max-height:92dvh;padding-top:0}.square-sheet .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.sq-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:10px;padding:12px 0 8px;background:#f6f3ea}.sq-head h2{flex:1;margin:0;font-size:20px;color:var(--green)}.sq-head .close{position:static}.sq-back,.sq-head .close{min-width:44px;min-height:44px;border-radius:50%;background:#efe9d8;font-size:22px;font-weight:700}.sq-mark{font-size:24px}.sq-tabs{padding-top:0}.sq-tabs button{min-height:40px;display:inline-flex;align-items:center;gap:4px}.sq-composer{display:grid;gap:6px;margin:8px 0 4px}.sq-composer textarea{width:100%;box-sizing:border-box;font:inherit;font-size:16px;padding:10px 12px;border-radius:12px;border:1px solid #cdbf98;background:#fffdf6;resize:vertical}.sq-composer-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.sq-send{min-height:44px;padding:8px 16px;border-radius:12px;background:var(--green);color:#fff;font-weight:800}.sq-send:disabled{opacity:.45}.square-sheet button.ghost{min-height:44px;padding:8px 14px;border-radius:12px;background:#efe9d8;color:var(--ink);font-weight:700;display:inline-flex;align-items:center;gap:6px}.square-sheet button.ghost.danger{color:var(--bad)}.sq-toolbar{display:flex;justify-content:flex-end;margin:4px 0}.sq-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.sq-post{background:#fffdf6;border:1px solid #e3d7b6;border-radius:14px;padding:10px 12px;min-width:0}.sq-post.gone{opacity:.7}.sq-who{display:flex;align-items:center;gap:10px;min-height:44px;background:none;padding:0;text-align:left;max-width:100%}.sq-who span{display:grid;min-width:0}.sq-who b{color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sq-who small{opacity:.7;font-size:12px}.sq-avatar{flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:800;font-size:16px}.sq-text{margin:6px 0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.45;cursor:pointer}.sq-tag{display:inline-block;font-size:11px;font-weight:700;color:#7a4a14;background:#f7e7c0;border-radius:999px;padding:2px 8px}.sq-actions{display:flex;gap:6px;margin-top:4px}.sq-actions button{min-height:44px;min-width:44px;padding:6px 10px;border-radius:10px;background:transparent;display:inline-flex;align-items:center;gap:6px;font-weight:700;color:#4b5a49}.sq-actions .sq-like.on{color:#b23a2a}.sq-actions .sq-more{margin-left:auto}.sq-menu{display:grid;gap:4px;margin-top:4px;padding:6px;background:#f6efdc;border-radius:12px}.sq-menu button{min-height:44px;text-align:left;padding:8px 10px;border-radius:10px;background:#fffdf6;display:flex;align-items:center;gap:6px;font-weight:600}.sq-report fieldset{border:0;padding:0;margin:6px 0;display:grid;gap:4px}.sq-report label{min-height:40px;display:flex;align-items:center;gap:8px}.sq-empty{padding:18px 8px;text-align:center;opacity:.75}.sq-sub{font-size:14px;margin:12px 0 6px;color:var(--green)}.sq-replies{padding-left:12px;border-left:3px solid #e3d7b6}.sq-profile-head{display:flex;align-items:center;gap:12px}.sq-profile-head b{display:block;font-size:18px}.sq-profile-head small{opacity:.7}.sq-profile-head .sq-avatar{width:52px;height:52px;font-size:22px}.sq-counts{display:flex;gap:14px;flex-wrap:wrap;font-size:14px}.sq-profile-actions{display:flex;gap:8px;flex-wrap:wrap}.sq-activity{display:grid;gap:2px;width:100%;min-height:44px;text-align:left;padding:10px 12px;border-radius:12px;background:#fffdf6;border:1px solid #e3d7b6}.sq-activity small{opacity:.75;overflow-wrap:anywhere}.sq-entry{margin:12px 0;padding:12px;border-radius:14px;background:#fffdf6;border:1px solid #e3d7b6}.sq-entry h3{margin:0 0 4px}.sq-pastimes{margin:14px 0 0;font-size:15px;color:var(--green)}.sq-mod-reason{width:100%;box-sizing:border-box;font:inherit;font-size:16px;padding:10px 12px;border-radius:12px;border:1px solid #cdbf98;background:#fffdf6}.sq-mod-hours{display:flex;align-items:center;gap:8px;margin:6px 0;font-weight:700}.sq-mod-hours select{min-height:44px;font:inherit;border-radius:10px;padding:0 8px}.app-body h3{margin:10px 0 2px;color:var(--laterite);font-size:16px}.app-body h3 small{color:var(--ink);opacity:.6;font-weight:400}.app-body small{opacity:.7}.app-body .shop-row p,.app-body .shop-row small{line-height:1.35}.nb-table tr.warn td{color:var(--bad)}.nb-table em{font-style:normal;font-size:12px}.nb-table em.up{color:var(--good)}.nb-table em.down{color:var(--bad)}.nb-table.ledger td.in{color:var(--good);font-weight:700;text-align:right}.nb-table.ledger td.out{color:var(--bad);font-weight:700;text-align:right}.region-card{padding:6px 0 10px;border-bottom:2px dashed #d8c69a}.event{line-height:1.4!important;padding:6px 10px;border-radius:10px;background:#fff;font-size:14px}.event.glut,.event.drought,.event.fuel{border-left:4px solid var(--bad)}.event.demand,.event.bumper{border-left:4px solid var(--good)}.trade-row{padding:8px 0;border-bottom:1px dashed #d8c69a;display:flex;flex-direction:column;gap:6px}.trade-row .buy-btns{flex-wrap:wrap}.buy-btns.wrap{flex-wrap:wrap;flex-shrink:1;margin-bottom:4px}.buy-btns.wrap button{white-space:normal;text-align:left;max-width:100%}.stepper{display:inline-flex;align-items:center;gap:4px}.stepper button{width:28px;height:28px;border-radius:8px;background:#fff!important;border:2px solid #e2d3ad;padding:0!important;font-weight:800}.stepper b{min-width:22px;text-align:center}.stepper{flex-wrap:wrap}.stepper input{width:4.5em;min-width:0;height:28px;padding:0 4px;border-radius:8px;border:2px solid #e2d3ad;background:#fff;font:inherit;font-weight:800;text-align:center}.stepper button.max{width:auto;padding:0 8px!important;font-size:12px}.stepper button:disabled{opacity:.45}.stepper button,.qty button,.app-bar button:not(.close),.seg button{position:relative}.stepper button{width:32px;height:32px}.stepper button:before,.app-body .stepper button:before{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px}.qty button:before,.app-bar button:not(.close):before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px}.seg button:before{content:"";position:absolute;top:-8px;right:0;bottom:-8px;left:0}.reasoned-action{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;max-width:100%}small.why,.why{display:block;color:var(--bad);font-size:12px;line-height:1.35;font-weight:600;white-space:normal}.store-capacity{margin:8px 0 10px}.store-capacity progress{display:block;width:100%;height:10px;margin:6px 0;accent-color:var(--green)}.store-capacity .bad{color:var(--bad);display:block}.shop-row.hl{background:#fff4c9;border-radius:10px}.note.good{color:var(--good);opacity:1;font-weight:700}.ladder{padding-left:22px;margin:6px 0}.ladder li{line-height:1.35!important;margin-bottom:6px!important;opacity:.6}.ladder li small{display:block}.ladder li.done{opacity:.8}.ladder li.now{opacity:1;font-weight:700;color:var(--green)}.app-body .row{flex-wrap:wrap}.app-body{min-width:0;overflow-x:hidden}.app-body .shop-row>div:first-child{min-width:0}@media(max-width:640px){.app-body{padding:14px 12px}.app-body .shop-row{flex-wrap:wrap}.app-body .shop-row>div:first-child{flex:1 1 170px}.app-body .buy-btns{flex-wrap:wrap}.app-body .row>*{flex:1 1 100%}.app-body .nb-table td small{display:block}}.online{display:flex;align-items:center;gap:6px;background:#171f14d1;color:#fff;padding:6px 12px;border-radius:999px;font-size:13px;box-shadow:var(--shadow);white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}.online .here{opacity:.8}.online .dot{flex:none;width:8px;height:8px;border-radius:50%;background:#e3a21a}.online .dot.live{background:#3ddc6a;box-shadow:0 0 6px #3ddc6a}.greet{position:relative}.phrases{position:absolute;right:0;bottom:calc(100% + 8px);width:max-content;max-width:min(80vw,300px);display:flex;flex-direction:column;gap:2px;max-height:min(46vh,320px);overflow-y:auto;background:#fbf3ddfa;border-radius:16px;padding:6px;box-shadow:var(--shadow)}.phrases button{text-align:left;padding:9px 12px;border-radius:10px;font-weight:600;background:transparent;border:0}.phrases button:hover{background:#2f7d4f26}.where{margin-left:auto;flex:none;display:flex;flex-direction:column;align-items:flex-end;padding:6px 12px;border-radius:14px;background:#fbf3ddeb;box-shadow:var(--shadow);font-size:14px;text-align:right;line-height:1.25}.where b{color:var(--green)}.where small{font-size:11px;opacity:.75}.where-date{font-size:12px;font-weight:700;color:var(--green)}@media(max-width:560px){.online{font-size:12px;padding:5px 10px}.where{gap:0;padding:4px 11px;border-radius:14px;font-size:13px;white-space:nowrap;line-height:1.2}.where-date{font-size:11px}.where small{display:none}}.choice small.warn{color:var(--bad);font-weight:700}.security{margin-top:12px;border-top:1px solid #e4dccb;padding-top:8px}.security h3{margin:4px 0;color:var(--green)}.region-card select,.trade-row select{padding:7px 8px;border-radius:10px;border:2px solid #e2d3ad;background:#fff;font:inherit;font-size:13px}.travel{position:relative;width:min(760px,100%);max-height:94vh;overflow:auto;background:var(--paper);border-radius:18px;box-shadow:var(--shadow);padding:16px 18px}.travel h2{margin:0 0 6px;color:var(--green)}.travel h2 small{font-size:15px;color:var(--laterite)}.travel .close{position:absolute;top:10px;right:12px;font-size:20px;background:none}.ng-map{display:block;width:100%;max-height:46vh;background:#d8e9f0;border-radius:12px}.ng-map path:hover{filter:brightness(1.06)}.pin{cursor:pointer}.pin-label{font:800 30px Trebuchet MS,system-ui,sans-serif;fill:#173f27;paint-order:stroke;stroke:#fbf3dd;stroke-width:8px}.dest h3{margin:10px 0 4px;color:var(--green)}.dest h3 small{font-size:13px;color:var(--laterite)}.dest-now{margin:0 0 6px;line-height:1.5}.sec{display:inline-block;padding:1px 8px;border-radius:8px;font-weight:800;font-size:12px}.sec.calm{background:#dff0d8;color:#2f6a3a}.sec.tense{background:#fbeec8;color:#7a5a10}.sec.unsafe{background:#fbe1dc;color:#7a1f14}.facts{margin:4px 0 8px;padding-left:18px;line-height:1.45;font-size:14px}.trip-options{display:grid;gap:8px}.trip-options .big-action small{display:block;font-weight:400;font-size:12px;opacity:.8}.fine{font-size:11px;opacity:.7}.trip{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;z-index:20;background:linear-gradient(#f3d9a4,#c98c56)}.trip.flight{background:linear-gradient(#7fb2d9,#e7f1f8)}.trip-card{width:min(460px,92vw);padding:18px;border-radius:18px;background:#fbf3ddf2;box-shadow:var(--shadow);text-align:center;display:grid;gap:10px}.trip-title{margin:0;font-size:20px;font-weight:900;color:var(--green)}.trip-road{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;font-weight:800;font-size:13px}.trip-line{position:relative;height:6px;border-radius:3px;background:repeating-linear-gradient(90deg,#5a5a5a 0,#5a5a5a 14px,#f2c14e 14px,#f2c14e 22px)}.trip-line i{position:absolute;top:-14px;transform:translate(-50%);font-style:normal;font-size:22px;transition:left .25s linear}.trip-fact{margin:0;line-height:1.45;min-height:3em}.phone{position:relative;display:flex;flex-direction:column;width:min(410px,100%);height:min(800px,94vh);min-width:0;border-radius:38px;padding:10px 10px 8px;background:#121712;box-shadow:0 18px 50px #00000080,inset 0 0 0 2px #2c352c}.phone-status{display:flex;align-items:center;justify-content:space-between;padding:4px 18px 6px;color:#e8efe6;font-size:12px;font-weight:700}.phone-home,.phone-app{flex:1;min-height:0;display:flex;flex-direction:column;border-radius:28px;overflow:hidden}.phone-home{padding:18px 14px;gap:14px;overflow-y:auto;background:radial-gradient(120% 70% at 20% 0%,#3f8a55,#1d4a2e 45%,#142a1c);color:#fff}.phone-greeting b{display:block;font-size:26px;letter-spacing:.01em}.phone-greeting small{opacity:.8}.app-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px 8px}.app-group h2{margin:0 0 12px;color:#f5efd9;font-size:13px;font-weight:700}.app-search{display:grid;gap:6px;font-size:12px;font-weight:700}.app-search input{width:100%;min-width:0;min-height:44px;padding:10px 12px;font:inherit;font-size:16px;color:var(--ink);background:#fffdf4;border:1px solid #d4dec4;border-radius:14px}.app-search input:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.app-empty p{margin:0 0 10px}.app-empty button{min-height:44px;padding:8px 14px;border-radius:12px;background:#fffdf4;color:var(--green);font-weight:700}.app{display:flex;flex-direction:column;align-items:center;gap:6px;background:none;color:#fff;padding:0}.app-icon{position:relative;width:58px;height:58px;border-radius:16px;display:grid;place-items:center;font-size:28px;font-weight:900;color:#fff;box-shadow:0 4px 10px #00000059,inset 0 1px #ffffff40}.app:active .app-icon{transform:scale(.94)}.app-label{font-size:12px;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.6)}.badge{position:absolute;top:-5px;right:-5px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:#e5332a;color:#fff;font-size:12px;font-style:normal;font-weight:800;display:grid;place-items:center;box-shadow:0 0 0 2px #142a1c}.widget{margin-top:auto;background:#ffffff24;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:20px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}button.widget{flex:none;width:100%;text-align:left;color:inherit}.widget .widget-link{margin-top:6px;color:var(--gold);font-weight:700;opacity:1}.widget small{text-transform:uppercase;letter-spacing:.14em;font-size:10px;color:var(--gold);font-weight:800}.widget span{font-size:13px;opacity:.85;line-height:1.35}.phone-app{background:#f6f3ea}.app-bar{display:flex;align-items:center;gap:8px;padding:10px;background:#fff;border-bottom:1px solid #e7e0cc}.app-bar b{flex:1;font-size:18px;color:var(--green)}.app-bar button{width:36px;height:36px;border-radius:50%;background:#efe9d8;font-size:22px;line-height:1;font-weight:700}.app-bar .close{font-size:15px;position:static}.app-body{flex:1;overflow-y:auto;border-radius:0;padding:12px 14px 20px;background:#f6f3ea;box-shadow:none}.app-body p,.app-body li{line-height:1.45;margin:4px 0}.app-body .nb-table td,.app-body .nb-table th{height:auto;padding:5px 8px 5px 0;border-bottom:1px solid #ece4cf;vertical-align:top}.wallet-card{background:linear-gradient(135deg,#1f7a46,#173f27);color:#fff;border-radius:18px;padding:14px 16px;box-shadow:var(--shadow)}.wallet-card .nb-big{color:#fff}.wallet-card .nb-big{font-size:clamp(20px,7vw,32px);line-height:1.15;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.wallet-card>small{display:block;line-height:1.4;margin-top:4px}.wallet-card small{opacity:.8}.link{background:none;padding:0;color:var(--green-2);font-weight:700;text-decoration:underline}@media(max-width:560px){.farmlink-backdrop{padding:0}.phone{width:100%;height:100vh;height:100dvh;border-radius:0;padding:max(6px,env(safe-area-inset-top)) 0 0}.phone-home,.phone-app{border-radius:0}}.home-hero{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fff;border-radius:16px;padding:10px 12px;box-shadow:0 2px 8px #0000000f}.home-hero b{display:block}.home-hero small{opacity:.75;font-size:12px}.chip{font-size:12px;font-weight:700;border-radius:999px;padding:4px 10px;white-space:nowrap}.chip.good{background:#dff0dc;color:#1f5f32}.seg{display:flex;flex-wrap:wrap;gap:6px;padding:10px 0 4px}.seg button{position:relative;flex:none;padding:7px 12px;border-radius:999px;background:#e9e2cf;font-weight:700;font-size:13px}.seg button.on{background:var(--green);color:#fff}.seg .badge{top:-6px;right:-6px;box-shadow:none}.card-row{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border-radius:14px;padding:10px 12px;margin:8px 0;box-shadow:0 1px 4px #0000000f}.card-row>div:first-child{min-width:0}.card-row b{display:block}.card-row small{display:block;opacity:.75;line-height:1.35;font-size:12.5px}.card-row small.lock{color:var(--laterite);opacity:1;font-weight:700}.card-row.owned{background:#eef6ea}.card-row .buy-btns{display:flex;gap:6px;align-items:center;flex:none}.card-row .buy-btns button{padding:8px 12px;border-radius:10px;background:var(--gold);font-weight:800;white-space:nowrap}.card-row .buy-btns button.ghost{background:#ece6d4;font-weight:600}.tick{color:var(--good);font-weight:800;white-space:nowrap}.news{background:#fff7dd;border-left:4px solid var(--gold);border-radius:8px;padding:8px 10px;margin:8px 0;font-size:14px;line-height:1.4}.sec{font-weight:800}.sec.calm{color:var(--good)}.sec.tense{color:#b97a00}.sec.unsafe{color:var(--bad)}.sec-card{border-radius:14px;padding:10px 12px;margin:8px 0;color:#fff}.sec-card b,.sec-card small{display:block}.sec-card small{opacity:.9;line-height:1.35}.sec-card.calm{background:#2f7d4f}.sec-card.tense{background:#b97a00}.sec-card.unsafe{background:#a8332a}.incident{background:#fff;border-radius:12px;padding:8px 12px;margin:8px 0;border-left:4px solid #c9bfa4}.incident.open{border-left-color:var(--bad)}.incident.quiet{border-left-color:var(--good)}.incident p{margin:2px 0;font-size:14px}.choices{display:grid;gap:6px;margin-top:6px}.choices button{text-align:left;background:#f3eedf;border-radius:10px;padding:8px 10px}.choices button small{display:block;font-size:12px;opacity:.75}.note.bad{color:var(--bad);font-weight:700}@media(max-width:400px){.card-row{flex-wrap:wrap}.card-row>div:first-child{flex:1 1 100%}.app-icon{width:52px;height:52px}}.standing{display:grid;gap:2px;padding:12px 14px;margin-bottom:10px;border-radius:16px;color:#fff;background:linear-gradient(135deg,#245c38,var(--green));box-shadow:var(--shadow)}.standing small{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--gold);font-weight:800}.standing b{font-size:20px}.standing span{font-size:13px;opacity:.9}.standing .bar{display:block;height:6px;margin-top:6px;border-radius:3px;background:#fff3;overflow:hidden}.standing .bar i{display:block;height:100%;background:var(--gold)}.standing.rank-3{background:linear-gradient(135deg,#a8743a,#6b4420)}.standing.rank-4{background:linear-gradient(135deg,#8d959e,#4f5660)}.standing.rank-5{background:linear-gradient(135deg,#e0b23a,#8a6410)}.swatch{display:inline-block;width:12px;height:12px;border-radius:3px;border:1px solid rgba(0,0,0,.3);vertical-align:-1px}.buy-btns .ghost{background:#fff;color:var(--ink);border:1px solid #c9bfa3;box-shadow:none}.you-rank{font-size:15px}.rankings{list-style:none;margin:0;padding:0;display:grid;gap:6px}.rankings button{width:100%;display:grid;grid-template-columns:34px 1fr auto;gap:8px;align-items:center;text-align:left;padding:9px 10px;border-radius:12px;border:1px solid #e3d8bb;background:#fff;color:var(--ink)}.rankings .pos{font-weight:800;font-size:17px;color:var(--green);text-align:center}.rankings .who{display:grid;min-width:0}.rankings .who b,.rankings .who small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rankings .who small{font-size:12px;opacity:.75}.rankings .worth{font-weight:700;font-size:14px}.rankings li:nth-child(1) .pos{color:#b08414}.rankings .rank-5 button{border-color:#e0b23a;background:#fff8e3}.rankings .rank-4 button{border-color:#aab2bb}.player-card h3{margin:2px 0 8px;font-size:22px}.player-card>small{display:block;margin-top:8px;font-weight:700;color:var(--laterite);text-transform:uppercase;letter-spacing:.1em;font-size:11px}.find{display:flex;gap:6px;margin-bottom:8px}.find input,.panel input,.chat-say input{flex:1;min-width:0;font:inherit;font-size:16px;padding:10px 12px;border-radius:12px;border:2px solid #c9b48a;background:#fff}.find input:focus,.panel input:focus,.chat-say input:focus{outline:none;border-color:var(--green)}.find select{font:inherit;font-size:16px;font-weight:700;padding:10px 8px;border-radius:12px;border:1.5px solid var(--line);background:var(--card);color:var(--ink)}.ajo-members{display:grid;gap:6px;margin:8px 0}.ajo-members button{display:flex;justify-content:space-between;gap:8px;text-align:left;padding:9px 12px;border-radius:12px;border:1.5px solid var(--line);background:var(--card);color:var(--ink);font:inherit}.ajo-members small{color:#6a6a5a;white-space:nowrap}.ajo-members .paid small{color:var(--green);font-weight:700}.find button,.chat-say button,.panel>button,.actions button{font-weight:700;padding:10px 14px;border-radius:12px;border:0;background:var(--gold);color:var(--ink)}.find button:disabled,.chat-say button:disabled,.panel>button:disabled,.actions button:disabled{opacity:.5}.err{color:var(--bad);font-weight:600;font-size:14px}.around{display:flex;flex-wrap:wrap;gap:6px}.around button{padding:7px 12px;border-radius:999px;border:0;color:#fff;font-weight:700;background:var(--green)}.around .rank-3{background:#8a5a28}.around .rank-4{background:#6e7680}.around .rank-5{background:#b08414}.convos{list-style:none;padding:0;margin:0;display:grid;gap:6px}.convos button{width:100%;display:flex;justify-content:space-between;gap:8px;text-align:left;padding:10px 12px;border-radius:12px;border:1px solid #e3d8bb;background:#fff;color:var(--ink)}.convos .who{display:grid;min-width:0}.convos .who small{font-size:13px;opacity:.75;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.convos .when{font-size:12px;opacity:.8;display:grid;justify-items:end;gap:4px}.convos .badge{position:static}.player-card .facts{font-size:14px}.actions{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.actions.quiet button{background:#fff;border:1px solid #c9bfa3;font-weight:600}.panel{display:grid;gap:8px;padding:12px;border-radius:14px;background:#fff;border:1px solid #e3d8bb;margin-bottom:8px}.panel small{font-size:12px;opacity:.8}.player-trades{min-width:0}.player-trades .buy-btns,.player-trades .shop-row{flex-wrap:wrap}.player-trades{width:100%;box-sizing:border-box}.player-trades .shop-row{flex-direction:column;align-items:stretch}.player-trades .shop-row>div:first-child{flex:0 1 auto}.player-trades .buy-btns{min-width:0;flex-shrink:1;width:100%}.player-trades .buy-btns>*{min-width:0;max-width:100%}.player-trades .buy-btns button{white-space:normal}.player-trades button[aria-pressed=false]{background:#f0ede4}.player-trades label{display:grid;gap:4px;max-width:100%}.player-trades input,.player-trades select{width:140px;max-width:100%;box-sizing:border-box;font-size:16px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chips.col{display:grid}.chips button{padding:7px 12px;border-radius:999px;border:1px solid #c9bfa3;background:#fbf3dd;font-weight:600;color:var(--ink);text-align:left}.chips button.on{background:var(--green);color:#fff;border-color:var(--green)}.chat{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.chat .msgs{display:grid;gap:6px;max-height:52vh;overflow-y:auto;padding:4px 2px}.msg{max-width:82%;display:grid;gap:2px;padding:8px 11px;border-radius:14px;font-size:15px;background:#fff;border:1px solid #e3d8bb;justify-self:start}.msg.mine{justify-self:end;background:#dff0dc;border-color:#b9dbb3}.msg.special{border-width:2px;border-color:var(--gold)}.msg small{font-size:11px;opacity:.6;justify-self:end}.chat-say{display:flex;gap:6px}.phone-app{--app-bg: #f3f1ea;--card: #fff;--line: #ece8dc;--muted: #6c776a;background:var(--app-bg)}.app-bar{position:relative;z-index:1;padding:10px 12px;background:#ffffffeb;border-bottom:1px solid var(--line)}.app-bar b{font-size:19px;letter-spacing:-.01em}.app-bar button{background:#f0ede4;color:var(--ink)}.app-body{padding:4px 14px 28px;background:var(--app-bg);color:#2c3829;font-size:15px;-webkit-overflow-scrolling:touch}.app-body>p:first-child,.app-body>.fine:first-child{margin-top:12px}.app-body p{line-height:1.45}.app-body h3{margin:20px 4px 8px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.app-body h3 small{text-transform:none;letter-spacing:0;font-weight:600;color:var(--muted);opacity:.8;margin-left:4px}.app-body .fine{font-size:12px;color:var(--muted);opacity:1;line-height:1.4}.app-body .note{font-size:13px;color:var(--muted);opacity:1}.app-body .note.good{color:var(--good)}.app-body .note.bad{color:var(--bad)}.app-body .shop-row,.app-body .trade-row,.app-body .region-card,.app-body .card-row,.app-body .incident,.app-body .panel,.app-body .home-hero{background:var(--card);border:0;border-radius:16px;padding:12px 14px;margin:8px 0;box-shadow:0 1px 2px #1e28140f,0 0 0 1px #1e281408}.app-body .shop-row.hl{background:#fff7d6;box-shadow:0 0 0 2px var(--gold)}.app-body .region-card h3{margin:0 0 8px;text-transform:none;letter-spacing:0;font-size:16px;color:var(--green)}.app-body .region-card h3 small{display:block;margin:2px 0 0;font-size:12px}.app-body .shop-row b,.app-body .trade-row b{font-size:15px;color:#22301f}.app-body .shop-row small,.app-body .trade-row small{font-size:12.5px;color:var(--muted);opacity:1;margin-top:2px}.app-body .trade-row{gap:10px}.app-body .trade-row>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.app-body .buy-btns{gap:8px;align-items:center}.app-body .buy-btns button,.app-body .card-row .buy-btns button,.app-body .find button,.app-body .actions button,.app-body .panel>button,.app-body .chat-say button{min-height:44px;padding:8px 14px;border-radius:12px;background:var(--gold);color:#2a1f05;font-weight:800;box-shadow:0 1px #78500059;border:0}.app-body .buy-btns button:active:not(:disabled),.app-body .actions button:active:not(:disabled){transform:translateY(1px);box-shadow:none}.app-body .buy-btns button.ghost,.app-body .actions.quiet button{background:#f0ede4;color:var(--ink);font-weight:600;box-shadow:none;border:0}.app-body .buy-btns select{min-height:38px}.app-body .pill{padding:9px 14px;border-radius:12px;border:1.5px solid var(--line);background:var(--card);box-shadow:none;font-size:14px}.app-body .pill.on{background:var(--green);border-color:var(--green);color:#fff}.app-body .link{color:var(--green-2);font-size:14px;text-decoration:none;font-weight:700;padding:8px 0}.app-body .seg{padding:12px 0 4px}.app-body .seg button{background:#e7e3d7;color:#3a4636}.app-body .seg button.on{background:var(--green);color:#fff}.app-body .stepper button{background:#f0ede4!important;border:0;border-radius:10px;width:32px;height:32px}.app-body .nb-table{border-collapse:separate;border-spacing:0;background:var(--card);border-radius:16px;overflow:hidden;margin:8px 0;box-shadow:0 1px 2px #1e28140f,0 0 0 1px #1e281408;font-size:14px}.app-body .nb-table td,.app-body .nb-table th{padding:10px 12px;height:auto;border-bottom:1px solid var(--line);vertical-align:top}.app-body .nb-table tr:last-child td{border-bottom:0}.app-body .nb-table th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:800;background:#faf9f5}.app-body .nb-table td small{color:var(--muted);opacity:1}.app-body .region-card .nb-table{box-shadow:none;border-radius:0;margin:0 -14px;width:calc(100% + 28px)}.app-body .region-card .nb-table tr:first-child td{border-top:1px solid var(--line)}.app-body .region-card .note{margin:8px 0 0}.app-body .event{margin:0 0 8px;background:#faf7ee;font-size:13px}.app-body .convos button,.app-body .rankings button{border:0;border-radius:14px;padding:12px 14px;box-shadow:0 1px 2px #1e28140f,0 0 0 1px #1e281408}.app-body .find input,.app-body .chat-say input,.app-body .panel input{border:1.5px solid var(--line);background:var(--card)}.app-body .find input:focus,.app-body .chat-say input:focus,.app-body .panel input:focus{border-color:var(--green)}.app-body .find{margin-top:12px}.app-body .chips button{background:#f6f3ea;border-color:var(--line)}.app-body .chips button.on{background:var(--green);color:#fff;border-color:var(--green)}.app-body .nb-map{margin-top:12px}.app-body .nb-map button{border:0;border-radius:16px;padding:14px;background:var(--card);box-shadow:0 1px 2px #1e28140f,0 0 0 1px #1e281408}.app-body .nb-map button.here{background:#e6f2e2;box-shadow:0 0 0 2px #7fb88f}.app-body .nb-map button:disabled{opacity:.55}.app-body .wallet-card{margin-top:12px;border-radius:20px;padding:16px 18px}.wallet-card .xp{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:12px;font-weight:700}.wallet-card .xp i{flex:1;height:6px;border-radius:3px;background:#fff3;overflow:hidden}.wallet-card .xp i b{display:block;height:100%;background:var(--gold);border-radius:3px}.app-body .goals{list-style:none;padding:4px 0;margin:0;background:var(--card);border-radius:16px;box-shadow:0 1px 2px #1e28140f,0 0 0 1px #1e281408}.app-body .goals li{display:flex;align-items:center;gap:12px;padding:10px 14px;margin:0;border-bottom:1px solid var(--line);line-height:1.3}.app-body .goals li:last-child{border-bottom:0}.app-body .goals li.done{text-decoration:none;opacity:.55}.app-body .goals li.now{color:var(--ink);font-weight:800}.app-body .goals li small{display:block;margin-top:5px;color:var(--muted);font-size:13px;font-weight:400;line-height:1.45;opacity:1}.app-body .goals li .goal-reward{color:var(--green);font-weight:700}.tickbox{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:800;background:#ece8dc;color:var(--muted)}.goals li.done .tickbox{background:var(--good);color:#fff}.goals li.now .tickbox{background:var(--gold);color:#2a1f05;box-shadow:0 0 0 4px #f2c14e4d}.stock{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px}.stock span{display:grid;gap:2px;padding:10px 12px;border-radius:14px;background:var(--card);font-size:12px;color:var(--muted);box-shadow:0 1px 2px #1e28140f,0 0 0 1px #1e281408}.stock span b{font-size:20px;color:var(--green)}.stock span.none{opacity:.5}.phone-online{display:inline-flex;align-items:center;gap:4px;margin-left:auto;margin-right:10px}.phone-online .dot{width:7px;height:7px;border-radius:50%;background:#3ddc6a}.phone-status>span:last-child{white-space:nowrap}.app{-webkit-touch-callout:none}.app-icon{transition:transform .12s}.sheet{background:#f6f3ea;border-top-color:var(--green)}.sheet .shop-row{background:#fff;border:0;border-radius:14px;padding:10px 12px;margin:8px 0;box-shadow:0 1px 2px #1e28140f,0 0 0 1px #1e281408}.sheet .buy-btns button{border-radius:12px;background:var(--gold);box-shadow:0 1px #78500059}.sheet .close{z-index:1}.phone-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.phone-x{flex:none;width:40px;height:40px;border-radius:50%;background:#ffffff2e;color:#fff;font-size:17px;font-weight:800;display:grid;place-items:center;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.phone-x:active{transform:scale(.94)}.app-bar button{width:40px;height:40px}.hud-left{font:inherit;text-align:left}.hud-left:active{transform:scale(.97)}.sheet>.close,.travel>.close{position:sticky;top:0;float:right;margin:-6px -6px 0 10px;width:40px;height:40px;z-index:2;background:#ece6d4;font-size:16px;box-shadow:0 1px 4px #0000001f}.toasts.low{top:auto;bottom:calc(max(6px,env(safe-area-inset-bottom)) + 66px);flex-direction:column-reverse}.toasts.low .toast{animation-name:rise}@keyframes rise{0%{transform:translateY(14px);opacity:0}}.warn-box{margin:8px 0 12px;padding:12px 14px;border-radius:14px;background:#fff3d6;border:2px solid #e2a83a;display:grid;gap:8px}.warn-box ul{margin:0;padding-left:18px;display:grid;gap:6px;line-height:1.4}.warn-box .row{display:flex;gap:8px;justify-content:flex-end}.needs-dock{position:absolute;bottom:calc(86px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);width:min(340px,92vw);padding:8px 12px;background:#fffae9ed;border-radius:14px;color:#284636;z-index:5}.needs-meters{display:flex;gap:12px;width:100%}.need{flex:1;min-width:0;font-size:12px;text-align:left}.need>span:first-child{display:flex;justify-content:space-between}.need-track{display:block;height:6px;background:#ded8c5;border-radius:8px;margin-top:4px;overflow:hidden}.need-track i{display:block;height:100%;background:#4b9366}.need.low i{background:#c87636}.dock{bottom:calc(145px + env(safe-area-inset-bottom))}.interior-heading{position:absolute;top:76px;left:50%;transform:translate(-50%);width:min(560px,94vw);display:flex;justify-content:space-between;align-items:center;background:#fff8e9ed;padding:12px 16px;border-radius:16px;z-index:6}.interior-heading button{min-height:44px}.interior-heading:not(.building-heading){flex-wrap:wrap;gap:8px}.interior-heading:not(.building-heading)>.chips{flex:0 0 auto;display:flex;gap:6px}.interior-heading:not(.building-heading)>.chips button{max-width:none}.home-furnishings{font-size:12px;margin:8px 0}.room-asset-notice{font-size:12px;padding:8px;border-radius:8px;background:#f3e3b8}.room-asset-notice button{margin-left:8px;min-height:44px}.interior-heading small{display:block}.interior-panel{position:absolute;bottom:calc(12px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);width:min(560px,94vw);padding:14px;background:#fff8e9f5;border-radius:18px;z-index:6;max-height:42vh;overflow:auto}.owned-furniture{font-size:12px;margin:10px 0;color:#5d6851}.home-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.home-controls button{padding:9px;min-height:48px;text-align:left}.home-controls small{display:block;font-size:11px;font-weight:400}.interior-panel>small{font-size:11px;color:#6f715d}.resting{display:flex;justify-content:space-between;align-items:center;min-height:70px}.farm-report{background:#fff8e9;color:#284636;padding:12px;border-radius:14px;display:grid;gap:6px}.farm-report h2{margin:0;font-size:16px}.farm-report>small{font-size:11px}.farm-report button{min-height:48px;text-align:left;padding:8px;background:#e8edda;border-radius:8px}.farm-report button span,.farm-report button small{display:block;font-size:11px;font-weight:400;margin-top:3px}.plot-task{display:block;min-height:44px;margin-top:5px;padding:6px 10px}.farm-leisure{margin:8px 0;font-size:12px}.farm-leisure summary{cursor:pointer;padding:8px 0}.farm-leisure button{min-height:44px;padding:8px}.farm-leisure button small{display:block}.message-filters{display:flex;gap:6px;margin:6px 0 12px}.message-filters button{min-height:44px;padding:8px 12px;border-radius:10px;background:#e8edda;color:#284636}.message-filters button[aria-pressed=true]{background:#286040;color:#fff}.phone-x,.app-bar button{width:44px;height:44px}.phone :focus-visible{outline:3px solid var(--gold);outline-offset:2px}.phone-home{gap:10px;padding:14px}.app-group h2{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.app-grid{gap:10px 8px}.phone-farm-details{flex:none;border-radius:12px;background:#ffffff12}.phone-farm-details summary{min-height:44px;padding:12px;cursor:pointer;font-size:13px;font-weight:700}.phone-farm-details .farm-report{margin:0 6px 6px}.travel-select{display:grid;gap:6px;font-size:13px;font-weight:700;margin:12px 0}.travel-select select{width:100%;min-height:44px;padding:8px;border:1px solid #d4dec4;border-radius:10px;font:inherit;background:#fffdf4;color:var(--ink)}.travel .ng-map{max-height:170px}.region-details summary{min-height:44px;padding:12px 0;cursor:pointer;font-weight:700}.travel-map summary{min-height:44px;padding:12px 0;cursor:pointer;font-weight:700;font-size:13px}.sheet{z-index:12;max-height:min(78vh,calc(100dvh - env(safe-area-inset-top) - 12px));overscroll-behavior:contain}.sheet>.close,.travel>.close{width:44px;height:44px;flex:none;right:auto;margin:-6px 0 0 10px}.interior-heading{top:max(12px,env(safe-area-inset-top));gap:12px;padding:10px 12px}.interior-heading>div{min-width:0;flex:1}.interior-heading button{flex:none;max-width:110px;min-height:44px;padding:8px 12px;border-radius:12px;background:var(--green);color:#fff;font-size:14px;font-weight:700}.interior-heading.home-heading>div:first-child{flex:1 1 150px}.interior-heading.home-heading>.chips{flex:0 0 auto;justify-content:flex-end}.interior-panel{max-height:min(36dvh,320px);padding:12px;overscroll-behavior:contain}.home-controls button{border-radius:12px;border:1px solid #d7dec9;background:#e8edda;color:var(--green);font-size:14px;font-weight:700}.home-controls .home-controls-wide{grid-column:1 / -1}.home-controls button:first-child{background:var(--green);color:#fff;border-color:var(--green)}.home-controls small{line-height:1.4;margin-top:3px}.home-utilities{display:flex;gap:6px;flex-wrap:wrap}.home-utilities button{flex:1 1 80px;min-height:44px;padding:6px 8px;border-radius:10px;background:#e8edda;color:var(--green);font-size:12px}.ride-wallet{margin:10px 0 0;font-size:14px}.export-app .trip-options{display:flex;flex-wrap:wrap;gap:6px}.export-app .chip{flex:1 1 45%;padding:8px 10px;border-radius:10px;border:1px solid rgba(0,0,0,.12);background:#f4efe4;font-weight:600}.export-app .chip.on{background:#1d4f7a;color:#fff;border-color:#1d4f7a}:root{--nav: calc(86px + env(safe-area-inset-bottom)) }.world-nav{z-index:9}.world-nav button{position:relative}.world-nav .badge{top:2px;right:calc(50% - 26px);box-shadow:0 0 0 2px #fbf3dd}.farmlink-backdrop{padding-bottom:var(--nav)}.phone{height:min(800px,calc(100dvh - var(--nav) - 12px))}.travel{max-height:calc(100dvh - var(--nav) - 12px)}@media(max-width:560px){.farmlink-backdrop{padding:0 0 var(--nav)}.phone{height:calc(100dvh - var(--nav))}}.toasts.low{bottom:calc(var(--nav) + 6px)}button.short{opacity:.55;filter:saturate(.5)}.needle-bar{position:relative;height:22px;margin:10px 0 12px;border-radius:11px;background:linear-gradient(90deg,#c9553a,#e6b34a 30%,#e6b34a 70%,#c9553a);overflow:hidden}.needle-bar .zone{position:absolute;left:38%;width:24%;top:0;bottom:0;background:#3f9b4a}.needle-bar b{position:absolute;top:-2px;bottom:-2px;width:6px;margin-left:-3px;border-radius:3px;background:#1c1c1c;box-shadow:0 0 0 2px #fff}.big-number .dim{opacity:.25}.resting .stop-rest{min-height:44px;padding:8px 16px;border-radius:12px;background:var(--green);color:#fff;font-size:14px;font-weight:700}.home-controls button:disabled{opacity:.6}.farm-services,.daily-farm{display:grid;gap:12px;margin:16px 0}.farm-services button,.daily-farm button{min-height:48px;padding:12px;border-radius:12px;background:#e5ecdf;color:#173c27;text-align:left}.farm-services button small{display:block;margin-top:4px}.farm-services input{display:block;width:100%;padding:12px;margin-top:8px;border:1px solid #a0ad92;border-radius:10px}.farm-services button:disabled,.daily-farm button:disabled{opacity:.55}.service-counter{position:relative;display:grid;place-items:center;height:150px;overflow:hidden;border-radius:14px;background:linear-gradient(#ece1c5 65%,#835e40 65%);border:5px solid #704e35}.service-counter span{font-size:42px}.service-counter b{color:#274c33;font-size:14px}.service-counter i{width:85%;height:15px;background:#a27b4d;border-radius:3px}.daily-farm{padding:16px;border-radius:16px;background:#edf0e4}.welcome-card{max-height:calc(100dvh - 32px - env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}.phone-x,.app-bar button{width:44px;height:44px;min-width:44px;min-height:44px}.game-recovery{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:20px;background:var(--paper);overflow-y:auto}.game-recovery section{max-width:440px;text-align:center;color:var(--green)}.game-recovery h1 span{color:var(--laterite)}.game-recovery .play{min-height:48px;margin-top:12px}.world-controls{position:absolute;z-index:5;left:50%;transform:translate(-50%);bottom:calc(86px + env(safe-area-inset-bottom));width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 220px);display:flex;flex-direction:column;gap:8px;overflow-y:auto;pointer-events:none}.world-controls>*{flex-shrink:0;pointer-events:auto}.world-controls .dock{position:static;padding:0}.world-controls .needs-dock{position:static;transform:none;width:min(340px,100%);align-self:center}.credits{list-style:none;padding:0;margin:8px 0}.credits li{padding:6px 0;border-bottom:1px dashed #d8c69a}.credits b,.credits small{display:block}.credits small{opacity:.75;font-size:12px}.farm-blocks{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 12px;border-radius:18px;background:#f6f0dc;color:#173f27;box-shadow:0 4px 16px #0002}.farm-blocks button{min-width:44px;min-height:44px;border:0;border-radius:12px;background:#1e5535;color:#fff;font-size:25px}.farm-blocks label{display:flex;align-items:center;gap:5px;font-weight:700}.farm-blocks select{min-height:44px;padding:4px;border:1px solid #c9d0bc;border-radius:9px;color:#173f27;background:#fff}.business-hero{display:flex;flex-direction:column;gap:7px;padding:14px;border-radius:18px;background:#f6f0dc;color:#173f27}.business-hero small{color:#56694b}.phone-home .business-hero{margin:8px 0 14px}.growth-actions{display:flex;flex-wrap:wrap;gap:8px}.growth-actions button,.growth-card>button{flex:1;min-height:44px;padding:10px 12px;border:0;border-radius:12px;background:#ffc43b;color:#25270f;font-weight:700}.growth-actions button.ghost,.growth-card>button.ghost{background:#e2e9d8;color:#173f27}.growth-card{display:flex;flex-direction:column;gap:8px;padding:16px;margin:10px 0;background:#fffdf5;color:#173f27;border:1px solid #d8dccd;border-radius:18px}.growth-card strong{font-size:1.2em}.growth-card progress{width:100%;accent-color:#297346}.contracts-panel .shop-row{flex-wrap:wrap;align-items:flex-start}.contracts-panel .shop-row>div:first-child{flex:1 1 220px;min-width:0}.contracts-panel .buy-btns{flex:1 1 220px;min-width:0}.contracts-panel .buy-btns button{max-width:100%;white-space:normal}.farm-growth .chips{gap:5px}.farm-growth .chips button{min-height:44px}.farm-growth .chips button[aria-pressed=true]{background:#1e5535;color:#fff}.timed-contracts{margin-top:16px}.chat-head{display:flex;align-items:center;gap:10px;padding:6px 0 10px}.chat-head .back,.chat-head .more{flex:none;width:40px;height:40px;border-radius:50%;border:0;background:#ece6d4;font-size:22px;line-height:1}.chat-head .who{flex:1;min-width:0;display:flex;flex-direction:column}.chat-head .who b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:17px}.chat-menu{display:flex;gap:6px;margin-bottom:8px}.chat-menu button{flex:1;padding:8px;border-radius:10px;border:1px solid #d8c69a;background:#fff;font-weight:600}.chat-tools{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:10px}.chat-tools button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border-radius:12px;border:0;background:#eaf2e9;color:var(--ink);font-size:12px;font-weight:700}.chat-tools button span{font-size:20px}.chat-tools button.on{background:var(--green);color:#fff}.farm-gate .gate-board{text-align:left;background:#6b4a2b;color:#fdf3d6;border-radius:14px;padding:12px 14px;border:3px solid #4a3220;box-shadow:inset 0 0 0 2px #8a6440}.farm-gate .gate-board b{display:block;font-size:18px}.farm-gate .gate-board span{color:#f2c14e;font-weight:800}.farm-gate .gate-board ul{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:2px;font-size:14px}.farm-gate .gate-links{display:flex;justify-content:space-between;gap:10px}.group-entry{display:flex;align-items:center;gap:6px;width:100%;margin:8px 0;padding:10px 12px;border-radius:12px;text-align:left}.group-entry .badge{margin-left:auto;position:static}.building-heading{top:70px;flex-wrap:wrap;gap:8px;padding:10px 12px}.building-heading .chips{order:3;width:100%}.interior-heading.building-heading>.chips{flex:1 1 100%}.sheet.in-room{max-height:50vh}.room-service>.close{position:sticky;top:0;float:right;width:44px;height:44px;z-index:2}.room-service>h2{padding-right:52px}.building-heading .chips button{min-height:36px;padding:6px 10px}.building-heading{padding:8px 10px;gap:6px}.building-heading b{font-size:15px}.building-heading small{font-size:12px}.interior-heading.building-heading button{min-height:32px;padding:4px 10px;font-size:13px;border-radius:10px;max-width:none}.building-heading .chips button{background:#fbf3dd;color:var(--ink);border:1px solid #c9bfa3;font-weight:600}.interior-heading.building-heading button{min-height:44px;padding:7px 10px}.village-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.village-services button{min-height:44px;border-radius:10px;padding:8px;background:#e8edda;color:var(--green);font-weight:600}.building-asset-notice{position:absolute;bottom:calc(112px + env(safe-area-inset-bottom));left:3vw;right:3vw;z-index:7}.village-map{position:relative;height:340px;margin:8px 0 12px;border-radius:16px;overflow:hidden;background:radial-gradient(circle at 30% 30%,#9cbf6e,#7aa352 60%,#6a9446);box-shadow:inset 0 0 0 2px #00000014}.village-map .vm-road{position:absolute;background:#c4834e;opacity:.85}.village-map .vm-road-x{left:0;right:0;top:62%;height:12px}.village-map .vm-road-farm{left:calc(50% - 5px);top:62%;bottom:0;width:10px}.village-map .vm-road-west{left:calc(14% + 26px);top:0;bottom:0;width:10px}.village-map .vm-road-east{right:calc(14% + 26px);top:0;bottom:0;width:10px}.village-map .vm-square{position:absolute;width:44%;height:44%;background:#c9a77a;border-radius:12px;display:flex;align-items:flex-end;justify-content:center;padding:4px;font-size:11px;color:#4a3420;font-weight:700}.village-map .vm-bubble{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:2px;background:none;border:0;padding:0;min-height:0;cursor:pointer}.village-map .vm-bubble i{font-style:normal;width:46px;height:46px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:24px;box-shadow:0 3px 8px #0003}.village-map .vm-bubble.small i{width:36px;height:36px;font-size:18px}.village-map .vm-bubble small{max-width:84px;overflow:hidden;text-overflow:ellipsis;background:#ffffffe6;border-radius:8px;padding:1px 6px;font-size:10px;font-weight:700;color:#173f27;white-space:nowrap}.village-map .vm-bubble.farm i{background:#e9f5dc}.room-chat{position:absolute;left:50%;transform:translate(-50%);bottom:160px;width:min(560px,94vw);background:#fff8e9f2;border-radius:16px;padding:8px 10px;z-index:6;box-shadow:0 4px 14px #0002}.visit-banner{position:absolute;left:50%;transform:translate(-50%);width:min(480px,94vw);background:#fff8e9f2;border:2px solid #173f27;border-radius:16px;padding:10px 12px;z-index:7;box-shadow:0 4px 14px #0002}.visit-banner{top:86px}.farm-invite-profile{margin:10px 0;padding:10px 12px;border:1px solid #d9d0bc;border-radius:12px}.farm-invite-profile p{margin:4px 0 6px}.farm-invite-profile .chips{flex-wrap:wrap}.farm-visit-pill{position:absolute;top:calc(156px + env(safe-area-inset-top));left:50%;transform:translate(-50%);z-index:7;display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:8px;width:min(360px,92vw);background:#fff8e9f2;border:1px solid #b9c7a4;border-radius:18px;padding:8px;font-weight:700;font-size:13px;color:#173f27;box-shadow:0 2px 8px #0002}.farm-visit-pill>span{grid-column:1/-1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:2px 4px}.farm-visit-pill button:disabled{opacity:.55}.farm-visit-pill button.ghost{background:#fff;color:#173f27;border:1px solid #b9c7a4}.farm-host-bar{position:absolute;top:calc(156px + env(safe-area-inset-top));right:12px;z-index:7;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;max-width:92vw}.farm-host-bar button{border:1px solid #b9c7a4;background:#fff8e9f2;color:#173f27;border-radius:999px;padding:6px 11px;min-height:0;font-weight:700;font-size:13px;box-shadow:0 2px 8px #0002}.visit-greet{position:relative;min-width:0}.visit-greet .phrases{top:calc(100% + 8px);bottom:auto;right:0;left:auto;transform:none}.farm-visit-pill button{border:0;border-radius:999px;background:#173f27;color:#fff;min-height:44px;min-width:64px;padding:8px 12px;font-weight:700;line-height:1.2}.invite-card{position:absolute;top:calc(156px + env(safe-area-inset-top));left:50%;transform:translate(-50%);width:min(360px,92vw);z-index:8;background:#fff8e9;border:2px solid #1f7a46;border-radius:16px;padding:10px 12px;box-shadow:0 6px 18px #0003;animation:invite-in .25s ease-out}@keyframes invite-in{0%{opacity:0;transform:translate(-50%,10px)}}.invite-card p{margin:0 0 8px;font-size:14px;color:#173f27}.invite-card-actions{display:flex;gap:8px}.invite-card-actions button{flex:1;min-height:40px;border-radius:12px;font-weight:700}.invite-visit{background:#1f7a46;color:#fff;border:0}.invite-decline{background:#fff;color:#173f27;border:1px solid #9eae9c}.home-bell{margin-left:auto;margin-right:8px}.visit-banner p{margin:4px 0 8px}.room-chat-toggle{background:none;border:0;padding:2px 0;min-height:0;font-weight:700;color:#173f27}.room-chat-lines{max-height:120px;overflow-y:auto;font-size:13px;margin:4px 0}.room-chat-lines p{margin:2px 0}.room-chat-lines p.mine b{color:#1f7a46}.room-chat form{display:flex;gap:6px}.room-chat input{flex:1;min-width:0;border-radius:12px;border:1px solid #cdbf9f;padding:8px 10px}.cheer-banner{position:absolute;top:28%;left:50%;transform:translate(-50%);width:min(520px,92vw);text-align:center;z-index:9;pointer-events:none;animation:cheer-in .4s ease-out}.cheer-banner b{display:block;font-size:40px;line-height:1.05;color:#f2c14e;text-shadow:0 3px 0 #6b3d1e,0 6px 18px #0008;letter-spacing:1px}.cheer-banner span{display:inline-block;margin-top:8px;background:#1c2a1ee6;color:#fff3c4;padding:10px 18px;border-radius:999px;font-weight:700;font-size:17px}.cheer-sparkles{font-size:28px;margin-bottom:4px}@keyframes cheer-in{0%{transform:translate(-50%,10px) scale(.9)}to{transform:translate(-50%) scale(1)}}.selected-player-chat{z-index:20;bottom:max(18px,env(safe-area-inset-bottom));max-width:440px;box-shadow:0 8px 32px #0005}.selected-player-chat .room-chat-lines{max-height:180px}.selected-player-chat small{display:block;margin-top:5px;color:#526253}.player-chat-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px}.player-chat-head button{border:1px solid #9eae9c;border-radius:10px;background:#fff;padding:6px 10px;color:#173f27}.vatar-profile{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:24px 12px}.vatar-profile-avatar{display:grid;place-items:center;width:88px;height:88px;border-radius:50%;background:#e5e9d7;font-size:42px}.vatar-profile h3{margin:0;overflow-wrap:anywhere}.vatar-profile .facts{max-width:26ch}.farmlink-bell{position:relative;display:inline-flex;align-items:center;justify-content:center;margin:12px 16px;min-width:48px;min-height:48px;border-radius:50%;background:#f3ead3;border:1px solid #d7caa9;font-size:24px}.farmlink-bell-count{position:absolute;top:-5px;right:-8px;border-radius:20px;background:#a33c28;color:#fff;padding:2px 7px;font-size:13px;font-weight:700}.farmlink-notifications{margin:0 14px 16px;padding:14px;border:1px solid #ddd5bd;border-radius:18px;background:#fffdf5;max-height:45dvh;overflow-y:auto}.farmlink-notification-title{display:flex;justify-content:space-between;align-items:center;gap:12px}.farmlink-notification-item{padding:10px 0;border-top:1px solid #e6dfd0}.farmlink-notification-item .chips{display:flex;flex-wrap:wrap;gap:8px}.messages-notification-control{position:relative;flex:0 0 auto;display:flex;align-items:center}.app-bar .messages-notification-control .farmlink-bell{width:44px;height:44px;min-width:44px;min-height:44px;margin:0;font-size:22px}.messages-notification-control .farmlink-notifications{position:absolute;z-index:30;right:-48px;top:calc(100% + 12px);width:min(340px,calc(100vw - 36px));margin:0;box-shadow:0 12px 30px #0000002e}.phone .messages-notification-control{position:relative;display:flex;align-items:center;flex:0 0 auto}.phone .messages-notification-control .farmlink-notifications{position:absolute;top:calc(100% + 12px);right:-52px;z-index:60;width:min(340px,calc(100vw - 44px));max-width:calc(100vw - 44px);max-height:min(420px,55dvh);overflow-y:auto;overflow-x:hidden;margin:0;padding:14px 16px;box-sizing:border-box;border:1px solid #ded5be;border-radius:18px;background:#fffdf7;box-shadow:0 14px 34px #1424192e;font-size:14px;line-height:1.45;text-align:left;color:#173f27}.phone .farmlink-notifications .farmlink-notification-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 8px;padding:0 0 10px;border-bottom:1px solid #e7e0d1}.phone .farmlink-notifications .farmlink-notification-title b{font-size:17px;line-height:1.3}.phone .farmlink-notifications .farmlink-notification-close{display:inline-flex;align-items:center;justify-content:center;flex:0 0 30px;width:30px;height:30px;min-width:30px;min-height:30px;margin:0;padding:0;border:0;border-radius:50%;background:#f1eee5;color:#294532;font-size:16px;line-height:1}.phone .farmlink-notifications .farmlink-notification-item{padding:12px 0;margin:0;border-top:1px solid #eee6d8}.phone .farmlink-notifications .farmlink-notification-item:first-of-type{border-top:0}.phone .farmlink-notifications .farmlink-notification-item p{margin:0 0 10px;padding:0;overflow-wrap:anywhere;word-break:normal;font-size:14px;line-height:1.45}.phone .farmlink-notifications .farmlink-notification-item p b{font-weight:700}.phone .farmlink-notifications .farmlink-notification-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.phone .farmlink-notifications .farmlink-notification-actions button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:auto;min-width:0;height:36px;min-height:36px;margin:0;padding:7px 13px;border-radius:10px;font-size:13px;line-height:1.2;font-weight:650;white-space:nowrap}.phone .farmlink-notifications .farmlink-invite-accept{background:#194b31;color:#fff;border:1px solid #194b31}.phone .farmlink-notifications .farmlink-invite-decline{background:#f5f0e5;color:#294532;border:1px solid #ddd3be}@media(max-width:390px){.phone .messages-notification-control .farmlink-notifications{right:-48px;width:min(300px,calc(100vw - 28px));max-width:calc(100vw - 28px)}}.weed-job{position:absolute;top:0;right:0;bottom:0;left:0;z-index:48;overflow-y:auto;display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top)) 14px max(16px,env(safe-area-inset-bottom));color:#173f27;background:linear-gradient(#92c5de,#d9e8be 42%,#72944d 43%,#496b2f)}.weed-job-card{width:min(100%,420px);margin:auto;padding:18px;border-radius:24px;background:#fff9e9;box-shadow:0 12px 40px #0005;text-align:center}.weed-job-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;font-weight:700}.weed-job-close{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:#eee7d5;color:#24482e}.weed-job h2{margin:4px 0 8px;font-size:28px}.weed-job-hint{margin:0 0 6px;min-height:2.8em;font-size:16px;line-height:1.4}.weed-job-legend{display:flex;justify-content:center;gap:24px;margin:0 0 10px;font-size:14px;font-weight:700}.weed-job-legend span{display:flex;align-items:center;gap:4px}.weed-job-legend svg{width:36px;height:36px}.weed-bed{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:12px;border:3px solid #8c5e35;border-radius:18px;background:repeating-linear-gradient(0deg,#a57549 0,#a57549 6px,#b68553 6px,#b68553 10px,#a57549 10px,#a57549 60px);box-shadow:inset 0 3px 8px #50311950}.weed-tile{display:grid;place-items:center;width:100%;min-width:0;min-height:56px;aspect-ratio:1;padding:0;border:2px solid transparent;border-radius:12px;background:#ead3ad25;cursor:pointer;touch-action:manipulation}.weed-tile svg{width:100%;height:100%}.weed-tile:disabled{opacity:1;cursor:default}.weed-tile:not(:disabled):hover{background:#ffe5b155}.weed-tile:focus-visible{outline:3px solid #fff4c4;outline-offset:1px}.weed-tile.mistake{border-color:#9e4b36;background:#cc674c35}.weed-cleared{color:#fff0c6;font-size:26px}.weed-job-stats{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0 8px;font-size:14px}.weed-job-pay{margin:0;font-size:20px;font-weight:800}.weed-job-pay span{display:block;margin-top:4px;font-size:13px;font-weight:500;color:#567048}@media(max-width:350px){.weed-job-card{padding:12px}.weed-bed{padding:8px;gap:4px}.weed-job h2{font-size:25px}}.phone .inbox-filters{margin:16px 0}.phone .inbox-filters button{min-height:44px;padding:10px 18px}.phone .convos .inbox-avatar{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:50%;background:#e5ecdf;color:#214a32;font-weight:800;font-size:20px}.phone .convos .who{min-width:0;flex:1}.phone .convos .who b,.phone .convos .who small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phone .convos .inbox-source{display:block;font-size:12px;color:#617062;margin:3px 0}.phone .convos button{gap:10px}.phone .inbox-extras{margin:16px 0;border-top:1px solid #dedbcd;padding-top:8px}.phone .inbox-extras summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:#365a42}.game,.game *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.game input,.game textarea,.game .msgs,.game .msgs *{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}.export-path{list-style:none;margin:8px 0 14px;padding:0;display:grid;gap:4px}.export-path li{display:flex;gap:10px;align-items:center;min-height:44px;padding:4px 6px 4px 8px;border-radius:12px;background:var(--card);border:1.5px solid var(--line);font-weight:700}.export-path li>b{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#ece6d4;font-size:13px}.export-path li>span{flex:1;min-width:0}.export-path li.done{opacity:.6}.export-path li.done>b{background:var(--green);color:#fff}.export-path li.next{border-color:var(--gold);background:#fff8e1}.export-path li.next>b{background:var(--gold)}.export-path li>button{flex:none;border:0;border-radius:10px;padding:8px 12px;font-weight:700;background:var(--gold);color:var(--ink)}.card-row.agent-sale{flex-wrap:nowrap;padding:8px 10px;margin:6px 0}.card-row.agent-sale>div:first-child{flex:1 1 auto}.card-row.agent-sale .buy-btns button{padding:6px 10px}.cargo-panel{margin-bottom:18px}.cargo-panel label,.cargo-control{display:grid;gap:6px;margin:12px 0}.cargo-panel input,.cargo-panel select,.cargo-control input{min-height:44px;max-width:100%;padding:8px 12px;border:1px solid #c9c6b9;border-radius:10px;background:#fff;font:inherit;color:inherit}.cargo-panel .big-action{margin-top:8px}.cargo-panel .big-action small{display:block;margin-top:5px;font-size:12px;font-weight:400;line-height:1.4}.cargo-panel .nb-table{font-size:13px}.cargo-panel .nb-table td small{display:block;font-size:10px}.transport-harvest{align-self:center;min-height:44px;max-width:100%;padding:10px 16px;border-radius:999px;background:var(--green);color:#fff;font:inherit;font-weight:700;box-shadow:0 2px 8px #0002}.ride-cargo-card{padding:12px;border:1px solid #cbcfc0;border-radius:14px;background:#fff;margin:8px 0}.ride-option{display:grid;gap:6px}.ride-fleet{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.ride-fleet button{min-height:44px;padding:8px 12px;border-radius:10px;background:#e6eadf;color:var(--green);font-weight:700}.ride-fleet button:disabled{opacity:.45}.ride-fleet b{white-space:nowrap;font-size:13px}.trip-options details summary,.ride-load-choice summary{padding:10px 0;cursor:pointer;min-height:44px}@media(max-width:480px){.deal .shop-row{flex-wrap:wrap}.deal .shop-row>div:first-child{flex:1 1 180px;min-width:0}.deal .buy-btns{flex-wrap:wrap}}.trap-steps{display:flex;flex-wrap:wrap;gap:.4rem;margin:.6rem 0}.trap-steps span{border-radius:.6rem;background:#eee5cb;padding:.4rem .55rem;font-size:.85rem;font-weight:700}.sheet{background:#f8f5ec;box-shadow:0 -10px 40px #14251d30}.sheet h2{font-size:22px;line-height:1.2;letter-spacing:-.025em;padding-right:4px;margin-bottom:12px}.sheet .shop-row,.sheet .card-row{border:1px solid #e6e5d9;box-shadow:none;border-radius:16px;padding:14px;gap:12px}.sheet .shop-row>div:first-child{flex:1 1 auto;min-width:0}.sheet .shop-row small{line-height:1.45;color:#67705f;opacity:1;margin-top:4px}.sheet .buy-btns{flex-wrap:wrap;max-width:100%;gap:8px}.sheet .buy-btns button,.sheet select,.sheet input{min-height:44px}.sheet .buy-btns button{font-size:14px;padding:10px 14px;box-shadow:none;white-space:normal}.sheet .buy-btns button:disabled{box-shadow:none}.sheet .fine{color:#67705f;opacity:1;line-height:1.5}.farm-sheet-title{display:flex;align-items:center;gap:12px}.farm-sheet-icon{flex:none;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;color:#f4c753;background:#214d36}.farm-sheet-title small{display:block;font-size:12px;font-weight:500;letter-spacing:0;color:#67705f;margin-top:3px}.trap-benefits{display:grid;gap:6px;font-size:13px;color:#52644e;line-height:1.4}.trap-benefits span{display:flex;gap:8px;align-items:center}.trap-benefits svg{flex:none;color:#40704b}.trap-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0}.trap-steps span{display:grid;gap:3px;padding:10px 8px;border-radius:12px;background:#eeeadb}.trap-steps b{color:#718568;font-size:11px}.trap-steps strong{font-size:13px;color:#214d36}.trap-steps small{font-size:11px;color:#65745e}[data-testid=trap-next-action]{padding:10px 12px;border-radius:10px;background:#e8efdf;color:#36563a;opacity:1;line-height:1.45;margin:12px 0}.home-tabs.seg{flex-wrap:nowrap;overflow-x:auto;max-width:100%;gap:8px;padding:12px 0;scrollbar-width:thin}.home-tabs button{flex:none;min-height:40px;border-radius:12px}[data-testid=flow-purpose],[data-testid=home-purpose]{color:#65735f;font-size:13px;line-height:1.5;margin:10px 2px 14px}.app-body .card-row,.app-body .shop-row,.app-body .trade-row{border:1px solid #e6e5d9;box-shadow:none}.app-body .buy-btns button{min-height:44px}.app-body .stepper button,.qty button{min-width:36px;min-height:40px}.export-app h4{font-size:16px;line-height:1.3;color:#214d36;margin:20px 2px 10px}.export-app .trip-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.export-app .trip-options button{min-height:44px;font-size:13px;border-radius:12px;padding:9px;background:#fffdf6;border:1px solid #dcded1}.export-app .trip-options button.on{background:#214d36;color:#fff;border-color:#214d36}.export-app .card-row{align-items:flex-start;flex-wrap:wrap}.export-app .card-row>div:first-child{flex:1 1 100%}.export-app .card-row .buy-btns{width:100%;flex-wrap:wrap}.export-app .qty{flex:none}.export-app .buy-btns>[data-testid=export-ship]{flex:1}.export-app>[data-testid=export-send-goods]{min-height:44px;width:100%;padding:12px;border-radius:12px;background:#214d36;color:#fff;font-weight:700;margin:8px 0}.export-shipping{border:1px solid #d3dcc8;border-radius:16px;padding:12px;background:#f0f4e8;margin:14px 0}.export-shipping h4{margin-top:2px}.export-shipping .row{display:grid;gap:6px}.export-shipping .trade-row .buy-btns{display:grid;grid-template-columns:minmax(0,1fr);width:100%}.export-shipping select{min-height:44px;width:100%}.export-shipping [data-testid=trade-back-export]{background:transparent;color:#52644e;min-height:40px;font-size:13px}[data-testid=storehouse-stock] ul{list-style:none;padding:0;margin:0 0 8px}[data-testid=storehouse-stock] li{padding:10px 0;border-bottom:1px solid #e3dfd0;font-size:14px}@media(max-width:360px){.sheet{padding-left:14px;padding-right:14px}.sheet .shop-row{flex-wrap:wrap}.sheet .shop-row .buy-btns{width:100%}.sheet .shop-row .buy-btns button{flex:1}}.farm-update-chip{pointer-events:auto;border:1px solid #b9c7a4;border-radius:14px;min-height:44px;padding:10px 14px;background:#fff8e9f2;color:#173f27;font-weight:600;font-size:13px;text-align:left}.farm-updates{pointer-events:auto}.farm-updates section{background:#fff8e9;border-radius:14px;padding:12px;max-height:28dvh;overflow:auto;font-size:13px}.farm-updates p{margin:10px 0}.farm-updates section>button{min-height:44px;border:0;border-radius:10px;padding:8px 12px;background:#dfe8d3;color:#173f27;font-size:13px;font-weight:600}.msg{position:relative;overflow-wrap:anywhere}.message-options{border:0;background:transparent;color:inherit;min-width:36px;min-height:36px;opacity:.7}.message-actions,.message-reactions{display:flex;flex-wrap:wrap;gap:4px}.message-actions button,.message-reactions button{min-width:36px;min-height:36px;border-radius:12px}.message-reactions button[aria-pressed=true]{outline:2px solid #53ad86}.message-quote,.chat-reply-preview{display:flex;text-align:left;border:0;border-left:3px solid #53ad86;background:#648c7829;color:inherit;padding:8px;border-radius:6px;max-width:100%}.message-quote{flex-direction:column;width:100%}.message-quote span,.chat-reply-preview span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.chat-reply-preview{flex-basis:100%;justify-content:space-between;min-width:0}.chat-reply-preview>div{min-width:0}.chat-say{flex-wrap:wrap}.voice-recorder{flex:none;padding:8px 12px;border-top:1px solid var(--line, #dce5dc)}.voice-recorder button,.voice-player button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;border-radius:14px}.voice-status,.voice-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.voice-status span{font-variant-numeric:tabular-nums}.voice-recorder p{margin:5px 0;font-size:13px}.voice-recorder>small{display:block;margin-top:5px}.voice-actions{margin-top:6px}.voice-player{display:flex;flex-direction:column;gap:6px;min-width:0}.voice-player b{font-size:13px}.voice-player audio,.voice-recorder audio{display:block;width:100%;min-width:0;max-width:100%;height:40px}.msg:has(.voice-player){width:min(280px,88%);box-sizing:border-box}.voice-recorder .err{overflow-wrap:anywhere}.chat>.voice-recorder{min-height:0;max-height:40%;flex:0 1 auto;overflow-y:auto}.qty .quantity-input{width:5rem;min-width:0;min-height:44px;text-align:center}.qty button.quantity-max{width:auto;height:auto;min-height:44px;padding:8px 12px;font-size:14px;white-space:normal}.card-row:has(>.garri-controls){flex-direction:column;align-items:stretch}.card-row .garri-controls{min-width:0;max-width:100%;flex-wrap:wrap}.garri-controls>.qty{flex:1 1 100%;min-width:0}.farmlink-backdrop:has(.chat){padding-bottom:12px}.phone-app:has(.chat)>.app-bar{flex:none;padding:4px 10px;justify-content:flex-end;border:0}.phone-app:has(.chat)>.app-bar>b,.phone-app:has(.chat)>.app-bar>button:first-child{display:none}.app-body:has(>.chat)>:not(.chat){display:none}.app-body:has(>.chat){display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:0}.app-body>.chat{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;gap:0}.chat>.chat-head{flex:none;padding:6px 12px;background:var(--card);border-bottom:1px solid var(--line)}.chat>.chat-menu{flex:none;padding:6px 12px;margin:0}.chat-transactions{flex:none;max-height:30%;overflow-y:auto;padding:6px 12px;border-bottom:1px solid var(--line)}.chat .chat-tools{display:flex;gap:6px;margin:0 0 4px}.chat .chat-tools button{flex:1;flex-direction:row;justify-content:center;gap:4px;padding:6px;min-height:36px;font-size:12px;border-radius:999px}.chat .chat-tools button span{font-size:15px}.chat .player-trades{margin:0;padding:0;background:transparent;box-shadow:none;border:0}.chat .player-trades>.pill{width:auto;min-height:32px;padding:5px 12px;font-size:12px;border-radius:999px}.chat .msgs{display:flex;flex-direction:column;align-items:flex-start;flex:1;min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain;gap:6px;padding:12px}.chat .msgs>*{flex-shrink:0}.chat .msg{display:block;align-self:flex-start;max-width:85%;padding:8px 12px;font-size:15px;line-height:1.4;border-radius:16px}.chat .msg.mine{align-self:flex-end}.chat .msg>small{float:right;margin:4px 0 0 10px;font-size:10px;line-height:1.4}.chat .msg>b{display:block}.chat .message-options{position:absolute;right:0;top:0;width:36px;height:36px;padding:0;opacity:0}.chat .msg:hover .message-options,.chat .msg:focus-within .message-options{opacity:1;background:var(--card);border-radius:50%}.chat .message-reactions{clear:both;padding-top:4px}.chat .message-reactions button{min-width:32px;min-height:28px;padding:2px 7px;font-size:12px;border-radius:999px}.chat .message-actions{clear:both;padding-top:6px}.chat .message-quote{margin-bottom:6px}.chat>.chat-say{flex:none;margin:0;padding:10px 12px max(10px,env(safe-area-inset-bottom));background:var(--card);border-top:1px solid var(--line)}.chat .chat-say input{border-radius:24px;min-height:44px}.chat .chat-say>button{border-radius:24px;background:var(--green);color:#fff;min-height:44px;padding:8px 14px}.chat>.err,.chat>.fine{flex:none;padding:4px 12px;font-size:12px}@media(max-width:560px){.farmlink-backdrop:has(.chat){top:var(--chat-top,0px);bottom:auto;height:var(--chat-height,100dvh);padding:0}.farmlink-backdrop:has(.chat) .phone{height:100%;min-height:0;padding:0}.phone:has(.chat) .phone-status{display:none}}body:has(.farmlink-backdrop .chat) .world-nav{visibility:hidden}.chat>.chat-composer{flex:0 1 auto;flex-direction:column;flex-wrap:nowrap;min-height:0;max-height:60%;gap:8px}.chat-composer>.chat-reply-preview{flex:0 0 auto}.chat-composer .composer-voice{display:flex;flex-direction:column;flex:0 1 auto;gap:8px;width:100%;min-height:0;padding:0;border:0}.chat-composer .voice-panel{flex:0 1 auto;min-height:0;max-height:180px;overflow-y:auto;padding:6px 2px}.chat-composer .composer-row{display:flex;align-items:center;flex:none;gap:8px;width:100%;min-width:0}.chat-composer .composer-field{display:flex;align-items:center;flex:1;min-width:0;min-height:48px;border-radius:28px;background:#f0f2ed}.chat .composer-field>input{flex:1;width:0;min-width:0;min-height:48px;padding:10px 12px 10px 2px;border:0;outline-offset:-3px;border-radius:0 28px 28px 0;background:transparent;box-shadow:none}.chat .chat-composer .composer-emoji-toggle{display:grid;place-items:center;flex:none;width:44px;min-width:44px;height:48px;min-height:48px;padding:0;border:0;border-radius:28px 0 0 28px;color:#657262;background:transparent;box-shadow:none}.chat .chat-composer .composer-action{display:grid;place-items:center;flex:none;width:48px;min-width:48px;height:48px;min-height:48px;padding:0;border:0;border-radius:50%;color:#fff;background:var(--green-2);box-shadow:none}.chat-composer button:focus-visible{outline:2px solid var(--green);outline-offset:2px}.chat-composer .composer-emojis{flex:0 1 auto;min-height:0;max-height:min(190px,30dvh);overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:16px;background:var(--card);padding:4px}.composer-emoji-head{display:flex;align-items:center;justify-content:space-between;padding:0 8px}.chat .chat-composer .composer-emoji-head button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted)}.composer-emoji-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(44px,1fr));gap:0}.chat .chat-composer .composer-emoji-grid button{display:grid;place-items:center;min-width:44px;min-height:44px;padding:4px;border:0;border-radius:10px;background:transparent;font-size:25px}.chat .chat-composer .composer-emoji-grid button:hover{background:var(--app-bg)}.why{display:grid;gap:6px;margin:8px 0 4px}.why-card{display:grid;gap:3px;padding:8px 10px;border-radius:12px;background:#fff;border:1px solid #e6dcc0;opacity:.85}.why-card.on{opacity:1;border-color:#b9d6bf;background:#f4faf2}.why-card>small{font-size:12px;opacity:.75;line-height:1.3}.why-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.why-head small{font-size:12px;font-weight:700;color:var(--green-2)}.why .need-track{position:relative;overflow:visible}.why .need-track i{border-radius:8px}.why .need-track em{position:absolute;top:-3px;width:2px;height:12px;background:var(--green);border-radius:2px}.needs-meters .spirits{font-size:11px;font-weight:700;color:var(--green-2);white-space:nowrap}.sheet.festival h2{margin-top:8px}.festival-banner{position:relative;height:74px;margin:-4px -4px 0;border-radius:16px;overflow:hidden;display:grid;place-items:center}.festival-banner .bunting{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-around}.festival-banner .bunting i{width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:16px solid;filter:drop-shadow(0 1px 0 rgba(0,0,0,.15))}.festival-icon{font-size:40px;filter:drop-shadow(0 3px 4px rgba(0,0,0,.3));margin-top:10px}.festival-row.done{opacity:.6}.festival-dance{text-align:center}.drum{position:relative;width:132px;height:132px;margin:6px auto 2px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 50% 40%,#f3dfb6,#c89a5a 70%,#8a5a2e);box-shadow:0 6px #6b4220,var(--shadow);touch-action:manipulation}.drum:active{transform:translateY(3px);box-shadow:0 3px #6b4220,var(--shadow)}.drum-face{font-size:54px;pointer-events:none}.drum-ring{position:absolute;top:6px;right:6px;bottom:6px;left:6px;border-radius:50%;border:4px solid var(--gold);pointer-events:none}.festival-result .act-hint{font-weight:700;color:var(--green-2)}.hero{margin:0 0 4px;border-radius:18px;overflow:hidden}.sheet>.hero,.sheet>section>.hero,.sheet>.cargo-panel>.hero{margin:-18px -18px 4px;border-radius:18px 18px 0 0}.hero-art{display:block;width:100%;height:132px}.hero-text{position:relative;margin-top:-22px;background:#f6f3ea;border-radius:22px 22px 0 0;padding:14px 18px 2px}.hero h2{margin:0;font-size:24px;line-height:1.12;color:var(--green);letter-spacing:-.01em}.hero p{margin:4px 0 0;font-size:13px;opacity:.75;line-height:1.35}.sheet.in-room .hero-art,.sheet.room-service.in-room .hero-art{height:76px}.kit-title{margin:16px 0 6px;font-size:17px;color:var(--ink)}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.chips-row{display:flex;gap:6px;overflow-x:auto;padding:8px 0 6px;scrollbar-width:none}.chips-row::-webkit-scrollbar{display:none}.chips-row button{flex:none;min-height:36px;padding:7px 16px;border-radius:12px;background:#fff;border:1.5px solid #e2d9c0;font-weight:700;font-size:14px;color:#3a4636}.chips-row button.on{background:var(--green);border-color:var(--green);color:#fff}.good-list{background:#fff;border-radius:16px;padding:4px 10px;margin:6px 0;box-shadow:0 1px 2px #1e28140f,0 0 0 1px #1e281408}.good-row,.good-head{display:grid;grid-template-columns:38px minmax(0,1fr) repeat(3,auto);align-items:center;gap:8px;width:100%;padding:7px 0;text-align:left;background:none}.good-row+.good-row{border-top:1px solid #f0eadb}button.good-row{grid-template-columns:38px minmax(0,1fr) repeat(3,auto) 12px}.good-head{padding:8px 0 4px;font-size:12px;color:#6a705f;border-bottom:1px solid #ece4cf;grid-template-columns:minmax(0,1fr) repeat(3,auto)}.good-head .good-name b{font-size:15px;color:var(--ink)}.good-name{min-width:0}.good-name b{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.good-name small{display:block;font-size:11.5px;opacity:.65}.good-cell{min-width:52px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums;font-size:14px}.good-head .good-cell{font-weight:700;font-size:11px;white-space:nowrap}.good-list.selected .good-row{grid-template-columns:38px minmax(0,1fr) auto}.good-list.selected .good-cell{min-width:64px;text-align:right}.chev{color:#9a9a8a;font-size:18px}.good-icon,.vehicle-icon{display:block;flex:none}.total-row{display:flex;justify-content:space-between;padding:10px 0 6px;border-top:1.5px solid #e6dcc0;font-size:17px}.load-stepper{display:grid;grid-template-columns:46px minmax(0,1fr) 46px;gap:8px;align-items:center}.load-stepper>button{height:46px;border-radius:12px;background:#fff;border:1.5px solid #e2d9c0;font-size:22px;font-weight:800;color:var(--green)}.load-stepper>button.plus{background:var(--green-2);border-color:var(--green-2);color:#fff}.load-stepper label{position:relative;display:block;margin:0}.load-stepper input{width:100%;height:46px;border-radius:12px;border:1.5px solid #e2d9c0;background:#fff;font:inherit;font-size:18px;font-weight:700;padding:0 40px 0 14px}.load-stepper em{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-style:normal;opacity:.6;font-weight:700}.vehicle-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}.vehicle-card{position:relative;display:grid;justify-items:center;gap:1px;padding:12px 6px 10px;border-radius:14px;background:#fff;border:2px solid #e8e0c8;text-align:center}.vehicle-card.on{border-color:var(--green-2);background:#f3f9f1;box-shadow:0 0 0 2px #245c3826}.vehicle-card b{font-size:13px;line-height:1.15}.vehicle-card small{font-size:11px;opacity:.65}.vehicle-card strong{margin-top:2px;font-size:15px;color:var(--green)}.vehicle-tick{position:absolute;top:6px;left:6px;width:20px;height:20px;border-radius:50%;background:var(--green-2);color:#fff;font-size:12px;display:grid;place-items:center;font-weight:800}.vehicle-tag{position:absolute;top:-9px;right:6px;padding:2px 8px;border-radius:8px;background:#2f8a4a;color:#fff;font-size:10.5px;font-weight:800}.cta{display:grid;justify-items:center;gap:2px;border-radius:16px;font-size:18px}.cta small{font-weight:600;font-size:12px;opacity:.75}.kit-card{margin-top:14px;padding:4px 12px 10px;border-radius:16px;background:#fff;box-shadow:0 1px 2px #1e28140f,0 0 0 1px #1e281408}.gate-pick{display:grid;grid-template-columns:40px minmax(0,1fr) 96px;gap:8px;align-items:end;margin-bottom:8px}.gate-pick select,.gate-pick input{width:100%;min-height:42px;font:inherit;border-radius:10px;border:1.5px solid #e2d9c0;background:#fff;padding:0 8px}.gate-pick label{display:grid;gap:2px;font-size:12px;font-weight:700}.report-list{display:grid;gap:0;background:#fff;border-radius:16px;padding:2px 12px;box-shadow:0 1px 2px #1e28140f,0 0 0 1px #1e281408}.report-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto auto;align-items:center;gap:10px;width:100%;padding:10px 0;text-align:left;background:none}.report-row+.report-row{border-top:1px solid #f0eadb}.report-icon{width:40px;height:40px;border-radius:12px;background:#f3efe2;display:grid;place-items:center;font-size:22px}.report-text{min-width:0}.report-text b{display:block;font-size:14.5px}.report-text small{display:block;font-size:12px;opacity:.7;line-height:1.3}.report-right{font-size:12px;font-weight:700;color:var(--green-2);white-space:nowrap}.report-mark{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:900;color:#fff;background:#2f8a4a}.report-mark.warn{background:#e2a21a}.toggle-pills{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.toggle-pills button{min-height:40px;padding:8px 16px;border-radius:999px;font-weight:700;background:#fff;border:1.5px solid #e2d9c0;color:#3a4636}.toggle-pills button.on{background:var(--green-2);border-color:var(--green-2);color:#fff}.toggle-pills button.on:before{content:"✓ "}@media(max-width:360px){.good-cell{min-width:40px;font-size:13px}.vehicle-cards{gap:6px}.vehicle-card{padding:10px 3px 8px}.vehicle-card b{font-size:12px}.hero h2{font-size:21px}}.seg.scroll{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;max-width:100%}.sheet .seg.scroll{margin:0 -18px;padding:10px 18px 6px;max-width:none}.seg.scroll::-webkit-scrollbar{display:none}.seg.scroll button{background:#fff;border:1.5px solid #e2d9c0;padding:8px 14px;border-radius:12px}.seg.scroll button.on{background:var(--green);border-color:var(--green);color:#fff}.load-stepper>button.plus:disabled{background:var(--green-2);color:#fff}.load-stepper>button:disabled{opacity:.4}.toggle-pills button{min-height:40px}.kit-card.manager .report-list{box-shadow:none;padding:0}.big-figure{font-size:20px;color:var(--green)}.checks{list-style:none;margin:4px 0 8px;padding:0;display:grid;gap:6px}.checks li{display:flex;gap:8px;align-items:center;font-size:14px}.checks li:before{content:"✓";width:20px;height:20px;border-radius:50%;background:#2f8a4a;color:#fff;font-size:12px;font-weight:900;display:grid;place-items:center;flex:none}.sheet select{min-height:40px;max-width:100%;padding:6px 30px 6px 12px;border-radius:12px;border:1.5px solid #e2d9c0;font:inherit;font-size:14px;color:var(--ink);-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23245c38' stroke-width='2' fill='none'/%3E%3C/svg%3E") no-repeat right 12px center;margin:4px 4px 4px 0}.farm-report .report-row{min-height:48px;padding:10px 0;background:none;border-radius:0}.farm-report .report-text small{font-size:12px;margin-top:2px}.farm-report .report-row span{margin-top:0;font-weight:inherit}.farm-report .report-row .report-icon{font-size:22px}.farm-report .report-row .report-mark{font-size:13px;font-weight:900}.farm-report .report-row .report-right{font-size:12px;font-weight:700}.kit-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.kit-head small{opacity:.65;font-size:12px}.plot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:4px 0 8px}.plot-tile{display:grid;justify-items:center;gap:2px;padding:10px 4px 8px;border-radius:14px;background:#fff;border:2px solid #e8e0c8}.plot-tile:disabled{opacity:1;cursor:default}.plot-tile b{font-size:13px}.plot-tile small{font-size:11.5px;opacity:.7}.plot-tile.ready{border-color:#e2b21a;background:#fff8e0}.plot-tile.thirsty,.plot-tile.pests{border-color:#e2a21a}.plot-tile.pests small,.plot-tile.thirsty small{color:#a0560e;opacity:1;font-weight:700}.plot-empty{font-size:30px;line-height:40px;height:40px}.inbox-badge{color:var(--bad)}.graphics-control{position:absolute;z-index:60;top:135px;right:8px;max-width:calc(100% - 16px);display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;padding:6px 8px;border-radius:12px;background:#f8f3e7;color:#234b32;font-size:12px;box-shadow:0 2px 10px #0002}.graphics-control label{display:flex;align-items:center;gap:6px}.graphics-control select,.graphics-control button{min-height:34px;border:1px solid #234b3266;border-radius:8px;background:#fff;color:#234b32}.light-world{position:absolute;top:205px;right:0;bottom:145px;left:0;padding:16px;overflow-y:auto;background:#f1ead9;color:#234b32}.light-world h2{font-size:20px;margin:0 0 12px}.light-plots{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:10px}.light-plots button{display:grid;gap:5px;text-align:left;min-height:85px;padding:12px;border:1px solid #234b3255;border-radius:14px;background:#fffdf6;color:inherit}.light-nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.light-nav button,.light-world>button{min-height:44px;padding:8px 12px;border:0;border-radius:10px;background:#234b32;color:#fff}.graphics-control.on-title{top:max(12px,env(safe-area-inset-top));bottom:auto}.game.light-view .toasts{top:110px;bottom:auto}.game.light-view .light-world{top:180px;right:0;bottom:86px;left:0}.game.light-view .light-world .world-controls{position:static;transform:none;width:100%;max-height:none;overflow:visible;margin-top:14px}.light-plots>div{display:grid;gap:5px;padding:12px;border:1px solid #234b3255;border-radius:14px;background:#fffdf6}.staff-overview{background:var(--cream, #f5f1e5);border:1px solid #d9dfcf;border-radius:16px;padding:14px;margin:10px 0 16px}.staff-overview h3{margin-top:0}.staff-figures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}.staff-figures strong{display:block;font-size:clamp(20px,5vw,30px);color:var(--forest, #17452e);overflow-wrap:anywhere}.staff-figures span,.staff-overview small{display:block;font-size:12px;line-height:1.4}.staff-overview progress,.staff-contracts progress{width:100%;height:10px;accent-color:var(--forest, #17452e)}.staff-overview p{line-height:1.4}.staff-contracts .card-row>div{width:100%}.app-body .staff-overview~.card-row .buy-btns{flex-wrap:wrap;max-width:100%}.app-body .staff-overview~.card-row .buy-btns button{white-space:normal;overflow-wrap:anywhere}@media(max-width:480px){.staff-overview~.card-row{flex-wrap:wrap}.staff-overview~.card-row>div:first-child{flex:1 1 100%}}.staff-status{border-left:4px solid var(--forest, #17452e);padding:8px 10px;margin:12px 0;background:#fff;border-radius:6px}.staff-status p{margin:6px 0}.staff-settings{margin:12px 0}.staff-settings>summary{padding:12px 8px;cursor:pointer;font-weight:700}#prepaid-hiring .stepper input{width:80px;min-height:44px;text-align:center;font:inherit;border:1px solid #b9c3b1;border-radius:8px}.staff-contracts small{overflow-wrap:anywhere}.livestock-growth,.export-stock{padding:12px;margin:12px 0;border:1px solid #d9dfcf;border-radius:14px;background:var(--cream, #f5f1e5)}.livestock-growth small,.export-stock small{display:block;line-height:1.45;margin-top:5px}.growth-batch{padding:10px 0;border-bottom:1px solid #d9dfcf}.growth-batch progress{display:block;width:100%;height:10px;margin:7px 0;accent-color:var(--forest, #17452e)}.processing-quantity{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px}.processing-quantity .stepper{flex-wrap:wrap;max-width:100%}.processing-quantity input{width:64px}[data-testid=process-yard] button,[data-testid=piggery-sheet] button{min-height:44px}[data-testid=process-yard] .shop-row{flex-wrap:wrap;align-items:flex-start}[data-testid=process-yard] .shop-row>div:first-child{min-width:0;flex:1 1 210px}[data-testid=process-yard] .buy-btns{flex-wrap:wrap}.tree-counts{width:100%;border-collapse:collapse;font-size:13px;margin:4px 0 8px;table-layout:fixed}.tree-counts th,.tree-counts td{text-align:right;padding:4px 2px;border-bottom:1px dashed #d8c69a;overflow-wrap:anywhere}.tree-counts th:first-child,.tree-counts td:first-child{text-align:left;width:46%}.tree-counts td.bad{color:var(--bad);font-weight:800}.tree-job,.tree-order{background:#fff;border-radius:14px;padding:12px;margin:10px 0;box-shadow:0 1px 4px #0000000f;display:flex;flex-direction:column;gap:6px;min-width:0}.tree-job>b,.tree-order>b{overflow-wrap:anywhere}.tree-job-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.tree-job-controls>button,.tree-order>button,.tree-job>button{white-space:normal;max-width:100%}.tree-order label{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:14px}.tree-order select{max-width:100%}.tree-order-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px}.tree-quote{margin:4px 0;padding-left:18px;font-size:13px;line-height:1.45}.tree-quote .bad{color:var(--bad);display:inline}.tree-healthy-confirm{background:#fff4c9;border-radius:10px;padding:8px;font-size:13px}.bulk-buy{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;min-width:0}.bulk-buy>button{padding:7px 10px;border-radius:10px;font-weight:800;background:linear-gradient(#ffd56b,#f2b705);white-space:normal;max-width:100%}.bulk-buy>button:disabled{opacity:.5}.bulk-buy>small{flex:1 1 100%;font-size:12px;opacity:.75}.shop-row:has(.bulk-buy){flex-wrap:wrap}.shop-row>div:first-child:has(.bulk-buy){flex:1 1 220px;min-width:0}.ops-list{list-style:none;padding:0;margin:8px 0;font-size:13px;line-height:1.5}.ops-list li{overflow-wrap:anywhere}.ops-gaps{display:flex;flex-direction:column;gap:8px;margin-top:8px}.ops-gap{background:#fff;border-left:4px solid var(--bad, #c0392b);border-radius:10px;padding:8px 10px;min-width:0}.ops-gap p{margin:0 0 6px;font-size:13px}.ops-gap small{display:block;font-size:12px;opacity:.75}.ops-farms summary,.manager-notes b{font-weight:800}.manager-notes{margin-top:10px}.manager-notes ul{margin:6px 0;padding-left:18px;font-size:13px}.book-bars{list-style:none;padding:0;margin:8px 0;display:flex;flex-direction:column;gap:6px;font-size:13px}.book-bars li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;align-items:baseline}.book-bars li span{overflow-wrap:anywhere}.book-bars li i{grid-column:1 / -1;height:8px;border-radius:4px;background:var(--bad, #c0392b);opacity:.7;min-width:2px}.book-bars li i.in{background:var(--forest, #17452e)}.farm-accounts strong.bad{color:var(--bad, #c0392b)}.farm-accounts .staff-figures strong{font-size:clamp(15px,4.4vw,26px);overflow-wrap:normal;white-space:nowrap}.card-row.equip{flex-wrap:wrap}.card-row.equip>div{flex:1 1 100%;min-width:0;display:flex;flex-direction:column;gap:4px}.card-row.equip progress{width:100%;height:10px;accent-color:var(--forest, #17452e)}.nursery-sow{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:6px}.nursery-sow>button{padding:7px 10px;border-radius:10px;font-weight:800;background:linear-gradient(#ffd56b,#f2b705);white-space:normal}.nursery-sow>small{flex:1 1 100%}
