.farm-workspace{color:#19344c;background:radial-gradient(at 0 0,#eff4e7,#0000 45%),#f5f7fa;max-width:1760px;min-height:100dvh;margin:auto;padding:24px 32px 40px}.farm-workspace button,.farm-welcome button,.farm-primary,.farm-workspace a{font:inherit;cursor:pointer}.farm-workspace button{color:#224159;background:#fff;border:1.5px solid #b8c7d8;border-radius:11px;min-height:42px;padding:10px 15px;font-weight:650}.farm-workspace button:hover:not(:disabled){background:#f0f4ff;border-color:#3155df}.farm-workspace button:disabled{opacity:.5;cursor:default}.farm-primary,.farm-workspace .farm-primary{color:#fff;background:#3153df;border:1.5px solid #3153df;border-radius:12px;justify-content:center;align-items:center;min-height:46px;padding:13px 22px;font-weight:750;text-decoration:none;display:inline-flex;box-shadow:0 5px 12px #3153df24}.farm-workspace .farm-primary:hover:not(:disabled),a.farm-primary:hover{color:#fff;background:#2446ca}.farm-top{flex-wrap:wrap;align-items:center;gap:24px;margin-bottom:22px;display:flex}.farm-top h1{letter-spacing:-.8px;margin:0 0 5px;font-size:25px;line-height:1.2}.farm-back{color:#425c77;font-size:14px;font-weight:650}.farm-local{color:#5a6b7f;font-size:12px}.farm-top nav{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.farm-top small{color:#657a8a;margin-left:8px}.farm-goal{background:linear-gradient(110deg,#fffdf4,#f4f8ed);border:1.5px solid #c4d3bd;border-radius:22px;align-items:center;gap:20px;margin-bottom:20px;padding:17px 24px;display:flex;box-shadow:0 4px #d3dccb45}.farm-goal>img{object-fit:contain;flex:none;align-self:center}.farm-goal>div:nth-child(2){flex:1;min-width:0}.farm-eyebrow{letter-spacing:1.5px;text-transform:uppercase;color:#55704e;font-size:11px;font-weight:800}.farm-goal h2{letter-spacing:-.4px;margin:4px 0 6px;font-size:20px}.farm-goal p{max-width:850px;margin:0;font-size:14px;line-height:1.6}.farm-goal-actions{flex-wrap:wrap;flex:none;gap:8px;max-width:270px;display:flex}.farm-hints{margin:10px 0 0;padding-left:20px;font-size:14px;line-height:1.6}.farm-play-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);align-items:stretch;gap:22px;display:grid}.farm-garden.panel{background:#f7f9ee;border:1.5px solid #b9cbb5;border-radius:24px;flex-direction:column;padding:0;display:flex;overflow:hidden;box-shadow:0 5px #dbe3d2}.farm-panel-head{background:#ffffffb0;border-bottom:1px solid #d4dece;justify-content:space-between;align-items:center;gap:12px;padding:18px 22px;display:flex}.farm-panel-head h2{margin:0;font-size:17px}.farm-panel-head>span{color:#476242;text-align:right;font-size:12px}.farm-resource-strip{z-index:1;flex-wrap:wrap;gap:8px;min-height:55px;padding:16px 18px 0;display:flex;position:relative}.farm-resource{color:#46613e;background:#fffdf7;border:1px solid #cdd5bb;border-radius:10px;padding:7px 10px;font-size:12px;box-shadow:0 2px #d9dfce}.farm-resource.water{color:#31587a;background:#edf6ff;border-color:#b6cfe2}.farm-resource b{margin-right:3px;font-size:15px}.farm-scene{background:radial-gradient(at 50% 68%,#d0dfb3aa,#0000 50%),linear-gradient(#f8faf0,#eef4e6);flex:1;place-items:center;width:100%;height:410px;min-height:300px;display:grid;position:relative;overflow:hidden}.farm-scene>canvas{touch-action:none;outline-offset:-4px;width:100%;height:100%;display:block}.farm-camera{background:#eef4e5;border-top:1px solid #d6dfcc;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 16px;display:flex}.farm-camera span{color:#5b6a50;max-width:235px;margin-right:auto;font-size:11px}.farm-camera button{background:#fffdf5;border-color:#b7c7a9;min-height:34px;padding:5px 10px;font-size:12px}.farm-tile-info{background:#fffef8;border-top:1px solid #d8decd;flex-direction:column;gap:5px;min-height:76px;padding:14px 20px;display:flex}.farm-tile-info strong{font-size:14px}.farm-tile-info span{color:#5e7253;font-size:12px}.farm-garden-footer{background:#f7f9ef;border-top:1px solid #d8decd;justify-content:space-between;align-items:center;gap:10px;padding:10px 18px;font-size:12px;display:flex}.farm-garden-footer button{box-shadow:none;background:0 0;border:0;min-height:36px;padding:8px;font-size:12px}.farm-wait{color:#5d7151;place-items:center;display:grid}.farm-tile-grid{align-content:center;gap:4px;width:calc(100% - 24px);height:auto;padding:0;display:grid}.farm-tile-grid button{aspect-ratio:1;color:#fff;background:#9d754d;border-color:#805a38;border-radius:6px;min-height:0;padding:2px;font-size:11px;font-weight:750}.farm-tile-grid button:not([data-crop=""]){background:#567540}.farm-tile-grid button[aria-pressed=true],.farm-tile-grid button:hover:not(:disabled){color:#fff;background:#3153df;border-color:#fff;outline:2px solid #3153df}.farm-code-panel{color:#e6edf6;background:#122137;border:1.5px solid #657f9c;border-radius:24px;flex-direction:column;min-width:0;display:flex;overflow:hidden;box-shadow:0 5px #c4cfdc}.farm-code-head{background:#1c334e;border-bottom:1px solid #37506b;justify-content:space-between;align-items:center;gap:12px;padding:18px 22px;display:flex}.farm-code-head strong{font:700 15px Consolas,monospace}.farm-code-head span{color:#c0d1e2;text-align:right;font-size:11px}.farm-run-toolbar{background:#172a42;border-bottom:1px solid #31475e;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 14px;display:flex}.farm-run-toolbar button{color:#e9f1fa;background:#203953;border-color:#4b647e;min-height:36px;padding:8px 11px;font-size:12px}.farm-run-toolbar button:hover:not(:disabled){color:#fff;background:#2c4561}.farm-run-toolbar .farm-primary{min-height:36px;box-shadow:none;padding:8px 14px}.farm-run-toolbar>span{color:#c6d5e4;margin-left:auto;font-size:11px}.farm-editor-host{flex:1;min-height:315px;max-height:550px;overflow:auto}.farm-editor-host .cm-editor{height:100%;min-height:315px}.farm-editor-host .cm-content{min-height:315px!important}.farm-log{background:#0e1c2e;border-top:1px solid #34495f;min-height:119px;padding:12px 18px}.farm-log>div{justify-content:space-between;align-items:center;display:flex}.farm-log strong{text-transform:uppercase;letter-spacing:1px;color:#b2c7db;font-size:11px}.farm-log button{color:#b2c7db;background:0 0;border:0;min-height:25px;padding:0 5px;font-size:11px}.farm-log pre{white-space:pre-wrap;overflow-wrap:anywhere;color:#d9e8f2;max-height:140px;margin:8px 0 0;font:12px/1.6 Consolas,monospace;overflow:auto}.farm-submit{background:#1a3049;border-top:1px solid #34495f;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;display:flex}.farm-submit>span{color:#bdcfe0;font-size:11px}.farm-submit>button{color:#284bd1;white-space:nowrap;background:#eaf0ff;border-color:#89a0d6;min-height:36px;padding:8px 12px;font-size:12px}.farm-alert{background:#fff5df;border:1.5px solid #c69a54;border-radius:14px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:15px;padding:12px 16px;font-size:13px;display:flex}.farm-alert>span{flex:1;min-width:180px}.farm-alert button{min-height:36px;padding:7px 11px;font-size:12px}.farm-mobile-tabs{display:none}.farm-dialog{color:#19344c;background:#f9fbfd;border:1.5px solid #a5b8ca;border-radius:22px;width:min(960px,100vw - 40px);max-width:none;max-height:calc(100dvh - 48px);padding:0;box-shadow:0 22px 80px #122d5260}.farm-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#11264180}.farm-dialog>header{z-index:2;background:#fff;border-bottom:1px solid #c6d2df;justify-content:space-between;align-items:center;padding:18px 24px;display:flex;position:sticky;top:0}.farm-dialog h2{margin:0;font-size:21px}.farm-dialog>header button{border:0;width:40px;height:40px;padding:0;font-size:23px}.farm-dialog>div{padding:24px}.farm-dialog p{font-size:14px;line-height:1.65}.farm-dialog h3{margin:22px 0 12px;font-size:18px}.farm-dialog code{color:#25496e;overflow-wrap:anywhere;background:#e6eef6;border-radius:4px;padding:2px 4px;font:13px Consolas,monospace}.farm-guide{align-items:center;gap:24px;display:flex}.farm-guide>img{object-fit:contain;flex:none}.farm-guide ol{padding-left:20px;font-size:14px;line-height:1.7}.farm-guide li{margin-bottom:15px}.farm-tech-list>section>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.farm-tech-list article{background:#fff;border:1.5px solid #bbc9d5;border-radius:15px;min-width:0;padding:18px;position:relative}.farm-tech-list article.owned{background:#f2f8ef;border-color:#a8c4a5}.farm-tech-list article.available{border-color:#779ae3;box-shadow:0 3px #d3e0fc}.farm-tech-list article>span{color:#617388;font-size:11px;font-weight:750}.farm-tech-list article.owned>span{color:#497140}.farm-tech-list article.available>span{color:#3153df}.farm-tech-list h4{margin:5px 0 10px;font-size:17px}.farm-tech-list p{margin:0 0 12px}.farm-tech-list dl{font-size:12px;line-height:1.6}.farm-tech-list dt{color:#5c7083;font-weight:750}.farm-tech-list dd{margin:0 0 7px}.farm-tech-list button{width:100%}.farm-dialog table{border-collapse:collapse;text-align:left;table-layout:fixed;width:100%;font-size:13px}.farm-dialog td,.farm-dialog th{overflow-wrap:anywhere;border-bottom:1px solid #c6d2de;padding:12px 10px}.farm-dialog th{background:#e9f0f6;font-weight:750}.farm-dialog caption{text-align:left;margin-bottom:10px;font-size:16px;font-weight:750}.farm-handbook td:first-child{width:38%}.farm-library form{align-items:flex-end;gap:12px;margin-bottom:20px;display:flex}.farm-library label{flex-direction:column;flex:1;gap:8px;min-width:0;font-size:13px;font-weight:700;display:flex}.farm-library input{width:100%;font:inherit;background:#fff;border:1.5px solid #b1c1d3;border-radius:10px;padding:12px}.farm-library article,.farm-board article{background:#fff;border:1px solid #bccbd9;border-radius:12px;margin-top:12px;padding:17px}.farm-library article h3{margin:0 0 10px}.farm-library pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#edf2f7;max-height:180px;padding:12px;font:12px/1.6 Consolas,monospace;overflow:auto}.farm-confirm{font-size:14px}.farm-confirm button{margin:6px 10px 6px 0}.farm-board>p strong{margin-top:5px;display:block}.farm-board time{color:#63778b;margin-top:5px;font-size:12px;display:block}.farm-board tr.self{background:#ebf0ff}.farm-board details{margin-top:12px}.farm-board summary{cursor:pointer;font-size:13px;font-weight:700}.farm-welcome{text-align:center;background:radial-gradient(#eef4dd,#0000 70%);flex-direction:column;justify-content:center;align-items:center;gap:20px;max-width:600px;min-height:100dvh;margin:0 auto;padding:38px 24px;display:flex}.farm-welcome>img{object-fit:contain}.farm-welcome h1{letter-spacing:-1.4px;margin:0;font-size:40px}.farm-welcome>p{margin:0;font-size:17px;line-height:1.6}.farm-welcome small{color:#65798a;font-size:12px}.farm-welcome>a:first-child{color:#46617a;align-self:flex-start;font-size:14px}.season-page{max-width:1280px;margin:auto}.season-page>a{color:#62758a;font-size:14px;font-weight:650}.season-hero{background:linear-gradient(130deg,#fffdf2,#edf4e6);border:1.5px solid #c4d1b5;border-radius:30px;grid-template-columns:1fr 1fr;align-items:center;min-height:430px;margin-top:25px;padding:50px 54px;display:grid;overflow:hidden}.season-hero h1{letter-spacing:-2.6px;color:#19344c;margin:20px 0;font-size:clamp(40px,5vw,70px);line-height:1.02}.season-hero h1 em{color:#3b6745;font-style:normal}.season-hero p{max-width:380px;margin-bottom:26px;font-size:16px;line-height:1.7}.season-visual{justify-content:flex-end;align-items:center;min-height:340px;display:flex;position:relative}.season-visual>img{z-index:1;object-fit:contain;filter:drop-shadow(0 14px 15px #54774322);position:relative}.season-island{background:#9cad66;border-radius:12px;grid-template-columns:1fr 1fr;gap:14px;width:230px;height:230px;padding:15px;display:grid;position:absolute;bottom:5px;left:0;transform:rotateX(52deg)rotate(-40deg);box-shadow:8px 10px #927149,16px 20px #c7a474,-4px -4px #bac785}.season-row{background:repeating-linear-gradient(0deg,#718547 0 6px,#a6b57a 6px 12px);border:3px solid #526e3e;border-radius:5px}.season-rules{margin-top:28px;padding:28px 34px}.season-rules h2{margin:0 0 20px;font-size:24px}.season-rules ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding-left:20px;font-size:15px;display:grid}.season-rules li{padding-left:6px}.season-rules p{color:#5b6f81;font-size:14px;line-height:1.65}.season-event-card{color:#19344c;background:linear-gradient(120deg,#fffdf3,#edf4e2);border:1.5px solid #b8c9a8;border-radius:23px;justify-content:space-between;align-items:center;gap:25px;max-width:860px;margin-top:20px;padding:30px;text-decoration:none;display:flex;box-shadow:0 4px #d2dbc6}.season-event-card h3{letter-spacing:-1px;margin:10px 0 12px;font-size:30px}.season-event-card p{font-size:14px;line-height:1.6}.season-event-card strong{color:#3153df;margin-top:20px;font-size:14px;display:block}.season-event-card>img{object-fit:contain;flex:none}@media (min-width:1700px){.farm-scene{height:470px}.farm-editor-host,.farm-editor-host .cm-editor{min-height:375px}.farm-editor-host .cm-content{min-height:375px!important}}@media (max-width:1100px){.farm-workspace{padding:20px}.farm-top{gap:15px}.farm-top nav{gap:6px}.farm-top nav button{padding:8px 11px;font-size:12px}.farm-goal{gap:15px;padding:16px}.farm-goal-actions{max-width:180px}.farm-goal>img{width:65px;height:78px}.farm-play-grid{gap:15px}.farm-scene{height:350px}.farm-camera span{max-width:145px}.farm-submit{flex-wrap:wrap}.season-hero{padding:35px}.season-visual>img{width:200px;height:280px}.season-island{width:170px;height:170px}}@media (max-width:760px){.farm-workspace{padding:16px 14px 28px}.farm-top{gap:12px;margin-bottom:15px}.farm-top h1{font-size:23px}.farm-back{font-size:12px}.farm-top nav{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;width:100%;margin:0;display:grid}.farm-top nav button{min-height:40px;padding:8px 4px;font-size:11px}.farm-top small{display:none}.farm-goal{border-radius:18px;flex-wrap:wrap;align-items:flex-start;gap:12px;padding:14px}.farm-goal>img{width:53px;height:65px}.farm-goal h2{font-size:17px}.farm-goal p{font-size:13px}.farm-goal>div:nth-child(2){flex-basis:calc(100% - 70px)}.farm-goal-actions{justify-content:flex-end;width:100%;max-width:none}.farm-goal-actions button{min-height:36px;padding:7px 13px;font-size:12px}.farm-mobile-tabs{background:#e1e8ef;border:1px solid #b9c8d8;border-radius:13px;grid-template-columns:1fr 1fr;gap:4px;margin:0 0 14px;padding:4px;display:grid}.farm-mobile-tabs button{background:0 0;border:0;min-height:40px;font-size:13px}.farm-mobile-tabs button[aria-selected=true]{color:#3153df;background:#fff;box-shadow:0 2px 5px #38517118}.farm-play-grid{display:block}.farm-play-grid[data-tab=garden] .farm-code-panel,.farm-play-grid[data-tab=code] .farm-garden{display:none}.farm-scene{height:330px;min-height:330px}.farm-code-panel,.farm-garden.panel{border-radius:18px}.farm-panel-head{padding:15px}.farm-camera span{flex-basis:100%;max-width:none;margin-bottom:3px}.farm-resource-strip{padding:12px 12px 0}.farm-tile-info{padding:12px 15px}.farm-editor-host,.farm-editor-host .cm-editor{min-height:330px}.farm-editor-host .cm-content{min-height:330px!important}.farm-run-toolbar{gap:6px;padding:10px}.farm-run-toolbar>span{flex-basis:100%;margin-top:2px}.farm-code-head{padding:15px}.farm-dialog{border-radius:17px;width:calc(100vw - 20px);max-height:calc(100dvh - 30px)}.farm-dialog>header{padding:12px 16px}.farm-dialog h2{font-size:19px}.farm-dialog>div{padding:17px}.farm-guide{flex-direction:column;gap:12px}.farm-guide>img{width:84px;height:100px}.farm-guide ol{font-size:13px}.farm-tech-list>section>div{grid-template-columns:1fr}.farm-library form{flex-direction:column;align-items:stretch}.farm-dialog td,.farm-dialog th{padding:10px 6px;font-size:12px}.farm-welcome h1{font-size:33px}.season-hero{border-radius:24px;grid-template-columns:1fr;gap:20px;padding:25px}.season-hero h1{letter-spacing:-1.8px;font-size:46px}.season-visual{justify-content:center;min-height:250px}.season-visual>img{width:180px;height:240px;left:55px}.season-island{width:150px;height:150px;bottom:15px;left:calc(50% - 125px)}.season-rules{padding:24px}.season-rules ol{grid-template-columns:1fr;gap:14px}.season-event-card{gap:15px;padding:20px}.season-event-card>img{width:84px;height:125px}.season-event-card h3{font-size:24px}.season-event-card p{font-size:13px}}@media (prefers-reduced-motion:reduce){.farm-workspace *,.season-page *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.season-visual>img{width:100%;max-width:560px;height:auto;max-height:none;left:auto}.season-visual{min-height:0}.season-visual .season-island{display:none}@media (max-width:760px){.season-visual>img{width:100%;height:auto;left:auto}.season-visual{min-height:0}}.farm-top h1,.farm-goal h2,.farm-panel-head h2,.farm-dialog h2,.farm-dialog h3,.farm-tech-list h4,.farm-welcome h1,.season-hero h1,.season-rules h2,.season-event-card h3{font-weight:780}.farm-dialog-error{background:#fff0db;border-bottom:1px solid #d1a368;margin:0;padding:12px 20px}
