.workshop-sheet{width:min(560px,100%)}.workshop-status{display:grid;gap:8px;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--panel-solid)}.workshop-status h3,.workshop-recipes h3{margin:0}.workshop-queue{list-style:none;margin:0;padding:0;display:grid;gap:4px}.workshop-queue li{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:34px;padding:4px 10px;border-radius:10px;background:var(--panel);font-variant-numeric:tabular-nums}.workshop-queue li.ready{background:#e7f2dc;font-weight:700}.workshop-queue li.running .workshop-time{color:var(--green);font-weight:700}.workshop-queue li.empty{display:block;color:var(--muted);border:1px dashed var(--border);background:transparent}.workshop-collect{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px}.workshop-recipes{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:14px}.workshop-recipes h3{grid-column:1 / -1}.workshop-recipe{display:grid;gap:8px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--panel-solid)}.workshop-recipe-head{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px}.workshop-recipe-head>svg{color:var(--gold)}.workshop-inputs{list-style:none;margin:0;padding:0;display:grid;gap:4px}.workshop-inputs li{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:6px}.workshop-inputs li.short .note{color:#a3402c;font-weight:700}.workshop-recipe button{min-height:44px}.workshop-error{color:#a3402c}.workshop-bubbles{position:absolute;inset:0;pointer-events:none;z-index:4}.workshop-bubbles[hidden],.workshop-bubble[hidden]{display:none}.workshop-bubble{position:absolute;left:0;top:0;display:flex;align-items:center;gap:6px;min-height:30px;padding:5px 10px;background:#f7faf4eb;color:var(--muted);border:0;border-radius:999px;box-shadow:0 4px 12px #263e321a;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:auto}.workshop-bubble:after{content:"";position:absolute;width:6px;height:6px;bottom:-3px;left:calc(50% - 3px);background:inherit;transform:rotate(45deg)}.workshop-bubble svg{color:var(--green);flex-shrink:0}.workshop-bubble[data-ready=true]{background:#ffe7a8;color:#5a3d0c;font-size:12px;min-height:34px;box-shadow:0 0 0 3px #ffd56a73,0 6px 16px #5a3d0c33;animation:workshop-ready 1.6s ease-in-out infinite}.workshop-bubble[data-ready=true] svg{color:#8a5a10}@keyframes workshop-ready{50%{margin-top:-4px}}@media(prefers-reduced-motion:reduce){.workshop-bubble[data-ready=true]{animation:none}}.letter-sheet{width:min(420px,100%);display:grid;gap:14px}.letter-paper{position:relative;padding:24px 22px 20px;border-radius:6px;background:repeating-linear-gradient(0deg,transparent 0 27px,rgb(150 120 70 / 12%) 27px 28px),#fbf3df;box-shadow:0 10px 24px #503c142e,inset 0 0 0 1px #96784638;color:#4a3a22;font-family:Georgia,Times New Roman,serif;line-height:28px;transform:rotate(-.6deg);animation:letter-open .42s cubic-bezier(.16,1,.3,1)}.letter-stamp{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:46px;height:54px;border:2px dashed #c8645a;border-radius:4px;background:#ffe7d6;color:#c8645a;transform:rotate(6deg)}.letter-greeting{margin:0;font-weight:700}.letter-note{margin:4px 60px 0 0}.letter-sign{margin:8px 0 0;text-align:right;font-style:italic}.letter-gift{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;background:#ffe7a8;color:#5a3d0c;font-weight:700}.letter-close{min-height:44px}@keyframes letter-open{0%{opacity:0;transform:translateY(18px) rotate(-3deg) scale(.96)}}@media(prefers-reduced-motion:reduce){.letter-paper{animation:none}}.wanted-sheet{width:min(600px,100%)}.wanted-list,.wanted-mine{display:grid;gap:8px;margin-top:12px}.wanted-list h3,.wanted-mine h3,.wanted-form h3{margin:0}.wanted-request{display:grid;gap:6px;padding:10px 12px;border:1px solid var(--border);border-radius:14px;background:var(--panel-solid)}.wanted-request.own{background:var(--panel)}.wanted-request .note{margin:0}.wanted-head{display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:8px}.wanted-price{font-weight:700;color:var(--green);font-variant-numeric:tabular-nums}.wanted-progress{height:6px;border-radius:999px;background:var(--border);overflow:hidden}.wanted-progress span{display:block;height:100%;background:var(--green);border-radius:inherit;transition:width .3s ease}.wanted-deliver{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.wanted-deliver input{width:72px;min-height:40px}.wanted-deliver button,.wanted-request>button{min-height:40px}.wanted-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 10px;margin-top:16px;padding:12px;border:1px dashed var(--border);border-radius:14px}.wanted-form h3,.wanted-form .note,.wanted-form button{grid-column:1 / -1}.wanted-form .note{margin:0}.wanted-form button{min-height:44px}.wanted-field{display:grid;gap:4px;font-size:13px;color:var(--muted)}.wanted-field select,.wanted-field input{min-height:40px}.wanted-status:empty{display:none}.wanted-status.wanted-error{color:var(--danger, #b4442c)}@media(max-width:560px){.wanted-form{grid-template-columns:1fr}}.catch-card{position:fixed;left:50%;top:112px;z-index:40;display:grid;grid-template-columns:34px auto;column-gap:10px;align-items:center;padding:10px 18px 10px 14px;border-radius:16px;background:var(--panel-solid);border:2px solid var(--border);box-shadow:0 10px 28px #14281e38;transform:translate(-50%);animation:catch-in .35s cubic-bezier(.2,1.4,.4,1);pointer-events:none}.catch-card svg{grid-row:span 3;color:var(--green)}.catch-name{font-size:18px}.catch-meta{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}.catch-badge{font-size:12px;font-weight:800;color:#b07a1c;text-transform:uppercase;letter-spacing:.04em}.catch-card[data-rarity=rare]{border-color:#5d8fc4}.catch-card[data-rarity=rare] svg{color:#45709f}.catch-card[data-rarity=epic]{border-color:#8e4b7a}.catch-card[data-rarity=epic] svg{color:#8e4b7a}.catch-card[data-rarity=legendary]{border-color:#e9b949;background:linear-gradient(135deg,#fff8df,var(--panel-solid))}.catch-card[data-rarity=legendary] svg{color:#c99417}.catch-card[data-rarity=junk] svg{color:#7a5a3a}.catch-card.leaving{opacity:0;transform:translate(-50%,-8px);transition:opacity .3s,transform .3s}@keyframes catch-in{0%{opacity:0;transform:translate(-50%,-14px) scale(.9)}to{opacity:1;transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){.catch-card{animation:none}}.fishing-album{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.fish-entry{display:grid;gap:4px;padding:10px;border-radius:14px;border:1px solid var(--border);background:var(--panel-solid);text-align:center}.fish-entry img,.fish-entry .fish-shadow{width:100%;aspect-ratio:1.4;object-fit:contain}.fish-entry .fish-shadow{display:grid;place-items:center;color:var(--muted);opacity:.5}.fish-entry.unknown strong{color:var(--muted)}.fish-entry .note{margin:0;font-size:12px}.fish-entry[data-rarity=legendary]:not(.unknown){border-color:#e9b949}.fishing-summary{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0 0 12px}.reel-meter{position:fixed;left:50%;bottom:calc(150px * var(--uiz, 1));z-index:35;width:min(360px,calc(100vw - 32px));display:grid;gap:8px;padding:12px 16px 14px;border-radius:18px;background:var(--panel-solid);border:2px solid var(--border);box-shadow:0 12px 30px #14281e3d;transform:translate(-50%);touch-action:none;user-select:none;-webkit-user-select:none;animation:catch-in .25s cubic-bezier(.2,1.4,.4,1)}.reel-meter[hidden]{display:none}.reel-title{font-size:16px;text-align:center;color:var(--green)}.reel-meter[data-rarity=rare] .reel-title{color:#45709f}.reel-meter[data-rarity=epic] .reel-title{color:#8e4b7a}.reel-meter[data-rarity=legendary] .reel-title{color:#c99417}.reel-track{position:relative;height:34px;border-radius:12px;overflow:hidden;background:linear-gradient(180deg,#cfe9ee,#9cc9d3)}.reel-water{position:absolute;inset:auto 0 0;height:40%;background:repeating-linear-gradient(90deg,rgb(255 255 255 / .35) 0 10px,transparent 10px 22px);animation:reel-waves 1.2s linear infinite}@keyframes reel-waves{to{background-position:22px 0}}.reel-fish,.reel-rod{position:absolute;top:50%;display:grid;place-items:center;width:28px;height:28px;margin-top:-14px;color:#1f3d4a}.reel-rod{right:6px;color:var(--green)}.reel-fish{left:calc(6px + var(--p, 0) * (100% - 46px));transition:left .08s linear}.reel-meter.surging .reel-fish{animation:reel-thrash .12s linear infinite alternate}@keyframes reel-thrash{0%{transform:translateY(-3px) rotate(-12deg)}to{transform:translateY(3px) rotate(12deg)}}.reel-strain{position:relative;height:12px;border-radius:999px;overflow:hidden;background:#e6ece2}.reel-strain-fill{position:absolute;inset:0 auto 0 0;width:calc(var(--t, 0) * 100%);border-radius:inherit;background:#4f9a5a;transition:background .15s}.reel-meter[data-zone=amber] .reel-strain-fill{background:#e0a13a}.reel-meter[data-zone=red] .reel-strain-fill{background:#d2483f}.reel-meter[data-zone=red]{animation:reel-shake .08s linear infinite alternate}@keyframes reel-shake{0%{transform:translate(calc(-50% - 2px))}to{transform:translate(calc(-50% + 2px))}}.reel-strain-zone{position:absolute;inset:0 0 0 85%;background:repeating-linear-gradient(135deg,rgb(210 72 63 / .25) 0 4px,transparent 4px 8px)}.reel-hint{font-size:13px;text-align:center;color:var(--muted);font-weight:700}.reel-meter.reeling .reel-rod{animation:reel-spin .4s linear infinite}@keyframes reel-spin{to{transform:rotate(-360deg)}}@media(prefers-reduced-motion:reduce){.reel-meter,.reel-meter.surging .reel-fish,.reel-meter[data-zone=red],.reel-water{animation:none}}.fishing-tackle{display:grid;gap:8px;margin:4px 0 12px}.fishing-tackle p{margin:0}.fishing-bait{display:flex;flex-wrap:wrap;gap:6px}.fishing-bait button{padding:6px 12px;border:2px solid var(--border);border-radius:999px;background:var(--panel-solid);color:var(--green);font-weight:700}.fishing-bait button.active{border-color:var(--green);background:#fff}.fishing-bait button:disabled{opacity:.5}.modal.projects-sheet{display:flex;flex-direction:column;gap:12px;width:min(640px,100%);background:#f7f4ec}.projects-head h2{margin:0;color:#2f4a3a}.projects-head .note{margin:2px 0 0}.projects-list{display:grid;gap:10px;min-height:0;overflow-y:auto;padding:2px}.project-card{display:grid;gap:8px;padding:14px;border-radius:16px;border:1px solid #d8e2d3;background:#fbfaf2}.project-card .note{margin:0}.project-card.active{border:2px solid #3f7a4f;box-shadow:0 8px 20px #244c3a1f}.project-card.done{background:linear-gradient(180deg,#fffdf5,#f6eedb);border-color:#e2cfa8}.project-card.later{opacity:.6}.project-title{display:flex;align-items:center;gap:10px}.project-title strong{flex:1;color:#2f4a3a;font-size:15px}.project-number{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e2e8dc;color:#2f4a3a;font-weight:800;font-size:13px}.project-card.active .project-number{background:#3f7a4f;color:#fbfaf2}.project-card.done .project-number{background:#d39b1f;color:#fff8df}.project-status{font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.project-card.active .project-status{color:#3f7a4f}.project-needs{display:grid;gap:8px}.project-need{display:grid;grid-template-columns:36px minmax(0,1fr) auto;grid-template-areas:"img label give" "img bar give";align-items:center;gap:4px 10px}.project-need img{grid-area:img;width:36px;height:36px;object-fit:contain}.project-need-label{grid-area:label;display:flex;justify-content:space-between;gap:8px;font-size:12.5px}.project-need-label span{color:var(--muted);font-weight:700;font-variant-numeric:tabular-nums}.project-bar{grid-area:bar;height:8px;border-radius:999px;background:linear-gradient(90deg,#3f7a4f calc(var(--p) * 100%),#e2e8dc 0)}.project-give{grid-area:give;display:flex;gap:6px}.project-amount{width:64px;min-height:32px;padding:0 8px;border:1px solid #d8e2d3;border-radius:10px;font:inherit}.project-give button{display:inline-flex;align-items:center;gap:4px;min-height:32px;padding:0 12px;font-size:12px}.project-top-title{font-size:11.5px;font-weight:750;color:var(--muted)}.project-top{display:flex;flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none}.project-top li{padding:2px 9px;border-radius:999px;background:#edf3e8;font-size:11.5px;font-weight:650}.project-top li.you{background:#fbefcc;color:#8a6420}@media(max-width:560px){.project-need{grid-template-areas:"img label" "img bar" "give give";grid-template-columns:36px minmax(0,1fr)}}.modal.museum-sheet{display:flex;flex-direction:column;gap:12px;width:min(860px,100%);height:min(720px,calc(86dvh / var(--uiz)));background:#f7f4ec}.museum-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:10px 20px}.museum-head h2{margin:0;color:#2f4a3a}.museum-head .note{margin:2px 0 0}.museum-bar{flex:1;min-width:160px;max-width:280px;height:8px;border-radius:999px;background:linear-gradient(90deg,#3f7a4f calc(var(--p) * 100%),#e2e8dc 0)}.museum-tabs{display:inline-flex;flex-wrap:wrap;gap:6px}.museum-tabs button{min-height:32px;padding:0 14px;border:1px solid #d8e2d3;border-radius:999px;background:#fbfaf2;color:#576c5d;font-weight:750;font-size:12.5px;box-shadow:none}.museum-tabs button.active{background:#2f4a3a;border-color:#2f4a3a;color:#fbfaf2}.museum-grid{flex:1;min-height:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-auto-rows:min-content;align-content:start;gap:10px;overflow-y:auto;padding:2px 4px 12px 2px}.museum-card{display:grid;justify-items:center;gap:4px;padding:12px 8px 10px;border-radius:16px;border:1px dashed #c9d3c3;background:#f0f2ea;text-align:center}.museum-card .museum-picture{width:88px;height:70px;object-fit:contain;filter:brightness(0) opacity(.18)}.museum-card.ready{border-style:solid;border-color:#b9d3a8;background:#fbfaf2}.museum-card.ready .museum-picture{filter:none;opacity:.85}.museum-card.given{border:1px solid #e2cfa8;background:linear-gradient(180deg,#fffdf5,#f6eedb);box-shadow:0 2px #e2cfa8}.museum-card.given .museum-picture{filter:none}.museum-card strong{font-size:13px;color:#2f4a3a}.museum-giver{font-size:11px;font-weight:700;color:#8a6420}.museum-card:not(.given) .museum-giver{color:var(--muted)}.museum-card button{display:inline-flex;align-items:center;gap:4px;min-height:30px;padding:0 12px;font-size:12px}.cook-meter{position:fixed;left:50%;bottom:calc(150px * var(--uiz, 1));z-index:35;width:min(360px,calc(100vw - 32px));display:grid;gap:8px;padding:12px 16px 14px;border-radius:18px;background:var(--panel-solid);border:2px solid var(--border);box-shadow:0 12px 30px #14281e3d;transform:translate(-50%);user-select:none;-webkit-user-select:none;animation:catch-in .25s cubic-bezier(.2,1.4,.4,1)}.cook-meter[hidden]{display:none}.cook-title{font-size:16px;text-align:center;color:var(--green)}.cook-track{position:relative;height:22px;border-radius:999px;overflow:hidden;background:linear-gradient(90deg,#f3e7c9,#f0c98a 55%,#e2894a 80%,#6b3a2a)}.cook-good,.cook-perfect{position:absolute;top:0;bottom:0;left:calc(var(--from) * 100%);width:calc(var(--width) * 100%)}.cook-good{background:#ffffff59;box-shadow:inset 0 0 0 2px #fff9}.cook-perfect{background:#f3d77ee6}.cook-needle{position:absolute;top:-2px;bottom:-2px;left:calc(var(--p, 0) * 100%);width:4px;margin-left:-2px;border-radius:2px;background:#24382d;box-shadow:0 0 0 2px #fbfaf2}.cook-hint{font-size:13px;text-align:center;color:var(--muted);font-weight:650}.cook-meter[data-zone=perfect]{border-color:#e9b949}.cook-meter[data-zone=perfect] .cook-hint{color:#b07a1c}.cook-meter[data-zone=burning]{border-color:#c4553a}.cook-meter[data-zone=burning] .cook-hint{color:#b1452f}.cook-meter[data-zone=perfect] .cook-title{animation:cook-pulse .4s ease-in-out infinite alternate}@keyframes cook-pulse{to{transform:scale(1.06)}}.cook-take{justify-self:center;min-height:40px;padding:0 22px}.dish-card{position:fixed;left:50%;top:112px;z-index:40;display:grid;grid-template-columns:56px auto;column-gap:12px;align-items:center;padding:10px 18px 10px 10px;border-radius:16px;background:var(--panel-solid);border:2px solid var(--border);box-shadow:0 10px 28px #14281e38;transform:translate(-50%);animation:catch-in .35s cubic-bezier(.2,1.4,.4,1);pointer-events:none}.dish-card img{grid-row:span 3;width:56px;height:56px;object-fit:contain}.dish-card .dish-stars{color:#d39b1f;font-size:16px;letter-spacing:2px}.dish-card[data-stars="3"]{border-color:#e9b949;background:linear-gradient(135deg,#fff8df,var(--panel-solid))}.dish-card[data-stars="0"]{border-color:#c4553a}.dish-card .dish-meta{font-size:13px;color:var(--muted)}.dish-card.leaving{opacity:0;transform:translate(-50%,-8px);transition:opacity .3s,transform .3s}.fed-chip{position:absolute;top:calc(max(18px,env(safe-area-inset-top)) + 172px);left:24px;z-index:9;display:inline-flex;align-items:center;gap:7px;padding:7px 14px 7px 10px;border-radius:999px;background:#fbfaf2f0;box-shadow:0 6px 18px #14241a2e;color:var(--text);font-size:12px;font-weight:750;zoom:var(--ui);--uiz: var(--ui);cursor:pointer;border:0;min-height:0}.fed-chip[hidden]{display:none}.fed-chip svg{color:#b07a1c}.fed-chip .fed-time{color:var(--muted);font-variant-numeric:tabular-nums}@media(max-width:760px),(orientation:landscape)and (max-height:520px)and (pointer:coarse){.fed-chip{top:auto;left:12px;bottom:calc(96px + env(safe-area-inset-bottom))}}.modal.kitchen-sheet{width:min(1040px,100%);padding:0;overflow:hidden;display:flex;flex-direction:column;max-height:calc(88dvh / var(--uiz));background:#fbf7ee}.kitchen-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 20px;padding:20px 24px 14px;background:linear-gradient(180deg,#f3e6cc,#fbf7ee);border-bottom:1px solid #ead9b8}.kitchen-head h2{margin:0 0 2px;font-size:22px;color:#5a3a22}.kitchen-head .note{margin:0}.kitchen-tabs{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:#efe3c9}.kitchen-tabs button{min-height:34px;padding:0 16px;border:0;border-radius:999px;background:transparent;color:#7a5a3a;font-weight:750;box-shadow:none}.kitchen-tabs button.active{background:#7a4a2a;color:#fbf7ee}.kitchen-body{flex:1;min-height:0;overflow:auto;padding:18px 24px 24px}.kitchen-body[data-view=cook]{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(220px,.9fr) minmax(220px,.9fr);gap:18px;align-items:start}.kitchen-body h3{margin:0 0 8px;font-size:15px;color:#5a3a22}.kitchen-pantry h4{margin:12px 0 6px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.pantry-shelf{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;padding-bottom:8px;border-bottom:6px solid #d9b98a;border-radius:0 0 4px 4px}.pantry-item{position:relative;display:grid;justify-items:center;gap:2px;min-height:0;padding:8px 4px 6px;border:1px solid #ead9b8;border-radius:12px;background:#fffdf7;box-shadow:0 2px #ead9b8;transition:transform .12s ease,box-shadow .12s ease}.pantry-item:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px #e2c99c;background:#fffdf7}.pantry-item:active:not(:disabled){transform:translateY(1px);box-shadow:0 1px #ead9b8}.pantry-item img{width:42px;height:42px;object-fit:contain}.pantry-name{font-size:11px;font-weight:700;line-height:1.15;text-align:center;color:var(--text)}.pantry-count{position:absolute;top:4px;right:6px;font-size:10.5px;font-weight:800;color:#8a6420}.pantry-item:disabled{opacity:.4}.kitchen-pot{display:grid;gap:10px;justify-items:center}.pot-vessel{position:relative;width:min(270px,92%);aspect-ratio:560 / 384;margin-top:40px}.pot-drawing{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 14px 14px rgb(80 40 10 / .22));pointer-events:none}.pot-vessel.filled .pot-drawing{animation:pot-wobble 2.6s ease-in-out infinite}@keyframes pot-wobble{50%{transform:rotate(-1.2deg) translateY(-1px)}}.pot-contents{position:absolute;inset:-22% 12% auto;z-index:1;display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.pot-item{position:relative;display:grid;place-items:center;width:54px;height:54px;min-height:0;padding:0;border:2px solid #fbf7ee;border-radius:50%;background:#fffdf7;box-shadow:0 4px 10px #3c1e0a4d;animation:pot-drop .26s cubic-bezier(.2,1.5,.4,1)}.pot-item img{width:40px;height:40px;object-fit:contain}.pot-item:hover:not(:disabled){background:#fde9df}.pot-count{position:absolute;right:-4px;bottom:-4px;min-width:22px;padding:1px 5px;border-radius:999px;background:#7a4a2a;color:#fbf7ee;font-size:11px;font-weight:800}@keyframes pot-drop{0%{transform:translateY(-24px) scale(.6);opacity:0}}.pot-empty{margin-top:22%;padding:4px 12px;border-radius:999px;background:#fff3;color:#fbe8d4;font-size:12px;font-weight:750}.pot-steam{position:absolute;left:50%;top:-40%;width:70%;height:40%;transform:translate(-50%);background:radial-gradient(closest-side,rgb(255 255 255 / .55),transparent);filter:blur(6px);opacity:0;animation:pot-steam 2.4s ease-in-out infinite;pointer-events:none}.pot-vessel.filled .pot-steam{opacity:1}@keyframes pot-steam{50%{transform:translate(-46%,-8px) scale(1.1)}}.pot-fire{width:62%;height:22px;margin-top:-14px;border-radius:50%;background:radial-gradient(closest-side,#ffd27a,#f08a3c 55%,#e0703a00);filter:blur(2px);opacity:.25;transition:opacity .3s ease}.pot-fire.lit{opacity:1;animation:pot-fire .5s ease-in-out infinite alternate}@keyframes pot-fire{to{transform:scaleX(1.08) scaleY(.85);filter:blur(3px) brightness(1.15)}}.pot-foot{display:flex;align-items:center;gap:10px}.pot-foot .note{margin:0}.kitchen-result{display:grid;gap:12px}.result-card{display:grid;justify-items:center;gap:6px;min-height:230px;align-content:center;padding:18px 14px;border-radius:18px;border:2px dashed #e2cfa8;background:#fffdf7;text-align:center;perspective:600px}.result-card strong{font-size:16px;color:#5a3a22}.result-card .note{margin:0}.result-mark{display:grid;place-items:center;width:92px;height:92px;border-radius:50%;font:800 52px/1 Georgia,serif;color:#c9b48a;background:#f6eedb}.result-mark.maybe{color:#b07a1c;background:#fbefcc;animation:result-wobble 2.2s ease-in-out infinite}.result-mark.none{color:#b1452f;background:#f8e3dc;font-family:var(--font);font-size:46px}.result-mark.new{color:#fff8df;background:radial-gradient(circle at 35% 30%,#f8d76a,#d39b1f);box-shadow:0 0 0 6px #f3d77e59,0 0 28px #f3be3ca6;animation:result-glow 1.2s ease-in-out infinite alternate}@keyframes result-wobble{25%{rotate:-6deg}75%{rotate:6deg}}@keyframes result-glow{to{box-shadow:0 0 0 10px #f3d77e40,0 0 40px #f3be3cd9;scale:1.05}}.kitchen-result[data-state=new] .result-card,.kitchen-result[data-state=reveal] .result-card{border:2px solid #e9b949;background:linear-gradient(180deg,#fff8df,#fffdf7)}.kitchen-result[data-state=known] .result-card{border:2px solid #b9d3a8;background:linear-gradient(180deg,#f1f7ea,#fffdf7)}.kitchen-result[data-state=none] .result-card{border-color:#eac3b6}.kitchen-result[data-state=reveal] .result-card{animation:result-pop .6s cubic-bezier(.2,1.5,.4,1)}.kitchen-result[data-state=reveal] .result-picture{animation:result-spin .9s cubic-bezier(.2,1.3,.4,1)}@keyframes result-pop{0%{transform:scale(.88);box-shadow:0 0 #f3be3ccc}60%{box-shadow:0 0 0 18px #f3be3c00}}@keyframes result-spin{0%{transform:scale(.6) rotate(-25deg)}}.result-picture{width:120px;height:120px;object-fit:contain}.result-new{padding:3px 12px;border-radius:999px;background:#d39b1f;color:#fff8df;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.kitchen-cook{min-height:48px;font-size:16px}.kitchen-result>.note{margin:0;text-align:center;color:#a2412b}.modal.kitchen-sheet.book-open{height:min(760px,calc(88dvh / var(--uiz)))}.kitchen-body[data-view=book]{display:flex;flex-direction:column;overflow:hidden;padding-bottom:0}#panel[data-surface=cookbook]{width:min(820px,calc(calc(100vw / var(--uiz)) - 148px))}#panel[data-surface=cookbook] .panel-body{overflow:hidden;padding-bottom:0}.recipe-book{position:relative;display:flex;flex:1;flex-direction:column;gap:12px;min-height:0}.recipe-book-top{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}.recipe-progress{display:flex;align-items:center;gap:10px;min-width:160px}.recipe-progress strong{color:#5a3a22;font-size:14px;white-space:nowrap}.recipe-progress-bar{flex:1;min-width:80px;height:8px;border-radius:999px;background:linear-gradient(90deg,#d39b1f calc(var(--p) * 100%),#efe3c9 0)}.recipe-filters{display:flex;flex-wrap:wrap;gap:6px}.recipe-filters button{display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:0 12px;border:1px solid #ead9b8;border-radius:999px;background:#fffdf7;color:#7a5a3a;font-size:12px;font-weight:750;box-shadow:none}.recipe-filters button.active{background:#7a4a2a;border-color:#7a4a2a;color:#fbf7ee}.recipe-grid{flex:1;min-height:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));grid-auto-rows:min-content;align-content:start;gap:10px;overflow-y:auto;padding:2px 4px 20px 2px;scrollbar-width:thin;scrollbar-color:#d9b98a transparent;overscroll-behavior:contain}.recipe-card{position:relative;display:grid;justify-items:center;align-content:start;gap:4px;min-height:0;padding:12px 8px 10px;border:1px solid #ead9b8;border-radius:16px;background:#fffdf7;text-align:center;box-shadow:0 2px #ead9b8;transition:transform .14s ease,box-shadow .14s ease}.recipe-card:hover:not(:disabled){background:#fffdf7;transform:translateY(-3px);box-shadow:0 6px #e2c99c}.recipe-card.unknown{background:repeating-linear-gradient(135deg,#fbf4e4 0 8px,#f7eedb 8px 16px)}.recipe-card strong{color:#5a3a22;font-size:13px;line-height:1.2}.recipe-card-picture{width:84px;height:72px;object-fit:contain}.recipe-card-picture.mystery{display:grid;place-items:center;width:64px;height:64px;margin:4px 0;border-radius:50%;background:#efe3c9;color:#a88a5a;font:800 34px/1 Georgia,serif}.recipe-card-sub{display:inline-flex;align-items:center;gap:4px;color:#a07a3a;font-size:11px;font-weight:700}.recipe-card-owned{position:absolute;top:8px;right:8px;padding:1px 7px;border-radius:999px;background:#7a4a2a;color:#fbf7ee;font-size:11px;font-weight:800}.recipe-none{grid-column:1 / -1;padding:12px}.recipe-focus{position:absolute;inset:-6px -6px 0;z-index:3;display:grid;grid-template-columns:44px minmax(0,460px) 44px;justify-content:center;align-items:center;gap:10px}.recipe-focus[hidden]{display:none}.recipe-focus-backdrop{position:absolute;inset:0;border-radius:16px;background:#fbf7eed1;backdrop-filter:blur(3px)}.recipe-turn,.recipe-focus-close{position:relative;display:grid;place-items:center;width:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:#7a4a2a;color:#fbf7ee;box-shadow:0 6px 16px #5a3a2240}.recipe-turn:hover:not(:disabled),.recipe-focus-close:hover:not(:disabled){background:#8f5a34}.recipe-turn.prev svg{rotate:180deg}.recipe-focus-close{position:absolute;top:10px;right:10px;width:38px;min-height:38px;background:#fffdf7;color:#7a4a2a}.recipe-page{position:relative;display:grid;justify-items:center;gap:8px;max-height:100%;overflow-y:auto;padding:18px 22px 20px;border-radius:22px;border:1px solid #ead9b8;background:linear-gradient(180deg,#fffdf7,#fbf4e4);box-shadow:0 18px 40px #5a3a2238;text-align:center;touch-action:pan-y;animation:recipe-pop .22s cubic-bezier(.2,1.3,.4,1)}.recipe-page:focus{outline:none}.recipe-page.from-right{animation:recipe-from-right .24s ease-out}.recipe-page.from-left{animation:recipe-from-left .24s ease-out}@keyframes recipe-pop{0%{transform:scale(.94)}}@keyframes recipe-from-right{0%{transform:translate(36px) rotate(1.5deg)}}@keyframes recipe-from-left{0%{transform:translate(-36px) rotate(-1.5deg)}}.recipe-count{justify-self:start;color:var(--muted);font-size:11px;font-weight:750}.recipe-page h3{margin:0;font-size:22px;color:#5a3a22}.recipe-page.unknown{background:repeating-linear-gradient(135deg,#fbf4e4 0 12px,#f7eedb 12px 24px),#fbf4e4}.recipe-spotlight{display:grid;place-items:center;width:210px;height:160px;border-radius:50%;background:radial-gradient(closest-side,#fff3c4,#fff3c400)}.recipe-page-picture{width:190px;height:160px;object-fit:contain}.recipe-page-mystery{display:grid;place-items:center;width:120px;height:120px;margin:10px 0;border-radius:50%;background:#efe3c9;color:#a88a5a;font:800 70px/1 Georgia,serif;box-shadow:inset 0 0 0 6px #f7eedb}.recipe-hints{display:grid;gap:4px;margin:4px 0;padding:0;list-style:none;color:#7a5a3a;font-size:13px;font-weight:650}.recipe-buff{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;background:#fbefcc;font-size:12px;color:#8a6420;font-weight:750}.recipe-blurb{margin:0;font-size:13px;color:var(--muted)}.recipe-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;width:100%;margin:4px 0 0}.recipe-stats div{padding:7px 6px;border-radius:10px;background:#f6eedb}.recipe-stats dt{font-size:10.5px;font-weight:700;color:var(--muted)}.recipe-stats dd{margin:0;font-size:13px;font-weight:800;color:#5a3a22}.recipe-stars{font-size:12px;color:#b07a1c;font-weight:700}.recipe-ingredients{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:2px 0 0;padding:0;list-style:none}.recipe-ingredients li{display:inline-flex;align-items:center;gap:5px;padding:3px 9px 3px 3px;border-radius:999px;background:#edf3e8;font-size:12px;font-weight:650}.recipe-ingredients img{width:24px;height:24px;object-fit:contain}.recipe-ingredients li.short{background:#f8e3dc;color:#a2412b}.recipe-have{font-weight:800}.recipe-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;width:100%;margin-top:6px}.recipe-actions button{flex:1;min-height:40px;padding:0 16px}@media(max-width:720px){.recipe-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}.recipe-focus{grid-template-columns:minmax(0,1fr);padding:0 6px}.recipe-turn{display:none}.recipe-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:860px){.kitchen-body[data-view=cook]{grid-template-columns:1fr}.kitchen-pot,.kitchen-result{order:-1}.pot-vessel{width:210px}.result-card{min-height:0}}@media(prefers-reduced-motion:reduce){.result-mark,.pot-item,.pot-steam,.pot-fire,.pot-drawing,.kitchen-result .result-card,.kitchen-result .result-picture,.recipe-page{animation:none}}.modal.chef-sheet{width:min(560px,100%);background:#fbf7ee}.chef-head{display:flex;align-items:center;gap:14px;margin-bottom:14px}.chef-head h2{margin:0;color:#5a3a22}.chef-head .note{margin:2px 0 0}.chef-badge{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#fbefcc;color:#b07a1c;flex:none}.chef-orders{display:grid;gap:10px}.chef-order{display:grid;grid-template-columns:64px minmax(0,1fr) auto;grid-template-areas:"picture text pay" "picture state action";align-items:center;gap:4px 12px;padding:10px 12px;border:1px solid #ead9b8;border-radius:16px;background:#fffdf7}.chef-order.ready{border-color:#b9d3a8;background:linear-gradient(180deg,#f1f7ea,#fffdf7)}.chef-order.done{opacity:.7;background:#f6eedb}.chef-order-picture{grid-area:picture;width:64px;height:56px;object-fit:contain}.chef-order-picture.mystery{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#efe3c9;color:#a88a5a;font:800 28px/1 Georgia,serif;justify-self:center}.chef-order-text{grid-area:text;display:grid;gap:3px;justify-items:start;min-width:0}.chef-order-text strong{color:#5a3a22}.chef-order-pay{grid-area:pay;display:inline-flex;align-items:center;gap:4px;font-weight:800;color:#8a6420;justify-self:end}.chef-order-pay .note{margin:0 0 0 4px;font-weight:700}.chef-order-state{grid-area:state;font-size:12px;font-weight:700;color:var(--muted)}.chef-order.ready .chef-order-state{color:#3f7a4f}.chef-order button{grid-area:action;min-height:34px;padding:0 16px;justify-self:end}.chef-bonus{display:flex;align-items:center;gap:10px;margin-top:14px;padding:10px 12px;border-radius:14px;background:#f6eedb;color:#7a4a2a;font-size:13px;font-weight:700}.chef-dots{display:inline-flex;gap:5px}.chef-dots span{width:12px;height:12px;border-radius:50%;background:#e2cfa8}.chef-dots span.on{background:#d39b1f;box-shadow:0 0 0 3px #d39b1f40}.breeding-pen-sheet{width:min(460px,100%)}.breeding-pen-body{display:grid;gap:12px}.breeding-pen-body .field{display:grid;gap:4px}.breeding-pen-body select,.breeding-pen-body input{width:100%}.breeding-pen-kinds{display:flex;gap:6px}.breeding-pen-kinds button[aria-selected=true]{background:var(--green);color:var(--panel)}.breeding-pen-parents{font-weight:650}.breeding-pen-due{font-size:18px;font-weight:700;color:var(--green)}.breeding-pen-due.ready{color:#b5405c}.breeding-pen-collect{display:grid;gap:10px}.breeding-pen-error{color:#a3402c}.casino-world-summary{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:12px}.casino-world-summary span{font-variant-numeric:tabular-nums;color:#425b50}.casino-world-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:8px}.casino-world-bet{font-size:12px;font-variant-numeric:tabular-nums}.casino-world-result{margin:8px 0 0;font-size:11px;line-height:1.4}body[data-place=casino] #journey,body[data-place=casino] #bottombar{display:none}.casino-cashier-controls{width:min(330px,calc(calc(100vw / var(--uiz)) - 92px))}.cashier-balances,.cashier-cost{font-size:12px;line-height:1.5;font-variant-numeric:tabular-nums}.cashier-balances{margin:8px 0}.cashier-quantity{display:flex;gap:12px;align-items:center;font-size:12px}.cashier-quantity input{width:110px;min-width:0;margin-left:auto;min-height:38px;background:#fff;color:#244133;caret-color:#24554a;font-variant-numeric:tabular-nums}.cashier-cost{display:block;margin-top:6px}.cashier-note{margin:8px 0 0;color:#425b50;font-size:11px;line-height:1.4}.casino-cashier-controls .casino-world-actions button:first-child{background:#24554a;color:#f7faf4}@media(max-width:760px),(orientation:landscape)and (max-height:520px)and (pointer:coarse){.cashier-quantity input{min-height:44px;font-size:16px}}.modal.cashier-dialog{width:min(540px,calc(calc(100vw / var(--uiz)) - 32px))}.cashier-workspace.casino-cashier-controls{position:static;width:100%;padding:0;box-shadow:none;background:transparent}.cashier-workspace .casino-world-summary{font-size:14px;margin-bottom:16px}.cashier-workspace .casino-world-summary strong{font-size:22px}.cashier-workspace .cashier-balances{font-size:14px;margin-bottom:18px}.cashier-workspace .cashier-quantity,.cashier-workspace .cashier-cost{font-size:14px}.cashier-workspace .cashier-quantity input{width:150px;min-height:44px;font-size:16px}.cashier-workspace .casino-world-actions{margin-top:18px}.cashier-workspace .casino-world-actions button{min-height:44px;font-size:14px}.cashier-workspace .cashier-note{font-size:12px;margin-top:18px}.casino-bar{position:fixed;z-index:15;left:50%;bottom:max(16px,env(safe-area-inset-bottom));translate:-50% 0;display:grid;gap:6px;width:max-content;max-width:calc(calc(100vw / var(--uiz)) - 24px);box-sizing:border-box;padding:10px;border-radius:16px;background:#101f18d6;backdrop-filter:blur(8px);box-shadow:0 10px 30px #00000047;color:#f7faf4;font-size:12px}.casino-bar[hidden],.casino-bar [hidden]{display:none!important}.casino-bar .casino-world-summary{padding:0 4px;font-size:12px}.casino-bar .casino-world-summary strong{font-weight:750}.casino-bar .casino-world-summary span{color:#f7faf4b3}.casino-bar .casino-world-result{margin:0;padding:0 4px;max-width:420px;color:#f3d77e;font-size:12px;line-height:1.35}.casino-bar .casino-world-actions{flex-wrap:nowrap;gap:6px;margin:0}.casino-bar button{flex:none;min-height:40px;padding:0 14px;border:0;border-radius:10px;background:#ffffff1a;box-shadow:none;color:#f7faf4;font-size:13px;font-weight:650;white-space:nowrap}.casino-bar button:hover:not(:disabled){background:#ffffff2e}.casino-bar button:disabled{opacity:.4}.casino-bar .casino-primary{background:#f0c75e;color:#1d2b22}.casino-bar .casino-primary:disabled{background:#ffffff1a;color:#f7faf4}.casino-bar .casino-primary:hover:not(:disabled){background:#f5d47a}.casino-bar .casino-back{display:inline-flex;align-items:center;gap:2px;padding-left:8px}.casino-back svg{scale:-1 1}.casino-stepper{display:flex;align-items:center;border-radius:10px;background:#ffffff0f}.casino-bar .casino-stepper button{width:36px;padding:0;background:transparent;font-size:18px}.casino-picker{display:flex;align-items:center;gap:4px;border-radius:10px;background:#ffffff0f}.casino-bar .casino-picker button{width:40px;padding:0;background:transparent}.casino-picker-back svg{scale:-1 1}.casino-picker-choice{flex:1;min-width:0;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.casino-picker[hidden]{display:none}body[data-camera=table] #touch-stick,body[data-camera=table] #jump{display:none!important}@media(max-width:760px),(orientation:landscape)and (max-height:520px)and (pointer:coarse){.casino-bar button{min-height:44px}body:has(.casino-bar:not([hidden])) :is(#touch-stick,#jump,.room-chat,#rail-toggle,#tabs,#journey,#minimap){display:none!important}}.cashier-workspace[hidden],.cashier-workspace [hidden]{display:none!important}body[data-casino-table=blackjack] #tabs,body[data-casino-table=blackjack] #minimap,body[data-casino-table=blackjack] #journey{display:none}.casino-chip-dot{flex:none;display:inline-block;width:14px;height:14px;border:2px dashed #f7faf4;border-radius:50%;background:var(--casino-chip-colour);box-shadow:0 1px 2px #101d2280}.cashier-close{flex:none;display:grid;place-items:center;width:36px;height:36px;min-height:0;margin-left:4px;padding:0;border:0;border-radius:10px;background:#e6eee1;color:var(--text)}.casino-roster{display:flex;flex-wrap:wrap;gap:4px;margin:8px 0 0;padding:0;list-style:none}.casino-roster[hidden]{display:none}.casino-roster li{display:inline-flex;align-items:center;gap:5px;min-width:0;max-width:100%;padding:3px 9px 3px 5px;border:1px solid color-mix(in srgb,var(--seat-colour) 55%,transparent);border-radius:999px;background:color-mix(in srgb,var(--seat-colour) 22%,rgb(255 255 255 / 6%));color:inherit;font-size:11px;line-height:1.3;font-variant-numeric:tabular-nums}.casino-roster li.is-mine{border-color:var(--seat-colour);box-shadow:0 0 0 1px var(--seat-colour)}.casino-roster strong{overflow:hidden;max-width:9em;text-overflow:ellipsis;white-space:nowrap}.casino-roster span:last-child{opacity:.82;white-space:nowrap}.casino-seat-dot{flex:none;width:12px;height:12px;border:2px solid #fff;border-radius:50%;background:var(--seat-colour);box-shadow:0 0 0 1px #00000026}@media(max-width:760px),(orientation:landscape)and (max-height:520px)and (pointer:coarse){.casino-roster{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-top:6px}.casino-roster li{flex:none}}.casino-stepper{gap:2px;padding-right:2px}.casino-stepper .casino-chip-dot{margin-left:4px}#app .casino-stepper input.casino-world-bet{width:68px;min-width:0;min-height:36px;padding:4px 6px;border:1px solid rgb(255 255 255 / 18%)!important;border-radius:8px;background:#ffffff14!important;color:#f7faf4!important;font:inherit;font-size:calc(13px * var(--bet-scale, 1));font-weight:750;font-variant-numeric:tabular-nums;text-align:center}#app .casino-stepper input.casino-world-bet:read-only{width:48px;padding:4px 0;border-color:transparent!important;background:transparent!important}#app .casino-stepper input.casino-world-bet:focus{outline:2px solid #f0c75e;outline-offset:1px;background:#ffffff24!important}#app .casino-stepper input.casino-world-bet:disabled{opacity:.55}#app .casino-cashier-controls .casino-stepper input.casino-world-bet{width:80px}@media(max-width:760px),(orientation:landscape)and (max-height:520px)and (pointer:coarse){.casino-bar .casino-stepper button{width:32px}.casino-stepper .casino-chip-dot{margin-left:2px}#app .casino-stepper input.casino-world-bet:not(:read-only){width:7ch;min-height:40px;font-size:16px;--bet-scale: 1}#app .casino-cashier-controls .casino-stepper input.casino-world-bet{width:84px}.casino-bar.casino-cashier-controls .casino-world-actions{flex-wrap:wrap}.casino-cashier-controls .casino-world-actions>button:not(.casino-back){flex:1 1 40%}}.casino-result-card{position:absolute;left:50%;bottom:calc(100% + 10px);translate:-50% 0;display:grid;justify-items:center;gap:2px;min-width:220px;padding:12px 22px;border-radius:16px;background:#101f18eb;box-shadow:0 12px 34px #00000059;border:2px solid rgb(255 255 255 / 18%);text-align:center;pointer-events:none;white-space:nowrap}.casino-result-card strong{font-size:26px;font-weight:850;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.casino-result-card span{font-size:13px;font-weight:650;opacity:.9}.casino-result-card[data-tone=win]{border-color:#f0c75e;box-shadow:0 0 0 4px #f0c75e38,0 12px 34px #00000059}.casino-result-card[data-tone=win] strong{color:#f5d47a}.casino-result-card[data-tone=loss] strong{color:#f1a49a}@media(prefers-reduced-motion:no-preference){.casino-result-card.is-showing{animation:casino-result-in .42s cubic-bezier(.2,1.4,.4,1) both}@keyframes casino-result-in{0%{opacity:0;transform:translateY(12px) scale(.86)}}}.casino-purse{position:fixed;z-index:12;top:calc(var(--purse-top, 108px) * var(--uiz, 1));left:24px;display:flex;align-items:center;gap:10px;padding:8px 16px 8px 8px;border:1px solid rgb(217 178 100 / .55);border-radius:999px;background:linear-gradient(180deg,#1c2e26e6,#0c1612eb);box-shadow:0 10px 26px #0000004d,inset 0 1px #ffffff14;color:#f7f1e1;pointer-events:none;transition:opacity .32s ease}.casino-purse[hidden]{display:none}.casino-purse>span:last-child{display:grid;line-height:1.05}.casino-purse strong{font-size:18px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.casino-purse small{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#d9b264}.casino-purse-chip,.casino-chip-dot{--chip: var(--casino-chip-colour, #b3272d);flex:none;width:32px;height:32px;border:0;border-radius:50%;background:radial-gradient(circle,var(--chip) 0 42%,transparent 43%),radial-gradient(circle,#f4efe0 0 46%,transparent 47%),repeating-conic-gradient(from 7deg,#f4efe0 0 18deg,var(--chip) 18deg 60deg);box-shadow:0 2px 4px #0006,inset 0 0 0 1.5px #00000040}.casino-purse-chip{--chip: #b3272d}.casino-purse.is-up{animation:casino-purse-up .7s cubic-bezier(.2,1.4,.4,1)}.casino-purse.is-up strong{animation:casino-purse-glow 1.2s ease}@keyframes casino-purse-up{30%{scale:1.12}}@keyframes casino-purse-glow{0%,40%{color:#ffe08a;text-shadow:0 0 14px rgb(255 214 110 / .8)}}body[data-look=locked] .casino-purse{opacity:.45}body:has(.casino-bar:not([hidden])) .casino-purse{display:none}.casino-bar{gap:8px;padding:12px;border:1px solid rgb(217 178 100 / .5);border-radius:20px;background:radial-gradient(120% 140% at 50% -40%,rgb(217 178 100 / .16),transparent 60%),linear-gradient(180deg,#182821f0,#0a130ff5);box-shadow:0 18px 44px #0000006b,inset 0 1px #ffffff14,0 0 0 4px #0000002e;backdrop-filter:none}.casino-bar .casino-world-summary{align-items:center;padding:0 6px}.casino-bar .casino-world-summary strong{color:#e9c46a;font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.casino-bar .casino-world-summary span{color:#f7f1e1;font-size:14px;font-weight:750}.casino-bar .casino-world-result{color:#f7f1e1;font-weight:650}.casino-bar button{min-height:42px;border:1px solid rgb(255 255 255 / .08);border-radius:12px;background:#ffffff12;transition:background .14s ease,translate .14s ease}.casino-bar button:active:not(:disabled){translate:0 1px}.casino-bar .casino-primary{border-color:#ffecb499;background:linear-gradient(180deg,#f6d27a,#d9a93f);color:#20180a;box-shadow:0 4px 14px #d9a93f59,inset 0 1px #ffffff80}.casino-bar .casino-primary:hover:not(:disabled){background:linear-gradient(180deg,#ffdd8c,#e2b44c)}.casino-bar .casino-stepper{gap:4px;padding:3px 4px;border-radius:12px;background:#00000047}.casino-stepper .casino-chip-dot{width:26px;height:26px;margin-left:2px}.casino-bar kbd,.casino-bar .key{margin-left:6px;padding:1px 5px;border-radius:5px;background:#0000002e;font-size:10px}.casino-result-card{bottom:calc(100% + 14px);min-width:260px;padding:16px 28px;border-radius:20px;background:linear-gradient(180deg,#1c2e26f5,#0a130ff7)}.casino-result-card strong{font-size:32px}.casino-result-card[data-tone=win]{background:radial-gradient(100% 120% at 50% 0%,rgb(246 210 122 / .28),transparent 70%),linear-gradient(180deg,#28341ef7,#0e160ef7)}.casino-result-card[data-tone=win]:before,.casino-result-card[data-tone=win]:after{content:"";position:absolute;inset:-18px -30px;pointer-events:none;background:radial-gradient(circle,#ffe08a 0 2px,transparent 3px) 10% 20% / 40px 40px,radial-gradient(circle,#fff3c8 0 1.5px,transparent 2.5px) 30% 70% / 56px 48px;opacity:0}@media(prefers-reduced-motion:no-preference){.casino-result-card[data-tone=win].is-showing:before{animation:casino-sparkle 1.4s ease-out both}.casino-result-card[data-tone=win].is-showing:after{animation:casino-sparkle 1.4s .2s ease-out both}@keyframes casino-sparkle{0%{opacity:0;translate:0 10px;scale:.8}30%{opacity:1}to{opacity:0;translate:0 -24px;scale:1.15}}}body[data-place=casino] #stat-row :is(.stat.water,.stat.day,.stat.ribbons){display:none}.race-live-caption{display:flex;align-items:center;gap:12px;position:absolute;z-index:11;left:50%;top:104px;translate:-50% 0;width:max-content;max-width:min(560px,calc(calc(100vw / var(--uiz)) - 32px));padding:8px 8px 8px 12px;border-radius:16px;background:#101f18db;backdrop-filter:blur(8px);box-shadow:0 10px 30px #00000038;color:#f7faf4;font-size:12px;pointer-events:none}.race-banner-clock{min-width:64px;padding:6px 10px;border-radius:10px;background:#ffffff14;font-size:22px;font-weight:800;font-variant-numeric:tabular-nums;text-align:center}.race-live-caption[data-phase=betting] .race-banner-clock{background:#f0c75e;color:#1d2b22}.race-banner-text{display:grid;gap:2px;min-width:0}.race-banner-phase{font-size:14px;font-weight:800}.race-banner-bet{display:-webkit-box;overflow:hidden;color:#f7faf4b8;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}.race-live-caption[hidden]{display:none}.race-live-caption button{pointer-events:auto;min-height:36px;padding:0 14px;border:0;border-radius:10px;background:#f0c75e;color:#1d2b22;font-weight:650;white-space:nowrap}body[data-place=racetrack] #journey,body[data-place=racetrack] #bottombar{display:none}@media(max-width:760px),(orientation:landscape)and (max-height:520px)and (pointer:coarse){.race-live-caption button{min-height:44px}}.coop-fight-hud{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;position:absolute;z-index:11;left:50%;top:96px;translate:-50% 0;width:min(620px,calc(calc(100vw / var(--uiz, 1)) - 32px));padding:8px 12px;border-radius:16px;background:#1f2a28db;backdrop-filter:blur(8px);box-shadow:0 10px 30px #00000038;color:#f7f2e6;pointer-events:none;transition:opacity .25s}.coop-fight-hud[hidden]{display:none}.coop-fight-side{display:grid;gap:4px;min-width:0}.coop-fight-side.blue{text-align:right}.coop-fight-name{display:flex;gap:8px;align-items:baseline;min-width:0;font-size:15px;font-weight:800;white-space:nowrap}.coop-fight-side.blue .coop-fight-name{flex-direction:row-reverse}.coop-fight-side.red .coop-fight-name b{color:#ff7d6e}.coop-fight-side.blue .coop-fight-name b{color:#7fb0ff}.coop-fight-name b{overflow:hidden;text-overflow:ellipsis}.coop-fight-name span{color:#e8cf8d;font-size:11px;font-weight:650}.coop-fight-health{position:relative;height:14px;border-radius:7px;background:#3b4644;overflow:hidden}.coop-fight-health i{position:absolute;inset:0 auto 0 0;border-radius:7px}.coop-fight-side.blue .coop-fight-health i{inset:0 0 0 auto}.coop-fight-health .ghost{background:#f1d07a}.coop-fight-health .bar{background:#6cc46a}.coop-fight-health .bar[data-low=mid]{background:#e8b64a}.coop-fight-health .bar[data-low=low]{background:#e0574a}.coop-fight-meter{position:relative;height:5px;border-radius:3px;background:#3b4644;overflow:hidden}.coop-fight-meter i{position:absolute;inset:0 auto 0 0;background:#d9a521}.coop-fight-side.blue .coop-fight-meter i{inset:0 0 0 auto}.coop-fight-meter i[data-full]{background:#fff3b0;box-shadow:0 0 8px #ffe08a}.coop-fight-vs{display:grid;justify-items:center;font-size:18px;font-weight:900;color:#ffe7a3}.coop-fight-vs small{font-size:11px;font-weight:700;color:#cfc6b2;font-variant-numeric:tabular-nums}.coop-fight-hud.hit-red .coop-fight-side.red,.coop-fight-hud.hit-blue .coop-fight-side.blue{animation:coop-fight-shake .28s}@keyframes coop-fight-shake{25%{translate:-4px 0}50%{translate:3px 0}75%{translate:-2px 0}}@media(max-width:760px){.coop-fight-hud{top:84px;padding:6px 8px;gap:6px}.coop-fight-name{font-size:12px}.coop-fight-name span{display:none}}@media(prefers-reduced-motion:reduce){.coop-fight-hud.hit-red .coop-fight-side.red,.coop-fight-hud.hit-blue .coop-fight-side.blue{animation:none}}@font-face{font-family:Manrope;src:url(/fonts/manrope.woff2) format("woff2");font-style:normal;font-weight:200 800;font-display:swap}:root{--ui: 1;--uiz: 1;--text: #244133;--muted: #576c5d;--panel: #f7faf4;--panel-solid: #f7faf4;--bg: #d5e8e5;--border: #d8e2d3;--border-strong: #9db39c;--green: #244c3a;--gold: #886016;--blue: #326b86;--purple: #69518b;--red: #a43b32;--font: Manrope, sans-serif;--mono: ui-monospace, monospace;--shadow: 0 8px 28px #263e3226;--radius: 16px}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:var(--font);font-size:13px;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,canvas:focus-visible{outline:3px solid #bd8822;outline-offset:3px}::selection{background:#d5e6bf;color:#244133}input,textarea{caret-color:var(--green)}*{scrollbar-width:thin;scrollbar-color:#a5b99b transparent}svg{flex-shrink:0;display:block}button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--border);border-radius:10px;padding:9px 12px;background:#edf2e7;min-height:38px;font-weight:650;transition:background .15s ease}button:hover:not(:disabled){background:#dfead4}button.primary{background:var(--green);color:#f7faf4;border-color:transparent}button.primary:hover:not(:disabled){background:#346348}button.selected{background:#e3ecd8;border-color:#709664}button.ghost{background:transparent}button.tiny{padding:6px 9px;min-height:32px;font-size:11px}button.danger{color:#a43b32;background:#f5e6df}button.wide{width:100%}kbd{font:inherit;font-size:10px;color:var(--muted);border:1px solid var(--border);border-radius:4px;padding:1px 4px;font-weight:700}h1,h2,h3,h4,p{margin:0}h2{font-size:22px;letter-spacing:-.04em}h3{font-size:17px;letter-spacing:-.025em;margin-top:12px}h4{font-size:13px}.note{font-size:12px;color:var(--muted);line-height:1.6}.note.warn{color:#895724}.grow{flex:1;min-width:0}#app{position:fixed;inset:0}#scene{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;outline-offset:-4px}#loading{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(140% 55% at 18% 112%,#7fb257 0 49%,transparent 50%),radial-gradient(150% 50% at 88% 118%,#6aa84c 0 49%,transparent 50%),radial-gradient(60% 40% at 78% 14%,rgb(246 196 83 / 34%),transparent 70%),linear-gradient(#a8dae2,#e6f3da 62%);z-index:50;transition:opacity .5s}#loading.hidden{opacity:0;pointer-events:none}.loading-inner{text-align:center}.loading-inner{display:grid;justify-items:center;padding:24px}.loading-inner h1{margin:18px 0 0;font-size:40px;font-weight:800;letter-spacing:-.05em;color:var(--text)}.loading-mark{display:block;width:104px;height:104px;border-radius:26px;box-shadow:0 14px 32px #244c3a3d;animation:loading-bob 2.4s ease-in-out infinite}@keyframes loading-bob{50%{translate:0 -6px}}.loading-bar{width:168px;height:6px;margin-top:18px;border-radius:99px;background:#244c3a24;overflow:hidden}.loading-bar span{display:block;width:40%;height:100%;border-radius:inherit;background:var(--green);animation:loading-sweep 1.3s ease-in-out infinite}@keyframes loading-sweep{0%{translate:-100% 0}to{translate:250% 0}}.loading-sub{margin:12px 0 0;max-width:300px;color:var(--muted);font-size:13px;font-weight:600}@media(prefers-reduced-motion:reduce){.loading-mark,.loading-bar span{animation:none}}#topbar,#journey,#tabs,#panel,#bottombar,#minimap,#toasts,#modal-root,#build-strip,.room-chat,.chat-feed,.casino-bar,.race-live-caption,.connection-status{zoom:var(--ui);--uiz: var(--ui)}#topbar{position:absolute;left:24px;right:24px;top:max(18px,env(safe-area-inset-top));display:flex;align-items:center;gap:24px;z-index:10;pointer-events:none}.brand{display:flex;align-items:center;gap:11px;background:var(--panel);padding:12px 18px 12px 12px;border-radius:18px;box-shadow:var(--shadow);min-width:204px;pointer-events:auto}.brand-mark{display:block;flex:none;width:40px;height:40px;border-radius:12px}.brand #farm-name{display:block;font-size:14px;font-weight:650;color:var(--text);max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stats{display:flex;align-items:center;background:var(--panel);box-shadow:var(--shadow);border-radius:16px;min-height:64px;margin-left:auto;pointer-events:auto}.stat{display:flex;align-items:center;gap:9px;padding:10px 16px;border-right:1px solid var(--border);white-space:nowrap}.stat[hidden]{display:none}.stat:last-child{border:0}.stat>svg{color:#74935a}.stat-label{display:block;font-size:10px;color:var(--muted);margin-bottom:3px}.stat .val{font-size:14px;font-variant-numeric:tabular-nums;font-weight:750}.stat.coins>svg{color:#ab7824}.stat.tokens>svg{color:#57804a}.top-actions{display:flex;gap:6px;pointer-events:auto}.top-actions button{width:40px;height:40px;padding:0;background:var(--panel);box-shadow:0 4px 12px #263e321a;border:0}#journey{position:absolute;top:108px;left:24px;display:flex;align-items:center;gap:12px;max-width:330px;background:var(--panel);padding:15px 16px;border-radius:14px;box-shadow:var(--shadow);z-index:8}#journey>svg{color:#789553}#journey strong{display:block;font-size:12px}#journey .note{display:block;font-size:10px;margin-top:3px}#journey button:not(.primary){border:0;background:transparent;padding:0;min-width:25px}.tabs{position:absolute;right:24px;top:110px;z-index:12;display:flex;flex-direction:column;gap:5px;max-height:calc(calc(100dvh / var(--uiz)) - 130px);padding:4px;margin:-4px;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin}.tab{flex-shrink:0;width:68px;min-height:58px;background:var(--panel);border:0;box-shadow:0 3px 12px #263e321f;display:flex;flex-direction:column;gap:4px;padding:9px 4px;border-radius:13px;color:var(--muted);font-size:10px}.tab.active{background:var(--green);color:#fff}.tab:hover:not(:disabled){background:#e4eedb}.tab.active:hover:not(:disabled){background:#346348}.tab .dot{width:5px;height:5px;position:absolute;right:8px;background:#e8bb58;border-radius:50%}#panel{position:absolute;right:104px;top:110px;bottom:120px;width:360px;background:var(--panel);box-shadow:var(--shadow);border-radius:18px;overflow:hidden;z-index:11;display:flex;flex-direction:column}#panel.collapsed{display:none}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:19px 20px 14px;border-bottom:1px solid var(--border)}.panel-heading button{border:0;background:transparent;padding:0;width:32px;min-height:32px}.panel-body{padding:16px 20px 24px;flex:1;overflow:auto;display:flex;flex-direction:column;gap:12px}.panel-body h3:first-child{margin-top:0}#toolbar{position:absolute;left:50%;transform:translate(-50%);bottom:max(25px,env(safe-area-inset-bottom));z-index:10;background:var(--panel);padding:7px;border-radius:18px;box-shadow:var(--shadow)}.tool-list{display:flex;gap:4px}.tool{width:72px;min-height:64px;display:flex;flex-direction:column;gap:5px;position:relative;background:transparent;border:0;font-size:10px;padding:8px 5px}.tool>svg{color:#657d56}.tool kbd{position:absolute;right:5px;top:4px;border:0;font-size:8px;padding:0;color:#8a9980}.tool.active{background:var(--green);color:#fff;border-radius:12px}.tool.active>svg,.tool.active kbd{color:#e8eecb}.bulk-list{display:flex;gap:4px;padding:7px 0 0}.bulk-list[hidden]{display:none}.bulk-list button{flex:1}.hint{color:var(--muted);font-size:12px}#bottombar{position:absolute;bottom:126px;left:50%;transform:translate(-50%);z-index:8;min-width:280px;max-width:470px;background:var(--panel);padding:10px 14px;border-radius:13px;box-shadow:var(--shadow)}#hint:empty{display:none}#bottombar:has(#hint:empty):has(#plot-card:empty){display:none}.plot-card{display:flex;align-items:center;gap:12px}.plot-card:empty{display:none}.plot-copy{min-width:160px;flex:1}.plot-copy>span,.plot-copy>strong{display:block}.plot-copy>strong{font-size:13px}.plot-copy .note{font-size:10px}.plot-copy .bar{margin-top:6px}.bar{height:4px;border-radius:4px;background:#dce6d3;overflow:hidden}.bar>i{height:100%;display:block;background:#789b53}.bar.water>i{background:#5d9eba}.meter{display:flex;gap:7px;align-items:center}.meter .bar{flex:1}#minimap{position:absolute;bottom:25px;left:24px;padding:8px;background:var(--panel);border-radius:16px;box-shadow:var(--shadow);z-index:7;width:144px}#map-canvas{display:block;width:128px;height:128px;border-radius:11px}#map-caption{display:block;text-align:center;font-size:9px;color:var(--muted);padding:5px 0 0}#interact{position:absolute;right:112px;bottom:28px;background:var(--green);color:#fff;border:0;min-height:47px;padding:12px 18px;box-shadow:var(--shadow);z-index:8}#interact kbd{color:#e3eddb;border-color:#678469}#touch-stick{display:none}.field{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px}.field>span{flex:1}.field>input:not([type=range]):not([type=color]),.field>select{max-width:180px;min-width:0;width:58%}input[type=color]{width:43px;height:34px;min-height:34px;padding:3px}input[type=range]{width:55%;padding:0;accent-color:var(--green)}.palette-options{display:flex;gap:6px;flex-wrap:wrap}.palette-options button{font-size:10px;padding:8px}.color-dot{width:10px;height:10px;border-radius:50%;background:var(--swatch)}.catalog-row,.goal-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.catalog-row strong,.goal-row strong{display:block;font-size:12px}.catalog-row .note,.goal-row .note{display:block;font-size:10px}.catalog-row button{font-size:10px;padding:8px;flex-shrink:0}.catalog-row>svg,.goal-row>svg{color:#68874d}.order{padding:15px;background:#e8efde;border-radius:14px}.order-crop{display:flex;align-items:center;gap:12px;margin:14px 0 8px}.order-crop>svg{color:#997020}.order-crop strong{font-size:20px;letter-spacing:-.03em}.order-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:13px}.order-footer>strong{font-size:10px}.order-footer button{font-size:11px}.color-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}details{border-top:1px solid var(--border);padding-top:12px}details .field{margin-top:10px}summary{cursor:pointer;font-weight:700;font-size:14px;padding:5px 0}.section-title{font-weight:750;font-size:15px;margin-top:15px;color:var(--text)}.section-title:first-child{margin:0}.row{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--border)}.row.selected{background:#e7efdf;padding:12px;border-radius:12px;border:0}.row.locked{opacity:.55}.row .name{font-weight:700;display:flex;gap:7px;align-items:center}.row .meta{font-size:11px;color:var(--muted);line-height:1.55;margin-top:3px}.row .ico{width:24px;text-align:center;font-size:20px}.row .cost{font-weight:750;color:var(--gold);font-size:11px}.chip{font-size:9px;font-weight:700;padding:3px 6px;border-radius:5px;background:#e0e8d7;white-space:nowrap}.chip.demand{background:#efdfb9;color:#72541b}.chip.rare{background:#e3edf2;color:#326b86}.chip.epic{background:#ece5f1;color:#69518b}.chip.legendary{background:#efe1b9;color:#765519}.mini-map{display:grid;grid-template-columns:repeat(16,1fr);gap:2px}.mini-map .cell{padding:0;min-height:0;aspect-ratio:1;background:#e0e8d7;border:0;border-radius:2px}.mini-map .cell.tilled{background:#8d6c4e}.mini-map .cell.growing{background:#719650}.mini-map .cell.ripe{background:#d2b64e}.mini-map .cell.deed{box-shadow:inset 0 0 0 1px currentColor}.kv{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;padding:4px 0}.kv>span:first-child{color:var(--muted)}.kv>span:last-child{font-weight:650;max-width:60%;text-align:right;overflow-wrap:anywhere}.addr{font-family:var(--mono);font-size:10px;overflow-wrap:anywhere;color:var(--muted)}.tx{display:flex;gap:8px;font-size:10px}.tx .hash{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--mono)}.market-row{padding:10px 0;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.market-head{display:flex;gap:8px;align-items:center}.spark{display:none}.toggle-row{display:flex;gap:10px;align-items:center;padding:10px 0;cursor:pointer}.toggle-row .switch{width:36px;height:20px;flex-shrink:0;background:#bacbb1;border-radius:12px;position:relative}.toggle-row .switch:after{content:"";position:absolute;left:3px;top:3px;width:14px;height:14px;border-radius:50%;background:#fff}.toggle-row.on .switch{background:var(--green)}.toggle-row.on .switch:after{left:19px}.toasts{position:absolute;top:105px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;align-items:center;z-index:30;pointer-events:none}.toast{padding:12px 18px;border-radius:12px;background:var(--panel);box-shadow:var(--shadow);font-size:12px;max-width:340px;animation:toast-in .2s ease-out}.toast.bad{color:var(--red);background:#f9e8e0}.toast.good{background:#edf4de}.toast.gold{background:#f3e5b9}.floaters{position:absolute;inset:0;pointer-events:none;z-index:20;overflow:hidden}.floater{position:absolute;transform:translate(-50%,-50%);font-size:13px;font-weight:750;color:#fff;text-shadow:0 2px 4px #244133;animation:float-up 1s ease-out forwards;white-space:nowrap}.floater.tok{color:#e2fbc5}.floater.plus{color:#fff2bb}.floater.bad{color:#f7b2a5}.floater.golden{font-size:20px;font-weight:850;color:#ffd75e;text-shadow:0 0 12px rgb(255 205 80 / 70%),0 2px 4px #4a3510;animation:float-up-golden 1.9s ease-out forwards}@keyframes float-up-golden{0%{transform:translate(-50%,-50%) scale(.6)}18%{transform:translate(-50%,-50%) scale(1.15)}30%{transform:translate(-50%,-50%) scale(1)}70%{opacity:1}to{opacity:0;margin-top:-70px;transform:translate(-50%,-50%) scale(1)}}@media(prefers-reduced-motion:reduce){.floater.golden{animation-duration:1.2s}}@keyframes float-up{to{opacity:0;margin-top:-50px}}@keyframes toast-in{0%{opacity:.8;transform:translateY(-6px)}to{opacity:1;transform:none}}#modal-root:empty{display:none}.modal-backdrop{position:absolute;inset:0;background:#15332266;z-index:40;display:grid;place-items:center;padding:20px}.modal{width:min(540px,100%);max-height:calc(85dvh / var(--uiz));overflow:auto;background:var(--panel);padding:24px;border-radius:20px;box-shadow:0 20px 60px #183e324d}.modal h2{margin-bottom:14px}.modal .sub{line-height:1.6;margin-bottom:15px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.player-menu{width:min(360px,100%)}.player-menu h2{margin-bottom:2px}.player-menu-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.player-menu-status:empty{display:none}.guest-reminder .modal-actions{flex-wrap:wrap}.guest-reminder-never{display:block;margin:12px 0 0 auto;padding:4px 0;border:0;background:none;color:var(--muted);font-size:12px;text-decoration:underline}pre.meta{overflow:auto;padding:12px;background:#e7eedf;border-radius:10px;font-size:10px}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.report-cell{padding:12px;background:#e7eedf;border-radius:10px}.report-cell b,.report-cell span{display:block}.report-cell span{font-size:11px;color:var(--muted)}#build-strip{position:absolute;left:50%;transform:translate(-50%);bottom:116px;z-index:15;background:var(--panel);padding:10px 14px;border-radius:12px;box-shadow:var(--shadow);display:flex;gap:10px;align-items:center;font-size:11px}#build-strip[hidden],body[data-building=true] #bottombar{display:none}@media(max-width:1150px){#topbar{gap:12px;left:18px;right:18px}.brand{min-width:175px;padding-right:14px}.stat{padding:10px 11px}.stat.day{display:none}.tabs{right:18px}.tab{width:57px;min-height:51px}.tabs{gap:4px}#panel{right:84px;width:340px}#journey{left:18px}#interact{right:90px}#minimap{left:18px}}@media(max-width:760px),(orientation:landscape)and (max-height:520px)and (pointer:coarse){#topbar{top:max(12px,env(safe-area-inset-top));left:12px;right:12px;gap:8px;flex-wrap:wrap}.brand{min-width:0;padding:8px 12px 8px 8px;gap:8px;border-radius:14px}.brand-mark{width:32px;height:32px;border-radius:10px}.brand #farm-name{font-size:12px;max-width:155px}.top-actions{margin-left:auto;gap:4px;order:2}.top-actions button{width:34px;height:34px;min-height:34px}.stats{width:100%;order:3;margin:0;min-height:46px;border-radius:12px;justify-content:space-between}.stat{padding:8px 10px;gap:6px;border:0}.stat>svg{width:16px;height:16px}.stat-label{font-size:10px}.stat .val{font-size:12px}.stat.day{display:none}#journey{top:126px;left:12px;max-width:calc(calc(100vw / var(--uiz)) - 88px);padding:12px;gap:9px}#journey strong{font-size:11px}#journey>svg{width:18px}.tabs{top:126px;right:12px;gap:4px;max-height:calc(calc(100dvh / var(--uiz)) - 218px)}.tab{width:49px;min-height:44px;padding:5px;font-size:10px;gap:3px;border-radius:10px}.tab svg{width:18px;height:18px}#panel{inset:120px 74px 118px 12px;width:auto;max-height:none;border-radius:14px}body:has(#panel:not(.collapsed)) #journey{display:none}.panel-heading{padding:15px}.panel-body{padding:14px}.panel-body .note{font-size:11px}.panel-heading h2{font-size:19px}#toolbar{bottom:max(16px,env(safe-area-inset-bottom));padding:5px;max-width:calc(calc(100vw / var(--uiz)) - 24px);border-radius:14px}.tool-list{gap:1px}.tool{width:51px;min-height:54px;font-size:10px;padding:7px 4px}.tool svg{width:20px;height:20px}.tool kbd{display:none}#bottombar{bottom:86px;min-width:0;width:calc(calc(100vw / var(--uiz)) - 40px);max-width:360px;padding:10px}#bottombar .hint{font-size:10px;text-align:center}.plot-copy{min-width:0}.plot-copy .note{font-size:9px}.plot-card{gap:8px}.plot-card>svg{display:none}.plot-card button{font-size:11px;min-height:34px}.plot-copy>strong{font-size:12px}#minimap{display:none}#interact{right:15px;bottom:150px;width:78px;height:49px;padding:8px;font-size:11px;border-radius:14px}#interact kbd{display:none}#touch-stick{position:absolute;left:22px;bottom:154px;width:90px;height:90px;border-radius:50%;border:2px solid #f7faf48c;background:#f7faf42e;display:grid;place-items:center;z-index:9;touch-action:none}#touch-stick span{display:block;width:37px;height:37px;border-radius:50%;background:#f7faf4d9;box-shadow:0 3px 12px #24413326}body[data-camera=overview] #touch-stick{display:none}body:has(#panel:not(.collapsed)) #touch-stick,body:has(#panel:not(.collapsed)) #interact{display:none}.toasts{top:116px;width:calc(calc(100vw / var(--uiz)) - 30px)}.toast{font-size:11px}#build-strip{bottom:90px;width:calc(calc(100vw / var(--uiz)) - 24px);max-width:500px;justify-content:space-between}.order-crop strong{font-size:18px}.catalog-row{gap:8px}.catalog-row>svg{width:19px}.catalog-row button{font-size:9px}.color-fields{grid-template-columns:1fr}.field>select{max-width:150px}.palette-options button{font-size:9px;padding:6px}.bulk-list{flex-wrap:wrap}.modal{padding:20px}body[data-building=true] #interact{display:none}}@media(max-height:680px)and (min-width:761px){.tabs{gap:3px}.tab{min-height:43px;padding:6px}.tab svg{width:17px;height:17px}#minimap{width:112px}#map-canvas{width:96px;height:96px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.floater{display:none}}.todo-sync{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px;border-radius:12px;background:#edf2e7;font-size:12px}.todo-sync>svg{color:var(--green);flex-shrink:0}.todo-sync .grow{min-width:145px}.todo-sync .note{display:block;margin-top:4px}.todo-form{display:flex;flex-direction:column;gap:12px}.todo-field{display:flex;flex-direction:column;gap:6px;font-size:12px}.todo-field input,.todo-field select,.todo-field textarea{width:100%;min-width:0}.todo-field textarea{resize:vertical;max-height:220px}.todo-form-actions{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}.todo-form-actions .todo-field{flex:1;min-width:90px}.todo-more{font-size:12px}.todo-more summary{cursor:pointer;color:var(--muted)}.todo-more .todo-field{margin-top:8px}.todo-filters{display:flex;gap:6px;margin-top:8px}.todo-filters button{flex:1}.todo-empty{margin:0;padding:18px 0;color:var(--muted);font-size:12px;line-height:1.6}.todo-item{border-top:1px solid var(--border);padding-top:16px}.todo-item-head,.todo-item-footer{display:flex;align-items:center;gap:10px}.todo-item-head{align-items:flex-start}.todo-item-head .grow{min-width:0}.todo-item h4{margin:5px 0 0;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.todo-item.done h4{text-decoration:line-through}.todo-item-head button{flex-shrink:0}.todo-details{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.6;margin:8px 0}.todo-item-footer{justify-content:space-between;margin-top:12px}.todo-resolution{background:#edf2e7;border-radius:8px;padding:10px;margin-top:10px;font-size:12px}.todo-resolution .todo-details{margin-bottom:0}.todo-context{margin-top:12px;font-size:12px;color:var(--muted)}.todo-context summary{cursor:pointer}.todo-context pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.6}body[data-editing=true] #toolbar,body[data-editing=true] #interact,body[data-editing=true] #bottombar{display:none}@media(max-width:760px),(orientation:landscape)and (max-height:520px)and (pointer:coarse){body[data-editing=true] #panel{top:auto;bottom:16px;height:calc(40dvh / var(--uiz))}body[data-editing=true] #toolbar{display:none}body[data-editing=true] .toasts{top:120px}}#topbar .brand,#stat-row,#journey,#toolbar,#minimap,.tab:not(.active){background:#f7faf4e0}#bottombar{pointer-events:none}body[data-camera=third] #plot-card,body[data-camera=third] #hint{display:none}#interact{position:absolute;right:auto;bottom:auto;transform:translate(-50%,-100%);min-height:38px;max-width:min(260px,calc(calc(100vw / var(--uiz)) - 32px));padding:9px 12px;border-radius:10px;background:#f7faf4f0;color:var(--text);font-size:12px;box-shadow:0 4px 12px #263e321a;white-space:normal}#interact[hidden]{display:none}#toasts{inset:auto 104px 24px auto;transform:none;max-width:min(340px,calc(calc(100vw / var(--uiz)) - 110px));align-items:flex-end}#tool-list .tool{min-width:64px}body[data-building=true] #toolbar,body[data-building=true] #bottombar,body[data-building=true] #touch-stick,body[data-building=true] #interact,body[data-building=true] #jump{display:none}#build-strip{max-width:calc(calc(100vw / var(--uiz)) - 32px);flex-wrap:wrap;justify-content:center}#build-status{max-width:42ch;font-size:12px}.build-filters{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 20px}.welcome-form{display:grid;gap:12px;margin-top:20px}.welcome-form .field{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.welcome-form .field>input:not([type=range]):not([type=color]){width:100%;min-width:0;max-width:none}#jump{display:none}@media(max-width:760px),(orientation:landscape)and (max-height:520px)and (pointer:coarse){#toasts{right:12px;bottom:100px;max-width:calc(calc(100vw / var(--uiz)) - 24px)}#build-strip{bottom:max(12px,env(safe-area-inset-bottom));padding:12px}#build-status{flex-basis:100%;text-align:center}#jump{display:block;position:absolute;right:12px;bottom:110px;min-height:44px;background:#f7faf4f0}body:has(#panel:not(.collapsed)) #jump{display:none}}@media(max-width:760px),(orientation:landscape)and (max-height:520px)and (pointer:coarse){body[data-building=true] #panel{top:auto;bottom:100px;height:calc(42dvh / var(--uiz))}body[data-building=true] #journey{display:none}}body[data-camera=third] #bottombar{display:none}#interact{width:max-content}@media(max-width:760px),(orientation:landscape)and (max-height:520px)and (pointer:coarse){#toasts{right:74px;max-width:calc(calc(100vw / var(--uiz)) - 148px)}#touch-stick,#jump{bottom:max(22px,env(safe-area-inset-bottom))}body[data-editing=true] #toasts{top:auto;bottom:calc(calc(40dvh / var(--uiz)) + 28px)}body[data-building=true] #toasts{top:auto;bottom:calc(calc(42dvh / var(--uiz)) + 112px)}}.visitor-bubbles{position:absolute;inset:0;pointer-events:none;z-index:4}.visitor-order{position:absolute;left:0;top:0;display:flex;align-items:center;gap:6px;min-height:32px;padding:6px 10px;background:#f7faf4f5;color:var(--text);border:0;border-radius:10px;box-shadow:0 4px 12px #263e321a;font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:auto}.visitor-order:after{content:"";position:absolute;width:6px;height:6px;bottom:-3px;left:calc(50% - 3px);background:inherit;transform:rotate(45deg)}.visitor-order:disabled{opacity:1;cursor:default}.visitor-order[hidden],.visitor-bubbles[hidden]{display:none}.visitor-order svg{color:var(--green);flex-shrink:0}@media(max-width:760px),(orientation:landscape)and (max-height:520px)and (pointer:coarse){.visitor-order{font-size:10px;padding:5px 8px}}@media(max-width:760px),(orientation:landscape)and (max-height:520px)and (pointer:coarse){body[data-camera=overview]:not([data-editing=true]):not([data-building=true]):has(#plot-card:not(:empty)) #toasts{bottom:calc(86px + var(--overview-card-height, 72px) + 12px)}}.farmer-studio{position:fixed;inset:0;z-index:80;height:calc(100dvh / var(--uiz));background:#f7f9f5}.farmer-studio:focus{outline:none}body[data-editing=true] #panel{visibility:hidden;pointer-events:none}.studio-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px}.studio-error p{max-width:60ch}:root{--shop-stage: #e5efdf;--shop-shelf: #edf3e8;--motion-ease: cubic-bezier(.16, 1, .3, 1);--shadow: 0 14px 40px rgb(21 51 34 / 20%)}button{transition:background .15s ease,color .15s ease,scale .15s var(--motion-ease)}button:active:not(:disabled){scale:.96}button:disabled{opacity:.65}#panel{width:400px;bottom:32px;border-radius:16px}#panel.collapsed.closing{display:flex;pointer-events:none}.panel-heading{padding:22px 24px 18px;background:#edf3e8;border:0}.panel-heading h2{font-size:24px;letter-spacing:-.035em}.panel-heading button{min-height:40px;width:40px;border-radius:10px}.panel-heading button:hover{background:#dce8d4}.panel-body{padding:22px 24px 28px;gap:16px}.panel-body>.section-title{margin-top:14px}.panel-body>.section-title:first-child{margin-top:0}.panel-body .meta{font-size:12px;line-height:1.55}.panel-body .row{padding:14px 0}.panel-body .row.locked{opacity:1}.panel-body .row.locked .name{color:var(--muted)}.panel-body .chip{font-size:11px}.panel-body .catalog-row .note,.panel-body .goal-row .note{font-size:12px}.panel-body .catalog-row strong,.panel-body .goal-row strong{font-size:14px}.panel-body .catalog-row button{font-size:12px;min-height:40px}.panel-body>.note{max-width:65ch}.order{padding:18px}.order h4{font-size:15px}.order-footer>strong{font-size:12px}.tabs{gap:8px}.tab{min-height:62px;font-size:11px;border-radius:12px}.tab>svg{transition:rotate .18s var(--motion-ease)}.tab:hover>svg{rotate:-7deg}.tab.active{box-shadow:0 6px 18px #1533223d}#panel[data-surface=more]{width:min(480px,calc(calc(100vw / var(--uiz)) - 148px))}#panel[data-surface=more] .panel-body{gap:24px}.more-section{flex-shrink:0}.more-section h3{margin:0 0 12px;font-size:16px}.more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.more-item{width:100%;min-width:0;min-height:64px;justify-content:flex-start;gap:12px;padding:12px 16px;background:var(--shop-shelf);border:0;border-radius:12px;text-align:left;line-height:1.4}.more-item>span{overflow-wrap:anywhere}.more-item>svg{color:var(--green)}.more-item:hover:not(:disabled){background:#dfead4}#panel[data-surface=upgrades]{width:min(1000px,calc(calc(100vw / var(--uiz)) - 148px));top:106px;bottom:32px}#panel[data-surface=upgrades] .panel-heading{padding:18px 24px}#panel[data-surface=upgrades] .panel-heading h2{font-size:27px}#panel[data-surface=upgrades] .panel-body{padding:0;overflow:hidden}.shop-catalogue{min-height:0;flex:1;display:flex;flex-direction:column}.shop-toolbar{display:flex;gap:16px;align-items:center;padding:20px 24px 14px}.shop-search{flex:1;width:100%;min-width:0;background:#fff;border:1px solid var(--border-strong);border-radius:10px;padding:12px 14px;color:var(--text);font-size:13px}.shop-search::placeholder{color:var(--muted)}.shop-balance{display:flex;align-items:center;gap:8px;flex-shrink:0;font-size:14px;font-variant-numeric:tabular-nums}.shop-balance>svg{color:var(--gold)}.shop-balance .note{margin-left:6px}.shop-filters{display:flex;flex-shrink:0;gap:5px;padding:0 24px 16px;overflow-x:auto}.shop-filters button{background:transparent;border:0;min-height:40px;padding:8px 13px;flex-shrink:0}.shop-filters button[aria-pressed=true]{background:var(--green);color:var(--panel-solid)}.shop-workspace{display:grid;grid-template-columns:minmax(0,1fr) 340px;min-height:0;flex:1}.shop-browsing{display:flex;flex-direction:column;min-width:0;min-height:0;padding:0 24px 24px}.shop-list-summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 0 12px}.shop-availability{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);cursor:pointer}.shop-availability input,.shop-auto-sell input{accent-color:var(--green);width:16px;height:16px}.shop-grid{overflow:auto;min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(218px,auto);gap:12px;align-content:start;padding:3px}.shop-item{min-height:218px;height:auto;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:5px;text-align:left;background:var(--shop-shelf);border:1.5px solid transparent;padding:10px 12px 14px;border-radius:12px;min-width:0;position:relative}.shop-item:hover:not(:disabled){background:#e5eedc}.shop-item[aria-pressed=true]{border-color:#648952;background:#e4eedb}.shop-item-visual{min-height:0;flex-shrink:0;height:114px;display:grid;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);place-items:center;color:#59764b}.shop-item-visual img{min-width:0;min-height:0;width:100%;height:100%;object-fit:contain}.shop-item-name{font-size:14px;line-height:1.4;font-weight:750}.shop-item-price{color:var(--gold);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.shop-item-state{color:var(--muted);font-size:11px;font-weight:500;margin-top:2px}.shop-item.is-locked .shop-item-visual{opacity:.7}.shop-detail{min-width:0;min-height:0;overflow-y:auto;background:#edf3e8;display:flex;flex-direction:column}.shop-detail[hidden]{display:none}.shop-stage{position:relative;height:clamp(190px,calc(28vh / var(--uiz)),285px);flex-shrink:0;background:var(--shop-stage);overflow:hidden}.shop-stage canvas{width:100%;height:100%;display:block;touch-action:none;cursor:grab}.shop-stage canvas:active{cursor:grabbing}.shop-preview-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;color:#59764b;font-size:12px}.shop-rotate-hint{position:absolute;left:20px;bottom:16px;color:var(--muted);font-size:11px;pointer-events:none}.shop-reset{position:absolute;right:14px;bottom:10px;width:36px;min-height:36px;padding:0;background:#f7faf4d9;border:0}.shop-info{padding:22px 24px 24px;display:flex;flex:1;flex-direction:column;gap:12px}.shop-owned{color:#496841;font-size:12px;font-weight:650}.shop-info h3{margin:0;font-size:25px;line-height:1.2;letter-spacing:-.035em;text-wrap:balance}.shop-description{font-size:13px;line-height:1.65;color:var(--muted)}.shop-purchase{margin-top:auto;padding-top:24px;display:flex;flex-direction:column;gap:12px}.shop-cost{font-size:25px;letter-spacing:-.03em;color:var(--gold);font-variant-numeric:tabular-nums}.shop-purchase-actions{display:flex;gap:8px;flex-wrap:wrap}.shop-purchase-actions .primary{flex:1;min-height:46px}.shop-purchase-actions .ghost{min-height:46px}.shop-status{color:var(--muted);font-size:12px;line-height:1.55;min-height:38px}.shop-auto-sell{display:flex;align-items:center;gap:8px;font-size:12px;line-height:1.5}.shop-empty{grid-column:1 / -1;padding:24px 8px;display:grid;gap:14px}.toast{position:relative;display:flex;align-items:center;gap:12px;padding:16px 18px;overflow:hidden;animation:none;font-weight:600;line-height:1.5}.toast>svg{color:#5f854b}.toast.bad>svg{color:var(--red)}.toast.gold>svg{color:var(--gold)}.toast-lifetime{position:absolute;left:0;bottom:0;height:3px;width:100%;background:currentColor;opacity:.25;transform-origin:left;animation:notice-life 3.6s linear forwards}@keyframes notice-life{to{transform:scaleX(0)}}.modal-backdrop,.modal-exit{background:#1533226b}.modal-exit{position:absolute;inset:0;z-index:40;display:grid;place-items:center;padding:20px;pointer-events:none}.modal{border-radius:16px;padding:28px}.modal.welcome-back{width:min(440px,100%);padding:28px;text-align:center}.welcome-back:focus{outline:none}.welcome-back h2{margin:0;font-size:28px;letter-spacing:-.035em;line-height:1.2}.welcome-time{display:flex;align-items:center;justify-content:center;gap:6px;margin:10px 0 24px;color:var(--muted);font-size:12px}.welcome-rewards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px;margin:0 0 24px;text-align:left}.welcome-reward{display:flex;align-items:center;justify-content:center;gap:10px;min-width:0}.welcome-reward-copy{min-width:0}.welcome-reward-label{display:block;color:var(--muted);font-size:12px}.welcome-reward-value{display:block;margin:2px 0 0;font-size:23px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.2;letter-spacing:-.025em;overflow-wrap:anywhere}.welcome-featured{grid-column:1 / -1;justify-content:flex-start;gap:22px;padding:22px 26px;border-radius:12px;background:#e8efde;color:var(--green)}.welcome-featured .welcome-reward-label{color:inherit}.welcome-featured .welcome-reward-value{font-size:clamp(32px,calc(6vw / var(--uiz)),42px)}.welcome-featured .welcome-reward-icon{position:relative;display:grid;place-items:center;width:64px;height:64px;flex:0 0 64px;border-radius:50%;background:#d5e6bf}.welcome-coins .welcome-reward-icon{color:var(--gold)}.welcome-featured.welcome-coins{background:#f4e6b9;color:var(--gold)}.welcome-featured.welcome-coins .welcome-reward-icon{background:#e8bb58}.welcome-featured.welcome-tokens{background:#eee7f4;color:var(--purple)}.welcome-featured.welcome-tokens .welcome-reward-icon{background:#e1d3ef}.welcome-harvests .welcome-reward-icon{color:var(--green)}.welcome-tokens .welcome-reward-icon{color:var(--purple)}.welcome-burst{position:absolute;inset:0;pointer-events:none}.welcome-final{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.welcome-spark{position:absolute;top:50%;left:50%;width:5px;height:9px;border-radius:2px;background:currentColor;opacity:0}.welcome-level{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 0 18px;color:var(--green);font-weight:700}.welcome-limit,.welcome-care{margin:0 0 18px;color:var(--muted);font-size:12px}.welcome-rest{display:grid;justify-items:center;gap:14px;padding:8px 0 24px;color:var(--green)}.welcome-rest p{margin:0;font-size:14px}.welcome-return{width:100%;min-height:48px}@media(max-width:480px){.modal.welcome-back{padding:24px 20px}.welcome-featured{padding:20px;gap:18px}}.toggle-row .switch:after{transition:left .18s var(--motion-ease)}@media(max-width:1100px){#panel{width:360px}#panel[data-surface=upgrades]{right:84px;width:calc(calc(100vw / var(--uiz)) - 108px)}.shop-workspace{grid-template-columns:minmax(0,1fr) 300px}.shop-item-visual{height:100px}.shop-balance .note{display:none}}@media(max-width:760px),(orientation:landscape)and (max-height:520px)and (pointer:coarse){.tabs{gap:6px}.tab-label{max-width:100%;line-height:1.2}.tab{width:49px;min-height:50px;font-size:10px;padding:5px 1px}#panel{inset:120px 74px 110px 12px;width:auto}.panel-heading{padding:14px 16px}.panel-heading h2{font-size:21px}.panel-body{padding:18px 16px 24px}#panel[data-surface=upgrades]{inset:120px 12px 14px;width:auto;z-index:14}#panel[data-surface=upgrades] .panel-heading{padding:12px 16px}#panel[data-surface=upgrades] .panel-heading h2{font-size:22px}.shop-toolbar{padding:12px 16px 10px;gap:10px}.shop-search{padding:10px;font-size:12px}.shop-balance{font-size:12px;gap:4px}.shop-balance>svg{width:16px}.shop-filters{padding:0 12px 10px;gap:2px}.shop-filters button{font-size:12px;padding:8px 10px}.shop-workspace{display:flex;flex-direction:column;overflow:auto}.shop-browsing{flex:0 0 auto;padding:0 16px 14px}.shop-list-summary{padding-bottom:8px}.shop-grid{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;padding:3px 3px 8px}.shop-item{flex:0 0 132px;min-height:140px;padding:8px 10px}.shop-item-visual{height:62px}.shop-item-name{font-size:12px}.shop-item-price{font-size:11px}.shop-item-state{font-size:10px}.shop-detail{overflow:visible;flex-shrink:0}.shop-stage{height:96px}.shop-info{padding:16px 16px 24px;gap:9px}.shop-info h3{font-size:22px}.shop-purchase{padding-top:12px;gap:10px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center}.shop-cost{font-size:22px}.shop-status{min-height:0;grid-column:1 / -1}#panel[data-surface=more]{width:auto}.more-item{flex-direction:column;justify-content:center;gap:8px;min-height:88px;padding:12px 8px;text-align:center;font-size:12px}body:has(#panel[data-surface=upgrades]:not(.collapsed)) #toasts{bottom:24px;right:24px;max-width:calc(calc(100vw / var(--uiz)) - 48px);z-index:30}}@media(max-height:660px)and (min-width:761px){#panel[data-surface=upgrades]{top:94px;bottom:16px}.shop-stage{height:170px}.shop-info{padding:16px}.shop-info h3{font-size:22px}.shop-purchase{padding-top:12px}}@media(prefers-reduced-motion:reduce){button,.tab>svg,.toggle-row .switch:after{transition:none}button:active:not(:disabled){scale:1}.toast-lifetime{animation:none}}.settings-pages{display:flex;flex-wrap:wrap;gap:6px}.settings-pages button{border:0;background:transparent;padding:9px 10px;font-size:12px}.settings-pages button[aria-pressed=true]{color:var(--panel-solid);background:var(--green)}.settings-page{display:flex;flex-direction:column;gap:16px}.settings-page .section-title{margin-top:12px}.settings-page .section-title:first-child{margin-top:0}[role=button]:focus-visible,[role=switch]:focus-visible{outline:3px solid #bd8822;outline-offset:3px}.debug-overlay{position:absolute;top:196px;left:24px;width:272px;z-index:9;pointer-events:none;padding:16px;border-radius:12px;color:var(--text);background:#f7faf4f0;box-shadow:0 6px 24px #1533222e}.debug-overlay[hidden]{display:none}.debug-heading{display:flex;align-items:center;gap:8px;margin-bottom:12px}.debug-heading h2{font-size:16px;letter-spacing:-.025em}.debug-heading button{pointer-events:auto;margin-left:auto;min-height:32px;width:32px;padding:0;border:0;background:transparent}.debug-metrics{display:grid;gap:9px;margin:0;font-size:11px}.debug-metrics>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.debug-metrics dt{color:var(--muted)}.debug-metrics dd{margin:0;font-weight:650;text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.debug-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-top:16px}.debug-actions button{pointer-events:auto;min-height:38px;padding:8px 4px;font-size:11px}.debug-actions button[aria-pressed=true]{background:var(--green);color:var(--panel)}.debug-overlay[data-profiler=true]{width:min(650px,calc(calc(100vw / var(--uiz)) - 120px));max-height:calc(calc(100dvh / var(--uiz)) - 220px);display:flex;flex-direction:column}.debug-overlay[data-profiler=true]>.debug-metrics,.debug-overlay[data-profiler=true]>.debug-hint{display:none}.debug-overlay[data-profiler=true]>.debug-actions{margin:0 0 12px;max-width:min(272px,calc(100% - 40px))}.debug-overlay[data-profiler=true]>.debug-heading{position:absolute;top:18px;right:12px;margin:0}.debug-overlay[data-profiler=true]>.debug-heading h2,.debug-overlay[data-profiler=true]>.debug-heading kbd{display:none}.performance-panel:not([hidden]){display:flex;flex-direction:column;min-height:0;overflow:auto;pointer-events:auto;scrollbar-color:var(--muted) transparent;scrollbar-width:thin}.performance-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.performance-heading h3{font-size:15px}.performance-heading button{pointer-events:auto;font-size:11px;min-height:38px}.performance-scroller{pointer-events:auto;overflow:auto;min-height:84px;margin-top:16px;scrollbar-color:var(--muted) transparent;scrollbar-width:thin}.performance-table{width:100%;border-collapse:collapse;font-size:11px;font-variant-numeric:tabular-nums}.performance-table th,.performance-table td{padding:7px 6px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--border)}.performance-table th{color:var(--muted)}.performance-table caption{text-align:left;color:var(--muted);padding-bottom:6px}.performance-notes{margin-top:10px;flex-shrink:0;font-size:11px;color:var(--muted)}.performance-notes summary{cursor:pointer;min-height:24px}.performance-table th:first-child,.performance-table td:first-child{text-align:left}.performance-metrics{grid-template-columns:1fr 1fr;column-gap:24px}@media(max-width:760px),(orientation:landscape)and (max-height:520px)and (pointer:coarse){.debug-overlay[data-profiler=true]{width:min(650px,calc(calc(100vw / var(--uiz)) - 86px));max-height:calc(calc(100dvh / var(--uiz)) - 380px)}.performance-metrics{grid-template-columns:1fr;gap:5px}.performance-heading button{min-height:44px}.performance-panel .performance-extra{display:none}.performance-notes .debug-hint{font-size:10px}.performance-scroller{min-height:176px}.performance-table th,.performance-table td{padding:7px 4px}}@media(max-height:660px)and (min-width:761px){.debug-overlay[data-profiler=true]{max-height:calc(calc(100dvh / var(--uiz)) - 130px)}}.debug-hint{color:var(--muted);margin-top:10px;font-size:11px}body[data-editing=true] #debug-overlay{visibility:hidden}@media(max-width:1150px){.debug-overlay{left:18px}}@media(max-width:760px),(orientation:landscape)and (max-height:520px)and (pointer:coarse){.debug-overlay{top:210px;left:12px;width:min(272px,calc(calc(100vw / var(--uiz)) - 86px));padding:12px}.debug-actions button{min-height:44px}body:has(#panel:not(.collapsed)) #debug-overlay,body[data-building=true] #debug-overlay{visibility:hidden}}@media(max-height:660px)and (min-width:761px){.debug-overlay{top:108px;padding:12px}body[data-debug=true] #journey{visibility:hidden}.debug-heading{margin-bottom:8px}.debug-metrics{gap:5px}.debug-metrics>div:nth-child(3),.debug-metrics>div:nth-child(4),.debug-metrics>div:last-child{display:none}.debug-actions{margin-top:12px}}.tab{position:relative}.tab-hotkey{position:absolute;top:5px;right:5px;font-size:10px;padding:0 3px;line-height:1.3;border-color:currentColor;color:inherit}#build-strip.build-shelf{left:0;right:0;bottom:max(24px,env(safe-area-inset-bottom));transform:none;margin-inline:auto;width:min(1080px,calc(calc(100vw / var(--uiz)) - 208px));max-width:none;display:flex;flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:6px;padding:10px 12px;border-radius:16px;background:#f7faf49e;box-shadow:0 6px 24px #1533221f;font-size:12px}#build-strip.build-shelf[hidden],#build-status[hidden]{display:none}#build-strip.build-shelf>div{min-width:0;width:100%}.build-shelf-tools{display:flex;align-items:center;gap:8px}.build-inventory-filter{width:112px;min-height:44px;padding:6px 8px;border:0;background:#f7faf4e0;font-size:12px}.build-snap{display:flex;gap:6px;align-items:center;white-space:nowrap;font-size:12px;min-height:44px;margin-right:auto;color:#173727}.build-snap input{margin:0;accent-color:var(--green);width:16px;height:16px}.build-shelf-tools>button{min-height:44px;padding:6px 12px;font-size:12px}.build-shelf-tools>.build-tool-icon{width:44px;min-width:44px;flex-shrink:0;padding:0;background:#f7faf4e0}.build-shelf-tools>button[aria-pressed=true]{background:var(--green);color:var(--panel-solid)}.build-inventory-items{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;padding:2px 2px 4px;scroll-snap-type:x proximity}.build-inventory-item{flex:0 0 112px;min-width:0;min-height:100px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:2px;padding:4px 8px 6px;text-align:left;border:1.5px solid transparent;background:#f7faf4c7;border-radius:12px;scroll-snap-align:start}.build-inventory-item[hidden]{display:none}.build-inventory-item[aria-pressed=true]{background:#e4eedbf0;border-color:#648952}.build-item-visual{height:46px;flex-shrink:0;display:grid;grid-template:minmax(0,1fr) / minmax(0,1fr);place-items:center;color:#59764b}.build-item-visual img{width:100%;height:100%;min-width:0;min-height:0;object-fit:contain}.build-item-name{font-size:12px;line-height:1.4}.build-item-stock{font-size:11px;color:#73500f;font-variant-numeric:tabular-nums}.build-item-stock.owned{color:#34532d}.build-inventory-empty{padding:20px 0;color:#173727}#build-strip #build-status{position:absolute;bottom:calc(100% + 8px);left:0;max-width:min(42ch,100%);padding:6px 10px;border-radius:8px;background:#f7faf4eb;color:var(--text);font-size:12px}#build-strip #build-status[data-valid=false]{color:#913d30}body[data-building=true] #minimap{display:none}body[data-building=true] #toasts{bottom:calc(var(--build-shelf-height, 280px) + 40px)}#panel[data-surface=seeds],#panel[data-surface=market]{width:min(620px,calc(calc(100vw / var(--uiz)) - 148px))}.seed-summary{display:flex;align-items:center;justify-content:space-between;gap:12px}.seed-summary>strong{color:var(--gold);font-variant-numeric:tabular-nums}.seed-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.seed-card{position:relative;display:flex;flex-direction:column;justify-content:flex-start;gap:5px;min-width:0;padding:10px 8px 12px;min-height:130px;background:#edf3e8;border:1.5px solid transparent;border-radius:12px}.seed-card[aria-pressed=true]{border-color:#648952;background:#e4eedb}.seed-card.seed-locked{opacity:1;background:#eef2e9;color:var(--muted)}.seed-card.seed-locked .seed-visual{opacity:.65}.seed-visual{display:grid;grid-template:minmax(0,1fr) / minmax(0,1fr);place-items:center;flex-shrink:0;width:100%;height:66px;color:#59764b}.seed-visual img{width:100%;height:100%;min-width:0;min-height:0;object-fit:contain}.seed-name{font-size:12px;line-height:1.4}.seed-card-state{display:flex;align-items:center;justify-content:center;gap:4px;font-size:11px;line-height:1.4}.seed-card-state>span{overflow-wrap:anywhere}.market-card{min-height:158px}.market-card:disabled{opacity:1;color:var(--text)}.market-card:disabled .seed-visual{opacity:.65}.market-card-metrics{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 8px;width:100%;font-size:11px;font-weight:650;font-variant-numeric:tabular-nums}.market-price,.market-quantity{display:flex;align-items:center;gap:4px}.market-price{color:var(--gold)}.market-quantity,.market-card .seed-card-state{color:var(--muted)}.market-in-demand{border-color:#648952;background:#e4eedb}.market-in-demand .seed-card-state{color:#496841;font-weight:650}.seed-detail{background:#edf3e8;padding:20px;border-radius:12px}.seed-detail-heading{display:flex;align-items:center;gap:10px;margin-bottom:18px}.seed-detail-heading h3{margin:0;font-size:22px;letter-spacing:-.035em}.seed-detail-heading>span:first-child{color:#68874d}.seed-selected{margin-left:auto;font-size:11px;font-weight:650;color:#496841}.seed-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 16px;margin:0}.seed-metrics dt{color:var(--muted);font-size:11px}.seed-metrics dd{margin:5px 0 0;font-size:20px;font-weight:750;letter-spacing:-.025em;font-variant-numeric:tabular-nums}.seed-status{color:var(--muted);font-size:11px;line-height:1.5;margin-top:18px}.seed-bulk{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.seed-bulk[hidden]{display:none}.seed-bulk button{font-size:12px;padding:8px 4px}.farm-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 12px;margin:0 0 12px}.farm-summary dt{color:var(--muted);font-size:11px}.farm-summary dd{margin:5px 0 0;font-size:21px;font-weight:750;font-variant-numeric:tabular-nums}.farm-style-choices{display:grid;gap:10px}.farm-style-choice{display:flex;justify-content:flex-start;gap:12px;padding:18px;background:#edf3e8;border:1.5px solid transparent}.farm-style-choice[aria-pressed=true]{border-color:#648952;background:#e4eedb}.farm-style-swatches{margin-left:auto;display:flex;gap:5px}.farm-style-swatches i{width:24px;height:24px;border-radius:6px}@media(max-width:1100px){#panel[data-surface=seeds],#panel[data-surface=market]{width:min(560px,calc(calc(100vw / var(--uiz)) - 108px))}#build-strip.build-shelf{width:calc(calc(100vw / var(--uiz)) - 116px)}}@media(max-width:760px),(orientation:landscape)and (max-height:520px)and (pointer:coarse){#build-strip.build-shelf{width:calc(calc(100vw / var(--uiz)) - 24px);bottom:max(12px,env(safe-area-inset-bottom));padding:8px 10px}.build-shelf-tools{gap:4px}.build-inventory-filter{width:100px}.build-snap{gap:4px}.build-shelf-tools>button{padding-inline:10px}.build-shelf-tools>.build-tool-icon{padding:0}body[data-building=true] #toasts{bottom:calc(var(--build-shelf-height, 300px) + 24px)}#panel[data-surface=seeds],#panel[data-surface=market]{inset:120px 12px 14px;width:auto;z-index:14}.seed-grid{gap:7px}.market-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.seed-card{min-height:116px;padding:8px 4px}.seed-visual{height:50px}.seed-name{font-size:11px}.seed-card-state{font-size:10px;gap:3px}.seed-detail{padding:16px}.seed-detail-heading{margin-bottom:14px}.seed-detail-heading h3{font-size:20px}.seed-metrics{gap:14px 10px}.seed-metrics dt{font-size:10px}.seed-metrics dd{font-size:17px}.seed-bulk{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:360px){.build-inventory-filter{flex:0 0 72px;width:72px;padding-inline:6px}.build-snap{gap:4px}.build-shelf-tools>.primary{flex:0 0 48px;padding-inline:6px}}@media(max-height:660px){.build-item-visual{height:36px}.build-inventory-item{min-height:90px}}.economic-action{position:absolute;top:88px;left:50%;transform:translate(-50%);z-index:9;width:min(280px,calc(calc(100vw / var(--uiz)) - 32px));display:grid;grid-template-columns:1fr auto auto;gap:6px 12px;align-items:center;padding:10px 14px;background:var(--panel);border-radius:12px;box-shadow:var(--shadow)}.economic-action[hidden]{display:none}.economic-action-time{color:var(--muted);font-variant-numeric:tabular-nums}.economic-action-cancel{padding:4px;min-width:28px}.economic-action progress{grid-column:1 / -1;width:100%;height:4px;border:0;border-radius:4px;overflow:hidden;accent-color:var(--green)}.economic-action progress::-webkit-progress-bar{background:var(--border)}.economic-action progress::-webkit-progress-value{background:var(--green)}.economic-action progress::-moz-progress-bar{background:var(--green)}.inventory-balances{display:flex;gap:20px;font-weight:700;font-variant-numeric:tabular-nums;margin-bottom:16px}#panel[data-surface=inventory]{--inv-text: #eef2e6;--inv-dim: rgb(238 242 230 / .62);--inv-line: rgb(255 255 255 / .1);--inv-gold: #f3d77e;--inv-slot: rgb(255 255 255 / .055);inset:50% auto auto 50%;translate:-50% -50%;width:min(900px,calc(calc(100vw / var(--uiz)) - 32px));max-height:calc(calc(100dvh / var(--uiz)) - 40px);z-index:13;border:1px solid var(--inv-line);border-radius:24px;background:radial-gradient(120% 90% at 15% -10%,rgb(84 122 86 / .5),transparent 55%),radial-gradient(90% 70% at 110% 110%,rgb(211 155 31 / .16),transparent 60%),#0e1611db;backdrop-filter:blur(18px) saturate(1.25);color:var(--inv-text);box-shadow:0 0 0 100vmax #060c0873,0 30px 90px #00000080,inset 0 1px #ffffff14}#panel[data-surface=inventory] .panel-heading{padding:18px 22px 6px;background:transparent;border:0}#panel[data-surface=inventory] .panel-heading h2{color:var(--inv-text);font-size:22px}#panel[data-surface=inventory] .panel-heading button{color:var(--inv-dim);border-radius:12px}#panel[data-surface=inventory] .panel-heading button:hover{color:var(--inv-text);background:#ffffff14}#panel[data-surface=inventory] .panel-body{gap:14px;padding:8px 22px 22px}#panel[data-surface=inventory] :focus-visible{outline:2px solid var(--inv-gold);outline-offset:2px}.inventory-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.inventory-tabs{display:flex;gap:4px;min-width:0;padding:4px;border-radius:14px;background:#00000040;box-shadow:inset 0 1px 2px #0000004d}.inventory-tab{position:relative;display:grid;place-items:center;width:42px;height:38px;min-height:0;padding:0;border:0;border-radius:10px;background:transparent;color:var(--inv-dim);box-shadow:none;transition:background .15s ease,color .15s ease}.inventory-tab:hover:not(:disabled):not([aria-selected=true]){color:var(--inv-text);background:#ffffff12}.inventory-tab.none{opacity:.4}.inventory-tab[aria-selected=true]{color:#1d2a20;background:linear-gradient(180deg,#f7e3a1,var(--inv-gold));opacity:1;box-shadow:0 4px 14px #f3d77e4d}.inventory-tab-count{position:absolute;top:-5px;right:-5px;min-width:17px;padding:0 4px;border-radius:999px;background:#3f7a4f;color:#fff;font:800 10px/16px var(--font);font-variant-numeric:tabular-nums;box-shadow:0 0 0 2px #0e1611}.inventory-tab[aria-selected=true] .inventory-tab-count{background:#1d2a20}.inventory-summary .inventory-balances{margin:0;gap:10px;font-size:13px;color:var(--inv-text)}.inventory-summary .resource-name{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.inventory-layout{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:16px;align-items:start}.inventory-bag{display:grid;gap:10px;min-width:0}.inventory-bag-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:0 2px}.inventory-bag-head strong{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--inv-gold)}.inventory-count{margin:0;font-size:11px;font-variant-numeric:tabular-nums;color:var(--inv-dim)}.inventory-grid-frame{position:relative}.inventory-grid,.inventory-hotbar{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:3px}.inventory-slot,.inventory-item,.inventory-hotbar-slot{position:relative;display:grid;place-items:center;aspect-ratio:1;min-width:0;min-height:0;padding:4px;overflow:hidden;border:1px solid var(--inv-line);border-radius:12px;background:var(--inv-slot);box-shadow:inset 0 2px 6px #00000059;color:var(--inv-text);text-align:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.inventory-grid.entering>*{animation:slot-in .36s cubic-bezier(.16,1,.3,1) backwards;animation-delay:calc(var(--i, 0) * 9ms)}@keyframes slot-in{0%{opacity:0;scale:.82}}.inventory-item,.inventory-hotbar-slot{cursor:grab;transition:translate .14s ease,border-color .14s ease,background .14s ease,box-shadow .14s ease}.inventory-item{background:radial-gradient(circle at 50% 38%,#ffffff29,#ffffff0d 72%);border-color:#ffffff24}.inventory-item:hover:not(:disabled),.inventory-hotbar-slot:hover:not(:disabled){background:radial-gradient(circle at 50% 38%,#ffffff38,#ffffff14 72%);translate:0 -2px;border-color:#f3d77e8c;box-shadow:inset 0 2px 6px #0003,0 6px 16px #0000004d}.inventory-item.inventory-item[aria-pressed=true]:not(:disabled){border-color:var(--inv-gold);background:radial-gradient(circle at 50% 38%,#f3d77e59,#f3d77e1a 72%)}.inventory-hotbar-slot:not([data-held]),.inventory-hotbar-slot[data-held=""]{cursor:pointer}.inventory-visual{display:grid;place-items:center;width:100%;height:100%;min-width:0;color:var(--inv-dim);pointer-events:none}.inventory-visual img,.inventory-hotbar-slot img{width:88%;height:88%;scale:1.3;object-fit:contain;filter:drop-shadow(0 3px 3px rgb(0 0 0 / .4));pointer-events:none;transition:scale .16s ease}.inventory-item:hover .inventory-visual img{scale:1.45}.inventory-visual img[hidden],.inventory-hotbar-slot img[hidden]{display:none}.inventory-item-name{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.inventory-item-quantity{position:absolute;right:5px;bottom:2px;color:#fff;font:800 12px/1 var(--font);font-variant-numeric:tabular-nums;text-shadow:0 1px 0 #101810,1px 0 0 #101810,-1px 0 0 #101810,0 -1px 0 #101810;pointer-events:none}.inventory-item-state{position:absolute;left:3px;top:3px;padding:0 4px;border-radius:5px;background:#d39b1f;color:#fff;font-size:8px;font-weight:800;line-height:13px;pointer-events:none}.inventory-item.lifted>:not(.slot-preview),.inventory-hotbar-slot.lifted>:not(.slot-preview,.inventory-hotbar-key){opacity:.12}.inventory-item.lifted,.inventory-hotbar-slot.lifted{translate:none;border-style:dashed;border-color:#ffffff4d;background:#00000026}.drop-target{z-index:1;scale:1.08;border-color:#8fd18a!important;background:radial-gradient(circle at 50% 45%,#8fd18a52,#8fd18a14 70%)!important;box-shadow:0 0 0 2px #8fd18a80,0 0 22px #8fd18a66!important;transition:scale .12s cubic-bezier(.34,1.56,.64,1)}.drop-target.swapping>:not(.slot-preview,.inventory-hotbar-key){opacity:.25}.inventory-page.drop-target{scale:1.06;color:#fff}.slot-preview{position:absolute;inset:4px;display:grid;place-items:center;pointer-events:none;animation:preview-in .16s ease-out}.slot-preview.incoming{opacity:.6}.slot-preview.outgoing{opacity:.45}.slot-preview .inventory-visual,.slot-preview>img{width:100%;height:100%}.slot-preview img{width:88%;height:88%;scale:1.3;object-fit:contain}.slot-preview[hidden],.slot-preview img[hidden]{display:none}@keyframes preview-in{0%{opacity:0;scale:.7}}.landed{animation:slot-land .42s cubic-bezier(.34,1.56,.64,1)}@keyframes slot-land{0%{scale:1.22;box-shadow:0 0 #f3d77eb3,inset 0 2px 6px #0003;border-color:#f3d77e}35%{scale:.94}to{scale:1;box-shadow:0 0 0 12px #f3d77e00,inset 0 2px 6px #00000059}}.returned{animation:slot-return .3s ease}@keyframes slot-return{25%{translate:-3px 0}50%{translate:3px 0}75%{translate:-2px 0}}.slot-shield{position:fixed;inset:0;z-index:59;cursor:grabbing;touch-action:none}.slot-ghost{position:fixed;z-index:60;left:0;top:0;width:0;height:0;pointer-events:none;will-change:transform;contain:layout style}.slot-ghost-item{position:absolute;left:calc(-36px * var(--ui, 1));top:calc(-36px * var(--ui, 1));display:grid;place-items:center;width:calc(72px * var(--ui, 1));height:calc(72px * var(--ui, 1));animation:ghost-lift .18s cubic-bezier(.34,1.56,.64,1)}@keyframes ghost-lift{0%{scale:.7}}.slot-ghost-item .inventory-visual,.slot-ghost-item>img{position:relative;width:100%;height:100%;display:grid;place-items:center}.slot-ghost-item img{width:92%;height:92%;scale:1.35;object-fit:contain;filter:drop-shadow(0 10px 8px rgb(0 0 0 / .45))}.slot-ghost-shadow{position:absolute;left:22%;right:22%;bottom:-6%;height:12%;border-radius:50%;background:#00000059;filter:blur(4px)}.slot-ghost-item .inventory-item-quantity{right:6px;bottom:6px;font-size:14px}.inventory-hotbar{padding:10px;border-radius:16px;background:#00000038;box-shadow:inset 0 1px 3px #00000059}.inventory-hotbar-slot.inventory-hotbar-slot.selected:not(:disabled){border-color:var(--inv-gold);background:radial-gradient(circle at 50% 38%,#f3d77e61,#f3d77e1a 72%);box-shadow:0 0 14px #f3d77e40}.inventory-hotbar-slot.spent img{opacity:.35;filter:grayscale(1)}.inventory-hotbar-key{position:absolute;left:5px;top:3px;color:var(--inv-dim);font:800 9px/1 var(--font);pointer-events:none}.inventory-hotbar-slot.selected .inventory-hotbar-key{color:var(--inv-gold)}.inventory-empty{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:6px;padding:12px;text-align:center;color:var(--inv-text);pointer-events:none}.inventory-empty svg{opacity:.5}.inventory-empty .note{margin:0;color:var(--inv-dim)}.inventory-pagination{display:flex;align-items:center;justify-content:center;gap:12px}.inventory-page{min-height:0;padding:5px 14px;border:1px solid var(--inv-line);border-radius:999px;background:#ffffff0f;color:var(--inv-text);font-size:12px;box-shadow:none}.inventory-page:hover:not(:disabled){background:#ffffff24}.inventory-page:disabled{opacity:.35}.inventory-page-count{font-size:12px;font-variant-numeric:tabular-nums;color:var(--inv-dim)}.inventory-card{position:sticky;top:0;display:grid;gap:6px;padding:14px;border:1px solid var(--inv-line);border-radius:18px;background:linear-gradient(180deg,#ffffff12,#ffffff05)}.inventory-card-picture{display:grid;place-items:center;height:150px;margin-bottom:4px;border-radius:14px;background:radial-gradient(circle at 50% 45%,rgb(243 215 126 / .22),transparent 65%);color:var(--inv-dim)}.inventory-card-picture .inventory-visual{width:120px;height:120px}.inventory-card-picture img{width:100%;height:100%;scale:1.3;object-fit:contain;filter:drop-shadow(0 8px 10px rgb(0 0 0 / .45));animation:card-pop .26s cubic-bezier(.34,1.56,.64,1)}@keyframes card-pop{0%{scale:.9;opacity:.4}}.inventory-card-name{font-size:16px;line-height:1.2;color:#fff;overflow-wrap:anywhere}.inventory-card-kind{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--inv-gold)}.inventory-card[data-category=tools] .inventory-card-kind,.inventory-card[data-category=hats] .inventory-card-kind{color:#9fd0ff}.inventory-card-facts{display:grid;gap:4px;margin-top:6px;font-size:12px}.inventory-card-facts>div{display:flex;justify-content:space-between;gap:10px;padding-top:4px;border-top:1px solid var(--inv-line)}.inventory-card-facts span{color:var(--inv-dim)}.inventory-card-facts b{text-align:right;font-weight:700}.inventory-card-hint{margin:6px 0 0;font-size:11px;line-height:1.45;color:#a9d8a4}.inventory-card.empty .inventory-card-name{color:var(--inv-text)}body .inventory-detail{background:#141e18f5;color:#eef2e6;border:1px solid rgb(255 255 255 / .12);box-shadow:0 16px 40px #00000073;backdrop-filter:blur(10px)}.inventory-detail .inventory-facts dt{color:#eef2e699}.inventory-detail .inventory-detail-actions button{color:#eef2e6}.inventory-detail .inventory-detail-actions button:hover,.inventory-detail .inventory-detail-actions button:focus-visible{background:#ffffff1a}.inventory-detail .inventory-detail-actions button.primary{color:#f3d77e}@media(max-width:900px){.inventory-layout{grid-template-columns:minmax(0,1fr)}.inventory-card{display:none}#panel[data-surface=inventory]{width:min(640px,calc(calc(100vw / var(--uiz)) - 24px))}}@media(max-width:760px),(orientation:landscape)and (max-height:520px)and (pointer:coarse){#panel[data-surface=inventory]{inset:60px 8px 8px;translate:none;width:auto;max-height:none;border-radius:20px}#panel[data-surface=inventory] .panel-heading{padding:14px 16px 4px}#panel[data-surface=inventory] .panel-body{padding:6px 12px 14px}.inventory-summary{display:none}.inventory-tabs{overflow-x:auto;scrollbar-width:none;max-width:100%;padding-top:8px}.inventory-tab{flex:none;width:38px;height:36px}.inventory-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:3px}.inventory-hotbar{gap:3px;padding:6px}.inventory-hotbar-slot{padding:2px;border-radius:8px}.inventory-hotbar-key{font-size:8px;left:3px}.inventory-hotbar-slot .inventory-item-quantity{font-size:10px}}@media(prefers-reduced-motion:reduce){.inventory-grid.entering>*,.landed,.returned,.slot-preview,.slot-ghost-item,.inventory-card-picture img{animation:none}}body:has(#panel[data-surface=inventory]:not(.collapsed)) :is(.hotbar,.hotbar-label){display:none}.inventory-detail{position:fixed;inset:auto;box-sizing:border-box;width:min(272px,calc(calc(100vw / var(--uiz)) - 16px));max-height:calc(calc(100dvh / var(--uiz)) - 16px);overflow-y:auto;margin:0;padding:14px;border:0;border-radius:12px;background:var(--panel);color:var(--text);box-shadow:0 8px 28px #152e302b;font-family:inherit}.inventory-detail-heading{display:flex;align-items:baseline;justify-content:space-between;gap:14px}.inventory-detail-heading h3{margin:0;font-size:15px;overflow-wrap:anywhere}.inventory-detail-quantity{font-size:16px;font-variant-numeric:tabular-nums}.inventory-facts{display:grid;gap:6px;margin:12px 0;font-size:12px}.inventory-facts>div{display:flex;justify-content:space-between;gap:14px}.inventory-facts dt{color:var(--muted)}.inventory-facts dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.inventory-detail-actions{display:flex;flex-direction:column;gap:3px}.inventory-detail-actions button{width:100%;min-height:44px;padding:10px;border:0;border-radius:7px;background:transparent;color:var(--text);text-align:left;font-size:13px}.inventory-detail-actions button:hover,.inventory-detail-actions button:focus-visible{background:var(--button-hover)}.inventory-detail>.note{margin:10px 0;font-size:12px;line-height:1.5}@media(max-width:760px),(orientation:landscape)and (max-height:520px)and (pointer:coarse){#panel[data-surface=cookbook]{width:auto}}.remote-player-label{position:absolute;z-index:7;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;gap:5px;max-width:min(240px,calc(calc(100vw / var(--uiz)) - 24px));pointer-events:none}.remote-player-name,.remote-typing{color:#fff;text-shadow:0 1px 3px #000,0 0 2px #000;font-size:12px;font-weight:650;white-space:nowrap}.remote-typing{font-size:11px}.remote-chat-bubble{padding:9px 12px;border-radius:12px;background:#f7faf4f5;color:var(--text);font-size:12px;line-height:1.5;overflow-wrap:anywhere;text-align:center;max-height:6em;overflow:hidden;box-shadow:0 4px 12px #263e321a}.remote-player-label[hidden],.remote-chat-bubble[hidden],.remote-typing[hidden]{display:none}.remote-player-club{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:1px 7px;border-radius:999px;background:#1f3a2db8;color:#ffe7a8;font-size:10.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.remote-player-club>svg{flex:none}#scene:focus-visible{outline:none}.social-location{display:flex;gap:12px;align-items:center;margin-bottom:16px}.social-location .note{margin-left:auto;font-variant-numeric:tabular-nums}.social-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.social-farms{display:grid}.trade-field{display:grid;gap:6px;margin:16px 0}.trade-field input,.trade-field select{width:100%}.trade-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:16px 0;border-bottom:1px solid var(--border)}.trade-row .grow{min-width:100px;display:grid;gap:4px}.trade-price{font-variant-numeric:tabular-nums}[aria-label="Farm invitation link"]{width:100%;margin-top:12px}@media(max-width:700px){.economic-action{top:136px}}.resource-amount{display:inline-flex;align-items:center;gap:6px;font-variant-numeric:tabular-nums}.resource-amount svg{color:var(--gold);flex:none}.resource-name{font-size:12px;font-weight:400;color:var(--muted)}.modal.sale-review{width:min(500px,calc(calc(100vw / var(--uiz)) - 24px))}.sale-review-rows{display:grid;margin:18px 0;max-height:min(calc(40vh / var(--uiz)),350px);overflow-y:auto}.sale-review-row{display:grid;grid-template-columns:76px 1fr auto;align-items:center;gap:14px;padding:10px 0}.sale-review-row+.sale-review-row{border-top:1px solid var(--border)}.sale-review-visual{display:grid;place-items:center;height:58px}.sale-review-visual img{width:88px;height:60px;object-fit:contain}.sale-review-quantity{display:grid;gap:2px;font-variant-numeric:tabular-nums}.sale-review-quantity strong{font-size:26px;line-height:1.2;letter-spacing:-.025em}.sale-review-quantity span{color:var(--muted)}.sale-review-reward{display:grid;gap:6px;text-align:right}.sale-review-total{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:18px 0;border-top:1px solid var(--border-strong)}.sale-review-total .resource-amount strong{font-size:24px}.sale-review-status{margin:6px 0 16px;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}@media(max-width:480px){.sale-review-row{grid-template-columns:56px 1fr auto;gap:10px}.sale-review-visual img{width:64px}.sale-review-quantity strong{font-size:23px}}.modal-backdrop.conversation-backdrop{place-items:end center;padding:20px;background:transparent}.modal.visitor-dialogue{width:min(920px,100%);max-height:calc(48dvh / var(--uiz));padding:24px 28px;border-radius:16px}.dialogue-body{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center}.visitor-dialogue h2{margin-bottom:8px;font-size:21px}.dialogue-speech{max-width:52ch;line-height:1.7;font-size:15px;margin:0}.dialogue-request{display:grid;grid-template-columns:42px auto;align-items:center;gap:10px 12px}.dialogue-quantity{display:grid;gap:2px}.dialogue-quantity strong{font-size:24px;font-variant-numeric:tabular-nums}.dialogue-quantity span{color:var(--muted)}.dialogue-rewards{display:flex;grid-column:1 / -1;flex-wrap:wrap;gap:16px}.dialogue-options{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:12px}.dialogue-status{margin:18px 0 0;font-size:12px;color:var(--muted)}@media(max-width:760px),(orientation:landscape)and (max-height:520px)and (pointer:coarse){.modal-backdrop.conversation-backdrop{padding:12px}.modal.visitor-dialogue{padding:20px;max-height:calc(56dvh / var(--uiz))}.dialogue-body{grid-template-columns:minmax(0,1fr);gap:14px}.dialogue-request{grid-template-columns:36px 1fr auto;gap:8px}.dialogue-quantity strong{font-size:20px}.dialogue-rewards{grid-column:auto;gap:10px;flex-direction:column}.dialogue-speech{font-size:13px;line-height:1.6}.dialogue-options>button{flex:1 1 auto}}body[data-conversation=open] #journey{visibility:hidden}.room-chat{position:absolute;z-index:12;left:24px;bottom:max(24px,env(safe-area-inset-bottom));width:min(340px,calc(calc(100vw / var(--uiz)) - 110px));color:var(--text);pointer-events:none}.room-chat[hidden]{display:none}.chat-header{display:flex;align-items:center;gap:8px;min-height:36px}.chat-header button{pointer-events:auto;min-height:36px}.chat-open{background:#f7faf4e0;font-size:12px}.chat-open kbd{font-size:10px;color:var(--muted)}.chat-room-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:650}.room-chat[data-log-visible=true]{padding:12px;border-radius:16px;background:#f7faf4e0;box-shadow:0 14px 40px #15332233}.chat-log{list-style:none;padding:0;margin:10px 0 0;max-height:min(200px,calc(28dvh / var(--uiz)));overflow-y:auto;scrollbar-color:#9db39c transparent;scrollbar-width:thin;pointer-events:auto}.room-chat[data-log-visible=false] .chat-log{display:none}.chat-message{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;margin:0 0 10px;font-size:12px;line-height:1.5}.chat-sender{font-weight:700;overflow-wrap:anywhere}.chat-text{grid-column:1 / -1;grid-row:2;overflow-wrap:anywhere;unicode-bidi:plaintext}.chat-time{grid-column:2;grid-row:1;color:var(--muted);font-size:10px;font-variant-numeric:tabular-nums}.chat-delivery{color:var(--muted);grid-column:1 / -1;font-size:11px}.chat-failed .chat-delivery{color:var(--danger, #a43b32)}.chat-message button{justify-self:start;pointer-events:auto}.chat-empty{color:var(--muted);font-size:12px}.chat-compose{display:flex;align-items:center;gap:6px;margin-top:12px;pointer-events:auto}.chat-compose[hidden],.chat-header [hidden]{display:none}.chat-input{min-width:0;width:100%;min-height:40px;border:1px solid var(--border-strong);border-radius:8px;padding:8px 10px;background:var(--panel, #f7faf4);color:var(--text);caret-color:var(--green);font:inherit;font-size:13px}.chat-send{flex:none}body[data-chat-visible=true] #minimap,body[data-chat-focused=true] #touch-stick,body[data-chat-focused=true] #jump{visibility:hidden}body[data-building=true] .room-chat,body:has(#panel:not(.collapsed)) .room-chat,body:has(.modal-backdrop) .room-chat{display:none}@media(max-width:760px),(orientation:landscape)and (max-height:520px)and (pointer:coarse){.room-chat{left:12px;bottom:max(258px,env(safe-area-inset-bottom));width:min(310px,calc(calc(100vw / var(--uiz)) - 86px))}body[data-chat-focused=true] .room-chat{bottom:max(12px,env(safe-area-inset-bottom));width:calc(calc(100vw / var(--uiz)) - 24px)}.chat-header button,.chat-send{min-height:44px}.chat-input{font-size:16px;min-height:44px}.chat-log{max-height:min(150px,calc(23dvh / var(--uiz)))}}@media(prefers-reduced-motion:no-preference){.room-chat[data-log-visible=true]{animation:chat-reveal .18s ease-out}@keyframes chat-reveal{0%{opacity:.65;transform:translateY(5px)}to{opacity:1;transform:none}}}.feedback-form{display:grid;gap:14px}.feedback-field{display:grid;gap:6px;font-weight:650}.feedback-field input,.feedback-field textarea,.feedback-field select{width:100%;min-width:0}.feedback-field textarea{resize:vertical;min-height:100px}.feedback-actions,.feedback-history-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.feedback-history-heading{margin-top:10px}.feedback-history-heading h3{margin:0}.feedback-history{display:grid}.feedback-report{padding:14px 0;border-top:1px solid var(--border)}.feedback-report-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.feedback-report-heading strong{overflow-wrap:anywhere}.feedback-report-heading .badge{flex-shrink:0}.feedback-report-details,.feedback-resolution{margin:8px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.feedback-status:empty{display:none}.feedback-actions [hidden]{display:none}.feedback-field textarea:focus-visible{outline:3px solid #bd8822;outline-offset:3px}.club-toolbar,.club-actions,.club-share{display:flex;align-items:center;justify-content:space-between;gap:8px}.club-content{display:grid;gap:16px}.club-name{margin:0;font-size:24px;letter-spacing:-.035em;overflow-wrap:anywhere}.club-form{display:grid;gap:10px}.club-form+.club-form{padding-top:16px;border-top:1px solid var(--border)}.club-field{display:grid;gap:6px;font-weight:650}.club-field input{width:100%;min-width:0}.club-share input{min-width:0;flex:1}.club-actions{flex-wrap:wrap;justify-content:flex-start}.club-member{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--border)}.club-member-identity{display:grid;grid-template-columns:20px minmax(0,1fr);gap:3px 8px}.club-member-identity svg{grid-row:span 2;align-self:center}.club-member-identity strong{overflow-wrap:anywhere}.club-member-identity .note{grid-column:2}.club-member-action{max-width:132px;min-width:0}.club-directory-row{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--border)}.club-directory-row strong{overflow-wrap:anywhere}.club-directory-row .note{flex-shrink:0}.club-manage .club-form{margin-top:12px}.club-status:empty,#panel[data-surface=clubs] button[hidden]{display:none}@media(max-width:420px){.club-member{gap:8px}.club-member-action{max-width:105px}}.club-identity{display:flex;align-items:center;gap:12px}.club-identity .club-name{margin:0;min-width:0;overflow-wrap:anywhere}.club-badge{display:grid;place-items:center;width:48px;height:48px;flex:none;border-radius:12px;background:#e3ecd8;color:#244c3a}.club-pages{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0 0}.club-pages button{flex:1;min-width:76px}.club-section{display:grid;gap:12px}.club-section h3{margin:12px 0 0}.club-badges{display:flex;gap:8px;flex-wrap:wrap}.club-badges button{display:grid;place-items:center;min-width:44px;min-height:44px}.club-badges button[aria-pressed=true]{background:#244c3a;color:#fff}.social-inbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.social-inbox-status:empty{display:none}.social-inbox{display:grid;gap:16px}.social-invitation{padding:16px 0;border-bottom:1px solid #d8e2d3}.social-invitation-heading{display:flex;gap:12px;align-items:center}.social-invitation-heading .grow{min-width:0;overflow-wrap:anywhere}.social-invitation-heading h3{margin:0 0 5px}.social-invitation-heading p{margin:0}.social-invitation-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}#panel[data-surface=player-social] button[hidden]{display:none}.chat-channel{pointer-events:auto;width:auto;max-width:120px;min-height:36px;padding:4px 8px;font-size:12px}@media(max-width:600px){.chat-channel{min-height:44px}}.quest-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:16px}.quest-toolbar select{flex:1;min-width:0}.quest-detail{display:grid;gap:12px}.quest-name{margin:0;font-size:24px;line-height:1.2;letter-spacing:-.025em}.quest-guide{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.quest-giver-badge{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:#e3ecd8;color:var(--green)}.quest-detail .note{margin:0}.quest-progress-numbers{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-variant-numeric:tabular-nums}.quest-progress-numbers strong{font-size:20px}.quest-progress{width:100%;height:8px;border:0;border-radius:8px;overflow:hidden;background:#e3ecd8;accent-color:var(--green)}.quest-progress::-webkit-progress-bar{background:#e3ecd8}.quest-progress::-webkit-progress-value{background:var(--green);border-radius:8px}.quest-progress::-moz-progress-bar{background:var(--green)}.quest-rewards{display:flex;flex-wrap:wrap;gap:12px;font-variant-numeric:tabular-nums}.quest-groups{display:grid;gap:24px;margin-top:24px}.quest-group-title{margin:0 0 8px;font-size:16px}.quest-group .note{margin:0}.quest-list{display:grid}.quest-row{display:flex;align-items:center;gap:12px;padding:12px 8px;border:0;border-top:1px solid var(--border);border-radius:0;text-align:left;background:transparent}.quest-row[aria-pressed=true]{background:#e3ecd8}.quest-row .grow{display:grid;gap:4px;min-width:0}.quest-row strong{overflow-wrap:anywhere}.quest-status:empty{display:none}.quest-conversation-list{display:grid;margin-top:16px}.quest-conversation-row{display:flex;align-items:center;gap:12px;border-top:1px solid var(--border);padding:8px 0}.quest-conversation-view{flex:1;display:flex;gap:12px;align-items:center;text-align:left;min-width:0;border:0;padding:8px 0}.quest-conversation-view .grow{display:grid;gap:4px}.quest-conversation-view strong{font-size:13px;overflow-wrap:anywhere}.quest-conversation-reward{font-size:12px;font-variant-numeric:tabular-nums}@media(max-width:760px),(orientation:landscape)and (max-height:520px)and (pointer:coarse){.quest-conversation-row{flex-wrap:wrap;gap:8px}.quest-conversation-view{flex-basis:100%}}.quest-toolbar button[hidden]{display:none}.quest-conversation:focus-visible{outline:3px solid #bd8822;outline-offset:3px}.social-pages{display:flex;gap:6px;margin:16px 0}.social-pages button{flex:1;padding:8px 6px;min-width:0;font-size:12px}.social-add-friend{display:grid;gap:10px;margin-bottom:12px}.social-add-friend .field{display:grid;justify-content:stretch;gap:6px;font-weight:650}.social-content>h3{margin:24px 0 8px}.social-person{display:grid;gap:12px;padding:16px 0;border-top:1px solid var(--border)}.social-person-heading{display:flex;align-items:center;gap:12px}.social-person-heading .grow{display:grid;gap:4px;min-width:0;overflow-wrap:anywhere}.social-person-badge{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:12px;background:#e3ecd8;color:var(--green)}.social-person-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.social-person-manage{width:auto;min-width:100px}.social-retry[hidden]{display:none}.social-add-friend .field>input[type=text]{width:100%;max-width:none;min-width:0}.building-picker{display:grid;gap:6px;margin-bottom:16px;font-size:12px;font-weight:650}.building-picker select{width:100%;min-width:0}.building-empty{display:grid;gap:12px}.building-empty>svg{color:var(--green)}.building-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px;align-items:center}.building-preview{display:grid;place-items:center;height:144px;min-width:0}.building-preview canvas{width:100%;height:100%;touch-action:pan-y}.building-preview>svg{color:var(--green)}.building-numbers{margin:0;display:grid;gap:10px;font-variant-numeric:tabular-nums}.building-numbers>div{display:flex;justify-content:space-between;gap:12px}.building-numbers dt{font-size:12px;color:var(--muted)}.building-numbers dd{margin:0;font-weight:750}.building-status{margin:12px 0 8px;font-weight:650;font-size:13px}.building-progress{width:100%;height:8px;border:0;background:#e3ecd8;accent-color:var(--green);border-radius:8px;overflow:hidden}.building-progress::-webkit-progress-bar{background:#e3ecd8}.building-progress::-webkit-progress-value{background:var(--green)}.building-progress::-moz-progress-bar{background:var(--green)}.building-pages{display:flex;gap:8px;margin:16px 0}:is(.building-pages,.social-pages,.club-pages,.panel-subnav) button:is([aria-pressed=true],[aria-selected=true]){background:var(--green);border-color:var(--green);color:var(--panel-solid)}.building-pages button{flex:1}.building-hen{display:flex;align-items:center;gap:8px;padding:12px 0;border-bottom:1px solid var(--border)}.building-hen img{width:68px;height:52px;object-fit:contain;flex:none}.building-hen .grow{display:grid;gap:4px;min-width:0;overflow-wrap:anywhere}.building-hen .grow strong{font-size:13px}.building-hen select{max-width:120px;min-width:0;font-size:12px}.building-management .field{display:grid;gap:6px;justify-content:stretch;font-size:12px;font-weight:650}.building-management .field>input:not([type=range]):not([type=color]),.building-management .field>select{width:100%;max-width:none}.building-management form{display:grid;gap:12px}.building-management h3{margin:24px 0 4px}.building-supplies{display:grid;gap:12px}.building-management [hidden],.building-empty[hidden],.building-picker[hidden],.building-management[hidden]{display:none}@media(max-width:480px){.building-hero{gap:8px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.building-preview{height:128px}.building-hen{flex-wrap:wrap}.building-hen select{flex-basis:100%;max-width:none}}.building-hen-visual{display:grid;place-items:center;width:68px;height:52px;flex:none;color:var(--green)}.marketplace-field{display:grid;gap:6px;font-weight:650;min-width:0}.marketplace-field>input,.marketplace-field>select{width:100%;max-width:none;min-width:0}.marketplace-sell{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.marketplace-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.marketplace-refresh{display:flex;align-items:center;justify-content:space-between;gap:8px}.marketplace-refresh p{margin:0}.marketplace-offer{display:grid;grid-template-columns:56px minmax(0,1fr)}.marketplace-offer .grow{min-width:0;overflow-wrap:anywhere}.marketplace-preview{width:56px;height:56px;display:grid;place-items:center;background:var(--button-wash,#edf3e8);border-radius:12px}.marketplace-preview img{width:100%;height:100%;object-fit:contain}.marketplace-terms{grid-column:2;display:flex;justify-content:space-between;align-items:center;gap:8px;font-variant-numeric:tabular-nums}.marketplace-status{margin:0}#panel[data-surface=trading] .panel-body>*{flex-shrink:0}#panel[data-surface=trading] [hidden]{display:none}@media(max-width:480px){.marketplace-sell{grid-template-columns:minmax(0,1fr)}}.marketplace-filters summary{cursor:pointer;padding:10px 0;font-weight:650}.marketplace-filters .marketplace-tools{padding-top:8px}#journey[hidden]{display:none}.performance-graph{display:block;width:100%;height:56px;margin-top:12px;flex-shrink:0}.performance-section{margin-top:10px;flex-shrink:0;font-size:11px;pointer-events:auto}.performance-section summary{cursor:pointer;min-height:24px}.performance-slow{margin:4px 0 0;padding-left:18px;font-variant-numeric:tabular-nums}.coach-target{outline:3px solid #f3c64f!important;outline-offset:3px;animation:coach-pulse 1.4s ease-in-out infinite}@keyframes coach-pulse{50%{outline-offset:7px;outline-color:#f3c64f73}}.coach-hint{position:fixed;z-index:40;translate:-50% -100%;padding:6px 12px;border-radius:999px;background:#1f3a2d;color:#ffe7a8;box-shadow:0 6px 16px #00000040;font-size:13px;font-weight:750;white-space:nowrap;pointer-events:none;animation:coach-bob 1.4s ease-in-out infinite}.coach-hint[data-side=below]{translate:-50% 0}.coach-hint:after{content:"";position:absolute;left:50%;top:100%;translate:-50% 0;border:7px solid transparent;border-top-color:#1f3a2d}.coach-hint[data-side=below]:after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:#1f3a2d}.coach-hint[hidden]{display:none}@keyframes coach-bob{50%{margin-top:-5px}}@media(prefers-reduced-motion:reduce){.coach-target,.coach-hint{animation:none}}.fit-text{display:block;min-width:0;overflow:hidden;white-space:nowrap}.connection-status{position:absolute;z-index:40;top:max(84px,calc(env(safe-area-inset-top) + 76px));left:50%;translate:-50% 0;display:flex;align-items:center;gap:8px;padding:6px 6px 6px 12px;border-radius:999px;background:#24322aeb;color:#f7faf4;font-size:12px;font-weight:650;box-shadow:var(--shadow);white-space:nowrap}.connection-status[hidden]{display:none}.connection-status button{min-height:28px;padding:4px 12px;border:0;border-radius:999px;background:#f7faf4;color:var(--green);font-size:12px}.connection-spinner{width:12px;height:12px;border:2px solid rgb(247 250 244 / 35%);border-top-color:#f7faf4;border-radius:50%;animation:connection-spin .9s linear infinite}@keyframes connection-spin{to{rotate:360deg}}@media(prefers-reduced-motion:reduce){.connection-spinner{animation:none}}#topbar,#tabs,#minimap,#journey,#emote-button,#farm-button,.hotbar,.look-hint{transition:opacity .32s ease}body[data-look=locked] :is(#topbar,#tabs,#minimap,#journey,#emote-button,#farm-button){opacity:.38}body[data-look=locked] .hotbar{opacity:.82}.look-hint{position:fixed;z-index:12;top:18px;left:50%;translate:-50% 0;display:flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:999px;background:#0e161180;color:#f7faf4db;font-size:12px;font-weight:600;letter-spacing:.02em;pointer-events:none;opacity:0}body[data-look=locked] .look-hint{opacity:.7}.look-hint kbd,.look-hint-card kbd{display:inline-grid;place-items:center;min-width:34px;height:24px;padding:0 7px;border-radius:7px;background:#f7faf4f0;color:#1b2b22;box-shadow:inset 0 -2px #0000002e;font:700 11px/1 inherit;font-family:inherit}.look-hint-card{position:fixed;z-index:40;top:22%;left:50%;display:flex;align-items:center;gap:14px;padding:14px 20px 14px 14px;border-radius:18px;background:#0e1611d1;backdrop-filter:blur(10px);color:#f7faf4;box-shadow:0 18px 50px #00000059;pointer-events:none;opacity:0;translate:-50% 10px;transition:opacity .26s ease,translate .26s ease}.look-hint-card.shown{opacity:1;translate:-50% 0}.look-hint-card kbd{min-width:46px;height:34px;font-size:14px;border-radius:9px}.look-hint-card div{display:grid;gap:2px}.look-hint-card strong{font-size:15px}.look-hint-card span{font-size:13px;color:#f7faf4b3}@media(pointer:coarse){.look-hint,.look-hint-card{display:none}}@media(prefers-reduced-motion:reduce){.look-hint-card{transition:opacity .12s}}.world-anchor,#interact.world-anchor{position:absolute;inset:0 auto auto 0;transition:background .15s ease,color .15s ease}.building-manage-prompt,.plot-tonic-prompt{position:absolute;z-index:8;min-height:32px;padding:6px 10px;border-radius:8px;background:var(--panel);color:var(--text);font-size:11px;box-shadow:0 4px 12px #263e321a}.building-manage-prompt[hidden],.plot-tonic-prompt[hidden]{display:none}.modal.visitor-dialogue{display:flex;flex-direction:column;width:min(760px,100%);height:min(260px,calc(32dvh / var(--uiz)));padding:16px 20px;background:#f7faf4c7;box-shadow:0 8px 24px #15332224;overflow:hidden}.visitor-dialogue .dialogue-body,.visitor-dialogue .quest-conversation-list{flex:1;min-height:0;overflow-y:auto;scrollbar-gutter:stable;overscroll-behavior:contain}.visitor-dialogue .dialogue-body{align-items:start;gap:20px}.visitor-dialogue>.dialogue-copy{flex:none}.visitor-dialogue .dialogue-status{flex:none;height:2.4em;margin-top:8px;overflow-y:auto}.visitor-dialogue .dialogue-options{flex:none;margin-top:6px;gap:6px}.visitor-dialogue h2{font-size:18px;margin-bottom:6px}.dialogue-nameplate{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--border)}.visitor-dialogue .dialogue-nameplate h2{margin:0}.dialogue-role{color:var(--text);font-size:12px}.visitor-dialogue .dialogue-speech{font-size:14px;line-height:1.5}.visitor-dialogue .dialogue-options>button{min-height:34px;padding:6px 10px;font-size:12px}.visitor-dialogue .dialogue-status,.visitor-dialogue .dialogue-quantity span,.visitor-dialogue .resource-name,.visitor-dialogue .quest-conversation-view .note{color:var(--text)}@media(max-width:760px),(orientation:landscape)and (max-height:520px)and (pointer:coarse){.modal.visitor-dialogue{height:min(310px,calc(46dvh / var(--uiz)));padding:14px 16px}.visitor-dialogue .dialogue-body{gap:10px}.visitor-dialogue .dialogue-speech{font-size:13px}.visitor-dialogue .dialogue-options>button{min-height:38px}}.modal.visitor-dialogue.quest-conversation{height:auto;max-height:min(420px,calc(calc(100dvh / var(--uiz)) - 150px))}.quest-conversation .quest-conversation-list{flex:0 1 auto;margin-top:8px}.quest-conversation .quest-conversation-list[hidden]{display:none}@media(max-width:760px),(orientation:landscape)and (max-height:520px)and (pointer:coarse){.modal.visitor-dialogue.quest-conversation{max-height:calc(calc(100dvh / var(--uiz)) - 130px)}.quest-conversation .dialogue-options>button{min-height:44px}}.quest-conversation .dialogue-status:empty{display:none}@media(max-width:760px),(orientation:landscape)and (max-height:520px)and (pointer:coarse){.modal.visitor-dialogue{height:min(236px,calc(40dvh / var(--uiz)));padding:10px 12px 12px}.modal.visitor-dialogue.quest-conversation{height:auto;max-height:min(calc(46dvh / var(--uiz)),300px)}.visitor-dialogue .dialogue-nameplate{margin-bottom:4px;padding-bottom:4px}.visitor-dialogue .dialogue-nameplate h2{font-size:15px}.visitor-dialogue .dialogue-speech{margin:0;font-size:13px;line-height:1.4}.visitor-dialogue .dialogue-body{flex:1 1 auto;min-height:0;overflow-y:auto;gap:8px;margin-top:6px}.visitor-dialogue .dialogue-quantity strong{font-size:18px}.visitor-dialogue .dialogue-crop svg,.visitor-dialogue .dialogue-request svg{width:26px;height:26px}.visitor-dialogue .dialogue-status{height:auto;margin-top:4px;font-size:12px}.visitor-dialogue .dialogue-status:empty{display:none}.visitor-dialogue .dialogue-options{display:flex;flex-wrap:nowrap;gap:6px;margin-top:8px}.visitor-dialogue .dialogue-options>button{flex:1 1 0;min-width:0;min-height:40px;padding:4px 6px;font-size:12px;white-space:normal;line-height:1.2}body[data-conversation=open] :is(#touch-stick,#jump){display:none!important}}.trader-offers{display:grid;gap:8px;max-height:min(calc(46vh / var(--uiz)),340px);overflow-y:auto}.trader-offer{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}.trader-offer-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:10px;background:#e7f0de;color:var(--green)}.trader-offer-info{display:grid;gap:1px;min-width:0;font-size:12px}.trader-offer-head{display:flex;align-items:center;gap:6px;font-size:14px}.trader-offer .note{font-size:11px}.trader-offer button{min-width:92px}.trader-offer button .resource-name{display:none}.trader-offer button .resource-amount svg{color:#f0c75e}:where(input:not(:where(.noodle-editor *)):not([type=range]):not([type=color]):not([type=checkbox]):not([type=radio]),textarea:not(:where(.noodle-editor *)),select:not(:where(.noodle-editor *))){background:#fdfef9!important;color:var(--text)!important;border:1px solid #b4c4ac!important;border-radius:10px;min-height:42px;padding:10px 12px;box-shadow:inset 0 1px 2px #24413306;transition:border-color .15s ease,background-color .15s ease}input::placeholder,textarea::placeholder{color:#72816d;opacity:1}textarea:focus-visible{outline:3px solid #bd8822;outline-offset:3px}input:disabled,select:disabled,textarea:disabled{opacity:.6;cursor:not-allowed}select:not(:where(.noodle-editor *)){cursor:pointer}.number-field{--number-step-width: 40px;display:grid;grid-template-columns:var(--number-step-width) minmax(0,1fr) var( --number-step-width );align-items:stretch;min-width:0;max-width:100%;width:156px;border:1px solid #b4c4ac;border-radius:10px;background:#fdfef9;overflow:clip}.number-field:focus-within{outline:3px solid #bd8822;outline-offset:3px}.number-field>input[type=number]{min-width:0;width:100%;padding:8px 2px;border:0!important;border-radius:0;outline:none;text-align:center;font-variant-numeric:tabular-nums;box-shadow:none;appearance:textfield;-moz-appearance:textfield}.number-field input::-webkit-inner-spin-button,.number-field input::-webkit-outer-spin-button{appearance:none;margin:0}.number-field>.number-field-step{min-width:0;width:100%;min-height:42px;padding:0;border:0;border-radius:9px;background:transparent;font-size:20px;font-weight:500;box-shadow:none}.number-field-step:hover:not(:disabled){background:#e7efde}.field>.number-field{width:58%;max-width:180px}#panel-header-controls{display:flex;align-items:center;margin-left:14px;margin-right:auto}#panel-header-controls[hidden]{display:none}#panel-header-controls .shop-modes{padding:3px;gap:2px;border-radius:11px;background:#e1eadb}#panel-header-controls button{width:auto;min-height:34px;padding:7px 14px;font-size:11px;letter-spacing:.04em;text-transform:uppercase}@media(max-width:760px),(orientation:landscape)and (max-height:520px)and (pointer:coarse){input:not(:where(.noodle-editor *)):not([type=range]):not([type=color]),textarea:not(:where(.noodle-editor *)),select:not(:where(.noodle-editor *)){font-size:16px;min-height:44px}.number-field{--number-step-width: 44px}.number-field>.number-field-step{min-height:44px}#panel-header-controls{margin-left:12px}#panel-header-controls button{min-height:44px;padding-inline:12px}}@media(prefers-reduced-motion:reduce){input,select,textarea{transition:none}}.hat-equipment form{display:grid;gap:16px;margin-top:20px}.hat-equipment label{display:grid;gap:7px;font-weight:650}.hat-equipment select{width:100%;min-width:0;min-height:44px;font:inherit;color:inherit}.hat-equipment-preview{width:min(100%,240px);height:150px;object-fit:contain;justify-self:center}.hat-equipment-actions{display:flex;flex-wrap:wrap;gap:8px}.hat-equipment .note{max-width:60ch}.farmer-studio .universal-hat-row{display:grid;grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:12px;padding-block:12px;border-bottom:1px solid #c6d3cd}.farmer-studio .universal-hat-row img{width:68px;height:56px;object-fit:contain}.farmer-studio .universal-hat-row .note{display:block}.farmer-studio .universal-hat-row .wardrobe-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}@media(max-width:480px){.farmer-studio .universal-hat-row{grid-template-columns:48px minmax(0,1fr)}.farmer-studio .universal-hat-row img{width:48px}.farmer-studio .universal-hat-row .wardrobe-actions{grid-column:2;justify-content:flex-start}}.hat-colour-label{display:inline-flex;align-items:center;gap:6px}.hat-colour-swatch{display:inline-block;width:16px;height:16px;border:1px solid currentColor;border-radius:4px;flex-shrink:0}.farmer-studio .wardrobe-row .wardrobe-icon{flex:none;width:56px;height:56px;border-radius:10px;background:#eef3e8}@media(max-width:480px){.farmer-studio .wardrobe-row .wardrobe-icon{width:44px;height:44px}}.noodle-editor{color:#253d37;font-synthesis:none;--forest:#244b45;--muted:#60746a;--line:#e3e8df;--mint:#e6eddf;--accent:#cbe4ab;--radius:12px;background:#f7f9f5;font-family:Manrope,sans-serif}.noodle-editor *{box-sizing:border-box}.noodle-editor.transparent-stage{background:0 0}.noodle-editor button,.noodle-editor input,.noodle-editor select{font:inherit}.noodle-editor button{text-align:left;min-height:0;box-shadow:none;justify-content:flex-start;margin:0;padding:0;font-weight:400;line-height:normal;transition:none;display:inline-block}.noodle-editor input,.noodle-editor select{min-height:0;box-shadow:none;margin:0;padding:0;line-height:normal}.noodle-editor input[type=range]{border:0;min-height:0;padding:0}.noodle-editor .brand{box-shadow:none;background:0 0;border-radius:0;padding:0}.noodle-editor button{cursor:pointer}.noodle-editor button:disabled{cursor:wait;opacity:.5}.noodle-editor button,.noodle-editor input,.noodle-editor select{-webkit-tap-highlight-color:transparent}.noodle-editor button:focus-visible,.noodle-editor input:focus-visible,.noodle-editor select:focus-visible,.noodle-editor a:focus-visible{outline-offset:4px;outline:3px solid #719346}.noodle-editor ::selection{color:#fff;background:#3f7666}.noodle-editor input{caret-color:#3f7666}.noodle-editor svg{stroke-width:1.7px;flex-shrink:0;width:20px;height:20px}.noodle-editor button{color:inherit;background:0 0;border:0}.noodle-editor .app-shell{grid-template:82px minmax(0,1fr)/218px minmax(0,1fr);height:100dvh;min-height:680px;display:grid}.noodle-editor .topbar{border-bottom:1px solid var(--line);z-index:4;background:#fff;grid-column:1/-1;align-items:center;gap:48px;padding:0 32px;display:flex}.noodle-editor .brand{color:var(--forest);letter-spacing:-.04em;align-items:center;gap:10px;font-size:30px;font-weight:800;text-decoration:none;display:flex}.noodle-editor .brand-mark{width:34px;height:34px}.noodle-editor .topnav{align-items:center;gap:28px;height:100%;display:flex}.noodle-editor .topnav button{height:100%;color:var(--muted);align-items:center;gap:8px;padding:0 4px;font-size:13px;font-weight:600;display:flex;position:relative}.noodle-editor .topnav button.active{color:var(--forest)}.noodle-editor .topnav button.active:after{content:"";background:var(--forest);border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:0;left:0;right:0}.noodle-editor .topnav .step{border:1px solid #cbd5ca;border-radius:50%;place-items:center;width:21px;height:21px;font-size:10px;display:grid}.noodle-editor .topnav .active .step{background:var(--forest);border-color:var(--forest);color:#fff}.noodle-editor .header-actions{align-items:center;gap:18px;margin-left:auto;display:flex}.noodle-editor .saved{color:var(--muted);align-items:center;gap:6px;font-size:11px;display:flex}.noodle-editor .saved svg{width:15px;height:15px}.noodle-editor .icon-button{border-radius:8px;justify-content:center;align-items:center;padding:9px;display:inline-flex}.noodle-editor .icon-button:hover{background:#edf2e9}.noodle-editor .header-actions .icon-button{border:1px solid var(--line)}.noodle-editor .sidebar{background:var(--forest);color:#edf3e6;flex-direction:column;gap:28px;min-height:0;padding:22px 16px;display:flex}.noodle-editor .category-list{flex-direction:column;gap:7px;min-height:0;display:flex;overflow-y:auto}.noodle-editor .category{text-align:left;color:#c1d3c6;border-radius:10px;align-items:center;gap:13px;padding:15px 14px;display:flex}.noodle-editor .category svg{width:21px;height:21px}.noodle-editor .category strong{font-size:13px;font-weight:600;display:block}.noodle-editor .category small{color:#b3c9ba;margin-top:4px;font-size:10px;display:block}.noodle-editor .category:hover{background:#315950}.noodle-editor .category.active{color:#244b45;background:#d5e8bf}.noodle-editor .category.active small{color:#4c684a}.noodle-editor .sidebar-bottom{flex-shrink:0;margin-top:auto;padding:0 12px}.noodle-editor .reset{color:#d8e5d7;align-items:center;gap:9px;padding:6px 0;font-size:11px;display:flex}.noodle-editor .reset:hover{color:#fff}.noodle-editor .reset svg{width:15px;height:15px}.noodle-editor .workspace{grid-template:minmax(0,1fr) 105px/minmax(300px,1fr) 352px;min-width:0;display:grid}.noodle-editor .stage{isolation:isolate;background:#e8eedf 50%/cover;position:relative;overflow:hidden}.noodle-editor .stage canvas{touch-action:none;width:100%;height:100%;display:block}.noodle-editor .stage-intro{pointer-events:none;z-index:1;position:absolute;top:32px;left:36px}.noodle-editor .stage-intro h1{color:var(--stage-ink,#253d37);letter-spacing:-.035em;margin:0 0 12px;font-size:clamp(24px,2.9vw,40px);font-weight:700;line-height:1.2}.noodle-editor .stage-intro p{color:var(--stage-muted,#5b7261);margin:0;font-size:12px}.noodle-editor .preview-tools{justify-content:space-between;align-items:center;gap:12px;display:flex;position:absolute;bottom:27px;left:28px;right:28px}.noodle-editor .orbit-hint{color:var(--stage-muted,#5b7161);align-items:center;gap:7px;font-size:10px;display:flex}.noodle-editor .orbit-hint svg{width:16px;height:16px}.noodle-editor .view-tools{background:#f7f9f3;border-radius:10px;align-items:center;gap:4px;padding:4px;display:flex;box-shadow:0 3px 12px #244b4510}.noodle-editor .view-tools button{border-radius:7px;padding:8px 10px;font-size:10px;font-weight:600}.noodle-editor .view-tools button.active{background:#dfe9d3}.noodle-editor .view-tools .icon-button{padding:7px}.noodle-editor .view-tools svg{width:15px;height:15px}.noodle-editor .loading{z-index:3;color:var(--stage-ink,#253d37);text-align:center;background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:30px;font-size:13px;display:flex;position:absolute;inset:0}.noodle-editor .loading[hidden]{display:none}.noodle-editor .loading .spinner{border:2px solid #bed0ae;border-top-color:var(--forest);border-radius:50%;width:28px;height:28px;animation:1s linear infinite noodle-spin}@keyframes noodle-spin{to{transform:rotate(360deg)}}.noodle-editor .panel{border-left:1px solid var(--line);background:#fff;flex-direction:column;min-width:0;display:flex;overflow:hidden}.noodle-editor .panel-header{border-bottom:1px solid var(--line);padding:31px 27px 24px}.noodle-editor .panel-header h2{letter-spacing:-.025em;margin:0;font-size:19px;font-weight:700}.noodle-editor .panel-header p{color:var(--muted);margin:7px 0 0;font-size:11px;line-height:1.7}.noodle-editor .panel-content{scrollbar-width:thin;scrollbar-color:#c2d0bc transparent;flex:1;padding:26px 27px;overflow-y:auto}.noodle-editor .control-section{margin-bottom:30px}.noodle-editor .control-section:last-child{margin-bottom:0}.noodle-editor .control-section h3{margin:0 0 15px;font-size:12px;font-weight:700}.noodle-editor .swatches{flex-wrap:wrap;gap:10px;display:flex}.noodle-editor .swatch{background:var(--swatch);border:1px solid #00000012;border-radius:50%;width:30px;height:30px;position:relative}.noodle-editor .swatch:hover{transform:scale(1.08)}.noodle-editor .swatch.selected:after{content:"";border:1.5px solid var(--forest);border-radius:50%;position:absolute;inset:-4px}.noodle-editor .swatch.selected svg{width:13px;height:13px;color:var(--check-color,#fff);stroke-width:2.5px;position:absolute;top:7px;left:7px}.noodle-editor .custom-color{color:var(--muted);align-items:center;gap:9px;margin-top:15px;font-size:10px;display:inline-flex}.noodle-editor .custom-color input{cursor:pointer;background:0 0;border:1px solid #d3ddce;border-radius:5px;width:21px;height:21px;padding:0}.noodle-editor .custom-color input::-webkit-color-swatch-wrapper{padding:2px}.noodle-editor .custom-color input::-webkit-color-swatch{border:0;border-radius:3px}.noodle-editor .slider-row{margin-bottom:22px}.noodle-editor .slider-label{justify-content:space-between;align-items:center;margin-bottom:12px;font-size:11px;display:flex}.noodle-editor .slider-label output{color:#52674c;text-align:center;font-variant-numeric:tabular-nums;background:#eff3e9;border-radius:5px;min-width:31px;padding:3px 6px;font-size:10px}.noodle-editor input[type=range]{appearance:none;cursor:pointer;width:100%;height:4px;accent-color:var(--forest);background:#e5ebdf;border-radius:2px;margin:0}.noodle-editor input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--forest);border:3px solid #fff;border-radius:50%;width:14px;height:14px;box-shadow:0 1px 5px #244b4538}.noodle-editor input[type=range]::-moz-range-thumb{background:var(--forest);border:3px solid #fff;border-radius:50%;width:10px;height:10px}.noodle-editor .slider-ends{color:var(--muted);justify-content:space-between;margin-top:8px;font-size:9px;display:flex}.noodle-editor .choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.noodle-editor .choice{color:#596a54;border:1px solid #dde5d6;border-radius:8px;min-height:37px;padding:11px 4px;font-size:10px}.noodle-editor .choice.has-icon{justify-items:center;gap:3px;padding:5px 4px 7px;display:grid}.noodle-editor .choice img{aspect-ratio:1;background:#f1f5ec;border-radius:6px;width:100%;max-width:64px}.noodle-editor .choice:hover{background:#f4f7f0;border-color:#99b487}.noodle-editor .choice.selected{color:#26483b;background:#e9f1df;border-color:#557851;font-weight:700}.noodle-editor .panel-bottom{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:17px 27px;display:flex}.noodle-editor .shuffle{align-items:center;gap:8px;padding:8px 0;font-size:11px;font-weight:600;display:flex}.noodle-editor .shuffle svg{width:15px;height:15px}.noodle-editor .creation-bar{border-top:1px solid var(--line);background:#fff;grid-column:1/-1;align-items:center;gap:18px;padding:20px 28px 20px 36px;display:flex}.noodle-editor .name-control{flex:1;max-width:310px}.noodle-editor .name-control label{margin-bottom:8px;font-size:10px;font-weight:600;display:block}.noodle-editor .name-input{position:relative}.noodle-editor .name-input input{width:100%;color:var(--forest);background:#fbfcf9;border:1px solid #d9e2d3;border-radius:9px;padding:11px 48px 11px 13px;font-size:12px}.noodle-editor .name-input span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:9px;position:absolute;top:13px;right:12px}.noodle-editor .creation-caption{color:var(--muted);margin-left:auto;font-size:10px;line-height:1.7}.noodle-editor .creation-bar>.primary{margin-left:auto}.noodle-editor .primary{background:var(--forest);color:#f6faef;border-radius:10px;justify-content:center;align-items:center;gap:16px;min-width:174px;padding:16px 22px;font-size:12px;font-weight:600;display:flex}.noodle-editor .primary:hover{background:#35695b}.noodle-editor .primary svg{width:17px;height:17px}.noodle-editor .toast{color:#fff;z-index:10;background:#244b45;border-radius:10px;max-width:calc(100vw - 32px);padding:13px 22px;font-size:12px;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 8px 28px #244b4520}.noodle-editor .toast[hidden]{display:none}@container noodle (width>=1600px){.noodle-editor .app-shell{grid-template-columns:240px minmax(0,1fr)}.noodle-editor .workspace{grid-template-columns:minmax(0,1fr) 390px}.noodle-editor .panel-header,.noodle-editor .panel-content{padding-left:32px;padding-right:32px}}@container noodle (width<=1150px){.noodle-editor .app-shell{grid-template-columns:174px minmax(0,1fr)}.noodle-editor .workspace{grid-template-columns:minmax(260px,1fr) 310px}.noodle-editor .topbar{gap:32px;padding:0 24px}.noodle-editor .sidebar{padding-left:9px;padding-right:9px}.noodle-editor .category{gap:10px;padding-left:12px}.noodle-editor .category small{font-size:9px}.noodle-editor .stage-intro{top:29px;left:25px}.noodle-editor .stage-intro p{max-width:190px;line-height:1.8}.noodle-editor .panel-header,.noodle-editor .panel-content{padding-left:23px;padding-right:23px}.noodle-editor .creation-caption{display:none}.noodle-editor .creation-bar{justify-content:space-between;padding-left:25px}.noodle-editor .orbit-hint{display:none}.noodle-editor .preview-tools{justify-content:center}.noodle-editor .saved{max-width:120px}}@container noodle (width<=820px){.noodle-editor .app-shell{grid-template:68px 60px auto/1fr;height:auto;min-height:100dvh}.noodle-editor .topbar{gap:20px;padding:0 20px}.noodle-editor .brand{font-size:26px}.noodle-editor .brand-mark{width:29px;height:29px}.noodle-editor .topnav{gap:13px}.noodle-editor .topnav button{gap:5px;font-size:11px}.noodle-editor .topnav .step{display:none}.noodle-editor .header-actions{gap:5px}.noodle-editor .saved{display:none}.noodle-editor .header-actions .icon-button{border:0;padding:7px}.noodle-editor .sidebar{scrollbar-width:none;flex-direction:row;gap:0;padding:8px 15px;overflow-x:auto}.noodle-editor .sidebar-bottom{display:none}.noodle-editor .category-list{flex-direction:row;flex-shrink:0;justify-content:space-between;gap:5px;width:100%;overflow:visible}.noodle-editor .category{border-radius:8px;flex-shrink:0;gap:7px;padding:10px 12px}.noodle-editor .category strong{font-size:11px}.noodle-editor .category small{display:none}.noodle-editor .category svg{width:16px;height:16px}.noodle-editor .workspace{grid-template:430px auto 103px/1fr}.noodle-editor .stage-intro{top:24px;left:24px}.noodle-editor .stage-intro h1{margin-bottom:8px;font-size:27px}.noodle-editor .stage-intro p{max-width:none;font-size:11px}.noodle-editor .preview-tools{justify-content:space-between;bottom:17px;left:20px;right:20px}.noodle-editor .orbit-hint{font-size:9px;display:flex}.noodle-editor .panel{border-left:0;border-top:1px solid var(--line)}.noodle-editor .panel-header{padding:23px 24px 16px}.noodle-editor .panel-header h2{font-size:17px}.noodle-editor .panel-content{grid-template-columns:1fr 1fr;column-gap:28px;padding:22px 24px;display:grid;overflow:visible}.noodle-editor .control-section{margin-bottom:22px}.noodle-editor .control-section h3{font-size:12px}.noodle-editor .panel-bottom{padding:10px 24px}.noodle-editor .creation-bar{z-index:4;grid-column:auto;gap:18px;padding:16px 24px;position:sticky;bottom:0;box-shadow:0 -4px 20px #244b4508}.noodle-editor .name-control{max-width:none}.noodle-editor .primary{min-width:160px;padding:15px 17px}}@container noodle (width<=520px){.noodle-editor .topbar{gap:18px;padding:0 15px}.noodle-editor .topnav{gap:14px}.noodle-editor .topnav button{font-size:10px}.noodle-editor .brand{gap:7px;font-size:25px}.noodle-editor .brand-mark{width:25px;height:25px}.noodle-editor .header-actions{gap:0}.noodle-editor .header-actions .icon-button{padding:6px}.noodle-editor .header-actions svg{width:17px;height:17px}.noodle-editor .category{gap:5px;padding:10px 8px}.noodle-editor .category-list{gap:2px}.noodle-editor .sidebar{padding-left:10px;padding-right:10px}.noodle-editor .workspace{grid-template-rows:400px auto 100px}.noodle-editor .stage-intro h1{font-size:25px}.noodle-editor .stage-intro p{max-width:190px;font-size:10px}.noodle-editor .orbit-hint{max-width:122px;line-height:1.7}.noodle-editor .view-tools button{padding:7px 8px;font-size:9px}.noodle-editor .panel-content{display:block}.noodle-editor .choices{grid-template-columns:repeat(3,1fr)}.noodle-editor .creation-bar{gap:13px;padding:14px 18px}.noodle-editor .primary{gap:9px;min-width:148px;padding:15px 13px;font-size:11px}.noodle-editor .name-input input{padding-right:35px;font-size:11px}.noodle-editor .name-input span{font-size:8px;right:8px}}@media(prefers-reduced-motion:reduce){.noodle-editor *,.noodle-editor :before,.noodle-editor :after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important}}.noodle-editor{height:100%;min-height:0;container:noodle/inline-size}.noodle-editor .app-shell{height:100%;min-height:0}.noodle-editor .workspace,.noodle-editor .panel-content{min-height:0}.noodle-editor [hidden]{display:none!important}.noodle-editor .toast{position:absolute}.noodle-editor .stage-intro h1{text-wrap:balance}.noodle-editor button:disabled{cursor:not-allowed}.noodle-editor .wardrobe-balance{color:var(--muted);margin:0 0 18px;font-size:12px}.noodle-editor .wardrobe-row{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:14px 0;display:flex}.noodle-editor .wardrobe-row .grow{flex:1;min-width:0}.noodle-editor .wardrobe-row strong{font-size:12px;display:block}.noodle-editor .wardrobe-row .note{color:var(--muted);margin-top:5px;font-size:11px;display:block}.noodle-editor .wardrobe-actions{gap:6px;display:flex}.noodle-editor .wardrobe-actions button{background:#edf2e9;border-radius:8px;min-height:38px;padding:9px 10px;font-size:11px}.noodle-editor .wardrobe-actions button.primary{background:var(--forest);color:#fff;min-width:0}.noodle-editor .wardrobe-actions button.selected{outline:2px solid var(--forest)}@container noodle (width<=820px){.noodle-editor .app-shell{grid-template:60px 60px minmax(0,1fr)/1fr;height:100%;min-height:0}.noodle-editor .workspace{grid-template:minmax(180px,.85fr) minmax(0,1fr) 88px/1fr}.noodle-editor .panel-content{padding:18px 22px;display:block;overflow-y:auto}.noodle-editor .panel-header{padding:13px 22px 10px}.noodle-editor .panel-bottom{padding:7px 22px}.noodle-editor .creation-bar{padding:12px 18px;position:static}.noodle-editor .stage-intro{top:16px;left:20px}.noodle-editor .stage-intro h1{margin-bottom:6px;font-size:25px}.noodle-editor .preview-tools{bottom:12px}.noodle-editor .topbar{gap:12px;padding:0 15px}.noodle-editor .brand{white-space:nowrap;gap:7px;font-size:20px}.noodle-editor .brand-mark{width:24px;height:24px}.noodle-editor .topnav{gap:10px}.noodle-editor .topnav button{font-size:10px}.noodle-editor .icon-button{min-height:38px}.noodle-editor .name-input input{min-height:42px}}@container noodle (width<=520px){.noodle-editor .brand-mark{display:none}.noodle-editor .category{min-height:44px}.noodle-editor .swatch{width:34px;height:34px}.noodle-editor .swatch.selected svg{top:9px;left:9px}.noodle-editor .choice{min-height:44px;font-size:11px}.noodle-editor .control-section h3{font-size:13px}.noodle-editor .slider-label,.noodle-editor .custom-color{font-size:12px}.noodle-editor .slider-row{margin-bottom:24px}.noodle-editor .slider-ends{font-size:10px}.noodle-editor .stage-intro p{max-width:200px}.noodle-editor .creation-bar .primary{min-width:130px}}.noodle-editor button.swatch:hover:not(:disabled){background:var(--swatch)}.noodle-editor button.category:hover:not(:disabled){background:#315950}.noodle-editor button.category.active:hover:not(:disabled){background:#d5e8bf}.noodle-editor button.primary:hover:not(:disabled){background:#35695b}.noodle-editor button.choice:hover:not(:disabled){background:#f4f7f0}.noodle-editor .wardrobe-actions button{text-align:center}.noodle-editor:is([data-layout=portrait],[data-layout=landscape]) .topbar{border-bottom:0;gap:10px;padding:0 10px 0 14px}.noodle-editor:is([data-layout=portrait],[data-layout=landscape]) .brand{white-space:nowrap;gap:7px;font-size:17px}.noodle-editor:is([data-layout=portrait],[data-layout=landscape]) .brand-mark{width:22px;height:22px;display:block}.noodle-editor:is([data-layout=portrait],[data-layout=landscape]) .topnav{gap:4px}.noodle-editor:is([data-layout=portrait],[data-layout=landscape]) .topnav button{padding:6px 8px;font-size:12px}.noodle-editor:is([data-layout=portrait],[data-layout=landscape]) .saved{display:none}.noodle-editor:is([data-layout=portrait],[data-layout=landscape]) .header-actions{gap:2px}.noodle-editor:is([data-layout=portrait],[data-layout=landscape]) .header-actions .icon-button{border:0;width:36px;min-height:36px;padding:7px}.noodle-editor:is([data-layout=portrait],[data-layout=landscape]) .sidebar{scrollbar-width:none;flex-direction:row;gap:0;min-width:0;padding:6px 10px;overflow-x:auto}.noodle-editor:is([data-layout=portrait],[data-layout=landscape]) .sidebar-bottom{display:none}.noodle-editor:is([data-layout=portrait],[data-layout=landscape]) .category-list{flex-direction:row;flex-shrink:0;gap:4px;width:max-content;min-width:100%;overflow:visible}.noodle-editor:is([data-layout=portrait],[data-layout=landscape]) .category{border-radius:9px;flex-shrink:0;gap:6px;min-height:38px;padding:7px 11px}.noodle-editor:is([data-layout=portrait],[data-layout=landscape]) .category strong{font-size:12px}.noodle-editor:is([data-layout=portrait],[data-layout=landscape]) .category small{display:none}.noodle-editor:is([data-layout=portrait],[data-layout=landscape]) .category svg{width:16px;height:16px}.noodle-editor:is([data-layout=portrait],[data-layout=landscape]) .preview-tools{box-shadow:none;background:0 0;padding:0;bottom:10px;left:auto;right:10px}.noodle-editor:is([data-layout=portrait],[data-layout=landscape]) .orbit-hint{display:none}.noodle-editor:is([data-layout=portrait],[data-layout=landscape]) .view-tools{border-radius:11px;gap:2px;padding:3px}.noodle-editor:is([data-layout=portrait],[data-layout=landscape]) .view-tools button{min-height:32px;padding:5px 10px;font-size:12px}.noodle-editor:is([data-layout=portrait],[data-layout=landscape]) .panel-header{border-bottom:0;padding:10px 16px 6px}.noodle-editor:is([data-layout=portrait],[data-layout=landscape]) .panel-header h2{font-size:17px}.noodle-editor:is([data-layout=portrait],[data-layout=landscape]) .panel-content{padding:6px 16px 12px;display:block;overflow-y:auto}.noodle-editor:is([data-layout=portrait],[data-layout=landscape]) .panel-bottom{display:none}.noodle-editor:is([data-layout=portrait],[data-layout=landscape]) .creation-bar{min-height:0;padding:8px 12px max(8px,env(safe-area-inset-bottom));border-top:1px solid var(--line,#e3e9e2);align-items:center;gap:8px;display:flex;position:static}.noodle-editor:is([data-layout=portrait],[data-layout=landscape]) .creation-bar .primary{flex:1;justify-content:center;min-width:0;min-height:44px;padding:10px 16px}.noodle-editor[data-layout=portrait] .app-shell{grid-template:48px 50px minmax(0,1fr)/minmax(0,1fr);height:100%;min-height:0}.noodle-editor[data-layout=portrait] .workspace{grid-template:minmax(0,1.25fr) minmax(0,1fr) auto/minmax(0,1fr)}.noodle-editor[data-layout=landscape] .app-shell{grid-template:"stage top"44px"stage cats"50px"stage panel"minmax(0,1fr)"stage bar"/minmax(0,1fr) min(400px,50%);height:100%;min-height:0}.noodle-editor[data-layout=landscape] .workspace{display:contents}.noodle-editor[data-layout=landscape] .topbar{grid-area:top}.noodle-editor[data-layout=landscape] .brand{display:none}.noodle-editor[data-layout=landscape] .sidebar{grid-area:cats}.noodle-editor[data-layout=landscape] .stage{grid-area:stage;min-height:0}.noodle-editor[data-layout=landscape] .panel{border-left:0;grid-area:panel;min-height:0}.noodle-editor[data-layout=landscape] .creation-bar{grid-area:bar/auto}.noodle-editor:is([data-layout=portrait],[data-layout=landscape]) .creation-bar .shuffle{background:var(--mint,#e3f0dc);border-radius:12px;flex:none;min-height:44px;padding:0 12px}.noodle-editor .header-actions .icon-button[hidden]{display:none}.noodle-editor img.brand-mark{object-fit:cover;border-radius:28%}.noodle-editor:is([data-layout=portrait],[data-layout=landscape]) .sidebar{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000)}.noodle-editor:is([data-layout=portrait],[data-layout=landscape]) .sidebar[data-scrolled-end=true]{-webkit-mask-image:none;mask-image:none}.noodle-editor:is([data-layout=portrait],[data-layout=landscape]) .custom-color{min-height:44px}.noodle-editor:is([data-layout=portrait],[data-layout=landscape]) .custom-color input{border-radius:8px;width:36px;height:36px}.farmer-studio #farmer-creation-form>.name-control:not(.farmer-name-control){display:none}.farmer-name-backdrop{position:absolute;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:#15332261}.farmer-studio.noodle-editor .farmer-name-dialog{width:min(100%,440px);max-height:calc(calc(100dvh / var(--uiz)) - 40px);overflow-y:auto;padding:28px;border-radius:16px;background:#f7faf4;color:#244133;box-shadow:0 14px 40px #15332233}.farmer-studio.noodle-editor .farmer-name-dialog h2{margin:0 0 24px;font-size:24px;line-height:1.25}.farmer-studio.noodle-editor .farmer-name-control{width:100%;max-width:none;min-width:0}.farmer-name-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-top:24px}.farmer-studio.noodle-editor .farmer-name-actions button{min-height:44px;padding:10px 14px}.farmer-studio.noodle-editor .farmer-name-heading{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.farmer-studio.noodle-editor .farmer-name-heading label{margin:0;color:var(--forest);font-size:12px;font-weight:650}.farmer-studio.noodle-editor .farmer-name-count{color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.farmer-studio.noodle-editor .farmer-name-input{width:100%;min-height:44px;padding:10px 14px;border:1px solid #9db39c;border-radius:8px;background:#f7faf4;color:#244133;caret-color:#244c3a;text-align:center;font:inherit;font-size:16px}.farmer-studio.noodle-editor .farmer-name-input::placeholder{color:#576c5d;opacity:1}.farmer-studio.noodle-editor .farmer-name-input:focus-visible{outline:2px solid #bd8822;outline-offset:2px}.farmer-studio.noodle-editor .farmer-name-input::selection{background:#d5e8bf;color:#244133}.farmer-studio.noodle-editor .farmer-name-help{min-height:17px;margin:6px 0 0;color:#425b50;font-size:11px;line-height:1.5;text-align:center}.farmer-studio.noodle-editor .invalid .farmer-name-input{border-color:#a43b32}.farmer-studio.noodle-editor .invalid .farmer-name-help{color:#a43b32}body.landing-open #app>:not(#scene):not(#loading):not(.landing):not(#modal-root){display:none!important}.landing{position:absolute;inset:0;z-index:40;display:flex;align-items:flex-start;padding:max(24px,env(safe-area-inset-top)) 24px max(24px,env(safe-area-inset-bottom)) clamp(24px,calc(6vw / var(--uiz)),88px);background:linear-gradient(90deg,rgb(231 240 223 / 62%) 0%,rgb(231 240 223 / 22%) 38%,transparent 62%);opacity:0;transition:opacity .5s ease;overflow-y:auto}.landing.shown{opacity:1}.landing-card{width:min(392px,100%);margin-block:auto;padding:28px 28px 22px;border-radius:26px;background:#fafcf7f5;border:1px solid #fff;box-shadow:0 1px #fff inset,0 24px 60px #15332238,0 4px 12px #1533221a;backdrop-filter:blur(16px) saturate(1.1);translate:0 14px;transition:translate .65s var(--motion-ease, ease)}.landing.shown .landing-card{translate:0 0}.landing-brand{display:flex;align-items:center;gap:14px}.landing-mark{display:block;width:58px;height:58px;flex:none;border-radius:16px;box-shadow:0 8px 18px #244c3a3d}.landing-brand h1{margin:0;font-size:40px;line-height:1;font-weight:800;letter-spacing:-.05em}.landing-tagline{margin:14px 0 22px;color:var(--muted);font-size:15px;line-height:1.55}.landing-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:13px;background:#e6eee1}.landing-tabs button{border:0;border-radius:10px;padding:9px 8px;background:transparent;color:var(--muted);font-weight:700}.landing-tabs button[aria-selected=true]{background:#fff;color:var(--text);box-shadow:0 1px 4px #24413324}.landing-form{display:grid;gap:14px;margin-top:18px}.landing-field{display:grid;gap:6px}.landing-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-height:18px}.landing-label{font-weight:700;font-size:12px}.landing-field input{width:100%;min-height:44px;padding:10px 13px;border-radius:12px;border:1px solid var(--border-strong);background:#fff;color:var(--text);font-size:16px}.landing-password{position:relative}.landing-password input{padding-right:64px}.landing-reveal{position:absolute;right:6px;top:50%;translate:0 -50%;border:0;border-radius:9px;padding:6px 10px;background:#edf3e8;color:var(--green);font-size:12px;font-weight:700}.landing-hint{color:var(--muted);font-size:11px;font-weight:600}.landing-status{margin:-6px 0 -4px;min-height:18px;font-size:12px;line-height:18px;color:var(--muted)}.landing-status[data-tone=bad]{color:var(--red)}.landing-primary,.landing-secondary{width:100%;min-height:46px;border-radius:13px;font-weight:750;font-size:14px}.landing-primary{border:0;background:var(--green);color:#fff}.landing-primary:hover:not(:disabled){background:#1b3b2d}.landing-secondary{border:1px solid var(--border-strong);background:#ffffffb3;color:var(--green)}.landing-secondary:hover:not(:disabled){background:#fff}.landing-guest{display:grid;gap:10px;margin-top:6px}.landing-guest[hidden]{display:none}.landing-or{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}.landing-or:before,.landing-or:after{content:"";flex:1;height:1px;background:var(--border)}.landing-note{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.landing-features{display:flex;flex-wrap:wrap;gap:6px;margin:20px 0 0;padding:16px 0 0;border-top:1px solid var(--border);list-style:none}.landing-features li{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;background:#edf3e8;color:var(--green);font-size:12px;font-weight:700}.landing-card.busy .landing-primary{opacity:.7}@media(max-width:760px),(orientation:portrait)and (max-width:900px){.landing{align-items:flex-end;padding:12px 12px max(12px,env(safe-area-inset-bottom));background:linear-gradient(0deg,rgb(231 240 223 / 70%),transparent 55%)}.landing-card{margin-block:auto 0;width:100%;max-width:480px;margin:0 auto;padding:22px 20px 18px}.landing-brand h1{font-size:32px}.landing-mark{width:44px;height:44px;border-radius:14px}.landing-tagline{margin:10px 0 16px;font-size:14px}.landing-features,.landing-note{display:none}.landing-form{gap:12px;margin-top:14px}}.landing.card-away .landing-card{opacity:0;translate:-24px 0;scale:.98;pointer-events:none;transition:opacity .32s ease,translate .42s var(--motion-ease, ease),scale .42s var(--motion-ease, ease)}.landing.card-away{background:transparent;pointer-events:none}.landing-step{display:grid;gap:14px;margin-top:18px}.landing-steps{display:flex;gap:8px;margin:0;padding:0;list-style:none}.landing-steps li{display:inline-flex;align-items:center;gap:7px;padding:5px 11px 5px 5px;border-radius:999px;background:#edf3e8;color:var(--muted);font-size:12px;font-weight:700}.landing-steps li.current{background:var(--green);color:#fff}.landing-step-dot{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#fff;color:var(--green);font-size:11px;font-weight:800}.landing-styles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.landing-style{display:grid;justify-items:center;gap:8px;padding:12px 6px 10px;border:2px solid transparent;border-radius:14px;background:#edf3e8;color:var(--text);font-size:13px}.landing-style[aria-checked=true]{border-color:var(--green);background:#fff;box-shadow:0 4px 12px #15332224}.landing-style-swatch{position:relative;width:46px;height:38px}.landing-style-swatch:before{content:"";position:absolute;inset:0 3px 14px;background:var(--roof);clip-path:polygon(50% 0,100% 62%,100% 100%,0 100%,0 62%);border-radius:3px}.landing-style-swatch:after{content:"";position:absolute;left:0;right:0;bottom:2px;height:9px;border-radius:3px;background:repeating-linear-gradient(90deg,var(--fence) 0 5px,transparent 5px 9px),linear-gradient(var(--fence),var(--fence)) center / 100% 3px no-repeat}.landing-step-title{margin:4px 0 0;font-size:26px;font-weight:800;letter-spacing:-.04em}.landing-step-copy{margin:-6px 0 0;color:var(--muted);font-size:14px;line-height:1.5}@media(orientation:landscape)and (max-height:520px){.landing{align-items:center;padding:max(10px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.landing-card{width:min(380px,100%);padding:16px 18px 14px;border-radius:20px}.landing-brand h1{font-size:26px}.landing-mark{width:36px;height:36px;border-radius:12px}.landing-tagline,.landing-features,.landing-note{display:none}.landing-tabs{margin-top:12px}.landing-form{gap:8px;margin-top:10px}.landing-field{gap:4px}.landing-field input,.landing-primary,.landing-secondary{min-height:40px}.landing-guest{gap:6px;margin-top:2px}}@media(prefers-reduced-motion:reduce){.landing,.landing-card,.landing.card-away .landing-card{transition:none}}.club-contract{display:grid;gap:14px}.club-contract-summary{display:grid;gap:8px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--panel-solid)}.club-contract-head,.club-contract-done{display:grid;gap:2px}.club-contract-xp{width:100%;height:8px;accent-color:var(--gold)}.club-contract-lines{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.club-contract-line{display:grid;gap:8px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--panel-solid)}.club-contract-line[data-complete=true]{border-color:var(--green);box-shadow:inset 4px 0 0 var(--green)}.club-contract-line-title{display:flex;align-items:center;gap:8px}.club-contract-line-title strong{flex:1}.club-contract-line progress{width:100%;height:10px;accent-color:var(--green)}.club-contract-line button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px}.club-contract-helpers h3,.club-contract-standings h3{margin:4px 0 8px}.club-contract-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.club-contract-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border:1px solid var(--border);border-radius:10px;background:var(--panel-solid);font-variant-numeric:tabular-nums}.club-contract-list li.you{border-color:var(--border-strong);box-shadow:inset 4px 0 0 var(--green)}.club-contract-list li.club-contract-empty{color:var(--muted)}.club-standings li{display:grid;grid-template-columns:40px minmax(0,1fr) auto}.club-standing-rank{font-weight:800;color:var(--muted)}.club-standing-who{display:flex;align-items:center;gap:6px;min-width:0}.club-standing-who strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.employee-team,.employee-applicants{min-width:0}.employee-team [hidden],.employee-applicants [hidden]{display:none!important}.employee-pages{margin-bottom:16px}.employee-roster{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-color:var(--green) var(--button-wash);padding:4px 4px 12px;margin:0 -4px 16px}.employee-roster button{display:flex;flex-direction:column;align-items:center;gap:5px;flex:0 0 96px;min-width:96px;padding:8px 6px;text-align:center;scroll-snap-align:start;font-size:11px;line-height:1.3;overflow-wrap:anywhere}.employee-roster .character-portrait{width:48px;height:48px}.employee-roster button>span:not(.character-portrait):not(.employee-roster-activity){min-height:2.6em;white-space:normal}.employee-roster button[aria-pressed=true]{background:var(--green);color:var(--panel);border-color:var(--green)}.employee-roster-activity{font-size:11px;font-weight:500;opacity:.8}.employee-detail .employee-heading{display:flex;gap:12px;align-items:center}.employee-heading-copy{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:10px;row-gap:3px;min-width:0}.employee-detail .employee-heading h3{margin:0;font-size:19px;line-height:1.25}.employee-phase{color:var(--muted);font-size:11px;font-weight:650}.employee-activity{margin:10px 0 12px;color:var(--text);font-size:12px;line-height:1.5}.employee-facts{display:flex;margin:0 0 18px;padding-bottom:14px;border-bottom:1px solid var(--border);gap:28px}.employee-facts>div{display:flex;gap:8px;align-items:baseline}.employee-facts dt{color:var(--muted);font-size:11px}.employee-facts dd{margin:0;font-size:14px;font-weight:750;font-variant-numeric:tabular-nums}.employee-progress{display:block;width:100%;margin:-6px 0 16px}.employee-assignment{display:grid;gap:12px;min-width:0}.employee-settings{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.employee-field{display:grid;grid-template-columns:minmax(0,1fr);gap:5px;min-width:0;color:var(--muted);font-size:11px;font-weight:650}.employee-field select{width:100%;min-width:0;max-width:100%;font-size:12px}.employee-budget{display:grid;grid-template-columns:minmax(0,156px) minmax(0,1fr);gap:16px;align-items:end}.employee-budget .number-field{width:156px;max-width:100%}.employee-charge{display:grid;gap:7px;min-width:0;padding-bottom:10px}.employee-charge span{font-size:11px;color:var(--muted)}.employee-charge strong{font-size:14px;line-height:1.3;font-variant-numeric:tabular-nums}.employee-wage{margin:1px 0 -3px;font-size:11px;font-weight:650;color:var(--muted)}.employee-terms{margin:0;font-size:11px;line-height:1.55}.employee-authorize{width:100%;min-height:44px}.employee-options{margin-top:16px;border-top:1px solid var(--border);padding-top:12px}.employee-options summary{width:fit-content;padding:4px 0;cursor:pointer;color:var(--muted);font-size:11px;font-weight:650}.employee-controls{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.employee-controls button{flex:1;font-size:11px}.employee-controls .employee-dismiss{color:var(--red)}.employee-hiring-terms{margin:0 0 12px;line-height:1.6}.employee-applicants .employee-applicant{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:12px;padding:16px 0;border-top:1px solid var(--border);align-items:center}.employee-applicants .employee-applicant .character-portrait{width:40px;height:40px}.employee-applicant-copy{min-width:0}.employee-applicants .employee-applicant h3{margin:0 0 4px;font-size:14px}.employee-applicants .employee-applicant .note{margin:0;font-size:11px;line-height:1.5}.employee-applicants .employee-applicant>button{grid-column:2;justify-self:start;margin-top:10px;min-height:40px}.employee-no-applicants{padding:18px 0;border-top:1px solid var(--border)}.employee-message{margin:12px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.employee-message:empty,.employee-availability[hidden]{display:none}.employee-message[data-state=error]{color:var(--red)}.employee-availability{margin-top:16px}@media(max-width:420px){.employee-budget{grid-template-columns:minmax(0,156px) minmax(0,1fr);gap:12px}.employee-facts{gap:20px}}.employee-detail .employee-heading .character-portrait{width:56px;height:56px}.employee-detail{container-type:inline-size}@container (max-width: 260px){.employee-budget{grid-template-columns:minmax(0,1fr);gap:10px}.employee-charge{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:0}}@container (max-width: 240px){.employee-settings{grid-template-columns:minmax(0,1fr)}}.character-portrait{display:grid;place-items:center;flex:none;width:56px;height:56px;overflow:hidden;border-radius:12px;background:var(--selected-wash, #e3ecd8);color:var(--green)}.character-portrait img{display:block;width:100%;height:100%;object-fit:contain}.employee-heading{display:flex;align-items:center;gap:12px;margin:12px 0}.employee-heading h3{margin:0;overflow-wrap:anywhere}.employee-heading .character-portrait{width:72px;height:72px}.employee-applicant{display:grid;grid-template-columns:56px minmax(0,1fr);gap:10px 12px;align-items:center;padding:14px 0}.employee-applicant h3{margin:0;overflow-wrap:anywhere}.employee-applicant>button{grid-column:2;justify-self:start;max-width:100%;white-space:normal}.fm-label{display:block;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.fm-sell{display:grid;gap:6px}.fm-segments{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:3px;border:1px solid var(--border);border-radius:12px;background:#edf2e7}.fm-segments button{min-height:34px;padding:6px 4px;gap:4px;border:0;border-radius:9px;background:transparent;font-size:12px;line-height:1.15;white-space:nowrap}.fm-segments button[aria-checked=true]{background:var(--green);color:var(--panel);box-shadow:0 2px 6px #244c3a33}.fm-segments button.is-locked{color:var(--muted)}.fm-hint,.fm-intro{margin:0;font-size:12px;line-height:1.45}.fm-restock{display:flex;align-items:center;gap:8px;min-width:0;padding:4px 6px 4px 12px;border:1px solid var(--border);border-radius:12px;background:#f0f5ea;transition:border-color .15s ease,background .15s ease}.fm-restock[data-on=true]{border-color:var(--border-strong);background:#e7f0de}.fm-restock-label{display:flex;flex:1 1 auto;align-items:center;gap:6px;min-width:0;font-size:13px;white-space:nowrap}.fm-restock-label svg{color:var(--green)}.fm-restock .number-field.compact{--number-step-width: 30px;flex:none;width:100px;background:var(--panel)}.fm-restock .number-field.compact>.number-field-step,.fm-restock .number-field.compact>input[type=number]{min-height:36px}.fm-restock[data-on=false] .number-field{opacity:.6}.fm-switch{position:relative;display:flex;flex:none;align-items:center;padding:6px;cursor:pointer}.fm-switch input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}.fm-switch-track{position:relative;width:40px;height:24px;border-radius:12px;background:#c9d6c2;transition:background .15s ease}.fm-switch-track:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:translate .18s var(--motion-ease, ease)}.fm-switch input:checked~.fm-switch-track{background:var(--green)}.fm-switch input:checked~.fm-switch-track:after{translate:16px 0}.fm-switch input:focus-visible~.fm-switch-track{outline:3px solid #bd8822;outline-offset:2px}.fm-switch input:disabled~.fm-switch-track{opacity:.5}@media(max-width:760px),(orientation:landscape)and (max-height:520px)and (pointer:coarse){.fm-restock .number-field.compact>.number-field-step,.fm-restock .number-field.compact>input[type=number]{min-height:40px}}.farm-manager{display:grid;gap:12px;margin-bottom:16px;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:#f0f5ea}.fm-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.fm-title{display:flex;align-items:center;gap:8px;color:var(--green)}.fm-title h3{margin:0;font-size:15px}.fm-pill{padding:2px 9px;border-radius:999px;background:#dfe6da;color:var(--muted);font-size:11px;font-weight:800}.fm-pill[data-on=true]{background:var(--green);color:var(--panel)}.fm-stock{display:grid;gap:6px}.fm-chips{display:flex;flex-wrap:wrap;gap:6px}.fm-chip{min-height:32px;padding:4px 10px 4px 6px;gap:5px;border-radius:999px;background:var(--panel);font-size:12px}.fm-chip strong{color:var(--green);font-variant-numeric:tabular-nums}.fm-chip[data-low=true] strong{color:var(--gold)}.fm-choose{justify-self:start;min-height:32px;padding:4px 10px;font-size:12px}.fm-log{display:grid;gap:4px;margin:0;padding:10px 0 0;border-top:1px dashed var(--border);list-style:none;font-size:12px}.fm-log li{display:flex;justify-content:space-between;gap:10px}.fm-log time{flex:none;color:var(--muted);font-size:11px}.farm-manager [hidden],.fm-restock [hidden]{display:none!important}@media(max-width:760px),(orientation:landscape)and (max-height:520px)and (pointer:coarse){.farm-manager{gap:10px;padding:12px}.fm-intro{display:none}.fm-segments button{font-size:11.5px;gap:3px}}.hotbar{position:absolute;z-index:7;left:50%;bottom:max(18px,env(safe-area-inset-bottom));display:flex;gap:4px;padding:5px;border-radius:14px;background:#2432289e;box-shadow:0 8px 24px #0a140c47,inset 0 0 0 1px #ffffff1f;backdrop-filter:blur(6px);transform:translate(-50%);zoom:var(--ui);--uiz: var(--ui)}.hotbar[hidden]{display:none}.hotbar-slot{position:relative;display:grid;place-items:center;width:52px;height:52px;min-height:0;padding:0;border:2px solid rgb(255 255 255 / .14);border-radius:10px;background:linear-gradient(180deg,#ffffff29,#ffffff0f);color:#fbfaf2;box-shadow:none;cursor:pointer;transition:transform .12s ease,border-color .12s ease,background .12s ease}.hotbar-slot:hover:not(:disabled){background:linear-gradient(180deg,#ffffff42,#ffffff1a)}.hotbar-slot.selected{transform:translateY(-5px) scale(1.06);border-color:#f3d77e;background:linear-gradient(180deg,#fff8df8c,#f3d77e40);box-shadow:0 0 0 2px #24322899,0 6px 14px #0a140c59}.hotbar-slot.drop{border-color:#8fd18a;background:#8fd18a4d}.hotbar-slot img{width:40px;height:40px;scale:1.3;object-fit:contain;pointer-events:none;filter:drop-shadow(0 2px 2px rgb(0 0 0 / .25))}.hotbar-slot.spent img{opacity:.35;filter:grayscale(1)}.hotbar-icon{display:grid;place-items:center;pointer-events:none}.hotbar-icon[hidden]{display:none}.hotbar-count{position:absolute;right:4px;bottom:1px;font:800 13px/1 var(--font);color:#fff;text-shadow:0 1px 0 #24382d,1px 0 0 #24382d,-1px 0 0 #24382d,0 -1px 0 #24382d;pointer-events:none}.hotbar-key{position:absolute;left:4px;top:2px;padding:0;border:0;background:none;color:#ffffffb3;font:800 10px/1 var(--font);pointer-events:none}.hotbar-slot.selected .hotbar-key{color:#24382d}.hotbar-label{position:absolute;z-index:7;left:50%;bottom:calc(max(18px,env(safe-area-inset-bottom)) + 76px);padding:4px 12px;border-radius:999px;background:#243228b8;color:#fbfaf2;font-size:13px;font-weight:750;transform:translate(-50%);opacity:0;transition:opacity .2s ease;pointer-events:none;zoom:var(--ui)}.hotbar-label.shown{opacity:1}@media(max-width:760px),(orientation:landscape)and (max-height:520px)and (pointer:coarse){.hotbar{gap:3px;padding:4px;bottom:calc(max(12px,env(safe-area-inset-bottom)) + 64px)}.hotbar-slot{width:38px;height:38px;border-radius:8px}.hotbar-slot img{width:30px;height:30px}.hotbar-count{font-size:11px}.hotbar-label{bottom:calc(max(12px,env(safe-area-inset-bottom)) + 116px)}}.modal.marketplace-listing{width:min(560px,100%);padding:24px}.listing-item-heading{display:flex;align-items:center;gap:16px;margin-bottom:20px}.listing-item-heading>div{min-width:0}.listing-item-heading h2{margin:0 0 4px;overflow-wrap:anywhere}.listing-item-heading p{margin:0}.listing-item-preview{display:grid;place-items:center;flex:0 0 76px;width:76px;height:76px;background:var(--button-wash, #edf2e7);border-radius:12px}.listing-item-preview img{width:76px;height:76px;object-fit:contain}.listing-fields{display:grid;grid-template-columns:minmax(156px,1fr) minmax(0,1.2fr) minmax(0,1fr);gap:12px}.listing-fields .trade-field{grid-template-columns:minmax(0,1fr);min-width:0;margin:0}.listing-fields .number-field{width:100%}.listing-feedback{display:grid;grid-template-columns:minmax(0,1fr);align-content:center;min-height:84px;margin-top:16px;padding-top:12px;border-top:1px solid var(--border, #d8e2d3)}.listing-settlement{display:flex;justify-content:space-between;gap:16px;margin:0;font-variant-numeric:tabular-nums}.listing-settlement dt{color:var(--muted, #576c5d);font-size:12px}.listing-settlement dd{margin:4px 0 0;font-size:17px;font-weight:700}.listing-settlement>div:last-child{text-align:right}.listing-form-status{margin:0;line-height:1.5}.listing-form-status:empty{display:none}.listing-comparables{margin-top:24px;padding-top:20px;border-top:1px solid var(--border, #d8e2d3)}.listing-comparables-heading{display:flex;justify-content:space-between;gap:12px;align-items:center}.listing-comparables h3{font-size:15px;margin:0}.listing-comparables>p{margin:8px 0}.listing-offers{max-height:170px;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#9db39c #edf2e7;scrollbar-width:thin}.listing-comparable{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--border, #d8e2d3);font-variant-numeric:tabular-nums}.listing-comparable>div{display:grid;gap:2px;min-width:0}.listing-comparable .note{overflow-wrap:anywhere}.listing-comparable>strong{text-align:right}.marketplace-listing input{caret-color:#244c3a}.marketplace-listing ::selection{background:#e3ecd8;color:#244133}@media(max-width:480px){.modal.marketplace-listing{padding:20px}.listing-fields{grid-template-columns:1fr 1fr}.listing-fields .trade-field:first-child{grid-column:1 / -1}.listing-item-heading{gap:12px}.listing-item-preview,.listing-item-preview img{width:64px;height:64px}.listing-item-preview{flex-basis:64px}}.listing-comparables>button[hidden],.listing-settlement[hidden]{display:none}#panel[data-surface=trading] .panel-body{gap:14px}#panel[data-surface=trading] .marketplace-pages{margin:0;align-items:center}#panel[data-surface=trading] .marketplace-pages>button{flex:0 1 160px}#panel[data-surface=trading] .marketplace-discovery{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:end}#panel[data-surface=trading] [data-market-page=selling] .marketplace-discovery{grid-template-columns:minmax(280px,1.25fr) minmax(150px,1fr) minmax(120px,.55fr)}#panel[data-surface=trading] .marketplace-sell{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}#panel[data-surface=trading] .marketplace-field{font-size:12px;gap:5px}#panel[data-surface=trading] .marketplace-field>:is(input,select){min-height:42px;margin:0}#panel[data-surface=trading] .marketplace-sell>button{min-height:42px;white-space:nowrap;padding:8px 12px}#panel[data-surface=trading] .marketplace-filters{margin:-4px 0;width:auto;min-width:0;border:0}#panel[data-surface=trading] .marketplace-filters summary{margin:0;padding:6px 0;font-size:12px;min-height:32px}#panel[data-surface=trading] .marketplace-tools{grid-template-columns:repeat(3,minmax(0,1fr));padding:8px 0}#panel[data-surface=trading] .marketplace-refresh{padding:0 0 12px;border-top:0;gap:12px;align-items:baseline}#panel[data-surface=trading] .marketplace-refresh .marketplace-status{text-align:right;max-width:60ch}#panel[data-surface=trading] .marketplace-status:empty{display:none}#panel[data-surface=trading] .marketplace-field>span{color:var(--muted)}#panel[data-surface=trading] .marketplace-field ::selection{color:#244133;background:#e3ecd8}@media(max-width:1100px){#panel[data-surface=trading] [data-market-page=selling] .marketplace-discovery{grid-template-columns:minmax(0,1fr) minmax(120px,.5fr)}#panel[data-surface=trading] .marketplace-sell{grid-column:1 / -1}}@media(max-width:760px),(orientation:landscape)and (max-height:520px)and (pointer:coarse){#panel[data-surface=trading] .marketplace-discovery{gap:10px}#panel[data-surface=trading] .marketplace-pages button{flex:1;min-height:44px;padding:8px 12px}#panel[data-surface=trading] .marketplace-field>:is(input,select),#panel[data-surface=trading] .marketplace-sell>button{min-height:44px}#panel[data-surface=trading] .marketplace-refresh{display:grid;gap:5px}#panel[data-surface=trading] .marketplace-refresh .marketplace-status{text-align:left}}#panel[data-surface=trading] [hidden]{display:none!important}@media(max-width:760px),(orientation:landscape)and (max-height:520px)and (pointer:coarse){#panel[data-surface=trading] .marketplace-filters summary{min-height:44px;padding:10px 0}}#panel[data-surface=trading] .marketplace-reload{flex:none;margin-left:auto;gap:5px}#panel[data-surface=trading] .marketplace-filters.is-disabled summary{color:var(--muted);opacity:.6}.marketplace-empty,.marketplace-locked{grid-column:1 / -1;display:grid;justify-items:center;gap:8px;padding:36px 20px;text-align:center;border:1px dashed var(--border);border-radius:16px;color:var(--green)}.marketplace-empty h3,.marketplace-locked h3{margin:4px 0 0;font-size:17px}:is(.marketplace-empty,.marketplace-locked)>p{margin:0;max-width:46ch}.marketplace-requirements{list-style:none;margin:8px 0 4px;padding:0;width:min(100%,420px);display:grid;gap:6px;text-align:left}.marketplace-requirements li{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:#edf2e7;font-size:13px;font-weight:650}.marketplace-requirements li .grow{flex:1;min-width:0}.marketplace-requirements li .note{font-variant-numeric:tabular-nums;white-space:nowrap}.marketplace-requirements li[data-met=true]{background:#e3ecd8}.marketplace-requirements li[data-met=true] .grow{color:var(--muted);text-decoration:line-through}.leaderboard-tabs{display:flex;gap:6px;flex-wrap:wrap}.leaderboard-tabs button{display:inline-flex;align-items:center;gap:6px;min-height:40px}.leaderboard-tabs button[aria-selected=true]{background:var(--green);border-color:var(--green);color:var(--panel)}.leaderboard-status{margin:12px 0 8px}.leaderboard-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.leaderboard-list li{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--panel-solid);font-variant-numeric:tabular-nums}.leaderboard-list li.you{border-color:var(--border-strong);box-shadow:inset 4px 0 0 var(--green)}.leaderboard-list li.leaderboard-empty{display:block;color:var(--muted)}.leaderboard-rank{font-weight:750;color:var(--muted)}.leaderboard-list li:nth-child(-n+3) .leaderboard-rank{color:var(--gold)}.leaderboard-who{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0}.leaderboard-who strong{overflow-wrap:anywhere}.leaderboard-who .note{flex-basis:100%;font-size:12px}.leaderboard-ribbon{display:inline-flex;align-items:center;gap:3px;padding:1px 7px;border-radius:999px;border:1px solid var(--gold);color:var(--gold);font-size:11px;font-weight:700}.leaderboard-value{font-weight:700;white-space:nowrap}.leaderboard-own{margin:10px 0 0;color:var(--muted);font-size:13px}.festival-hero{display:grid;gap:10px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--panel-solid)}.festival-hero[data-reached=true]{border-color:var(--gold);box-shadow:inset 4px 0 0 var(--gold)}.festival-title{display:flex;align-items:center;gap:12px}.festival-title>svg{flex:none;color:var(--gold)}.festival-title>div{display:grid;gap:2px;min-width:0}.festival-title strong{font-size:18px}.festival-progress{width:100%;height:12px;accent-color:var(--green)}.festival-numbers{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;font-variant-numeric:tabular-nums}.festival-give{display:grid;gap:8px;margin-top:14px}.festival-mine{display:grid;gap:2px}.festival-owned{margin:0}.festival-give-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.festival-give-row .number-field{width:132px}.festival-give-button{display:inline-flex;align-items:center;gap:6px;min-height:44px;flex:1 1 180px;justify-content:center}.festival-board h3{margin:18px 0 8px}.festival-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.festival-list li{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--panel-solid);font-variant-numeric:tabular-nums}.festival-list li.you{border-color:var(--border-strong);box-shadow:inset 4px 0 0 var(--green)}.festival-list li.festival-empty{display:block;color:var(--muted)}.festival-who{display:grid;min-width:0}.festival-who strong,.festival-who .note{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.festival-rank{font-weight:800;color:var(--muted)}.festival-units{font-weight:800}.festival-last,.festival-how{margin-top:14px}#panel[data-surface=trading],#panel[data-surface=buildings]{width:min(940px,calc(calc(100vw / var(--uiz)) - 148px));top:106px;bottom:32px}#panel[data-surface=land]{width:min(540px,calc(calc(100vw / var(--uiz)) - 148px))}#panel:is([data-surface=trading],[data-surface=buildings],[data-group=farm]) .panel-heading{padding:18px 24px}#panel[data-group=farm][data-surface]{width:min(760px,calc(calc(100vw / var(--uiz)) - 148px));top:106px;bottom:32px}#panel:is([data-surface=trading],[data-surface=buildings],[data-group=farm]) .panel-heading h2{font-size:27px}.marketplace-intro{display:flex;align-items:center;gap:16px}.marketplace-intro>svg{color:var(--green);flex:none}.marketplace-intro>div{flex:1;min-width:0}.marketplace-intro h3{margin:0 0 4px;font-size:21px}.marketplace-intro p{margin:0}.marketplace-pages{margin:8px 0 0}.marketplace-pages button{flex:0 1 160px;min-height:44px}.marketplace-discovery{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start}.marketplace-discovery>.marketplace-field{align-self:start}.marketplace-filters{min-width:140px}.marketplace-filters summary{margin-top:18px}.marketplace-filters[open]{width:340px}.marketplace-tools{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.marketplace-refresh{padding:12px 0;border-block:1px solid var(--border)}.trade-list.marketplace-catalogue{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.trade-row.marketplace-offer{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--panel)}.marketplace-offer .marketplace-preview{width:100%;height:144px;border-radius:10px;background:#edf3e8;overflow:hidden}.marketplace-offer .marketplace-preview img{width:100%;height:144px;min-width:0;min-height:0;object-fit:contain}.marketplace-offer .grow{display:grid;gap:4px}.marketplace-item-name{font-size:16px;line-height:1.35}.marketplace-offer .marketplace-terms{margin-top:auto;gap:12px}.marketplace-price-copy{display:grid;gap:4px}.marketplace-price-copy .trade-price{font-size:18px;color:var(--green)}.marketplace-terms button{min-height:42px;padding:8px 14px}.marketplace-status{font-size:13px;color:var(--muted)}.marketplace-catalogue[aria-busy=true]{opacity:.65}.building-management{display:grid;grid-template-columns:minmax(200px,.85fr) minmax(0,1.4fr);gap:32px;container-type:inline-size}.building-overview{min-width:0}.building-management .building-name{margin:0 0 16px;font-size:21px}.building-overview .building-hero{display:flex;flex-direction:column;align-items:stretch;gap:20px}.building-overview .building-preview{height:240px;background:#edf3e8;border-radius:14px}.building-overview .building-numbers{gap:0}.building-overview .building-numbers>div{padding:12px 0;border-bottom:1px solid var(--border)}.building-overview .building-numbers dd{font-size:18px}.building-workspace{min-width:0}.building-workspace .building-pages{margin:0 0 20px}.building-workspace .building-pages button{min-height:44px}.building-workspace .building-hen{padding:16px 0}.building-workspace .building-hen .grow strong{font-size:15px}.building-workspace :is(.building-adopt,.building-assign,.building-rename,.building-feed){margin-top:20px;padding-top:20px;border-top:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr))}.building-workspace form>:is(h3,button){grid-column:1 / -1}.building-workspace form h3{margin:0 0 4px;font-size:18px}.building-workspace :is(.building-rename,.building-feed,.building-assign){grid-template-columns:minmax(0,1fr)}.building-workspace button{min-height:44px}.farm-overview{margin:8px 0;padding:20px 0;border-block:1px solid var(--border)}.farm-overview h3{margin:0 0 16px;font-size:21px;overflow-wrap:anywhere}.farm-land-facts{display:grid;gap:12px;margin:0 0 16px}.farm-land-facts>div{display:flex;justify-content:space-between;gap:16px}.farm-land-facts dt{color:var(--muted)}.farm-land-facts dd{margin:0;font-weight:750;font-variant-numeric:tabular-nums}.farm-overview button{width:100%;min-height:44px}@media(max-width:1100px){#panel[data-surface=trading],#panel[data-surface=buildings]{right:84px;width:calc(calc(100vw / var(--uiz)) - 108px)}}@media(max-width:760px),(orientation:landscape)and (max-height:520px)and (pointer:coarse){#panel[data-surface=trading],#panel[data-surface=buildings]{inset:120px 12px 14px;width:auto;z-index:14}#panel[data-surface=land]{inset:120px 74px 110px 12px;width:auto}#panel[data-group=farm][data-surface]{inset:120px 12px 14px;width:auto;z-index:14}#panel:is([data-surface=trading],[data-surface=buildings],[data-group=farm]) .panel-heading{padding:12px 16px}#panel:is([data-surface=trading],[data-surface=buildings],[data-group=farm]) .panel-heading h2{font-size:22px}.marketplace-intro{flex-wrap:wrap;gap:12px}.marketplace-intro>svg{display:none}.marketplace-intro h3{font-size:18px}.marketplace-intro>button{width:auto;min-height:44px}.marketplace-intro p{display:none}.marketplace-discovery{grid-template-columns:minmax(0,1fr);gap:0}.marketplace-filters[open]{width:auto}.marketplace-filters summary{margin-top:0}.marketplace-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.marketplace-catalogue .marketplace-preview,.marketplace-offer .marketplace-preview img{height:128px}.building-management{grid-template-columns:minmax(0,1fr);gap:24px}.building-overview .building-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:center}.building-overview .building-preview{height:150px}.building-overview .building-numbers dd{font-size:15px}.building-overview .building-numbers>div{padding:8px 0;gap:8px;flex-wrap:wrap}}@media(prefers-reduced-motion:no-preference){.marketplace-terms button{transition:background-color .15s,transform .15s cubic-bezier(.16,1,.3,1)}.marketplace-terms button:active{transform:scale(.97)}}#topbar .brand{justify-content:flex-start;border:1px solid var(--border);font:inherit;text-align:left;cursor:pointer;transition:background .15s ease,border-color .15s ease,translate .15s var(--motion-ease, ease)}#topbar .brand:hover:not(:disabled){background:var(--panel);border-color:var(--border-strong);translate:0 -1px}#topbar .brand[aria-expanded=true]{border-color:var(--green);background:#e7f0de}.brand-copy{display:grid;min-width:0;gap:1px}.brand-hint{display:flex;align-items:center;gap:3px;color:var(--muted);font-size:11px;font-weight:650}.brand-mark{animation:farm-button-pulse 3.2s ease-out 1.5s 8}#topbar .brand[aria-expanded=true] .brand-mark,#topbar .brand:hover .brand-mark{animation:none}@keyframes farm-button-pulse{0%,55%{box-shadow:0 0 #244c3a00}62%{box-shadow:0 0 #244c3a61}to{box-shadow:0 0 0 9px #244c3a00}}@media(prefers-reduced-motion:reduce){.brand-mark{animation:none}}.panel-subnav{display:flex;flex:none;gap:4px;margin:14px 24px 0;padding:3px;border-radius:12px;background:#e1eadb;overflow-x:auto;scrollbar-width:none}.panel-subnav[hidden]{display:none}.panel-subnav button{flex:1 0 auto;min-height:34px;padding:6px 12px;gap:6px;border:0;border-radius:9px;background:transparent;font-size:12px;white-space:nowrap}.panel-subnav button[aria-selected=true]{box-shadow:0 1px 4px #244c3a2e}@media(max-width:760px),(orientation:landscape)and (max-height:520px)and (pointer:coarse){.panel-subnav{margin:12px 16px 0}.panel-subnav button{flex:1 1 auto;padding:6px 8px;font-size:11.5px}.panel-subnav button:not([aria-selected=true])>span{display:none}}.horse-stats{display:grid;gap:4px;margin-top:6px}.horse-tag{justify-self:start;padding:1px 8px;border-radius:999px;background:#e7f0de;color:var(--green);font-size:11px;font-weight:750}.horse-bar{position:relative;display:flex;justify-content:space-between;gap:8px;padding:2px 8px;border-radius:6px;background:#edf2e7;font-size:11px;overflow:hidden}.horse-bar:before{content:"";position:absolute;inset:0 auto 0 0;width:var(--value);background:linear-gradient(90deg,#cfe3bf,#b6d39f)}.horse-bar>*{position:relative}.horse-bar strong{font-variant-numeric:tabular-nums}.horse-training{font-size:11px}.building-breed{display:grid;gap:8px}.building-breed[hidden]{display:none}.animal-tags{display:flex;flex-wrap:wrap;gap:4px}.animal-rarity{padding:1px 8px;border-radius:999px;background:var(--rarity);color:#fff;font-size:11px;font-weight:800;letter-spacing:.02em}.building-adopt{display:grid;gap:8px}.trader-note{margin:0;font-weight:700;color:var(--green)}.trader-letter{display:flex;flex-wrap:wrap;gap:6px;margin-block:6px 4px}.plot-tonic{margin-top:6px}.animal-extras{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}#panel[data-surface=upgrades] .panel-body{gap:0}.shop-modes{display:flex;gap:4px;align-items:center}.shop-modes button{font-size:13px;font-weight:700}.shop-modes button[aria-pressed=true]{background:var(--green);color:var(--panel)}.shop-crop-preview{display:block;width:100%;height:100%;object-fit:contain;padding:14px}.shop-growing-details{color:var(--muted);font-size:12px}.shop-growing-details summary{cursor:pointer}.shop-growing-details p{margin:8px 0 0}.shop-action-slot>[data-sell-all]{padding:6px 8px;min-height:36px;font-size:11px}@media(max-width:760px),(orientation:landscape)and (max-height:520px)and (pointer:coarse){.shop-modes button{font-size:12px}.shop-catalogue .shop-browsing{padding-bottom:8px}.shop-catalogue .shop-item{min-height:124px}.shop-catalogue .shop-item-visual{height:50px}.shop-catalogue .shop-stage{height:76px}.shop-catalogue .shop-info{padding-top:12px;gap:6px}.shop-catalogue .shop-description{line-height:1.45}.shop-catalogue .shop-purchase{padding-top:8px;gap:8px}}.shop-bulk{color:var(--muted);font-size:12px}.shop-bulk summary{cursor:pointer}.shop-bulk-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}@media(max-width:760px),(orientation:landscape)and (max-height:520px)and (pointer:coarse){.shop-catalogue .shop-info>h3,.shop-catalogue .shop-info>.shop-owned{order:0}.shop-catalogue .shop-info>.number-field{order:1}.shop-catalogue .shop-info>.shop-purchase{order:2}.shop-catalogue .shop-info>.fm-restock,.shop-catalogue .shop-info>.fm-sell{order:3}.shop-catalogue .shop-info>.shop-description{order:4}.shop-catalogue .shop-info>button{order:5}.shop-catalogue .shop-info>details{order:6}.shop-catalogue .shop-info>.shop-model-credits{order:6}}.shop-catalogue [hidden]{display:none!important}.shop-catalogue .shop-filters{height:56px;flex:0 0 56px;overflow-y:hidden}.shop-catalogue .shop-list-summary{display:grid;grid-template-columns:minmax(0,1fr) 120px 136px;align-items:center;gap:8px;min-height:48px}.shop-catalogue .shop-availability{min-width:0}.shop-action-slot{min-width:0;height:36px}.shop-action-slot>button{width:100%;height:36px;white-space:nowrap}.shop-action-slot.is-inactive{visibility:hidden;pointer-events:none}@media(max-width:760px),(orientation:landscape)and (max-height:520px)and (pointer:coarse){.shop-catalogue .shop-filters{height:50px;flex-basis:50px}.shop-catalogue .shop-list-summary{grid-template-columns:minmax(0,1fr) 92px 112px;gap:6px;min-height:44px}.shop-catalogue .shop-availability{font-size:11px}}.shop-sheet-back,.shop-item-badge{display:none}@media(max-width:760px),(orientation:landscape)and (max-height:520px)and (pointer:coarse){.shop-catalogue .shop-workspace{position:relative;display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.shop-catalogue .shop-browsing{flex:1;min-height:0;padding:0 12px 12px}.shop-catalogue .shop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:max-content;align-content:start;gap:10px;flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:2px 2px 12px}.shop-catalogue .shop-item{flex:none;min-height:186px;padding:10px;gap:4px}.shop-catalogue .shop-item-visual{height:112px}.shop-catalogue .shop-item-name{font-size:14px}.shop-catalogue .shop-item-price{font-size:13px}.shop-catalogue .shop-item[aria-pressed=true]{border-color:transparent;background:var(--shop-shelf)}.shop-catalogue .shop-detail{position:absolute;inset:0;z-index:2;overflow-y:auto;background:var(--panel);visibility:hidden;translate:0 24px;opacity:0;transition:translate .22s var(--motion-ease, ease),opacity .18s ease,visibility 0s .22s}.shop-catalogue[data-sheet=open] .shop-detail{visibility:visible;translate:0 0;opacity:1;transition:translate .26s var(--motion-ease, ease),opacity .2s ease,visibility 0s}.shop-catalogue .shop-sheet-back{position:absolute;top:10px;left:10px;z-index:3;display:grid;place-items:center;width:42px;height:42px;min-height:0;padding:0;border:0;border-radius:50%;background:#fbfaf2eb;box-shadow:0 3px 10px #1f3a2d33;color:var(--text)}.shop-catalogue .shop-list-summary>.note,.shop-catalogue .shop-availability{display:none}.shop-catalogue .shop-list-summary:has(.shop-action-slot.is-inactive){display:none}.shop-catalogue .shop-item-badge{position:absolute;top:8px;right:8px;z-index:1;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#6c8f5a;color:#fff}.shop-catalogue .shop-item-badge[data-can=false]{background:#b9574b}.shop-catalogue .shop-item-badge:not([data-can]){display:none}.shop-sheet-back svg{scale:-1 1}.shop-catalogue .shop-stage{height:min(260px,calc(34dvh / var(--uiz)));flex-shrink:0}.shop-catalogue .shop-info{padding:14px 16px 24px;gap:10px}.shop-catalogue .shop-info h3{font-size:22px}}@media(prefers-reduced-motion:reduce){.shop-catalogue .shop-detail{transition:none!important}}.shop-info .shop-purchase{margin-top:0;padding-top:4px;display:grid;grid-template-columns:minmax(0,1fr);gap:6px}.shop-buy-row{display:flex;align-items:center;gap:8px;min-width:0}.shop-info .shop-cost{display:flex;flex:1 1 0;align-items:center;justify-content:center;gap:5px;min-width:0;font-size:22px;line-height:1.1}.shop-cost>svg{color:var(--gold)}.shop-cost>strong{flex:0 1 auto}.shop-buy-row .shop-purchase-actions{flex:none;flex-wrap:nowrap;gap:6px}.shop-buy-row .shop-purchase-actions .primary{flex:none;width:auto;min-width:100px;white-space:nowrap;min-height:44px;padding:0 10px;gap:6px}.shop-buy-row .shop-purchase-actions .ghost{min-height:44px;padding:0 12px}.shop-action-label{flex:0 1 auto}.shop-buy-row .number-field.compact{--number-step-width: 28px;flex:none;width:92px}.shop-buy-row .number-field.compact>.number-field-step{min-height:42px}.shop-info .shop-status{min-height:0;margin:0;font-size:11.5px;line-height:1.45}@media(max-width:760px),(orientation:landscape)and (max-height:520px)and (pointer:coarse){.shop-catalogue .shop-info .shop-purchase{display:grid;grid-template-columns:minmax(0,1fr);padding-top:2px;gap:6px}.shop-catalogue .shop-info .shop-cost{font-size:20px}.shop-buy-row .number-field.compact{--number-step-width: 34px;width:112px}.shop-buy-row .shop-purchase-actions .primary{min-width:116px}.shop-buy-row .number-field.compact>.number-field-step{min-height:44px}}#minimap[role=button]{cursor:pointer}#minimap[role=button]:focus-visible{outline:3px solid var(--focus, #bd8822);outline-offset:3px}#panel[data-surface=world-map]{--map-gap: 22px;top:max(var(--map-gap),env(safe-area-inset-top));bottom:max(var(--map-gap),env(safe-area-inset-bottom));left:max(var(--map-gap),env(safe-area-inset-left));right:var(--map-right, 104px);width:auto;max-height:none;border-radius:18px;z-index:32;background:#31432f;box-shadow:none}#panel[data-surface=world-map] .panel-heading{position:absolute;top:max(16px,env(safe-area-inset-top));right:16px;z-index:4;padding:0;border:0;background:none}#panel[data-surface=world-map] #panel-title{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}#panel[data-surface=world-map] #panel-close{width:44px;min-height:44px;border-radius:50%;background:#fbfaf2f0;box-shadow:0 6px 18px #14241a4d}#panel[data-surface=world-map] .panel-body{position:relative;padding:0;overflow:hidden}.world-map-workspace{position:absolute;inset:0}.world-map-stage{position:absolute;inset:0;display:flex;overflow:auto hidden;container-type:size;scrollbar-width:none;transition:filter .22s ease}.world-map-stage::-webkit-scrollbar{display:none}.world-map-stage.dimmed{filter:saturate(.7) brightness(.72)}.world-map-backdrop{position:absolute;inset:-40px;background:center / cover no-repeat;filter:blur(26px) saturate(1.1) brightness(.85);pointer-events:none}.valley-map{position:relative;flex:none;margin:auto;height:max(min(100cqh,64cqw),70cqh);aspect-ratio:1000 / 640;background:#c9d7a8;box-shadow:0 0 60px #0a140c66}.valley-art,.valley-art img,.valley-art svg{position:absolute;inset:0;width:100%;height:100%}.valley-art img{object-fit:cover;user-select:none}.valley-region{font:italic 600 20px Georgia,Times New Roman,serif;fill:#fbf6e6;paint-order:stroke;stroke:#2e42268c;stroke-width:4px;letter-spacing:1.5px}.world-map-hud{position:absolute;top:max(16px,env(safe-area-inset-top));left:16px;right:76px;z-index:3;display:flex;flex-wrap:wrap;align-items:center;gap:10px;pointer-events:none}.world-map-hud>*{pointer-events:auto}.world-map-tabs{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:#fbfaf2f0;box-shadow:0 6px 18px #14241a42}.world-map-tabs button{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 16px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-weight:750;box-shadow:none}.world-map-tabs button.active{background:var(--green);color:#fbfaf2}.world-map-tab-count:not(:empty){min-width:20px;padding:1px 6px;border-radius:999px;background:#f3d77e;color:#244133;font-size:11px}.world-map-current{display:inline-flex;align-items:center;gap:7px;min-width:0;padding:8px 14px;border-radius:999px;background:#244c3ad1;color:#fbfaf2;font-size:12px;font-weight:700;box-shadow:0 6px 18px #14241a38}.world-map-current>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.world-map-current>svg{flex-shrink:0}.world-map-status{position:absolute;left:50%;bottom:max(18px,env(safe-area-inset-bottom));z-index:3;max-width:calc(100% - 32px);margin:0;translate:-50% 0;padding:8px 16px;border-radius:999px;background:#fbfaf2f2;color:var(--text);font-size:13px;font-weight:650;box-shadow:0 6px 18px #14241a42}.world-map-status:empty{display:none}.world-map-pin{position:absolute;z-index:1;display:grid;justify-items:center;gap:4px;width:max-content;min-height:0;padding:0;translate:-50% calc(-100% - 8px);border:0;background:none;box-shadow:none;color:#1f3a2d;cursor:pointer}.world-map-pin:after{content:"";justify-self:center;width:3px;height:18px;margin-top:-2px;border-radius:2px;background:var(--pin-tint, #24554a);box-shadow:0 2px 4px #1f3a2d4d}.world-map-pin-badge{position:relative;display:grid;place-items:center;width:46px;height:46px;border:3px solid var(--pin-tint, #24554a);border-radius:50%;background:#fbfaf2;box-shadow:0 6px 14px #1f3a2d47;color:var(--pin-tint, #24554a);transition:scale .16s var(--motion-ease, ease),box-shadow .16s ease}.world-map-pin-label{display:grid;justify-items:center;padding:3px 10px 4px;border-radius:999px;background:#fbfaf2f0;box-shadow:0 3px 8px #1f3a2d2e;font-size:13px;line-height:1.2;white-space:nowrap}.world-map-pin:hover .world-map-pin-badge,.world-map-pin:focus-visible .world-map-pin-badge{scale:1.08;box-shadow:0 8px 18px #1f3a2d57}.world-map-pin:focus-visible{outline:none}.world-map-pin:focus-visible .world-map-pin-label{outline:3px solid #bd8822}.world-map-pin[aria-current=location] .world-map-pin-badge{background:var(--pin-tint, #24554a);color:#fbfaf2}.world-map-pin:is(.selected,:hover,:active):not(:disabled){background:none;box-shadow:none}.world-map-pin.selected .world-map-pin-badge{scale:1.12;box-shadow:0 0 0 4px #fbfaf2,0 0 0 7px var(--pin-tint, #24554a),0 8px 18px #1f3a2d57}.world-map-pin.selected .world-map-pin-label{background:var(--pin-tint, #24554a);color:#fbfaf2}.world-map-pin-count{position:absolute;top:-6px;right:-8px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#24554a;color:#fbfaf2;font:800 11px/20px var(--font);text-align:center;box-shadow:0 2px 6px #1f3a2d4d}.world-map-pin-count[hidden]{display:none}.world-map-pin-here{position:absolute;bottom:-27px;left:50%;width:54px;height:54px;margin-left:-27px;border-radius:50%;border:3px solid #f3d77e;opacity:0;pointer-events:none}.world-map-pin.here .world-map-pin-here{animation:world-map-ripple 1.8s ease-out infinite}@keyframes world-map-ripple{0%{opacity:.9;scale:.6}to{opacity:0;scale:1.6}}.world-map-card{--tail: 50%;position:absolute;z-index:2;display:grid;gap:10px;width:min(290px,calc(100vw - 32px));padding:14px;translate:-50% calc(-100% - 96px);border-radius:16px;background:#fbfaf2f7;box-shadow:0 14px 36px #14241a57;animation:world-map-pop .18s var(--motion-ease, ease-out)}.world-map-card:after{content:"";position:absolute;left:var(--tail);bottom:-8px;width:16px;height:16px;margin-left:-8px;rotate:45deg;background:inherit}.world-map-card.below{translate:-50% 26px}.world-map-card.below:after{top:-8px;bottom:auto}.world-map-card[data-side=left]{--tail: 32px;translate:-32px calc(-100% - 96px)}.world-map-card[data-side=right]{--tail: calc(100% - 32px) ;translate:calc(-100% + 32px) calc(-100% - 96px)}.world-map-card.below[data-side=left]{translate:-32px 26px}.world-map-card.below[data-side=right]{translate:calc(-100% + 32px) 26px}.world-map-card[hidden]{display:none}@keyframes world-map-pop{0%{opacity:0;scale:.94}}.world-map-card-head{display:flex;align-items:center;gap:10px}.world-map-card-head>div{flex:1;min-width:0}.world-map-card-head h3{margin:0;font-size:17px}.world-map-card-badge{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:12px;background:color-mix(in srgb,var(--pin-tint, #24554a) 16%,white);color:var(--pin-tint, #24554a)}.world-map-card-close{display:grid;place-items:center;flex:none;align-self:start;width:28px;min-height:28px;padding:0;border:0;border-radius:50%;background:#edf3e8;color:var(--muted);box-shadow:none}.world-map-card-people{color:var(--muted);font-size:12px;font-weight:700}.world-map-card p{margin:0;font-size:13px}.world-map-card.peek{pointer-events:none}.world-map-card.peek .world-map-card-close,.world-map-card.peek .world-map-travel,.world-map-card.peek .world-map-card-more summary{display:none}.world-map-card.peek .world-map-card-does{margin-top:0}.world-map-card .world-map-card-hint{display:none;color:var(--green);font-size:12px;font-weight:800}.world-map-card.peek .world-map-card-hint{display:block}.world-map-card-more summary{color:var(--green);font-size:12px;font-weight:750;cursor:pointer}.world-map-card-does{display:grid;gap:5px;margin:8px 0 0;padding:0;list-style:none}.world-map-card-does li{position:relative;padding-left:16px;font-size:12.5px}.world-map-card-does li:before{content:"";position:absolute;left:2px;top:6px;width:7px;height:7px;border-radius:50%;background:var(--green)}.world-map-travel{width:100%;min-height:42px;font-size:15px}.world-map-farms-pane{position:absolute;top:calc(max(16px,env(safe-area-inset-top)) + 64px);left:50%;bottom:24px;z-index:3;display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;width:min(760px,calc(100% - 32px));translate:-50% 0;padding:18px;border-radius:18px;background:var(--panel-solid);box-shadow:0 18px 48px #0a140c66}.world-map-farms-pane[hidden]{display:none}.world-map-directory-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.world-map-directory-head h3{margin:0;font-size:15px}.world-map-search{flex:1;max-width:260px;min-height:32px;padding:0 12px;border:1px solid var(--border);border-radius:999px;background:var(--panel-solid);font:inherit}.world-map-farms{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));align-content:start;gap:10px;overflow-y:auto;padding:2px}.world-map-farms>.note{grid-column:1 / -1;margin:0}.world-map-farm{display:flex;align-items:center;gap:10px;min-height:52px;padding:8px 12px;border:0;border-radius:12px;background:#edf3e8;color:#244133;text-align:left}.world-map-farm-text{display:grid;flex:1;min-width:0}.world-map-farm-text strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.world-map-farm .world-map-place-action{color:#24554a;font-size:12px;font-weight:700}.world-map-farm[aria-current=location]{background:#244c3a;color:#f7faf4}.world-map-farm:hover:not(:disabled){background:#dfead4}@media(max-width:760px),(orientation:landscape)and (max-height:520px)and (pointer:coarse){#panel[data-surface=world-map]{--map-gap: 10px}.world-map-pin-badge{width:38px;height:38px}.world-map-pin-badge svg{width:18px;height:18px}.world-map-pin-label{padding:2px 7px 3px;font-size:11px}.world-map-current{display:none}.world-map-tabs button{padding:0 12px}.world-map-farms-pane{padding:14px}.world-map-directory-head{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.world-map-pin-badge,.world-map-stage{transition:none}.world-map-pin.here .world-map-pin-here,.world-map-card{animation:none}}.emote-button{display:none}body[data-camera=third] .emote-button{display:flex;align-items:center;gap:6px;position:absolute;z-index:7;left:192px;bottom:25px;min-height:40px;padding:0 12px;border:0;border-radius:12px;background:var(--panel);box-shadow:var(--shadow);color:var(--green);font-weight:650;zoom:var(--ui)}.emote-button kbd{padding:1px 5px;border:1px solid var(--border);border-radius:5px;font:600 11px var(--mono);color:var(--muted)}.emote-menu{display:grid;gap:6px;position:absolute;z-index:12;left:192px;bottom:74px;max-width:calc(calc(100vw / var(--uiz)) - 216px);padding:8px;border-radius:14px;background:var(--panel);box-shadow:var(--shadow);zoom:var(--ui);--uiz: var(--ui)}.emote-menu[hidden]{display:none}.emote-menu button{min-height:38px;padding:0 12px;border-radius:10px;font-weight:650}body:is([data-building=true],[data-editing=true]) :is(.emote-button,.emote-menu),body:has(#panel:not(.collapsed)) .emote-menu{display:none!important}html[data-input=touch] body[data-camera=third] .emote-button{left:auto;right:max(24px,env(safe-area-inset-right));bottom:calc(max(30px,env(safe-area-inset-bottom)) + 140px);width:52px;height:52px;padding:0;justify-content:center;border-radius:50%;background:#f7faf4db}html[data-input=touch] .emote-button :is(span,kbd){display:none}html[data-input=touch] .emote-menu{left:auto;right:max(16px,env(safe-area-inset-right));bottom:calc(max(30px,env(safe-area-inset-bottom)) + 200px);max-width:calc(calc(100vw / var(--uiz)) - 32px);justify-content:flex-end}html[data-input=touch] body:has(#panel:not(.collapsed)) .emote-button{display:none!important}.emote-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.emote-row.dances{padding-top:6px;border-top:1px solid var(--border)}.emote-row-label{margin-right:2px;color:var(--muted);font-size:11px;font-weight:650;text-transform:uppercase;letter-spacing:.04em}html[data-input=touch]{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%}html[data-input=touch] #app,html[data-input=touch] button,html[data-input=touch] [role=button]{touch-action:manipulation}html[data-input=touch] #app{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}html[data-input=touch] :is(input,textarea,select,[contenteditable=true]){-webkit-user-select:text;user-select:text}.chat-feed,.rail-toggle{display:none}@media(prefers-reduced-motion:reduce){.tabs,.tabs>.tab,.rail-toggle svg{transition:none!important}}html:not([data-input=touch]) .top-actions:has(.fullscreen-toggle){display:none}html[data-input=touch] :is(kbd,.tab-hotkey){display:none!important}html[data-input=touch] button:active:not(:disabled){scale:.93;filter:brightness(.96);transition-duration:60ms}@media(hover:none){.tab:hover>svg{rotate:none}.tab:hover:not(:disabled):not(.active){background:var(--panel)}}html[data-input=touch] body[data-camera=third] #touch-stick{display:grid;position:absolute;left:max(22px,env(safe-area-inset-left));bottom:max(22px,env(safe-area-inset-bottom));width:104px;height:104px;place-items:center;border-radius:50%;border:2px solid rgb(247 250 244 / 60%);background:#f7faf433;backdrop-filter:blur(2px);z-index:9;touch-action:none}html[data-input=touch] #touch-stick span{display:block;width:42px;height:42px;border-radius:50%;background:#f7faf4e0;box-shadow:0 3px 12px #24413326;transition:scale .12s var(--motion-ease)}html[data-input=touch] #touch-stick:active span{scale:1.12}html[data-input=touch] #touch-stick.running{border-color:#f7faf4d9}html[data-input=touch] #touch-stick.running span{background:var(--green)}html[data-input=touch] body[data-camera=third] #jump{display:grid;place-items:center;position:absolute;right:max(18px,env(safe-area-inset-right));bottom:max(30px,env(safe-area-inset-bottom));width:64px;height:64px;min-height:0;padding:0;border-radius:50%;border:0;background:#f7faf4db;box-shadow:0 6px 18px #15332238;color:var(--green);font-size:12px;font-weight:800}html[data-input=touch] body:has(#panel:not(.collapsed)) :is(#touch-stick,#jump,#interact),html[data-input=touch] body[data-building=true] :is(#touch-stick,#jump),html[data-input=touch] body[data-editing=true] :is(#touch-stick,#jump){display:none}html[data-input=touch] #interact{min-height:44px;padding:10px 16px;border-radius:999px;font-size:13px;font-weight:750}html[data-input=touch] body[data-camera=third] #minimap{display:none}@media(max-width:760px),(orientation:landscape)and (max-height:520px)and (pointer:coarse){html[data-input=touch]{--hud-top: max(8px, env(safe-area-inset-top));--hud-row: 40px}html[data-input=touch] #topbar{top:var(--hud-top);left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));flex-wrap:nowrap;align-items:center;gap:6px}html[data-input=touch] .brand{min-width:0;flex:none;height:var(--hud-row);padding:4px;gap:8px;border-radius:13px}html[data-input=touch] .brand-mark{width:32px;height:32px;border-radius:10px}html[data-input=touch] .brand .brand-copy{display:none}html[data-input=touch] .stats{order:1;flex:1 1 auto;width:auto;min-width:0;height:var(--hud-row);min-height:0;margin:0;padding:0 4px;border-radius:13px;justify-content:space-around;overflow:hidden}html[data-input=touch] .stat{padding:0 6px;gap:5px;border:0;min-width:0}html[data-input=touch] .stat>svg{width:16px;height:16px;flex:none}html[data-input=touch] :is(.stat-label,.stat.tokens,.stat.day){display:none}html[data-input=touch] .stat .val{font-size:13px;white-space:nowrap}html[data-input=touch] .stat>div{min-width:0}html[data-input=touch] .top-actions{order:2;margin:0}html[data-input=touch] .top-actions button{width:var(--hud-row);height:var(--hud-row);min-height:0;border-radius:13px}html[data-input=touch] #journey{top:calc(var(--hud-top) + var(--hud-row) + 8px);left:max(10px,env(safe-area-inset-left));max-width:min(260px,calc(calc(100vw / var(--uiz)) - 90px));min-height:36px;padding:4px 4px 4px 10px;gap:7px;border-radius:12px}html[data-input=touch] #journey>svg{width:16px;height:16px;flex:none}html[data-input=touch] #journey>div{min-width:0}html[data-input=touch] #journey strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}html[data-input=touch] #journey .note{display:none}html[data-input=touch] #journey button{flex:none}html[data-input=touch] #journey button:not(.primary):after{content:"";position:absolute;inset:0}html[data-input=touch] .rail-toggle{display:grid;place-items:center;position:absolute;top:calc(var(--hud-top) + var(--hud-row) + 8px);right:max(10px,env(safe-area-inset-right));z-index:13;width:46px;height:42px;min-height:0;padding:0;border:0;border-radius:11px;background:#f7faf4e0;box-shadow:0 3px 12px #263e321f;color:var(--muted);transition:background-color .18s ease,color .18s ease}html[data-input=touch] .rail-toggle svg{transition:rotate .26s var(--motion-ease)}html[data-input=touch] body[data-rail=open] .rail-toggle{background:var(--green);color:#fff}html[data-input=touch] body[data-rail=open] .rail-toggle svg{rotate:90deg}html[data-input=touch] body[data-rail=collapsed] .rail-toggle:has(+#tabs .dot):after{content:"";position:absolute;top:7px;right:7px;width:6px;height:6px;border-radius:50%;background:#e8bb58}html[data-input=touch] .tabs{top:calc(var(--hud-top) + var(--hud-row) + 55px);right:max(10px,env(safe-area-inset-right));gap:5px;max-height:calc(calc(100dvh / var(--uiz)) - var(--hud-row) - 237px);transition:translate .32s var(--motion-ease),opacity .22s ease,visibility 0s}html[data-input=touch] .tabs>.tab{transition:background .15s ease,color .15s ease,scale .15s var(--motion-ease),translate .36s var(--motion-ease)}html[data-input=touch] .tabs>.tab:nth-child(2){transition-delay:25ms}html[data-input=touch] .tabs>.tab:nth-child(3){transition-delay:50ms}html[data-input=touch] .tabs>.tab:nth-child(4){transition-delay:75ms}html[data-input=touch] .tabs>.tab:nth-child(5){transition-delay:.1s}html[data-input=touch] .tabs>.tab:nth-child(6){transition-delay:125ms}html[data-input=touch] .tabs>.tab:nth-child(n+7){transition-delay:.15s}html[data-input=touch] body[data-rail=collapsed] .tabs{translate:calc(100% + 24px) 0;opacity:0;visibility:hidden;pointer-events:none;transition:translate .26s ease-in,opacity .22s ease-in,visibility 0s .26s}html[data-input=touch] body[data-rail=collapsed] .tabs>.tab{translate:40px 0;transition-delay:0s}html[data-input=touch] .tab{width:46px;min-height:42px;padding:5px 1px 4px;gap:2px;font-size:9px;letter-spacing:-.02em;border-radius:11px}html[data-input=touch] .tab svg{width:17px;height:17px}html[data-input=touch] .toasts{top:calc(var(--hud-top) + var(--hud-row) + 52px)}html[data-input=touch] #panel,html[data-input=touch] #panel[data-surface]{top:calc(var(--hud-top) + var(--hud-row) + 8px)}}@media(orientation:landscape)and (max-height:520px)and (pointer:coarse){html[data-input=touch] .brand{padding:4px 12px 4px 4px}html[data-input=touch] .brand .brand-copy{display:block}html[data-input=touch] .brand #farm-name{font-size:13px;max-width:150px}html[data-input=touch] .stats{flex:0 1 auto;margin-left:auto;gap:2px;padding:0 8px}html[data-input=touch] .tabs{display:grid;grid-template-columns:repeat(2,46px);align-content:start;max-height:calc(calc(100dvh / var(--uiz)) - 197px)}html[data-input=touch] #panel,html[data-input=touch] #panel[data-surface]{inset:max(8px,env(safe-area-inset-top)) calc(max(10px,env(safe-area-inset-right)) + 108px) max(8px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));width:auto;max-width:none;height:auto;max-height:none;z-index:12}html[data-input=touch] .panel-heading{padding:10px 14px}html[data-input=touch] .panel-heading h2{font-size:18px}html[data-input=touch] .panel-body{padding:12px 14px}html[data-input=touch] body:has(#panel:not(.collapsed)) :is(#topbar,#journey){visibility:hidden}html[data-input=touch] body[data-camera=third] #touch-stick{width:96px;height:96px;left:max(24px,env(safe-area-inset-left));bottom:max(18px,env(safe-area-inset-bottom))}html[data-input=touch] body[data-camera=third] #jump{right:calc(max(12px,env(safe-area-inset-right)) + 108px);bottom:max(22px,env(safe-area-inset-bottom))}html[data-input=touch] .toasts{top:auto;bottom:max(14px,env(safe-area-inset-bottom));left:50%;right:auto;translate:-50% 0;width:min(420px,calc(calc(100vw / var(--uiz)) - 280px))}}@media(max-width:760px)and (orientation:portrait){html[data-input=touch] body[data-camera=third]:not([data-building=true],[data-editing=true]) #toasts{top:auto;bottom:calc(max(22px,env(safe-area-inset-bottom)) + 168px)}}@media(max-width:760px),(orientation:landscape)and (max-height:520px)and (pointer:coarse){html[data-input=touch] .room-chat{left:max(12px,env(safe-area-inset-left));bottom:calc(max(22px,env(safe-area-inset-bottom)) + 116px);width:auto}html[data-input=touch] body:not([data-chat-focused=true]) .room-chat[data-log-visible=true]{padding:0;background:none;box-shadow:none;animation:none}html[data-input=touch] body:not([data-chat-focused=true]) .room-chat .chat-log{display:none}html[data-input=touch] .chat-open{min-height:38px;padding:6px 14px;border-radius:999px;font-weight:700;box-shadow:0 4px 12px #1533222e}html[data-input=touch] body[data-chat-focused=true] .room-chat{top:max(8px,env(safe-area-inset-top));left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));bottom:auto;width:auto;padding:8px 10px 10px;border-radius:16px}html[data-input=touch] body[data-chat-focused=true] .chat-log{max-height:min(132px,calc(22dvh / var(--uiz)));margin-top:6px}html[data-input=touch] body[data-chat-focused=true] .chat-compose{margin-top:8px}html[data-input=touch] body[data-chat-focused=true] .chat-message{margin-bottom:6px}html[data-input=touch] .chat-feed{display:block;position:absolute;z-index:8;top:calc(var(--hud-top) + var(--hud-row) + 52px);left:max(12px,env(safe-area-inset-left));max-width:min(300px,calc(calc(100vw / var(--uiz)) - 90px));margin:0;padding:0;list-style:none;color:#fff;font-size:12px;line-height:1.4;text-shadow:0 1px 2px rgb(0 0 0 / 70%),0 0 6px rgb(0 0 0 / 35%);pointer-events:none;opacity:0;transition:opacity .4s ease}html[data-input=touch] .chat-feed[data-visible=true]{opacity:1;transition-duration:.15s}html[data-input=touch] .chat-feed-line{margin-bottom:2px;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}html[data-input=touch] .chat-feed-line strong{font-weight:750}html[data-input=touch] body:is([data-chat-focused=true],[data-building=true],[data-editing=true]) .chat-feed,html[data-input=touch] body:has(#panel:not(.collapsed),.modal-backdrop) .chat-feed{display:none}html[data-input=touch] body[data-chat-focused=true] :is(#journey,#tabs,#rail-toggle,#topbar){visibility:hidden}}@media(orientation:landscape)and (max-height:520px)and (pointer:coarse){html[data-input=touch] .room-chat{bottom:calc(max(18px,env(safe-area-inset-bottom)) + 104px)}html[data-input=touch] body[data-chat-focused=true] .room-chat{right:auto;width:min(420px,calc(55vw / var(--uiz)))}html[data-input=touch] body[data-chat-focused=true] .chat-log{max-height:min(110px,calc(28dvh / var(--uiz)))}html[data-input=touch] body[data-chat-focused=true] #topbar{visibility:hidden}}@media(max-width:760px),(orientation:landscape)and (max-height:520px)and (pointer:coarse){html[data-input=touch] .race-live-caption{top:calc(var(--hud-top) + var(--hud-row) + 8px);left:max(10px,env(safe-area-inset-left));right:calc(max(10px,env(safe-area-inset-right)) + 54px);translate:none;width:auto;max-width:none}html[data-input=touch] body[data-place=racetrack] #journey{display:none}}.build-place-row{display:flex;gap:8px;width:100%;flex-basis:100%}.build-place-row[hidden]{display:none}.build-place-row button{display:inline-flex;flex:1;align-items:center;justify-content:center;gap:8px;min-height:48px;border-radius:12px;font-size:15px;font-weight:750}.build-place-row .build-place-confirm{flex:2}.build-place-row .build-place-confirm:disabled{opacity:.45}#build-status[data-valid=false]{color:var(--danger, #a43b32);font-weight:650}.build-inventory-item.build-shop-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center}@media(max-width:760px){html[data-input=touch] #panel,html[data-input=touch] #panel[data-surface]{top:calc(var(--hud-top) + var(--hud-row) + 8px);right:max(12px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));left:max(12px,env(safe-area-inset-left));width:auto;max-width:none;height:auto;max-height:none;z-index:14;border-radius:18px}html[data-input=touch] #panel .panel-heading{padding:12px 16px}html[data-input=touch] #panel .panel-heading h2{font-size:22px}html[data-input=touch] #panel .panel-body{padding:16px}html[data-input=touch] #panel[data-surface=upgrades] .panel-body{padding:0}}.touch-ride{display:none}html[data-input=touch] body[data-camera=third] .touch-ride:not([hidden]){display:grid;place-items:center;position:absolute;right:max(24px,env(safe-area-inset-right));bottom:calc(max(30px,env(safe-area-inset-bottom)) + 76px);width:52px;height:52px;min-height:0;padding:0;border-radius:50%;border:0;background:#f7faf4db;box-shadow:0 6px 18px #15332238;color:var(--green);font-size:10px;font-weight:800}html[data-input=touch] body[data-camera=third] .touch-ride[aria-pressed=true]{background:var(--green);color:var(--panel)}html[data-input=touch] body:is([data-building=true],[data-editing=true]) .touch-ride,html[data-input=touch] body:has(#panel:not(.collapsed)) .touch-ride{display:none!important}
