.top-actions .account-button{min-height:42px;align-self:center}
.top-actions .account-button:focus-visible{outline:3px solid #fff5ce;outline-offset:3px}
.top-actions .account-button:disabled{cursor:wait;opacity:.75}
@font-face{font-family:Neucha;font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/Neucha-Regular.ttf') format('truetype')}
@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url('assets/fonts/Nunito.ttf') format('truetype')}
:root{--ink:#2d3828;--cream:#fff5ce;--paper:#f5e4ad;--moss:#435b32;--moss2:#253b29;--gold:#e7af3b;--line:#927342;--shadow:#16271dcc}*{box-sizing:border-box}html,body,#game{margin:0;width:100%;height:100%;overflow:hidden}body{font-family:Nunito,system-ui,sans-serif;background:#203d48;color:var(--ink)}button{font:inherit;color:inherit}#world{position:absolute;inset:0;width:100%;height:100%;background:radial-gradient(circle at 50% 45%,#6ba29a,#2c5264 75%);cursor:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgdmlld0JveD0iMCAwIDMyIDMyIj4KICA8cGF0aCBkPSJNMyAyIDI5IDE1IDE5IDE4IDI2IDI5IDE5IDMxIDEyIDIwIDYgMjdaIiBmaWxsPSIjN2Y0ODI0IiBzdHJva2U9IiMyZTI4MWQiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogIDxwYXRoIGQ9Ik01IDQgMjYgMTUgMTcgMTcgMjIgMjciIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2Q3OWE0MyIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogIDxwYXRoIGQ9Im0xMSAxMSA0IDJtLTMgMyA0IDIiIHN0cm9rZT0iI2YyZGRiMCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICA8Y2lyY2xlIGN4PSIyMSIgY3k9IjIyIiByPSIyLjUiIGZpbGw9IiNlZmJkNDIiIHN0cm9rZT0iIzUxMzcyMCIgc3Ryb2tlLXdpZHRoPSIxLjIiLz4KICA8Y2lyY2xlIGN4PSIyMC4zIiBjeT0iMjEuMyIgcj0iLjY1IiBmaWxsPSIjZmZmMWE0Ii8+Cjwvc3ZnPgo=') 2 2,pointer}#map-grid{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}#map-grid path{fill:none;stroke:#fff2b6;stroke-width:1.2;stroke-opacity:.32;vector-effect:non-scaling-stroke}.quest-dock{position:absolute;left:18px;top:86px;display:grid;gap:10px}.quest-icon{position:relative;width:62px;height:62px;border:3px solid #c8aa65;border-radius:17px;background:linear-gradient(#596d43,#344a34);box-shadow:0 5px 0 #243626,0 9px 20px #14251f77;color:#fff4c7;cursor:pointer}.quest-icon span{display:block;font-size:25px;line-height:26px}.quest-icon small{display:block;font-size:10px;font-weight:900}.quest-icon b{position:absolute;right:-7px;top:-7px;display:grid;place-items:center;min-width:23px;height:23px;padding:0 5px;border:2px solid #fff0b0;border-radius:50%;background:#d9a83c;color:#34432e;font-size:12px}.quest-icon.ready{filter:drop-shadow(0 0 7px #f6dc67)}.topbar{position:absolute;left:18px;right:18px;top:14px;height:52px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.money{pointer-events:auto;display:flex;align-items:center;gap:9px;min-width:94px;padding:8px 15px;border:3px solid #c6a765;border-radius:16px;background:linear-gradient(#4f673e,#30492f);box-shadow:0 5px 0 #223425,0 9px 22px #152b2a88;color:#fff8d8;font-size:20px}.money i{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e1b448;color:#39492e;font-style:normal;font-size:18px}.money b{font-size:21px}.top-actions{display:flex;gap:8px;pointer-events:auto}.round{pointer-events:auto;width:42px;height:42px;border:3px solid #c8aa65;border-radius:50%;background:#f7e5ad;box-shadow:0 4px 0 #6b5938;font-weight:900;font-size:20px;cursor:pointer}.panel{position:absolute;border:3px solid #d0b36d;border-radius:18px;background:linear-gradient(145deg,#fff4cc,#ead39a);box-shadow:0 7px 0 #725d37,0 14px 34px var(--shadow),inset 0 0 0 2px #fff6d0;color:#35402e}.kicker{font-size:10px;font-weight:900;letter-spacing:1.7px;color:#817044}.progress{height:8px;border-radius:8px;background:#9a7b4f55;overflow:hidden;box-shadow:inset 0 1px 2px #604e38}.progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,#7fa64d,#c7d55c);border-radius:8px;transition:width .3s}.quest-foot{display:flex;justify-content:space-between;gap:8px;margin-top:6px;font-size:10px}.quest-foot b{color:#6e7b34;text-align:right}.primary{border:0;border-radius:9px;padding:8px 13px;background:linear-gradient(#98bd5e,#61883e);box-shadow:0 3px 0 #3e5b31;color:#fffbe1;font-weight:900;cursor:pointer}.selection{left:18px;top:104px;width:280px;padding:17px}.selection h2{font:26px Neucha,cursive;margin:2px 0 8px}.selection p{font-size:12px;line-height:1.4;margin:6px 0}.selection .meta{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.tag{padding:4px 7px;border-radius:7px;background:#9d825433;font-size:10px;font-weight:900}.selection button{width:100%;margin-top:7px}.selection .ghost{border:2px solid #7b714e;border-radius:9px;padding:7px;background:#fff5d777;font-weight:900;cursor:pointer}.level{position:absolute;left:22px;bottom:90px;display:grid;grid-template-columns:46px 64px;align-items:center;color:#fff6d1;text-shadow:0 2px #243629}.level>b{grid-row:1/3;display:grid;place-items:center;width:43px;height:43px;border-radius:50%;background:#d4a53d;border:3px solid #ffea9b;font-size:21px}.level span{font-size:11px;font-weight:900}.level div{height:7px;background:#253a2b;border-radius:9px;overflow:hidden}.level i{display:block;height:100%;background:#a7c866}.hint{position:absolute;left:50%;bottom:84px;transform:translateX(-50%);padding:7px 15px;border-radius:12px;background:#263b2cdd;color:#fff2c4;font-size:12px;box-shadow:0 4px 13px #14251f88}.toolbar{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);display:flex;gap:4px;padding:7px;border:3px solid #b89956;border-radius:18px;background:linear-gradient(#5e693f,#394a31);box-shadow:0 6px 0 #263728,0 10px 23px #11251f99}.toolbar button{min-width:78px;border:0;border-radius:10px;padding:6px 9px;background:transparent;color:#fff4c7;cursor:pointer}.toolbar button:hover{background:#fff2ba22}.toolbar span{display:block;font-size:23px}.toolbar b{display:block;font-size:10px}.version{position:absolute;right:15px;bottom:9px;color:#e9e0b98c;font-size:9px;letter-spacing:1px}#toast{position:absolute;left:50%;top:93px;transform:translate(-50%,-15px);opacity:0;padding:10px 17px;border-radius:12px;background:#24392aeF;color:#fff4c9;font-weight:900;font-size:12px;box-shadow:0 6px 18px #13241dbb;pointer-events:none;transition:.25s}#toast.show{opacity:1;transform:translate(-50%,0)}dialog{width:min(570px,calc(100% - 30px));max-height:75vh;overflow:auto;border:3px solid #c5a35b;border-radius:20px;padding:23px;background:linear-gradient(145deg,#fff3c7,#e8ce90);box-shadow:0 12px 0 #614f34,0 25px 80px #13251de0;color:#33402d}dialog::backdrop{background:#142a2ac4;backdrop-filter:blur(3px)}dialog h2{font:31px Neucha,cursive;margin:4px 0 14px}.close{position:absolute;right:12px;top:10px}.row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #987c4855}.row small{display:block;color:#75694f}.cost{font-size:11px}.locked{opacity:.55}.worker-status{display:flex;gap:8px;align-items:center}.dot{width:10px;height:10px;border-radius:50%;background:#92b85d}.dot.busy{background:#e2a943}.settings-action{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px;border:2px solid #9d825455;border-radius:12px;background:#fff7db66}.settings-action small{display:block;margin-top:4px;color:#75694f}.settings-action .primary{flex:0 0 auto}
@media(max-width:900px){.selection{width:245px}}@media(max-width:650px){.topbar{left:7px;right:7px}.quest-dock{left:7px;top:76px}.quest-icon{width:52px;height:52px}.selection{left:8px;top:auto;bottom:88px;width:235px}.toolbar button{min-width:55px;padding:4px}.toolbar b{display:none}.hint,.level{display:none}}
#world{cursor:none!important}#hand-cursor{position:fixed;left:0;top:0;width:32px;height:32px;pointer-events:none;z-index:100;transform:translate(-3px,-2px);transform-origin:3px 2px;filter:drop-shadow(0 2px 1px #15251d88);transition:filter .12s;will-change:transform,left,top}#hand-cursor[hidden]{display:none}#hand-cursor.hot{filter:drop-shadow(0 0 5px #ffd55f) brightness(1.12)}#hand-cursor.click{animation:hand-click .18s ease-out}@keyframes hand-click{0%,100%{transform:translate(-3px,-2px) scale(1)}45%{transform:translate(-1px,0) scale(.84)}}#world,#map-grid{transform:translate(var(--camera-x,0px),var(--camera-y,0px)) scale(2.7);transform-origin:center}#tile-grid-lines .tile-line{stroke:#fff2b6;stroke-width:1;stroke-opacity:.34;vector-effect:non-scaling-stroke}#tile-grid-lines .tile-border{fill:#f4d87a0d;stroke:#ffe69a;stroke-width:2;stroke-opacity:.8;vector-effect:non-scaling-stroke}#tile-grid-lines .tile-label{fill:#fff0bb;font:700 16px Nunito,sans-serif;letter-spacing:.6px;text-anchor:middle;paint-order:stroke;stroke:#33442c;stroke-width:4;stroke-opacity:.8}
.loading-screen{position:absolute;inset:0;z-index:1000;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 38%,#4f8190 0,#234958 58%,#122e3b 100%);color:#fff3c4;transition:opacity .55s ease,visibility .55s ease}.loading-screen::before,.loading-screen::after{content:"";position:absolute;width:42vw;height:42vw;border:2px solid #a9d7d633;border-radius:50%;animation:loading-ripple 3.4s ease-in-out infinite}.loading-screen::after{animation-delay:-1.7s}.loading-screen.done{opacity:0;visibility:hidden;pointer-events:none}.loading-card{position:relative;width:min(390px,calc(100% - 44px));padding:34px 38px 30px;text-align:center;border:3px solid #c9ad6d;border-radius:28px;background:linear-gradient(155deg,#536a43ee,#263f34f5);box-shadow:0 9px 0 #172c28,0 24px 70px #071c24aa,inset 0 0 0 2px #fff2bb22}.loading-moon{display:grid;place-items:center;width:74px;height:74px;margin:-72px auto 14px;border:4px solid #ffe398;border-radius:50%;background:#dcae42;color:#32452f;font:58px/1 Georgia,serif;box-shadow:0 8px 0 #6f5832,0 12px 30px #0d2528aa;animation:loading-float 2.4s ease-in-out infinite}.loading-kicker{font-size:11px;font-weight:900;letter-spacing:2.8px;color:#e5cb85}.loading-card h1{margin:5px 0 9px;font:38px Neucha,cursive;color:#fff4cb}.loading-card p{min-height:22px;margin:0 0 17px;font-size:13px;color:#e8e1bd}.loading-track{height:11px;overflow:hidden;border:2px solid #172e27;border-radius:20px;background:#142c28;box-shadow:inset 0 2px 4px #061a19}.loading-track i{display:block;width:1%;height:100%;border-radius:20px;background:linear-gradient(90deg,#8fbc55,#d6db69,#ffe090);box-shadow:0 0 12px #e8da72;transition:width .2s ease}.loading-card>b{display:block;margin-top:8px;font-size:12px;color:#e8cf89}.loading-card .primary{margin-top:15px}.loading-screen.error .loading-moon{animation:none;background:#b9694c}.loading-screen.error .loading-track i{background:#c36a50}.loading-screen.error .loading-card p{color:#ffd4b8}@keyframes loading-float{50%{transform:translateY(-6px) rotate(-4deg)}}@keyframes loading-ripple{0%,100%{transform:scale(.6);opacity:0}50%{transform:scale(1.25);opacity:.65}}
.shop-tabs{display:flex;gap:6px;margin:0 0 12px;padding:4px;border:2px solid #9d825455;border-radius:12px;background:#fff7db66}.shop-tab{flex:1;border:0;border-radius:8px;padding:8px 10px;background:transparent;color:#5c5138;font-weight:900;font-size:12px;cursor:pointer}.shop-tab.active{background:linear-gradient(#98bd5e,#61883e);box-shadow:0 2px 0 #3e5b31;color:#fffbe1}.shop-empty{margin:8px 0 0;padding:14px;border:2px dashed #9d825477;border-radius:10px;background:#fff9df55;color:#75694f;font-size:13px}
.build-tools{position:absolute;right:16px;bottom:168px;z-index:6;display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.corner-dock{position:absolute;right:14px;bottom:12px;z-index:6;display:flex;flex-direction:column;width:96px;padding:6px 6px 8px;border:4px solid #6a6358;border-radius:22px;background:linear-gradient(#5a554d,#3c3935);box-shadow:0 6px 0 #2a2826,0 12px 22px #11251f99,inset 0 1px 0 #8d8578}
.corner-dock button{border:0;border-radius:14px;padding:8px 4px 7px;background:transparent;color:#fff6df;cursor:pointer}
.corner-dock button+button{border-top:2px solid #2b2926;box-shadow:inset 0 1px 0 #726b62;border-radius:0 0 14px 14px}
.corner-dock button:hover{background:#fff2ba18}
.corner-dock span{display:block;font-size:28px;line-height:1}
.corner-dock b{display:block;margin-top:3px;font-size:11px;font-weight:900;letter-spacing:.3px}
.version{right:auto;left:18px}
.build-tools-menu{display:flex;flex-direction:column;gap:8px}
.build-tools-menu[hidden]{display:none!important}
.build-tools button{width:52px;height:52px;border:3px solid #c8aa65;border-radius:16px;background:linear-gradient(#596d43,#344a34);box-shadow:0 5px 0 #243626;color:#fff4c7;font-size:22px;cursor:pointer}
.build-tools button:hover{filter:brightness(1.08)}
.build-tools button.active{background:linear-gradient(#98bd5e,#61883e);box-shadow:0 5px 0 #3e5b31}
body[data-cursor-mode="plant"] #hand-cursor{filter:drop-shadow(0 0 6px #8ee37a) hue-rotate(80deg) saturate(1.35)}
#build-tools-toggle{font-size:24px}
.work-state{margin:10px 0;padding:10px;border:2px solid #9d825455;border-radius:10px;background:#fff8db88}.work-state-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px}.work-state-head strong{font-size:17px;color:#58763c}.work-state .progress{margin:7px 0 5px}.work-state small{display:block;color:#75694f;font-size:10px}.work-state .meta{margin:7px 0 0}
.recipe-card{display:grid;gap:14px;padding:15px;border:2px solid #9d825455;border-radius:14px;background:#fff7db66}.recipe-card>div:first-child{display:grid;gap:3px}.recipe-card>div:first-child b{font:25px Neucha,cursive}.recipe-card small{color:#75694f}.recipe-order{display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:900}.quantity-stepper{display:grid;grid-template-columns:38px 54px 38px;align-items:center;overflow:hidden;border:2px solid #7b714e;border-radius:10px;background:#fff5d7}.quantity-stepper button{height:36px;border:0;background:#718f49;color:#fff;font-size:22px;font-weight:900;cursor:pointer}.quantity-stepper output{text-align:center;font-weight:900}.recipe-card>.primary{width:100%}
dialog.cook-recipes{width:min(750px,calc(100% - 30px))}.cook-group{border:2px solid #9d825455;border-radius:10px;background:#fff9e6a8;overflow:hidden}.cook-group summary{padding:11px 13px;cursor:pointer;font-weight:900;background:#e3ca8b88}.cook-recipe{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 13px}.cook-recipe>img{width:48px;height:48px;object-fit:contain;image-rendering:pixelated}.cook-recipe b{display:block;font-size:14px}.cook-recipe small{display:block;margin-top:3px;line-height:1.4}.cook-recipe button{align-self:center}.cook-short{color:#a34d36;font-weight:900}.cook-recipes .ghost{border:2px solid #7b714e;border-radius:9px;padding:8px 13px;background:#fff5d777;font-weight:900;cursor:pointer}.cook-recipes button:disabled{opacity:.5;cursor:default}

dialog.seed-shop{
 width:min(980px,calc(100% - 24px));
 max-height:86vh;
 padding:18px 18px 14px;
 border:8px solid #3d2916;
 border-radius:10px;
 background:
  linear-gradient(90deg,rgba(0,0,0,.18),transparent 8px,transparent calc(100% - 8px),rgba(0,0,0,.18)),
  repeating-linear-gradient(90deg,#6d4524 0 22px,#7c522b 22px 44px);
 box-shadow:0 10px 0 #2a1a0d,0 24px 70px #13251de0;
 color:#3a2a16;
}
dialog.seed-shop .kicker{display:none}
dialog.seed-shop h2{
 display:table;
 margin:0 0 14px;
 padding:7px 22px 8px;
 border:3px solid #3d2916;
 border-radius:8px;
 background:linear-gradient(#8a5a30,#6a4120);
 box-shadow:inset 0 1px 0 #c48a4a,0 3px 0 #2a1a0d;
 color:#f6e2b4;
 font:700 18px Nunito,system-ui,sans-serif;
 letter-spacing:.2px;
}
dialog.seed-shop .close{background:#f3e2b8;color:#3d2916}
.seed-board{
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 gap:12px;
}
.seed-card{
 display:flex;
 flex-direction:column;
 align-items:center;
 min-height:248px;
 padding:10px 10px 12px;
 border-radius:6px;
 background:
  radial-gradient(circle at 18% 12%,rgba(255,255,255,.35),transparent 28%),
  linear-gradient(#f4e4c4,#e4cc9e);
 box-shadow:inset 0 0 0 3px #c4a36a,0 3px 0 #5a3a1c;
 text-align:center;
}
.seed-card.locked{filter:saturate(.45)}
.seed-card h3{
 margin:0 4px 8px;
 min-height:2.3em;
 font:700 18px Nunito,system-ui,sans-serif;
 line-height:1.15;
}
.seed-art{
 position:relative;
 width:100%;
 height:108px;
 overflow:hidden;
 border-radius:4px;
 background:transparent;
}
.seed-art img{
 image-rendering:pixelated;
 width:100%;
 height:100%;
 object-fit:contain;
 filter:drop-shadow(0 2px 0 #5a3a1c2e);
}
.seed-art:not(:has(img)){
 background:linear-gradient(#7eae58 0 58%,#c4a06a 58% 100%);
}
.seed-art i{
 position:absolute;
 left:50%;
 bottom:16px;
 width:7px;
 height:38px;
 border-radius:4px;
 background:#2f7d34;
 transform:translateX(-50%);
}
.seed-art i::before,
.seed-art i::after{
 content:"";
 position:absolute;
 top:4px;
 width:22px;
 height:14px;
 border-radius:50% 50% 50% 0;
 background:var(--plant);
}
.seed-art i::before{left:-18px;transform:rotate(-28deg)}
.seed-art i::after{right:-18px;transform:rotate(28deg) scaleX(-1)}
.seed-card p{margin:8px 0 6px;font-size:13px;font-weight:800}
.seed-price{
 display:flex;
 align-items:center;
 justify-content:center;
 gap:6px;
 margin-bottom:8px;
 font-weight:900;
}
.seed-coin{
 display:inline-block;
 flex-shrink:0;
 width:22px;
 height:22px;
 background:url('assets/resources/coin.png?v=1') center / contain no-repeat;
 image-rendering:pixelated;
}
.seed-zombuck{background-image:url('assets/resources/zombucks.png?v=1')}
.seed-buy{
 margin-top:auto;
 border:0;
 border-radius:8px;
 padding:6px 16px 7px;
 background:linear-gradient(#f0c85d,#d3921d);
 box-shadow:0 3px 0 #8a5a12,inset 0 1px 0 #ffe7a4;
 color:#5a3510;
 font-weight:900;
 letter-spacing:.4px;
 cursor:pointer;
}
.seed-buy:disabled{
 background:linear-gradient(#d9c7a4,#b7a484);
 box-shadow:0 3px 0 #7d6b52;
 color:#6d5c45;
 cursor:default;
}
.seed-pages{display:flex;justify-content:center;gap:6px;margin-top:14px}
.seed-page{
 width:28px;
 height:28px;
 border:2px solid #3d2916;
 border-radius:4px;
 background:linear-gradient(#f0c85d,#c98418);
 box-shadow:0 2px 0 #8a5a12;
 color:#3d2916;
 font-weight:900;
 cursor:pointer;
}
.seed-page.active{background:#f6e7c4;box-shadow:inset 0 2px 0 #c4a36a}
.topbar{
 height:auto;
 display:grid;
 grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
 align-items:start;
 gap:12px;
}
.topbar>.currency-plate{justify-self:start;pointer-events:auto}
.topbar>.brain-plate{justify-self:center;min-width:0}
.brain-plate{grid-template-columns:auto 31px;align-items:center}
.brain-plate #friends-tool{width:29px;height:29px;border:2px solid #f8e6ae;border-radius:50%;background:#d5a53f;color:#32432c;font-size:22px;font-weight:900;line-height:22px;cursor:pointer}
.brain-plate #friends-tool:hover{filter:brightness(1.12)}
.friend-card{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px;border:2px solid #a98a50;border-radius:12px;background:#fff8df}
.friend-section{margin:22px 0}.friend-section h3{margin:0 0 10px}.friend-section .friend-card+.friend-card{margin-top:10px}
.friend-intro p{margin:0 0 10px}.friend-search{margin:20px 0 12px}.friend-search label{display:block;font-weight:800;margin-bottom:6px}.friend-search>div{display:flex;gap:8px}
.friend-search input,.friend-id input,.friend-gift input{min-width:0;padding:10px;border:2px solid #9e824d;border-radius:8px;background:#fff8df;color:#43331e;font:inherit}
.friend-search input{flex:1;width:100%}.friend-search input::placeholder{color:#726348}.friend-id input{width:100%;box-sizing:border-box;margin-top:8px;font-size:12px}.friend-id summary{cursor:pointer;font-weight:700}
.friend-message{min-height:1.4em;color:#633d21}.friend-gift{display:grid;grid-template-columns:70px 1fr;gap:6px;align-items:center}.friend-gift label{grid-column:1/-1;font-weight:700}.friend-gift input{width:70px;box-sizing:border-box}
.friends-list input:focus-visible,.friends-list button:focus-visible,.save-choice button:focus-visible,.cloud-status:focus-visible{outline:3px solid #315d3d;outline-offset:3px}
.cloud-status{border:2px solid #a98a50;border-radius:8px;padding:8px;background:#fff0c6;color:#43331e;font:inherit;font-size:12px;max-width:210px;cursor:pointer}
.cloud-status[hidden]{display:none}.save-choice{max-width:480px;padding:24px;border:3px solid #a98a50;border-radius:12px;background:#fff1d0;color:#43331e;font:inherit}.save-choice::backdrop{background:#24170bb3}.save-choice button{display:block;width:100%;margin-top:12px}
@media(max-width:520px){.friend-search>div{flex-wrap:wrap}.friend-search input{flex-basis:100%}.friend-actions .friend-gift{width:100%;flex:1 0 100%}.friend-actions button{min-height:44px}.friend-actions button[data-social="remove"]{flex-basis:100%}.cloud-status{max-width:140px}}
.friend-card b,.friend-card small{display:block}
.friend-card small{margin-top:5px;color:#726348}
.friend-actions{display:flex;flex-direction:column;gap:8px;min-width:150px}
.friend-actions button{white-space:nowrap}
.friend-actions .ghost{padding:7px;border:2px solid #7b714e;border-radius:9px;background:#fff5d7;font-weight:900;cursor:pointer}
.friend-actions button:disabled{opacity:.55;cursor:default}
#friend-visit{position:absolute;z-index:10;left:50%;top:16px;transform:translateX(-50%);display:flex;align-items:center;gap:15px;padding:8px 12px;border:3px solid #c6a765;border-radius:14px;background:#30492f;color:#fff8d8;box-shadow:0 5px 0 #223425}
#friend-visit[hidden]{display:none}
#friend-home{padding:6px 10px;border:0;border-radius:8px;background:#f4dfa2;color:#30452d;font-weight:900;cursor:pointer}
body.visiting-friend .topbar,body.visiting-friend .tool-rail,body.visiting-friend .daily-wheel-tool,body.visiting-friend .menu-bar,body.visiting-friend .selection{display:none}
@media(max-width:520px){.friend-card{align-items:stretch;flex-direction:column}.friend-actions{flex-direction:row;flex-wrap:wrap}.friend-actions button{flex:1}}
.topbar>.level-plate{justify-self:end;pointer-events:auto}
.topbar>.top-actions{position:absolute;right:0;top:78px}
.currency-plate{display:grid;gap:4px;min-width:148px;padding:7px 12px;border:3px solid #c6a765;border-radius:16px;background:linear-gradient(#4f673e,#30492f);box-shadow:0 5px 0 #223425,0 9px 22px #152b2a88}
.currency-plate .money{min-width:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;font-size:18px}
.currency-plate .money i{
 display:inline-block;
 flex-shrink:0;
 width:26px;
 height:26px;
 border:0;
 border-radius:0;
 box-shadow:none;
 clip-path:none;
 font-size:0;
 background-color:transparent;
 background-position:center;
 background-size:contain;
 background-repeat:no-repeat;
 image-rendering:pixelated;
}
.currency-plate .coin{background-image:url('assets/resources/coin.png?v=1')}
.currency-plate .gem{background-image:url('assets/resources/zombucks.png?v=1')}
.currency-plate .brain{background-image:url('assets/resources/brain.png?v=1')}
.currency-plate .money b{font-size:18px}
.level-plate{display:grid;grid-template-columns:46px auto;align-items:center;gap:8px;padding:7px 14px 7px 8px;border:3px solid #c6a765;border-radius:16px;background:linear-gradient(#4f673e,#30492f);box-shadow:0 5px 0 #223425,0 9px 22px #152b2a88;color:#fff8d8}
.level-plate>b{display:grid;place-items:center;width:42px;height:42px;border:3px solid #ffea9b;border-radius:50%;background:#d4a53d;color:#34432e;font-size:20px}
.level-plate span{display:block;font-size:11px;font-weight:900;letter-spacing:.4px}
.xp-track{width:128px;height:8px;margin-top:4px;overflow:hidden;border-radius:9px;background:#253a2b}
.xp-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,#f0d35c,#a7c866)}
.tool-rail{position:absolute;left:16px;bottom:44px;z-index:6;display:flex;flex-direction:column;gap:8px}
.tool-rail button{width:52px;height:52px;border:3px solid #c8aa65;border-radius:50%;background:linear-gradient(#596d43,#344a34);box-shadow:0 5px 0 #243626;color:#fff4c7;font-size:22px;cursor:pointer}
.tool-rail button:hover{filter:brightness(1.08)}
.tool-rail button.active{background:linear-gradient(#98bd5e,#61883e);box-shadow:0 5px 0 #3e5b31}
.menu-bar{position:absolute;left:50%;bottom:16px;z-index:6;transform:translateX(-50%);display:flex;gap:12px}
.menu-bar button{position:relative;display:grid;grid-template-rows:60px 26px;justify-items:center;align-items:center;width:116px;padding:4px 8px 8px;border:3px solid #d6b676;border-radius:12px;background:linear-gradient(#927247,#65472d);box-shadow:inset 0 2px 0 #f1d39c,inset 0 -3px 0 #473321,0 5px 12px #14291dc4;color:#fff2cc;cursor:pointer;transition:transform .12s ease,background .12s ease,box-shadow .12s ease}
.menu-bar button::before,.menu-bar button::after{content:"";position:absolute;top:8px;width:3px;height:3px;background:#ecd49a;box-shadow:0 1px 1px #392b20;pointer-events:none}
.menu-bar button::before{left:7px}
.menu-bar button::after{right:7px}
.menu-bar button:hover{transform:translateY(-2px);background:linear-gradient(#ab8551,#785133);box-shadow:inset 0 2px 0 #ffe5b5,inset 0 -3px 0 #473321,0 7px 14px #14291dc4}
.menu-bar button:active{transform:translateY(2px);box-shadow:inset 0 2px 0 #c69b5d,inset 0 -1px 0 #473321,0 2px 5px #14291dc4}
.menu-bar button:focus-visible{outline:3px solid #fff1a3;outline-offset:4px}
.menu-bar button:disabled{opacity:.55;cursor:default;transform:none}
.menu-bar .menu-icon{display:block;width:64px;height:64px;object-fit:contain;image-rendering:pixelated;pointer-events:none}
.menu-bar b{display:block;font:24px/1 Neucha,cursive;letter-spacing:.2px;text-shadow:0 2px 2px #382b20;pointer-events:none}
.selection{left:84px}
.version{left:18px;bottom:18px}
@media(max-width:650px){
 .topbar{gap:5px}
 .topbar>.currency-plate{min-width:0;padding:6px}
 .topbar>.level-plate{grid-template-columns:32px auto;gap:4px;padding:6px}
 .level-plate>b{width:32px;height:32px;font-size:17px}
 .currency-plate .money{gap:4px}
 .currency-plate .money b{font-size:15px}
 .currency-plate .money i{width:22px;height:22px}
 .topbar>.top-actions{top:70px}
 .xp-track{width:72px}
 .tool-rail{left:8px;bottom:38px}
 .tool-rail button{width:44px;height:44px;font-size:18px}
 .menu-bar{gap:8px;bottom:12px}
 .menu-bar button{width:104px;grid-template-rows:56px 24px;padding:3px 6px 7px}
 .menu-bar .menu-icon{width:56px;height:56px}
 .menu-bar b{font-size:22px}
 .selection{left:68px}
}
@media(max-width:380px){.menu-bar{left:auto;right:10px;transform:none}.menu-bar button{width:96px}}
@media(max-height:480px){.menu-bar button{grid-template-rows:48px 22px;padding:2px 6px 6px}.menu-bar .menu-icon{width:48px;height:48px}.menu-bar b{font-size:21px}}
@media(prefers-reduced-motion:reduce){.menu-bar button{transition:none}}
.settings-action+.settings-action{margin-top:10px}
.quantity-stepper:has(#zoom-value){grid-template-columns:38px 72px 38px}
.daily-wheel-tool{position:absolute;left:16px;top:100px;z-index:6;width:58px;height:58px;border:3px solid #f4db88;border-radius:50%;background:radial-gradient(circle,#eac560 0 30%,#9a672b 32% 40%,#577342 42%);box-shadow:0 5px 0 #243626,0 0 0 3px #344a34;color:#fff6c9;font-size:29px;cursor:pointer}
.daily-wheel-tool:hover{filter:brightness(1.1)}
.daily-wheel-tool span{position:absolute;right:-7px;top:-8px;display:grid;place-items:center;min-width:23px;height:23px;border:2px solid #fff0b0;border-radius:50%;background:#d9a83c;color:#34432e;font-size:13px;font-weight:900}
.daily-wheel-tool span[hidden]{display:none}
dialog.daily-wheel{width:min(520px,calc(100% - 24px));max-height:90vh;text-align:center}
.daily-wheel .wheel-shell{position:relative;width:min(300px,43vh,75vw);aspect-ratio:1;margin:0 auto 15px;padding:9px;border:7px solid #b48a43;border-radius:50%;background:#f5dda0;box-shadow:0 5px 0 #695334,inset 0 0 0 2px #fff5d3}
.daily-wheel .wheel-pointer{position:absolute;left:50%;top:-17px;z-index:3;width:0;height:0;transform:translateX(-50%);border-left:14px solid transparent;border-right:14px solid transparent;border-top:27px solid #493c28;filter:drop-shadow(0 2px 0 #edd487)}
.daily-wheel .wheel-disc{position:relative;width:100%;height:100%;overflow:hidden;border:3px solid #5b4c30;border-radius:50%;background:conic-gradient(from -22.5deg,#5f8247 0 45deg,#c58c39 45deg 90deg,#496b40 90deg 135deg,#d8a649 135deg 180deg,#638747 180deg 225deg,#bc8b43 225deg 270deg,#517541 270deg 315deg,#d2a248 315deg 360deg)}
.daily-wheel .wheel-disc.spinning{transition:transform 3s cubic-bezier(.13,.65,.14,1)}
.daily-wheel .wheel-disc::after{content:'';position:absolute;left:50%;top:50%;width:31px;height:31px;transform:translate(-50%,-50%);border:3px solid #78592f;border-radius:50%;background:#f8dda1;box-shadow:0 2px 0 #473b2a}
.daily-wheel .wheel-sector{position:absolute;left:50%;top:50%;display:flex;flex-direction:column;align-items:center;gap:1px;width:55px;margin-left:-27.5px;margin-top:-30px;transform:rotate(var(--sector-angle)) translateY(calc(-1 * min(95px,13.5vh,24vw))) rotate(calc(var(--wheel-upright) - var(--sector-angle)));color:#fff8d9;text-shadow:0 2px 2px #273b29;font-size:14px;font-weight:900}
.daily-wheel .wheel-sector img{width:37px;height:37px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 2px 1px #273b29)}
.daily-wheel .wheel-result{min-height:27px;margin:4px 0 13px;font-weight:900}
.daily-wheel .wheel-spin{min-width:170px;padding:10px 18px;font-size:18px}
.daily-wheel .wheel-spin:disabled{opacity:.62;cursor:default}
@media(max-width:650px){.daily-wheel-tool{left:8px;top:92px;width:48px;height:48px;font-size:23px}.daily-wheel .wheel-sector img{width:30px;height:30px}.daily-wheel .wheel-sector{font-size:12px}}
@media(max-width:720px){
 .seed-board{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Карточки рабочих мест используют ту же деревянную витрину, что и семена. */
.station-shop .shop-tabs{background:#f4e4c4;border-color:#3d2916}
.station-shop .shop-empty{background:#f4e4c4;color:#5a4227}
.station-shop .row{padding:12px;background:#f4e4c4;border-radius:6px;margin-bottom:8px}
.station-card h3{font-size:16px;min-height:2.4em}
.station-art{position:relative;width:100%;height:160px;min-width:0;display:grid;place-items:center}
.station-art img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;image-rendering:pixelated}
.station-facts{display:grid;gap:4px;width:100%;padding:8px 2px;border-top:1px solid #b5936055;border-bottom:1px solid #b5936055;font-size:11px;font-weight:900}
.station-card .station-description{min-height:6.5em;margin:10px 0 8px;font-size:12px;font-weight:600;line-height:1.3}
.station-owned{display:block;margin-bottom:12px;color:#756044;font-size:10px}
.station-actions{display:grid;gap:8px;width:100%;margin-top:auto}
.station-actions .seed-price{margin:0;font-size:18px}
.station-currency{font-size:11px;font-weight:700}
.station-actions .seed-buy{width:100%;min-height:38px;margin:0}
.station-actions .station-place{background:linear-gradient(#98bd5e,#61883e);box-shadow:0 3px 0 #3e5b31;color:#fffbe1}
.station-shop button:focus-visible{outline:3px solid #fff4c9;outline-offset:3px}
@media(max-width:480px){
 dialog.station-shop{padding:12px 8px;border-width:5px}
 .station-board{gap:8px}
 .station-card{padding:10px 7px}
 .station-card h3{font-size:14px;min-height:3.5em}
 .station-art{height:120px}
 .station-card .station-description{font-size:11px;min-height:8em}
 .station-facts{font-size:10px}
}

/* Одна строка карточек: высота витрины не требует прокрутки. */
.station-shop h2{margin-bottom:8px;padding:4px 18px}
.station-shop .shop-tabs{margin-bottom:8px}
@media(max-width:480px){
 .station-shop .shop-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
 .station-shop .shop-tab{min-width:0;padding:6px 8px}
}
.station-board{grid-template-columns:repeat(var(--shop-columns),minmax(0,1fr));gap:10px}
.station-card{min-height:0;padding:8px}
.station-card h3{font-size:15px;min-height:2.4em;margin-bottom:4px}
.station-art{height:clamp(72px,calc(100dvh - 480px),160px)}
.station-facts{padding:5px 0;gap:3px}
.station-card .station-description{min-height:0;margin:7px 0;font-size:11px;line-height:1.25}
.station-owned{margin-bottom:6px}
.station-actions{gap:6px;grid-template-columns:repeat(2,minmax(0,1fr))}
.station-actions .seed-price{grid-column:1/-1;font-size:17px}
.station-actions .seed-buy{padding:6px 4px;min-height:34px;font-size:12px}
.station-actions .seed-buy:only-of-type{grid-column:1/-1}
.station-shop .seed-pages{margin-top:10px}
@media(max-height:559px){
 .station-shop h2{font-size:15px;margin-bottom:4px;padding:2px 14px}
 .station-shop .shop-tabs{margin-bottom:5px;padding:2px}
 .station-shop .shop-tab{padding:4px 10px}
 .station-card{display:grid;grid-template-columns:40% 1fr;column-gap:12px;text-align:left}
 .station-card h3{grid-column:1;grid-row:1;min-height:0;font-size:14px}
 .station-art{grid-column:1;grid-row:2/6;height:110px}
 .station-facts,.station-card .station-description,.station-owned,.station-actions{grid-column:2}
 .station-facts{grid-row:1;font-size:10px}
 .station-card .station-description{font-size:10px;margin:4px 0}
 .station-actions{gap:4px}
 .station-actions .seed-price{font-size:14px;margin:0}
 .station-actions .seed-buy{min-height:28px;padding:3px}
 .station-shop .seed-pages{margin-top:6px}
}

/* Семена: фиксированная высота витрины, число карточек зависит от окна. */
/* Окна меню имеют размер рюкзака; длинное содержимое прокручивается внутри. */
dialog{--scroll-thumb:#8b693e;--scroll-track:#e8d19b}
dialog.seed-shop{--scroll-thumb:#c49b58;--scroll-track:#5a3a1c}
dialog,dialog *{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track)}
@supports not (scrollbar-color:auto){
 dialog::-webkit-scrollbar,dialog ::-webkit-scrollbar{width:8px;height:8px}
 dialog::-webkit-scrollbar-track,dialog ::-webkit-scrollbar-track{background:var(--scroll-track);border-radius:8px}
 dialog::-webkit-scrollbar-thumb,dialog ::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border:2px solid var(--scroll-track);border-radius:8px}
 dialog::-webkit-scrollbar-button,dialog ::-webkit-scrollbar-button{display:none}
 dialog::-webkit-scrollbar-corner,dialog ::-webkit-scrollbar-corner{background:var(--scroll-track)}
}
dialog:is(.seed-catalog,.station-shop,.backpack,.collections,.gifts,.gift-send)[open]{
 display:flex;
 flex-direction:column;
 width:min(980px,calc(100% - 24px));
 max-width:calc(100% - 24px);
 height:min(720px,calc(100dvh - 24px));
 max-height:calc(100dvh - 24px);
 padding:12px;
 overflow:hidden;
}
dialog:is(.seed-catalog,.station-shop,.backpack,.collections,.gifts,.gift-send) h2{flex:none;align-self:flex-start}
dialog:is(.station-shop,.collections,.gifts,.gift-send) #modal-body{
 flex:1;
 min-height:0;
 overflow:auto;
}
@media(max-width:420px){
 dialog:is(.seed-catalog,.station-shop,.backpack,.collections,.gifts,.gift-send)[open]{padding:8px;border-width:5px}
}
.seed-catalog h2{align-self:flex-start}
.seed-catalog #modal-body{display:flex;flex-direction:column;flex:1;min-height:0}
.seed-catalog .seed-board{flex:1;min-height:0;grid-template-columns:repeat(var(--seed-columns),minmax(0,1fr));grid-template-rows:repeat(var(--seed-rows),minmax(0,1fr));gap:10px}
.seed-catalog .seed-card{min-height:0;padding:8px}
.seed-catalog .seed-card h3{font-size:16px;min-height:2.3em;margin:0 0 4px}
.seed-catalog .seed-art{flex:1;min-height:0;height:auto}
.seed-catalog .seed-art img{
 image-rendering:pixelated;position:absolute;inset:0;display:block}
.seed-catalog .seed-card p{font-size:12px;margin:6px 0}
.seed-catalog .seed-price{margin-bottom:6px}
.seed-catalog .seed-buy{margin-top:0;min-height:32px;padding:5px 12px}
.seed-catalog .seed-pages{flex:none;gap:5px;margin-top:10px}
.seed-catalog .seed-page{flex:none}
@media(max-width:420px){.seed-catalog .seed-card h3{font-size:15px}}
@media(max-height:480px){dialog.seed-catalog h2{font-size:16px;padding:4px 18px;margin-bottom:8px}.seed-catalog .seed-card h3{font-size:14px}.seed-catalog .seed-card p{font-size:11px}}

button[data-brain-worker]:disabled{opacity:.55;cursor:not-allowed;}

.garden-shop-card{flex-wrap:wrap}.garden-shop-actions{display:flex;flex-wrap:wrap;gap:10px}.garden-shop-actions button{white-space:nowrap}
.crypt-shop-card{justify-content:flex-start}.crypt-shop-card>div:nth-child(2){flex:1;min-width:180px}.crypt-shop-art{width:86px;height:74px;object-fit:contain;image-rendering:pixelated}.crypt-short{background:#d06b6038;color:#8d3e36}.crypt-recipe button:disabled,.selection [data-build-crypt]:disabled,.selection [data-build-lighthouse]:disabled,.crypt-shop-card button:disabled{opacity:.55;cursor:default}

.backpack-balance{display:flex;flex-wrap:wrap;gap:8px 24px;flex:none;margin:0 0 10px;color:#fff0c4;font-weight:900}
.backpack-balance>span{display:flex;align-items:center;gap:7px}
.backpack .seed-price small{font-size:11px;font-weight:700}
.backpack-empty{color:#fff0c4;text-align:center;margin:auto;font-size:18px}
.backpack .backpack-gift{margin-top:8px}

.gift-tabs{display:flex;gap:8px;margin-bottom:18px}
.gift-tabs button{flex:1;min-height:44px}
.gift-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px}
.gift-card{display:flex;flex-direction:column;align-items:center;padding:12px;background:#f4e4c4;border:2px solid #9e824d;border-radius:10px;color:#43331e}
.gift-card h3{margin:0 0 8px;font-size:17px;text-align:center;min-height:2.4em;display:grid;place-items:center}
.gift-card img{width:80px;height:80px;object-fit:contain;image-rendering:pixelated;margin-bottom:12px}
.gift-card-actions{display:grid;gap:8px;width:100%;margin-top:auto}
.gift-card-actions button{min-height:44px;padding:8px 4px}
.gifts button:disabled,.gift-send button:disabled{opacity:.55;cursor:default}
.gift-intro{margin-top:0;line-height:1.5}
.gift-message,.gift-notice{padding:10px;background:#f5d9a4;color:#43331e;border-radius:8px;line-height:1.4}
.gift-message[hidden]{display:none}
.gift-inbox-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.gift-inbox-heading p{margin:0}
.gift-inbox-heading button{flex:none;min-height:44px}
.gift-received{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid #9e824d}
.gift-received>div{display:grid;gap:5px;flex:1;min-width:0;overflow-wrap:anywhere}
.gift-received img,.gift-chosen img{flex:none;object-fit:contain;image-rendering:pixelated}
.gift-received button{min-height:44px;flex:none}
.gift-received small{color:#61472d}
.gift-chosen{display:flex;gap:14px;align-items:center;margin:20px 0}
.gift-send-form{display:grid;gap:10px;max-width:420px}
.gift-send-form label{font-weight:700}
.gift-send-form select,.gift-send-form input{min-width:0;width:100%;box-sizing:border-box;min-height:44px;padding:8px;background:#fff8df;border:2px solid #9e824d;border-radius:8px;color:#43331e;font:inherit}
.gift-send-form button{min-height:44px}
.gift-send-form p{margin:2px 0 8px}
.gift-refresh{margin-top:20px;min-height:44px}
.gifts .ghost,.gift-send .ghost{padding:8px 12px;border:2px solid #9e824d;border-radius:8px;background:#f4e4c4;color:#43331e;font:inherit;cursor:pointer}
.gifts :focus-visible,.gift-send :focus-visible{outline:3px solid #406542;outline-offset:3px}
@media(max-width:520px){.gift-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gift-card{padding:8px}.gift-tabs{gap:4px}.gift-tabs button{padding:8px 5px}.gift-inbox-heading{align-items:stretch;flex-direction:column}.gift-received{flex-wrap:wrap;gap:10px}.gift-received button{margin-left:auto}.gift-received>div{flex-basis:calc(100% - 80px)}}
@media(max-width:420px){.menu-bar{width:calc(100% - 32px);gap:6px}.menu-bar button{flex:1;min-width:0;width:0;padding-right:4px;padding-left:4px}.menu-bar b{font-size:16px}}

/* Обучение: одна небольшая подсказка рядом с игрой, без блокировки управления. */
.loading-screen::before,.loading-screen::after{pointer-events:none}
#tutorial-card{position:absolute;right:22px;top:170px;z-index:20;width:min(310px,calc(100% - 44px));padding:16px 18px;border:3px solid #d0b36d;border-radius:16px;background:#fff1c9;box-shadow:0 9px 24px #13251d88;color:#35402e}
#tutorial-card[hidden],#tutorial-target[hidden]{display:none}
.tutorial-heading{display:flex;align-items:flex-start;gap:12px;justify-content:space-between}
.tutorial-heading h2{font:26px/1.1 Neucha,cursive;margin:0;max-width:230px}
#tutorial-progress{flex:none;font-size:12px;font-weight:900;color:#536b3b;font-variant-numeric:tabular-nums}
#tutorial-text{font-size:13px;line-height:1.5;margin:10px 0 14px}
.tutorial-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}
.tutorial-actions button{font:700 12px Nunito,sans-serif;padding:8px 10px;border:1px solid #8a7549;border-radius:8px;background:#fff6de;color:#35402e;cursor:pointer;min-height:36px}
.tutorial-actions button:hover{background:#ead7a8}
.tutorial-actions button:focus-visible{outline:3px solid #425b34;outline-offset:3px}
#tutorial-skip{margin-left:auto}
.tutorial-highlight{outline:4px solid #fff1a3!important;outline-offset:4px!important}
#tutorial-target{position:fixed;z-index:12;width:78px;height:38px;border:3px solid #fff1a3;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;box-shadow:0 3px 9px #13251dcc}
#tutorial-target svg{position:absolute;width:25px;height:30px;left:24px;bottom:40px;fill:#fff1a3;stroke:#536b3b;stroke-width:2;stroke-linejoin:round}
dialog #tutorial-card{position:static;width:auto;margin:0 0 12px;padding:10px 14px;box-shadow:none}
dialog .tutorial-heading h2{font-size:21px;max-width:none;padding:0;border:0;background:none;box-shadow:none;color:inherit}
dialog #tutorial-text{margin:6px 0 8px;font-size:12px}
@media(max-width:600px){#tutorial-card{right:12px;top:154px;width:245px;padding:12px}.tutorial-heading h2{font-size:23px}#tutorial-text{font-size:12px}.tutorial-actions{gap:5px}.tutorial-actions button{font-size:11px;padding:7px}dialog #tutorial-card{width:auto}}

@media(max-width:480px){.cook-recipe{grid-template-columns:40px minmax(0,1fr);gap:8px}.cook-recipe>img{width:40px;height:40px;grid-row:1 / span 2}.cook-recipe>button{grid-column:2;justify-self:start}}
/* Three starting quests, below the daily reward without covering selection. */
.quest-dock{top:176px;left:16px;z-index:6;gap:10px}
.quest-dock[hidden]{display:none}
.quest-icon{width:58px;height:66px;border-radius:12px;padding:4px 3px}
.quest-icon img{display:block;object-fit:contain;width:100%;height:42px;image-rendering:pixelated}
.quest-icon small{font-size:8px;white-space:nowrap;line-height:12px}
.quest-icon.locked{filter:saturate(.35);opacity:.7}
.quest-icon.completed{border-color:#96b970}
.quest-details{max-width:440px;margin:0 auto}
.quest-portrait{display:block;height:88px;max-width:120px;margin:0 auto 14px;image-rendering:pixelated}
.quest-goals{list-style:none;padding:0;margin:16px 0;display:grid;gap:8px}
.quest-goals li{display:flex;justify-content:space-between;gap:16px;padding:12px;border:2px solid #92865e;border-radius:10px;background:#e8dcb2}
.quest-goals li.done{border-color:#60834b;background:#d8e3b3}
.quest-goals b{white-space:nowrap}
.quest-note{font-size:12px;line-height:1.5;color:#655a42}
.quest-reward{border-top:2px solid #bca776;padding-top:14px}
.quest-claim{width:100%;margin-top:12px}
.quest-claim:disabled{opacity:.6;cursor:default}
@media(max-width:700px){.quest-dock{left:8px;top:154px;gap:8px}.quest-icon{width:48px;height:56px}.quest-icon img{height:32px}.quest-icon small{font-size:7px}.quest-portrait{height:64px;margin-bottom:10px}.quest-goals{margin:12px 0}.quest-goals li{padding:9px 10px}.quest-reward{padding-top:10px}.quest-note{font-size:11px}}
/* Коллекции: два набора на страницу в деревянном альбоме. */
.collections #modal-body{display:flex;flex-direction:column}
.collections .collections-intro,.collections .seed-pages{flex:none}
.collections-intro{
 margin:0 0 12px;
 padding:10px 12px;
 border-radius:6px;
 background:#f4e4c4;
 font-size:12px;
 line-height:1.4;
}
.collections-list{display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:12px;flex:1;min-height:0;overflow:auto}
.collection-row{padding:12px;background:#f4e4c4;border:2px solid #b99963;border-radius:6px;min-width:0}
.collection-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}
.collection-heading h3{margin:0;font:700 15px/1.3 Nunito,system-ui,sans-serif}
.collection-progress{font-size:10px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.collection-row.ready .collection-progress{color:#39582b}
.collection-items{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;list-style:none;margin:10px 0 12px;padding:0}
.collection-item{display:grid;grid-template-rows:64px minmax(32px,auto) 24px;justify-items:center;text-align:center;gap:4px;min-width:0}
.collection-item img{width:64px;height:64px;object-fit:contain;image-rendering:pixelated;filter:grayscale(1);opacity:.55}
.collection-item.found img{filter:none;opacity:1}
.collection-item span{font-size:11px;line-height:1.3;align-self:center;overflow-wrap:anywhere}
.collection-item b{min-width:28px;border-radius:5px;background:#dbc69d;font-size:12px;color:#514023;font-variant-numeric:tabular-nums}
.collection-item.found b{background:#d1dfa8;color:#304b24}
.collection-exchange{display:grid;gap:8px}
.collection-reward{display:flex;align-items:center;gap:8px}
.collection-reward img{width:32px;height:32px;object-fit:contain;image-rendering:pixelated}
.collection-reward b{font-size:11px}
.collection-reward small{display:block;margin-top:2px;font-size:10px;color:#65502f}
.collection-exchange button{font-size:11px;min-height:34px;padding:7px 10px;white-space:nowrap}
.collection-exchange button:disabled{opacity:.65;cursor:default}
.collections button:focus-visible,.collection-heading h3:focus-visible{outline:3px solid #426536;outline-offset:4px}
#collections-tool{position:relative}
#collections-badge{position:absolute;top:0;right:0;min-width:20px;padding:2px 5px;border-radius:10px;background:#f3c45e;color:#35250f;font-size:11px}
#collections-badge[hidden]{display:none}
@media(max-width:700px){
 .collections-intro{padding:10px;font-size:12px}
 .collection-heading{align-items:flex-start}
 .collection-item{grid-template-rows:48px minmax(38px,auto) 22px}
 .collection-item img{width:48px;height:48px}
 .collection-item span{font-size:10px}
}
@media(min-width:701px) and (max-height:650px){
 .collections-intro{padding:8px 10px;margin-bottom:8px}
 .collections-list{gap:8px}
 .collection-row{padding:8px}
 .collection-items{margin:6px 0 8px}
 .collection-item{grid-template-rows:40px minmax(26px,auto) 20px;gap:3px}
 .collection-item img{width:40px;height:40px}
 .collection-exchange{gap:5px}
 .collection-exchange button{min-height:30px;padding:5px 8px}
}

dialog.building-recipes{width:min(860px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:22px;overflow:auto}
.building-recipes h2{padding-right:42px}
.building-recipe-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}
.building-recipe-card{min-width:0;min-height:0;padding:14px 12px}
.building-recipe-card h3{font-size:17px;min-height:2.3em}
.building-recipe-card .seed-art{height:112px}
.building-recipe-card .seed-art img{padding:8px 18px}
.recipe-output{position:absolute;right:4px;bottom:4px;padding:3px 8px;border:1px solid #b79b63;border-radius:6px;background:#fff3cd;font-weight:900}
.recipe-ingredients{width:100%;margin:8px 0 12px;text-align:left}
.recipe-ingredients>small{display:block;font-size:11px;color:#685238}
.recipe-ingredients ul{list-style:none;margin:6px 0 0;padding:0}
.recipe-ingredients li{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:5px 0;border-bottom:1px solid #987c4833;font-size:13px;line-height:1.35}
.recipe-ingredients li b{white-space:nowrap}
.recipe-ingredients .recipe-short{color:#913d2e}
.recipe-note{display:block;margin:0 0 12px;font-size:12px;line-height:1.4;color:#685238;text-align:left}
.building-recipe-card button{width:100%;min-height:44px;margin-top:auto}
.building-recipe-card button:disabled{opacity:.55;cursor:default}
.building-recipes button:focus-visible{outline:3px solid #304e2f;outline-offset:3px}
@media(max-width:480px){dialog.building-recipes{padding:16px}.building-recipe-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.building-recipe-card{padding:12px 8px}.building-recipe-card h3{font-size:15px}.building-recipe-card .seed-art{height:88px}.recipe-ingredients li{display:block}.recipe-ingredients li b{display:block}.recipe-ingredients>small{font-size:10px}}
@media(max-width:340px){.building-recipe-board{grid-template-columns:1fr}}
