:root{--ink:#382719;--muted:#765a42;--cream:#fff5d7;--paper:#f7e2ad;--paper-2:#fff0c2;--wood:#8b542c;--wood-dark:#59331c;--wood-light:#c98344;--green:#55963f;--green-dark:#315f2d;--soil:#734426;--gold:#ffc950;--red:#c9583f;--blue:#55a9ca;--shadow:0 14px 34px rgba(42,30,16,.25)}
*{box-sizing:border-box}html{min-width:320px;background:#4f8238}body{margin:0;min-height:100vh;color:var(--ink);font-family:"Trebuchet MS","Microsoft JhengHei",system-ui,sans-serif;background:#5c9144;overflow-x:hidden}button,input{font:inherit}button{touch-action:manipulation}button:focus-visible,.file-label:focus-within{outline:4px solid rgba(255,255,255,.92);outline-offset:2px}.page-backdrop{position:fixed;inset:-28px;z-index:-2;background:url("assets/source/farm-scene-background.png") center/cover no-repeat;filter:blur(7px) saturate(.82);transform:scale(1.05)}.page-backdrop::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(44,77,31,.3),rgba(37,55,24,.72))}.app-shell{width:min(1520px,calc(100% - 24px));margin:12px auto 24px}.wood-panel{background:linear-gradient(rgba(255,255,255,.1),rgba(0,0,0,.025)),repeating-linear-gradient(0deg,rgba(80,46,20,.07) 0 2px,transparent 2px 8px),var(--paper);border:4px solid var(--wood-dark);box-shadow:inset 0 0 0 3px var(--wood-light),var(--shadow);border-radius:18px}.topbar{min-height:88px;padding:12px 18px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:13px}.brand-mark{width:58px;height:58px;display:grid;place-items:center;border-radius:17px;font-size:35px;background:#fff2b0;border:3px solid #774722;box-shadow:inset 0 -6px rgba(117,65,26,.12)}.brand h1{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:32px;color:#5b351d;text-shadow:0 2px #fff5cf}.brand p{margin:2px 0 0;color:#785539;font-size:13px;font-weight:800}.status-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.status-pill{display:flex;align-items:center;gap:7px;padding:8px 12px;min-width:104px;border:3px solid #71411f;border-radius:13px;background:#fff6d2;box-shadow:inset 0 -5px rgba(121,70,28,.08)}.status-pill span{font-size:19px}.status-pill b{font-size:14px}.status-pill.coin{background:#ffe49a}.status-pill.gem{background:#d4f3ff}.main-layout{display:grid;grid-template-columns:225px minmax(650px,1fr) 245px;gap:12px;margin-top:12px;align-items:start}.sidebar{padding:14px;position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto}.game-stage{min-width:0}.view{display:none}.active-view{display:block}.profile-card{display:flex;gap:10px;padding-bottom:13px;border-bottom:2px dashed rgba(103,59,26,.35)}.avatar{width:54px;height:54px;display:grid;place-items:center;border-radius:14px;background:#fff3b9;border:2px solid #8a582c;font-size:31px}.profile-meta{min-width:0;flex:1}.profile-meta>span{font-size:10px;color:#82634a}.profile-meta strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.level-line,.storage-summary{display:flex;justify-content:space-between;gap:8px;font-size:10px;margin-top:4px}.xp-track,.storage-track{height:9px;border:2px solid #704221;border-radius:99px;background:#d0ad70;overflow:hidden}.xp-bar,.storage-bar{height:100%;width:0;background:linear-gradient(90deg,#5da945,#cbe957);transition:width .25s ease}.nav-stack{display:grid;gap:7px;margin:14px 0}.nav-btn{display:flex;align-items:center;gap:9px;width:100%;padding:9px 10px;border:3px solid #724421;border-radius:11px;background:#fff0b5;color:#5e3a24;box-shadow:0 3px 0 #60381d;cursor:pointer;font-weight:900}.nav-btn span{font-size:20px}.nav-btn em{font-style:normal}.nav-btn:hover{transform:translateY(-1px)}.nav-btn.active{background:#5b9142;color:#fff;border-color:#315e2b}.daily-card{padding:10px;border:2px solid #9a672f;border-radius:13px;background:rgba(255,244,194,.72)}.section-title{display:flex;align-items:center;gap:6px;margin-bottom:8px;font-weight:900}.weather-content{display:flex;gap:9px;font-size:10px;line-height:1.35;color:#73543e}.weather-icon{font-size:30px;flex:0 0 auto}.primary-btn,.secondary-btn,.gem-btn,.mini-action,.shop-btn,.upgrade-btn,.order-btn,.tab-btn{border:2px solid #74431f;border-radius:9px;cursor:pointer;font-weight:900;box-shadow:0 3px 0 #5a351d}.primary-btn{width:100%;margin-top:10px;padding:11px;background:#4f933c;color:#fff}.gem-btn{width:100%;margin-top:10px;padding:9px;background:#d9f4ff;color:#31556a}.gem-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.text-btn{width:100%;padding:8px;border:0;background:none;color:#75482a;cursor:pointer}.secondary-btn{padding:8px 10px;background:#fff0b4;color:#5d3b27}.secondary-btn:hover,.primary-btn:hover,.gem-btn:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px)}.scene-header{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:3px 4px 10px}.scene-header h2{margin:0;font-size:27px;color:#fff8d5;text-shadow:0 2px 3px rgba(39,29,16,.7)}.eyebrow{font-size:10px;font-weight:900;letter-spacing:.15em;text-transform:uppercase;color:#e4f2cd}.scene-actions{display:flex;gap:7px;flex-wrap:wrap}.farm-scene{position:relative;min-height:690px;overflow:hidden;border:4px solid #49351d;border-radius:17px;background:linear-gradient(#8ad6ef 0 24%,#81bd61 24% 100%);box-shadow:var(--shadow);isolation:isolate}.farm-scene::before{content:"";position:absolute;inset:24% 0 0;z-index:-1;background-image:url("assets/sprites/grass-tile.svg");background-size:122px 100px;opacity:.56}.farm-scene::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.12),transparent 28%,rgba(47,83,32,.14))}.scene-prop{position:absolute;z-index:1;pointer-events:none;object-fit:contain;filter:drop-shadow(0 7px 5px rgba(43,39,19,.28))}.prop-farmhouse{left:4%;top:62px;width:190px}.prop-barn{right:6%;top:74px;width:142px}.prop-windmill{left:28%;top:36px;width:105px;height:176px}.prop-well{left:2%;top:232px;width:91px}.prop-market{left:29%;top:226px;width:112px}.prop-coop{right:25%;top:217px;width:118px}.prop-scarecrow{left:48%;top:224px;width:62px}.prop-pond{right:1%;bottom:11px;width:180px}.building-label{position:absolute;z-index:2;padding:3px 8px;border-radius:8px;background:rgba(255,244,196,.92);border:2px solid #714521;font-size:10px;font-weight:900}.label-house{left:8%;top:205px}.label-barn{right:9%;top:200px}.zone-card{position:absolute;z-index:3;padding:31px 9px 9px;border:4px solid #5e3b21;border-radius:15px;background:rgba(105,67,34,.86);box-shadow:inset 0 0 0 3px rgba(255,255,255,.15),0 9px 16px rgba(44,34,17,.2);backdrop-filter:blur(2px)}.zone-label{position:absolute;top:6px;left:10px;right:10px;display:flex;align-items:center;justify-content:space-between;color:#fff3d1;font-size:11px;font-weight:900}.field-zone{left:3%;bottom:20px;width:57%}.pasture-zone{right:3%;top:315px;width:34%;min-height:180px}.plot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.plot{position:relative;min-height:72px;border:0;border-radius:10px;background:#704124 url("assets/sprites/soil-tile.svg") center/cover no-repeat;color:#fff;box-shadow:inset 0 0 0 3px #59331f,0 4px 0 rgba(53,31,17,.28);cursor:pointer;overflow:hidden}.plot:hover{transform:translateY(-2px);filter:brightness(1.06)}.plot.locked{background:#718f60;filter:grayscale(.8);opacity:.75;cursor:not-allowed}.plot.ready{box-shadow:inset 0 0 0 3px #59331f,0 0 0 4px #ffd85c,0 5px 0 rgba(53,31,17,.28);animation:readyPulse 1.5s ease-in-out infinite}.plot img{display:block;width:58px;height:47px;object-fit:contain;margin:0 auto;filter:drop-shadow(0 4px 3px rgba(0,0,0,.25))}.plot.growth-1 img{transform:scale(.58);filter:saturate(.75) drop-shadow(0 4px 3px rgba(0,0,0,.2))}.plot.growth-2 img{transform:scale(.8);filter:saturate(.9) drop-shadow(0 4px 3px rgba(0,0,0,.2))}.plot-status{display:block;margin-top:-2px;font-size:9px;font-weight:900;text-shadow:0 1px #332014}.empty-soil{font-size:24px}.animal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.animal-card{min-height:70px;padding:4px;border:2px solid #75502d;border-radius:10px;background:#f5dfa5;text-align:center;cursor:pointer;overflow:hidden}.animal-card img{display:block;width:70px;height:42px;object-fit:contain;margin:0 auto;filter:drop-shadow(0 4px 3px rgba(48,43,22,.22))}.animal-card b,.animal-card small{display:block}.animal-card b{font-size:10px}.animal-card small{font-size:8px;color:#75543b}.animal-card.ready{box-shadow:0 0 0 4px #ffdb59;animation:readyPulse 1.5s infinite}.empty-mini{display:grid;place-items:center;min-height:65px;border:2px dashed rgba(255,245,214,.5);border-radius:9px;color:#fff1ca;font-size:10px}.special-zone{position:absolute;z-index:3;display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:7px;width:28%;min-height:76px;padding:7px;border:3px solid #5c3c22;border-radius:13px;background:rgba(255,239,184,.9);box-shadow:0 6px 0 rgba(65,41,22,.22)}.special-zone img{width:54px;height:58px;object-fit:contain}.special-zone b,.special-zone small{display:block}.special-zone b{font-size:12px}.special-zone small{font-size:8px;color:#75563c;line-height:1.25}.orchard-zone{right:3%;top:508px}.river-zone{right:32%;top:505px}.river-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#6fc3df;font-size:28px}.special-zone.locked{filter:grayscale(.8);opacity:.72}.mini-action{padding:6px 7px;background:#5b943f;color:white;font-size:9px}.mini-action:disabled{background:#93897a;cursor:not-allowed;box-shadow:none}.quick-panel{display:flex;align-items:center;gap:12px;margin-top:12px;padding:11px}.inner-panel{box-shadow:inset 0 0 0 3px var(--wood-light),0 8px 18px rgba(54,40,22,.16)}.quick-seeds{display:flex;gap:7px;flex:1;overflow:auto;padding:3px}.seed-tool{position:relative;min-width:66px;height:60px;padding:3px;border:3px solid #704221;border-radius:10px;background:#fff0b2;box-shadow:0 3px 0 #67401f;cursor:pointer}.seed-tool img{width:42px;height:37px;object-fit:contain;display:block;margin:auto}.seed-tool small{display:block;font-size:8px;font-weight:900}.seed-tool em{position:absolute;right:-5px;top:-7px;min-width:20px;padding:2px 4px;border-radius:9px;background:#6a4326;color:white;font-size:9px;font-style:normal;font-weight:900}.seed-tool.active{background:#dcf1a0;box-shadow:0 0 0 3px #5b8e3f,0 3px 0 #67401f}.seed-tool.locked{filter:grayscale(.9);opacity:.58}.selected-tool{min-width:145px;font-size:10px;color:#76533a}.selected-tool b{display:block;color:#4f722f;font-size:12px}.tab-row{display:flex;gap:7px;margin-bottom:12px}.tab-btn{padding:9px 13px;background:#f8e3aa;color:#65452f}.tab-btn.active{color:#fff;background:#5f9144}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.shop-card,.upgrade-card,.achievement-card,.order-card{position:relative;border:4px solid var(--wood-dark);border-radius:15px;background:#fff1c7;box-shadow:inset 0 0 0 3px var(--wood-light),var(--shadow)}.shop-card,.upgrade-card{min-height:190px;padding:13px}.card-art{display:block;width:82px;height:67px;object-fit:contain;margin:0 auto 3px;filter:drop-shadow(0 4px rgba(82,51,26,.15))}.shop-card h3,.upgrade-card h3,.achievement-card h3{margin:4px 0;font-size:17px}.shop-card p,.upgrade-card p{min-height:38px;margin:4px 0 9px;color:#765a44;font-size:10px;line-height:1.4}.price-line{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-top:auto;font-size:11px}.shop-btn,.upgrade-btn,.order-btn{padding:7px 9px;color:#fff;background:#5a913f;border-color:#315f2d}.shop-btn:disabled,.upgrade-btn:disabled,.order-btn:disabled{cursor:not-allowed;background:#9b907d;border-color:#746b60;box-shadow:none}.shop-card.locked,.upgrade-card.locked{filter:grayscale(.7);opacity:.72}.meta-row{display:flex;flex-wrap:wrap;gap:4px;margin:7px 0}.meta-chip{padding:3px 6px;border-radius:8px;background:#e2c788;color:#5f432d;font-size:8px;font-weight:900}.orders-list{display:grid;gap:11px}.order-card{display:grid;grid-template-columns:72px 1fr auto;align-items:center;gap:12px;padding:12px}.order-card img{width:68px;height:58px;object-fit:contain}.order-card h3{margin:0 0 3px}.order-card p{margin:0;color:#755c47;font-size:10px}.order-progress{margin-top:7px;height:10px;border:2px solid #704420;border-radius:99px;background:#ddc28a;overflow:hidden}.order-progress span{display:block;height:100%;background:#76aa4f}.reward-list{display:flex;gap:7px;margin-top:6px;font-size:9px;font-weight:900}.order-actions{text-align:right}.order-actions small{display:block;margin-bottom:4px;color:#80654c;font-size:8px}.upgrade-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.upgrade-card{min-height:205px}.upgrade-level{position:absolute;top:12px;right:12px;padding:4px 7px;border-radius:9px;background:#6c4327;color:#fff3c9;font-size:9px;font-weight:900}.upgrade-benefit{padding:7px;border-radius:8px;background:#ead392;font-size:9px;font-weight:900;color:#655039}.achievement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.achievement-card{padding:12px;text-align:center}.achievement-card.locked{filter:grayscale(1);opacity:.62}.achievement-icon{font-size:39px}.achievement-card p{margin:0;color:#765a44;font-size:9px;line-height:1.4}.achievement-card .reward{display:inline-block;margin-top:7px;padding:3px 7px;border-radius:8px;background:#e8cd8f;font-size:8px;font-weight:900}.inventory-list{display:grid;gap:5px;margin-top:9px;max-height:330px;overflow:auto;padding-right:2px}.inventory-item{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:6px 7px;background:rgba(255,255,255,.4);border:2px solid rgba(100,59,29,.2);border-radius:8px;font-size:10px}.inventory-item .item-name{display:flex;align-items:center;gap:6px;font-weight:900}.inventory-item img{width:29px;height:27px;object-fit:contain}.inventory-item b{padding:2px 6px;border-radius:9px;background:#754729;color:#fff}.divider{border-top:2px dashed rgba(101,59,27,.3);margin:13px 0}.activity-log{display:grid;gap:6px;max-height:190px;overflow:auto}.log-item{display:grid;grid-template-columns:auto 1fr;gap:6px;font-size:9px;line-height:1.35;color:#6b503b}.log-item time{color:#927557;font-weight:900}.log-item p{margin:0}.tip-text{margin:0;color:#71543e;font-size:10px;line-height:1.55}.backup-actions{display:flex;gap:7px}.file-label{display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.file-label input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.empty-state{padding:18px 8px;text-align:center;color:#8a6b50;font-size:10px;border:2px dashed rgba(96,55,25,.28);border-radius:10px}.toast-container{position:fixed;z-index:100;top:104px;left:50%;transform:translateX(-50%);display:grid;gap:6px;pointer-events:none}.toast{min-width:250px;padding:9px 12px;border:3px solid #59351f;border-radius:11px;background:#dff2b9;box-shadow:var(--shadow);font-size:11px;font-weight:900;animation:toastIn .25s ease,toastOut .35s ease 2.35s forwards}.toast.error{background:#ffd0bc}.toast.info{background:#d5efff}.game-modal{width:min(520px,calc(100% - 30px));border:4px solid #5b351e;border-radius:17px;background:#fff0c2;box-shadow:inset 0 0 0 4px #c77c3d,0 25px 80px rgba(38,25,13,.48);color:var(--ink)}.game-modal::backdrop{background:rgba(25,40,23,.65);backdrop-filter:blur(3px)}.modal-close{float:right;border:0;background:#c96343;color:#fff;border-radius:8px;padding:5px 8px;cursor:pointer}.modal-body{text-align:center;padding:12px}.modal-body img{max-width:150px;max-height:130px;object-fit:contain}.modal-actions{display:flex;justify-content:center;gap:8px;margin-top:13px}@keyframes readyPulse{50%{filter:brightness(1.16)}}@keyframes toastIn{from{opacity:0;transform:translateY(-10px)}}@keyframes toastOut{to{opacity:0;transform:translateY(-10px)}}@media(max-width:1180px){.main-layout{grid-template-columns:210px minmax(600px,1fr)}.right-sidebar{grid-column:1/-1;position:static;max-height:none;display:grid;grid-template-columns:1.25fr 1fr 1fr auto;gap:13px;align-items:start}.right-sidebar .divider{display:none}.inventory-list,.activity-log{max-height:190px}.backup-section{min-width:150px}.farm-scene{min-height:665px}}@media(max-width:860px){.app-shell{width:min(100% - 12px,760px);margin-top:6px}.topbar{display:block}.status-row{margin-top:10px;justify-content:flex-start}.main-layout{display:block}.left-sidebar{position:static;max-height:none;margin-bottom:11px}.nav-stack{grid-template-columns:repeat(5,1fr)}.nav-btn{justify-content:center;padding:8px 4px}.nav-btn em{font-size:9px}.daily-card{display:inline-block;width:calc(100% - 210px);vertical-align:top}.gem-btn,.primary-btn{display:inline-block;width:98px;margin:0 0 0 5px;vertical-align:top;min-height:66px}.text-btn{display:block;margin-left:auto;width:auto}.right-sidebar{display:grid;grid-template-columns:1fr 1fr;margin-top:11px}.backup-section{grid-column:1/-1}.card-grid,.achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.farm-scene{min-height:740px}.field-zone{width:62%}.pasture-zone{width:31%;top:340px}.orchard-zone{top:540px;width:31%}.river-zone{top:540px;right:35%;width:31%}}@media(max-width:620px){.brand h1{font-size:25px}.brand p{font-size:10px}.status-pill{min-width:auto;padding:6px 8px}.scene-header{align-items:flex-start}.scene-header h2{font-size:22px}.farm-scene{min-height:950px}.scene-prop{transform:scale(.84)}.prop-farmhouse{left:0;top:68px}.prop-barn{right:0;top:80px}.prop-windmill{left:41%;top:45px}.prop-well{top:230px}.prop-market{left:30%;top:230px}.prop-coop{right:2%;top:225px}.prop-scarecrow{left:60%;top:235px}.building-label{display:none}.field-zone{left:3%;bottom:20px;width:94%}.pasture-zone{left:3%;right:auto;top:345px;width:46%;min-height:175px}.orchard-zone{left:51%;right:auto;top:345px;width:46%;grid-template-columns:44px 1fr}.river-zone{left:51%;right:auto;top:440px;width:46%;grid-template-columns:44px 1fr}.special-zone .mini-action{grid-column:1/-1}.prop-pond{right:0;bottom:306px;width:140px}.quick-panel{display:block}.quick-seeds{margin:8px 0}.selected-tool{min-width:0}.card-grid,.upgrade-grid,.achievement-grid{grid-template-columns:1fr}.order-card{grid-template-columns:60px 1fr}.order-actions{grid-column:1/-1}.right-sidebar{display:block}.side-section{margin-bottom:13px}.daily-card{width:100%;display:block}.gem-btn,.primary-btn{width:calc(50% - 4px);margin:8px 0 0}.nav-btn em{display:none}.nav-btn span{font-size:22px}}
