*{box-sizing:border-box}body{margin:0;background:#edf2e7;color:#1e382b;font:16px/1.5 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;border:1px solid #ccdac8;background:#fff;color:inherit;border-radius:10px;padding:10px 16px;font-weight:650}button:hover:not(:disabled){border-color:#3b7653;box-shadow:0 3px 9px #143c2a15}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid #ebaf30;outline-offset:3px}a{color:inherit;text-decoration:none}kbd{font:12px/1.5 inherit;opacity:.65;margin-left:5px}h1,h2,p{margin:0}.topbar{height:86px;padding:14px 30px;display:flex;align-items:center;gap:24px;border-bottom:1px solid #d5dfcf;background:#fbfcf8}.brand{display:flex;gap:9px;align-items:center;font-weight:700}.brand img{border-radius:10px}.title{border-left:1px solid #d6dfd3;padding-left:24px;flex:1}.title h1{font-size:23px;letter-spacing:2px}.title small{font-size:12px;color:#61735e}.quiet{background:transparent}.layout{max-width:1680px;margin:0 auto;padding:24px;display:grid;grid-template-columns:minmax(0,1fr) 278px;gap:20px}.play-panel{border:1px solid #cad8c1;border-radius:18px;overflow:hidden;background:#fbfcf8;box-shadow:0 12px 32px #254e2810;align-self:start}.world-bar{padding:18px 22px;display:flex;justify-content:space-between;align-items:center;gap:16px}.chapter{font-size:12px;color:#4d7856;letter-spacing:2px}.world-bar h2{font-size:19px}.resources{display:flex;gap:20px;font-size:14px;white-space:nowrap}.resources b{font-size:25px;margin-left:5px}.resources span:first-child b{color:#92600f}.board-wrap{background:#7d9f5a}.board{position:relative;aspect-ratio:12/7;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#b4cc80,#638f57)}canvas{display:block;width:100%;height:100%}.map-label{position:absolute;font-size:clamp(11px,1.08vw,15px);font-weight:700;pointer-events:none;padding:4px 10px;border-radius:20px;background:#eff6dbb8;color:#335932}.entry-label{left:2%;top:57%}.fire-label{left:36%;top:6%;background:#ffe0c6;color:#8c3f2c}.water-label{left:36%;top:84%;background:#d2f0f8;color:#1c6074}.merge-label{left:71%;top:29%}.home-label{right:2%;top:59%}.slots{position:absolute;inset:0}.slot{position:absolute;width:6.5%;height:11%;transform:translate(-50%,-50%);border:2px dashed #4262348c;border-radius:50%;background:#eef6bc38;padding:0;font-size:23px;color:#f6ffdb;box-shadow:inset 0 0 0 5px #edf8ba15;transition:background .15s,border-color .15s}.slot.active{border-color:#fbf2a9;background:#fcf8bb55}.slot.occupied{background:transparent;border-color:transparent}.slot.occupied:hover,.slot.occupied:focus-visible{border-color:#ffe7a0}.slot .slot-num{position:absolute;bottom:-19px;left:0;right:0;text-align:center;font-size:12px;line-height:18px;text-shadow:0 1px 3px #254726;color:white}.slot:disabled{opacity:1}.notice{position:absolute;left:50%;bottom:4%;transform:translateX(-50%);background:#173a2deb;color:#fff6d1;padding:9px 18px;border-radius:30px;max-width:90%;text-align:center;font-size:14px;opacity:0;pointer-events:none;transition:opacity .2s}.notice.show{opacity:1}.command-bar{padding:17px 20px;display:flex;gap:16px;justify-content:space-between;align-items:center}.command-bar b{display:block;font-size:15px}.command-bar span{display:block;color:#687d63;font-size:13px;margin-top:4px}.primary{background:#215c3b;color:#fffce7;border:1px solid #215c3b;box-shadow:0 4px 0 #153d29;white-space:nowrap}.shop{padding:20px;border-radius:18px;background:#f9fbf5;border:1px solid #d3dec9;align-self:start}.shop-heading small{font-size:11px;letter-spacing:1.8px;color:#708168}.shop-heading h2{font-size:21px;margin:2px 0 4px}.shop-heading p{font-size:14px;color:#718068}.plant-cards{display:grid;gap:8px;margin:18px 0}.plant-card{display:grid;grid-template-columns:58px 1fr auto;align-items:center;text-align:left;padding:6px 10px 6px 4px;gap:6px;background:#fffefa;min-height:75px}.plant-card.selected{border:2px solid #468558;background:#f0f7e5;padding:5px 9px 5px 3px}.portrait{width:58px;height:60px;background-image:url('/games/assets/garden-actors.png');background-size:300% 200%;background-repeat:no-repeat}.plant-card strong{font-size:15px}.plant-card small{display:block;font-size:12px;color:#6f7967}.price{font-size:16px;color:#966518}.price small{font-size:11px}.route-choice>span{font-size:13px;color:#65785e}.route-choice>div{display:flex;gap:4px;margin-top:7px}.route-choice button{padding:7px 5px;font-size:12px;flex:1}.route-choice button[aria-pressed=true]{background:#215c3b;color:#fff;border-color:#215c3b}.plant-info{font-size:14px;padding:12px 0 5px;min-height:62px}.affinity{font-size:12px;line-height:1.8;color:#6d7a61;border-top:1px solid #dde5d7;padding:12px 0}.shovel{font-size:12px;width:100%;padding:8px}.shovel[aria-pressed=true]{background:#784f39;color:#fff}.save-status{display:block;color:#7b8971;font-size:12px;margin-top:14px}footer{max-width:1680px;padding:0 26px 20px;margin:auto;display:flex;gap:16px;justify-content:space-between;color:#718168;font-size:12px}.gate{position:fixed;inset:86px 0 0;z-index:20;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 25% 40%,#a2bbbad9,transparent 65%),radial-gradient(ellipse at 80% 60%,#8ca6afe8,transparent 70%),#17302ceb;backdrop-filter:blur(13px);transition:opacity .8s,background 1s}.gate.opening{background:#dbe6b888;backdrop-filter:blur(3px)}.gate[hidden]{display:none}.gate-card{max-width:530px;width:100%;border-radius:24px;background:#f5f4eaf2;padding:35px;text-align:center;box-shadow:0 25px 80px #031d2c66;border:1px solid #fff8}.eyebrow{color:#567a71;font-size:12px;letter-spacing:3px}.gate h2{font-size:30px;margin:12px 0}.gate p{color:#5d736a;font-size:16px}.groove{margin:25px auto;padding:20px;border:3px dashed #8d9b8b;background:#e0e6d6;box-shadow:inset 0 4px 16px #203e292a;border-radius:12px;max-width:285px;display:grid;gap:15px}.groove>span{font-size:13px;color:#69816e}.groove.filled{border-style:solid;border-color:#d4af55;background:#f1e6b8}#table{background:#b18551;color:#fff9df;border:3px solid #987144;cursor:grab;box-shadow:0 4px 0 #886340}.gate-link{display:block;font-size:14px;margin:20px}.gate small{display:block;color:#879286;font-size:12px}dialog{border:1px solid #d6dec9;border-radius:20px;padding:32px;background:#fbfcf4;color:#264531;max-width:480px;width:calc(100% - 32px);box-shadow:0 20px 80px #16312066}dialog::backdrop{background:#092719aa;backdrop-filter:blur(6px)}dialog h2{font-size:25px}dialog p{white-space:pre-line;margin:15px 0 24px;color:#677862}#dialog-actions{display:flex;gap:10px;flex-wrap:wrap}#dialog-actions button{flex:1}@media(max-width:1050px){.layout{padding:16px;grid-template-columns:minmax(0,1fr) 240px;gap:12px}.shop{padding:14px}.world-bar{padding:12px}.resources{gap:10px}.command-bar{padding:12px;flex-wrap:wrap}.world-bar h2{font-size:16px}.resources b{font-size:22px}.plant-card{grid-template-columns:44px 1fr auto}.portrait{width:44px;height:48px}}@media(max-width:760px){.topbar{height:72px;padding:12px;gap:12px}.brand span{display:none}.title{padding-left:12px}.title h1{font-size:20px}.layout{display:flex;flex-direction:column;padding:10px}.play-panel{width:100%}.world-bar{flex-wrap:wrap}.resources{margin-left:auto}.shop{width:100%;padding:14px}.shop-heading small{display:none}.shop-heading h2{font-size:18px}.plant-cards{grid-template-columns:repeat(2,minmax(0,1fr));margin:12px 0}.plant-card{grid-template-columns:42px 1fr auto;padding:4px}.plant-card strong{font-size:14px}.plant-card small{font-size:11px}.route-choice button{font-size:14px}.map-label{font-size:10px;padding:2px 5px}.slot .slot-num{bottom:-13px;font-size:10px}.command-bar span{font-size:12px}.command-bar{gap:10px}.command-bar .primary{width:100%}.gate{inset:72px 0 0}.gate-card{padding:24px}.gate h2{font-size:25px}footer{padding:6px 16px 18px;flex-wrap:wrap;font-size:12px}.shop-heading p{font-size:13px}.affinity{font-size:13px}.plant-info{min-height:auto}.slot{font-size:18px} }@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
.slot .slot-num{left:50%;right:auto;transform:translateX(-50%);width:max-content;white-space:nowrap}.water-label{top:92%}

.road-find{position:absolute;left:3%;top:76%;padding:8px 11px;border:1px solid #fbdb8e;background:#fff2c1;color:#725028;font-size:clamp(10px,1vw,14px);box-shadow:0 0 18px #fffac088;z-index:2}.road-find[hidden]{display:none}.hub-button{position:absolute;left:94.4%;top:50%;transform:translate(-50%,-50%);border-radius:14px;background:#364a40;color:#fff6c9;border:2px solid #e6c970;line-height:1.1;padding:8px 6px;font-size:clamp(10px,1.15vw,15px);min-height:42px;z-index:2}.hub-button.open{background:#cce6ec;color:#234c69;border-style:dashed}.hub-button.armed{background:#8b4130}.demolition-panel{border-top:1px solid #d8dfcf;margin-top:15px;padding-top:12px}.demolition-panel h3{font-size:14px;margin:0 0 6px}.demolition-panel h3 b{float:right;color:#925b29}.demolition-panel p{font-size:12px;color:#6e795f;margin:6px 0}.blast-buttons{display:flex;gap:6px;margin:10px 0 6px}.blast-buttons button{flex:1;font-size:12px;padding:8px 4px}#blast-fire{color:#a34835}#blast-water{color:#32697f}#blast-hub{width:100%;font-size:13px;background:#ede4cf;border-color:#d9c192;padding:8px}#fuse-status{color:#9c452e;min-height:18px}.board.blast-impact{animation:blast-shudder .35s ease-out}@keyframes blast-shudder{20%{transform:translateX(-3px)}60%{transform:translateX(3px)}100%{transform:translateX(0)}}@media(max-width:760px){.road-find{top:67%;padding:7px}.demolition-panel h3{font-size:16px}.demolition-panel p,.blast-buttons button{font-size:14px}.hub-button{min-height:32px;padding:5px}}

.gate{overflow-y:auto}.gate-card{margin:auto}.groove-wrap{position:relative;margin:22px 0}.groove-wrap .groove{margin:0 auto;min-height:145px;display:flex;width:100%;align-items:flex-start;justify-content:center}.groove-wrap #table{position:absolute;bottom:20px;left:50%;transform:translateX(-50%)}#try-garden{display:block;width:100%;margin-top:14px}#try-garden[hidden]{display:none}

.demolition-panel[hidden]{display:none}
