/* Lantern evening. These rules also make hover and hit geometry independent. */
:root{--paper:#ede1c9;--cream:#e2d3b5;--ink:#302e26;--muted:#6c6554;--green:#3c6145;--green-dark:#284837;--wine:#985746;--gold:#a17436;--line:#c6b68e;--shadow:0 12px 40px #624b5012;background:#ede1c9}
body{background:radial-gradient(ellipse at 30% 0,#f5ecdf 0,transparent 60%),var(--paper)}
.app{padding-left:32px;padding-right:32px}.topbar{height:86px;border-color:#c9bba666}.wordmark{font-size:31px;color:#314a3c;letter-spacing:-1.4px}.wordmark b{color:#647446}.wordmark small{font-size:7px;letter-spacing:2px;color:#776142}.brand-leaf{color:#a18d6f;font-size:34px}.icon-button{border-color:#d0c0ab;background:#f4ecdf60;color:#7b7268}.icon-button:hover{background:#e9ddcd}.main{padding-top:22px;gap:26px}.farm-heading{margin-bottom:16px}.farm-name{color:#344b3c;font-size:30px;letter-spacing:-.6px}.eyebrow{color:#766141;font-size:8px;letter-spacing:2.1px}.level-pill{background:#e2e1ce;border-color:#ccceb7;color:#4d6540}.level-number{color:#36573b}.wallet{background:#f7efe2;border-color:#d8c8b4;box-shadow:inset 0 1px #fff8e8}.wallet .token{background:#ead5b1;color:#966c2f}.wallet.seed .token{background:#dce0c7;color:#4f7040}.inventory-button{background:#eee5d6;border-color:#d4c3ae}.hud{margin-bottom:12px}
.farm-stage{border-radius:14px;border:1px solid #38574b;background:#315346;box-shadow:0 2px 0 #fff5e577,0 12px 30px #74626510,inset 0 0 0 6px #e0c9aa33}.farm-stage:before{display:none}.farm-stage:after{content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 45px #0a302727;pointer-events:none;z-index:58}.world{background:#315346}.weather{padding:5px 10px;border-radius:20px;background:#213f364d;top:16px;left:18px;color:#f1d4a0;letter-spacing:.6px;font-family:var(--serif);font-style:italic;font-size:12px;text-shadow:0 1px 3px #12362eee}.weather span{color:#f5c776;font-size:18px}.camera-button{background:#29463ddd;border-color:#8a8a58;color:#f3d6a0;box-shadow:0 2px 8px #65526710}
.object{width:132px;height:132px;border-radius:0;outline:none;transform:translate(-50%,-85%)}.object:hover{filter:none}.object:focus-visible{outline:1px dashed #eee0bc;outline-offset:3px;background:none;border-radius:45%}.object>svg{overflow:visible}.object.field{width:96px;height:48px;transform:translate(-50%,-50%);pointer-events:none;clip-path:none;background:none;outline:none}.object.field>svg{position:absolute;width:96px;height:96px;left:0;top:-33.6px;pointer-events:none;overflow:visible}.object.field>.field-hit{position:absolute;inset:0;display:block;pointer-events:auto;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:transparent;touch-action:manipulation}.object.field.empty:hover{background:none;clip-path:none}.object.field:hover .field-outline,.object.field:focus-visible .field-outline{opacity:1}.field-outline{transition:opacity .12s}.object.field:focus-visible{outline:none;background:none}.object.field:disabled>.field-hit{pointer-events:none}
.object-label-layer{position:absolute;inset:0;pointer-events:none;z-index:45}.map-label{position:absolute;transform:translateX(-50%);white-space:nowrap;max-width:240px;padding:4px 9px;color:#f6e4bb;background:#253e32eb;border:1px solid #af945bc4;border-radius:4px 7px 5px 6px;font-size:10px;font-family:var(--serif);letter-spacing:.2px;box-shadow:0 2px 4px #64546512;pointer-events:none}.map-label.building:before{content:'';display:inline-block;width:3px;height:3px;border:1px solid #d3ae63;border-radius:50%;vertical-align:2px;margin-right:5px}.map-label.field{color:#ffe6af;font-family:inherit;font-size:10px;letter-spacing:0;background:#253e32fa;border-color:#c49b53;z-index:2;padding:6px 10px}.map-label.decor{font-size:9px}.ready-indicator{width:21px;height:21px;border:1px solid #ffe0a1;background:#ffe0a1;color:#41613c;box-shadow:0 2px 4px #61525815;animation:none;top:8px}.object.field .ready-indicator{top:-38px;width:17px;height:17px;left:50%;opacity:.92}.ready-indicator .icon{width:12px;height:12px}.tree-crown{animation:none}.mill-sails{animation-duration:36s}.chimney-smoke{animation:evening-smoke 8s ease-in-out infinite;transform-origin:120px 0}.flash{animation:none}
.crop-toolbar{border-radius:8px 11px 8px 12px;background:#eddfbff5;border:1px solid #bdaa8b;box-shadow:0 4px 20px #67585f1c,inset 0 1px #fff2d8;gap:2px;padding:7px}.toolbar-label{color:#9a826b;letter-spacing:2px}.crop-choice{border-radius:6px;color:#524b34}.crop-choice.selected{background:#bdc395;border-color:#798b4d;box-shadow:inset 0 1px #edf0d5}.crop-choice.locked{background:#ded2b8;color:#796f58}.crop-choice.locked>svg{opacity:.48;filter:saturate(.6)}.onboarding{border:1px solid #c7b391;background:#f4e5bff5;border-radius:7px 12px 8px 10px;box-shadow:0 6px 20px #58434d0d;padding:10px 18px;font-size:11px;color:#655337}.onboarding b{font-family:var(--serif);font-size:15px;font-weight:400;color:#403f29}.farm-footer{color:#796946}.farm-footer .text-button{color:#796035}
.sidebar{gap:20px}.next-card{background:#e3dfcd;border-color:#cfc9af;border-radius:10px}.next-card h3{color:#405236}.next-card:after{color:#b8b9984f}.next-card p{color:#6e6c50}.progress{background:#cccbb0}.progress>span{background:#71904e}.progress-meta{color:#72714e}.section-top h2{color:#344b3c}.small-badge{background:#e4dcca;color:#9b856f}.order-card{border-radius:10px;background:#f3ebdd;border-color:#d3c4ad;padding:14px 16px}.order-title{color:#786641}.item-art{background:#e9decb;border-radius:7px}.reward-values{color:#976e28}.reward-values small{color:#9d947e}.primary{background:#416644;color:#fff3cc;box-shadow:0 2px 0 #29482f;border-radius:7px;font-weight:400}.primary:hover{background:#345336}.primary:disabled{background:#e3dfcc;color:#a29e87}.secondary{background:#e8dfcc;border-color:#d7c8af;color:#5e5835;border-radius:7px;font-weight:400}.danger{border-radius:7px}.growth-card{background:#e9dfce;border-color:#d1bfaa;border-radius:10px}.growth-card h3{color:#71543e}.growth-card p{color:#71654c}.bottom-nav{border-color:#cfc0ac;background:#ede1c9}.bottom-nav button{color:#716647;border-radius:8px;letter-spacing:.1px}.bottom-nav button.active{background:#dedfc9;color:#365a3d}.toast{background:#304f43;color:#f6e6cc;border:1px solid #a58d84;border-radius:9px;box-shadow:0 5px 22px #66526522}.sheet-header{border-color:#d8c8b3}.sheet-header h2{color:#3d513c}dialog{background:#f0e7d8;border-color:#bbab92;border-radius:14px;box-shadow:0 25px 90px #493b5238}dialog::backdrop{background:#50485375;backdrop-filter:blur(3px)}.panel{background:#e5e0ce;border-color:#d0c7ae;border-radius:9px}.catalog-card,.goal-card,.recipe{background:#f5ecdd;border-color:#d5c4ab;border-radius:10px}.inventory-tile{background:#f2e8d5;border-color:#d3c2a6;border-radius:8px}.collection-item{opacity:.48}.collection-item.known{opacity:1}.queue-item{background:#dedfc9}.badge{background:#dddcc3;color:#898964}.week-leaf{background:#dfdbc7;color:#a69a7c}.week-leaf.done{background:#949d74;color:#f1dfb7}.rating-options label{background:#e7dfce;border-color:#cfbea4}.rating-options label:has(input:checked){background:#d7ddbd;border-color:#9aa677}.save-warning{background:#ecdbb9;color:#78654e;border-color:#c9ae7e}.plot-target{background:#edddb04d;border:none;box-shadow:inset 0 0 0 1px #efdcaa}.plot-target:hover{background:#ecd19880}
@keyframes evening-smoke{50%{opacity:.2;transform:translate(3px,-3px)}}
@media(max-width:1100px){.app{padding-left:24px;padding-right:24px}.main{gap:20px}}
@media(max-width:820px){.app{padding-left:18px;padding-right:18px}.topbar{height:73px}.wordmark{font-size:25px}.wordmark small{font-size:5.7px;letter-spacing:1.3px}.main{padding-top:14px}.farm-heading{margin-bottom:10px}.farm-name{font-size:26px}.eyebrow{font-size:7px;letter-spacing:1.6px}.farm-stage{border-radius:12px}.weather{font-size:10px;left:12px;top:12px}.crop-toolbar{padding:5px;gap:1px}.map-label{font-size:9px}.onboarding{font-size:10px}.onboarding b{font-size:14px}.crop-choice{width:44px}.bottom-nav{background:#ede1c9}.sidebar{display:none}dialog{border-radius:14px}}
@media(max-width:360px){.app{padding-left:12px;padding-right:12px}.topbar{height:68px}.wordmark{font-size:22px}.wordmark small{font-size:5px;letter-spacing:.9px}.farm-name{font-size:23px}.farm-heading{margin-bottom:8px}.main{padding-top:10px}.weather{font-size:9px}.onboarding{padding:8px 10px}}
@media(max-height:580px) and (max-width:950px){.topbar{height:52px}.main{padding-top:7px}.farm-heading{margin-bottom:3px}.farm-name{font-size:22px}.crop-toolbar{padding:4px}.onboarding{display:none}.weather{display:none}}
@media(prefers-reduced-motion:reduce){.chimney-smoke,.mill-sails{animation:none}.field-outline{transition:none}}
