/* ===== Аптекарский огород ===== */
.pill-gold{background:var(--gold);color:#1f2a10;font-size:.7rem;padding:3px 12px;align-self:flex-start;margin-bottom:4px}
.farm-card{background:linear-gradient(135deg,#2e5b2b,#1f3d20);border:2px solid var(--gold);min-height:120px}
.farm-thumb{display:flex!important;align-items:flex-end;justify-content:center;background:linear-gradient(180deg,#cfe3b0 0%,#e9f1d8 55%,#8a5a32 55%,#6b4426 100%)}
.thumb-bed{display:flex;align-items:flex-end;margin-bottom:6px}
.thumb-bed svg{margin:0 -6px}

body.farm-mode .app{padding-bottom:120px}
body.farm-mode .signature{display:none}
.farm-nav{display:none}
body.farm-mode .farm-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:15;background:var(--green-dark);padding:6px max(6px,env(safe-area-inset-left)) max(6px,env(safe-area-inset-bottom));box-shadow:0 -4px 18px rgba(0,0,0,.18);border-top:3px solid var(--gold)}
.farm-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:68px;border:0;border-radius:14px;background:transparent;color:#e7dcb6;font:inherit;font-weight:800;font-size:.72rem;cursor:pointer;padding:4px 2px}
.farm-nav button.on{background:#fbf6e9;color:var(--green-dark)}
.farm-nav button:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}
.farm-nav .nav-ic{width:30px;height:30px}
@media (min-width:700px){.farm-nav{max-width:640px;margin:0 auto;border-radius:20px 20px 0 0}.farm-nav button{font-size:.8rem}}

.farm-head{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:12px 16px;margin:12px 0;border:1px solid rgba(196,154,60,.3)}
.fh-coins{display:flex;flex-direction:column;align-items:center;min-width:84px;padding-right:12px;border-right:2px solid var(--cream-2)}
.fh-coins b{font-family:var(--head);font-size:1.6rem;color:var(--gold-dark);line-height:1.1}
.fh-coins>span:last-child{font-size:.8rem;font-weight:700;color:var(--muted)}
.fh-level b{color:var(--green-dark)}
.fh-level>span{display:block;font-size:.85rem;color:var(--gold-dark);font-weight:700;line-height:1.2}
.fh-level .progress{margin:6px 0 2px}
.fh-level .xp-left{font-size:.78rem;color:var(--muted);font-weight:600}
.coin{display:inline-block;width:1em;height:1em;border-radius:50%;background:radial-gradient(circle at 35% 35%,#ffe9a0,#e0b33e 55%,#a87a1e);box-shadow:inset 0 0 0 2px rgba(138,106,31,.6);vertical-align:-.12em}
.coin.big{width:30px;height:30px}
.coins-inline{white-space:nowrap;font-weight:800;color:var(--gold-dark)}
.coins-inline .coin{margin-right:3px}
.btn-primary .coins-inline,.btn-secondary .coins-inline{color:inherit}

.farm-title{text-align:center;margin:.4em 0 .5em}
.tut{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap;background:#fff7d6;border:3px solid var(--gold);border-radius:18px;padding:12px 14px;margin:10px 0;box-shadow:var(--shadow)}
.tut p{margin:0;flex:1;min-width:200px;font-weight:700;color:#4a3a10;font-size:1.02rem}
.tut-icon{font-size:1.5rem;line-height:1}
.btn-link{background:none;border:0;color:var(--gold-dark);text-decoration:underline;font:inherit;font-size:.85rem;font-weight:700;cursor:pointer;padding:6px 0;margin-left:auto}

/* Грядки */
.beds{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (min-width:560px){.beds{grid-template-columns:repeat(3,1fr)}}
.bed{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-height:206px;padding:8px 6px 10px;border-radius:20px;border:5px solid #a0703a;
  background:linear-gradient(180deg,#e8f1d6 0%,#dfeac8 56%,transparent 56%),repeating-linear-gradient(180deg,#7a4e2c 0 12px,#6b4426 12px 24px);
  background-color:#6b4426;color:#fff;font:inherit;cursor:pointer;box-shadow:var(--shadow);overflow:hidden}
.bed.watered{background:linear-gradient(180deg,#e2eef0 0%,#d7e7e4 56%,transparent 56%),repeating-linear-gradient(180deg,#5c3a20 0 12px,#4e311b 12px 24px)}
.bed:focus-visible{outline:4px solid var(--gold);outline-offset:3px}
.bed-plant{position:absolute;left:0;right:0;top:0;height:calc(56% + 8px);display:flex;align-items:flex-end;justify-content:center;pointer-events:none}
.bed-plant svg{width:118px;height:118px;display:block;max-height:100%}
.bed-name{position:relative;margin-bottom:2px;font-weight:800;font-size:.95rem;background:rgba(31,61,32,.85);padding:2px 10px;border-radius:999px;margin-top:auto}
.bed-label{position:relative;font-weight:800;font-size:1rem;margin-top:4px;text-shadow:0 1px 2px rgba(0,0,0,.5)}
.bed-label.harvest{background:var(--gold);color:#1f2a10;text-shadow:none;padding:6px 16px;border-radius:999px;font-size:1.05rem}
.bed.empty{justify-content:center}
.bed.empty .bed-plus{font-size:2.6rem;line-height:1;font-weight:800;color:#fbf6e9;background:rgba(31,61,32,.75);width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:40px}
.bed.empty .bed-label{margin-top:8px;background:rgba(31,61,32,.85);padding:4px 14px;border-radius:999px;text-shadow:none}
.bed.buy{border-style:dashed;border-color:var(--gold);background:rgba(255,252,242,.85);color:var(--green-dark);justify-content:center}
.bed.buy .bed-plus{font-size:2.4rem;font-weight:800;line-height:1}
.bed.buy .bed-label{text-shadow:none}
.bed-price{margin-top:4px}
.bed-bar{position:relative;display:block;width:80%;height:10px;border-radius:999px;background:rgba(255,255,255,.35);margin-top:6px;overflow:hidden}
.bed-bar span{display:block;height:100%;background:#b7d36a;border-radius:999px;transition:width 1s linear}
.water-chip{position:absolute;top:8px;right:8px;display:flex;align-items:center;gap:3px;background:#e6f2fb;color:#1d5a8a;font-weight:800;font-size:.75rem;padding:3px 9px;border-radius:999px;border:2px solid #5aa0d8}
.drop{display:inline-block;width:.8em;height:.8em;background:#5aa0d8;border-radius:0 50% 50% 50%;transform:rotate(45deg);margin-right:4px}
.bed.ready{border-color:var(--gold);animation:glow 2.2s ease-in-out infinite}
@keyframes glow{50%{box-shadow:0 0 0 6px rgba(196,154,60,.35),var(--shadow)}}
.pulse{animation:pulse 1.6s ease-in-out infinite!important;outline:4px solid var(--gold);outline-offset:3px}
@keyframes pulse{50%{outline-color:rgba(196,154,60,.2)}}
.bed.pop .bed-plus{animation:popin .5s}
@keyframes popin{from{transform:scale(.6)}to{transform:none}}
@media (prefers-reduced-motion:reduce){.pulse,.bed.ready{animation:none!important}}

.notice{display:block;width:100%;margin:14px 0 0;min-height:60px;border-radius:16px;border:2px solid var(--gold);background:#fff7d6;color:#4a3a10;font:inherit;font-weight:800;cursor:pointer;padding:10px 14px}
.yard h3{margin-top:0}
.yard-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.yard-item{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:110px;text-align:center;font-weight:700;color:var(--green-dark)}
.small{font-size:.82rem}
.bonus-list{display:grid;gap:12px;margin-top:14px}
.bonus{display:flex;align-items:center;gap:14px;width:100%;min-height:78px;text-align:left;border-radius:18px;border:2px solid rgba(46,91,43,.3);background:var(--card);box-shadow:var(--shadow);font:inherit;color:var(--text);cursor:pointer;padding:10px 14px}
.bonus-ic{font-size:1.8rem;width:52px;height:52px;border-radius:50%;background:var(--green-light);display:flex;align-items:center;justify-content:center;flex:none}
.bonus b{display:block;font-family:var(--head);color:var(--green-dark);font-size:1.1rem}
.bonus span span{font-size:.88rem;color:var(--muted);font-weight:600}

/* Строки списков */
.row-item,.recipe,.order{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid rgba(196,154,60,.25)}
.row-item:last-child,.recipe:last-child,.order:last-child{border-bottom:0}
.row-item>svg,.recipe>svg{flex:none}
.row-text{flex:1;display:flex;flex-direction:column;min-width:0;line-height:1.3}
.row-text b{color:var(--green-dark);font-size:1.05rem}
.row-text>span{font-size:.88rem;color:var(--muted);margin-top:2px}
.row-item.locked>svg{opacity:.55;filter:grayscale(.7)}
.lock{color:var(--gold-dark)!important;font-weight:800}
.btn-sm{min-height:56px;padding:8px 14px;font-size:.92rem;flex:none;flex-direction:column;gap:0;border-radius:14px;max-width:46%}
.btn-sm small{font-size:.85rem;font-weight:700;opacity:.95}
.btn[disabled]{opacity:.45;cursor:default}
.btn-water{background:#e6f2fb;color:#1d5a8a;border-color:#5aa0d8}
.owned{font-weight:800;color:var(--ok);flex:none}
.tag{font-size:.7rem;background:var(--green-light);color:var(--green-dark);padding:2px 8px;border-radius:999px;vertical-align:middle;font-family:var(--body)}
.sell-btns{display:flex;flex-direction:column;gap:6px;flex:none;max-width:46%}
.sell-btns .btn-sm{max-width:none}
h3.first{margin-top:0}

/* Сушилка */
.rack{margin:10px 0 4px}
.rack-title{display:flex;align-items:center;gap:8px;color:var(--green-dark)}
.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:6px}
.slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:150px;padding:8px 4px;border-radius:16px;border:3px solid #a0703a;background:#f4ecd6;color:var(--green-dark);font:inherit;font-size:.85rem;font-weight:700;text-align:center;line-height:1.2;cursor:pointer}
.slot.empty{border-style:dashed;color:var(--gold-dark)}
.slot.empty .bed-plus{font-size:2rem;font-weight:800}
.slot.dry{cursor:default}
.slot.dry .bed-bar{background:rgba(160,112,58,.25)}
.slot.dry .bed-bar span{background:var(--gold)}
.slot .harvest{background:var(--gold);color:#1f2a10;padding:4px 12px;border-radius:999px;margin-top:4px}
.slot.done{border-color:var(--gold);animation:glow 2.2s ease-in-out infinite}
.need{display:flex;flex-wrap:wrap;gap:4px 8px}
.need .have{color:var(--ok);font-weight:800}
.need .miss{color:var(--bad);font-weight:700}
.recipe.can{background:linear-gradient(90deg,rgba(225,240,216,.7),transparent);border-radius:12px}
.store-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}
.store-item{display:flex;flex-direction:column;align-items:center;text-align:center;background:#fffdf5;border:1px solid rgba(196,154,60,.35);border-radius:14px;padding:8px;line-height:1.2}
.si-name{font-size:.85rem;font-weight:700;color:var(--green-dark)}
.si-count{font-family:var(--head);font-weight:700;font-size:1.15rem;color:var(--gold-dark)}

/* Заказы */
.order{align-items:flex-start}
.order .btn-sm{align-self:center}
.avatar{flex:none;width:52px;height:52px;border-radius:50%;background:var(--gold);color:#1f2a10;font-family:var(--head);font-weight:700;font-size:1.4rem;display:flex;align-items:center;justify-content:center;border:3px solid #fbf6e9;box-shadow:0 2px 6px rgba(0,0,0,.15)}
.order.waiting .avatar{background:var(--cream-2);color:var(--muted)}
.order .say{font-style:italic}
.order-need{display:flex;align-items:center;gap:6px;font-weight:700;color:var(--text)!important}
.order.can{background:linear-gradient(90deg,rgba(225,240,216,.7),transparent);border-radius:12px}

/* Справочник и карточка */
.guide-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media (min-width:560px){.guide-grid{grid-template-columns:repeat(3,1fr)}}
.guide-item{display:flex;flex-direction:column;align-items:center;gap:2px;min-height:130px;padding:10px 6px;border-radius:18px;border:2px solid rgba(46,91,43,.3);background:var(--card);box-shadow:var(--shadow);font:inherit;color:var(--green-dark);cursor:pointer}
.guide-item b{font-size:1.02rem}
.guide-item span{font-size:.8rem;color:var(--gold-dark);font-weight:700}
.guide-item.locked svg{opacity:.55}
.plant-stages{display:flex;align-items:flex-end;justify-content:center;gap:2px;margin-top:10px;background:linear-gradient(180deg,transparent 80%,#8a5a32 80%);border-radius:12px}
.chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.chips>span{background:var(--green-light);color:var(--green-dark);font-weight:700;font-size:.85rem;padding:5px 12px;border-radius:999px}
.facts{text-align:left;padding-left:1.1em}
.facts li{margin:.5em 0}

/* Нижний лист */
.sheet{position:fixed;inset:0;z-index:25;background:rgba(20,30,15,.5);display:flex;align-items:flex-end;justify-content:center}
.sheet[hidden]{display:none}
.sheet-box{background:var(--cream);width:100%;max-width:640px;max-height:88vh;display:flex;flex-direction:column;border-radius:24px 24px 0 0;box-shadow:0 -6px 30px rgba(0,0,0,.25);border-top:4px solid var(--gold);animation:up .25s ease}
@keyframes up{from{transform:translateY(40px);opacity:.5}to{transform:none;opacity:1}}
.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px 6px}
.sheet-head h2{margin:0;font-size:1.4rem}
.sheet-x{flex:none;width:56px;height:56px;border-radius:50%;border:2px solid var(--green-mid);background:#fff;color:var(--green-dark);font-size:1.3rem;font-weight:800;cursor:pointer}
.sheet-body{overflow-y:auto;padding:4px 18px max(20px,env(safe-area-inset-bottom))}
.big-line{font-family:var(--head);font-size:1.3rem;font-weight:700;color:var(--green-dark);margin:.3em 0}
.ok-line{color:var(--ok);font-weight:800}
.progress.big{height:20px}
.gift{width:110px;height:100px;margin:6px auto;border-radius:14px;background:
  linear-gradient(90deg,transparent 44%,var(--gold) 44% 56%,transparent 56%),linear-gradient(180deg,#9a3b1e 0 30%,#c0502a 30%);position:relative;box-shadow:var(--shadow)}
body.sheet-open{overflow:hidden}
.farm-card .menu-title{color:#fff8e1}
.farm-card .menu-desc{color:#e7dcb6}
.toast{pointer-events:none}
body.farm-mode .toast{bottom:calc(100px + env(safe-area-inset-bottom))}
.recipe{flex-wrap:wrap}
.recipe .row-text{min-width:150px}
@media (max-width:420px){.recipe .btn-sm{margin-left:auto;max-width:none;min-width:140px}}

/* ===== v2: реалистичные рисунки растений ===== */
.pimg{position:relative;display:inline-flex;align-items:flex-end;justify-content:center;flex:none;vertical-align:bottom}
.pimg img{display:block;width:auto;max-width:100%;object-fit:contain;object-position:bottom center;filter:drop-shadow(0 2px 2px rgba(40,30,10,.18))}
.pimg .pfb{display:none;position:absolute;inset:0;width:100%;height:100%}
.pimg.fail img{display:none}
.pimg.fail .pfb{display:block}
.pimg.st1 img{filter:saturate(.85) brightness(1.04) drop-shadow(0 2px 2px rgba(40,30,10,.15))}
.pimg.dried img{filter:sepia(.55) saturate(.75) brightness(.97) drop-shadow(0 2px 2px rgba(40,30,10,.2))}
.pimg.dried::after{content:"";position:absolute;left:50%;bottom:14%;width:22%;height:7%;transform:translateX(-50%);background:var(--gold);border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.2)}
.bed-plant .pimg{max-height:100%}
.bed-plant .pimg img{max-height:100%}
.row-item>.pimg{flex:none}
.row-item.locked>.pimg,.guide-item.locked .pimg{opacity:.55;filter:grayscale(.7)}
.thumb-bed .pimg{margin:0 -6px}
.plant-stages .pimg{margin-bottom:8px}

/* ===== v2: портреты покупателей ===== */
.avatar.has-img{width:66px;height:66px;padding:0;overflow:hidden;background:var(--cream-2)}
.avatar.has-img img{width:100%;height:100%;object-fit:cover;display:block}

/* ===== v2: верхняя панель всегда видна (и в режиме «на экран Домой») ===== */
.topnav{position:sticky;top:0;z-index:14;display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin:calc(-1 * max(16px, env(safe-area-inset-top))) -16px 6px;
  padding:calc(env(safe-area-inset-top) + 10px) max(16px, env(safe-area-inset-right)) 10px max(16px, env(safe-area-inset-left));
  background:rgba(246,239,220,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  border-bottom:2px solid rgba(196,154,60,.45);box-shadow:0 4px 12px rgba(31,61,32,.08)}
.topnav .btn-back{background:#fffdf5;border-width:3px;font-size:1.05rem;box-shadow:0 2px 6px rgba(0,0,0,.08)}
@media (min-width:700px){.topnav{margin-top:-28px;border-radius:0 0 18px 18px}}
/* нижнее меню огорода не закрывает содержимое */
body.farm-mode .app{padding-bottom:calc(110px + env(safe-area-inset-bottom))}
.btn-to-farm{font-size:1.15rem}
/* v2: заказ — аватар и текст в ряд, кнопка «Отдать» на всю ширину ниже */
.order:not(.waiting){flex-wrap:wrap}
.order:not(.waiting) .row-text{flex:1 1 0;min-width:0}
.order:not(.waiting) .btn-sm{flex:1 1 100%;max-width:none;align-self:stretch;margin-left:78px;min-height:58px;flex-direction:row;gap:6px}

/* ===== v4: угодья, сезоны, праздники, цели, Травник, большие заказы ===== */
.area-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:4px 0 12px}
.area-tab{display:flex;flex-direction:column;align-items:center;gap:2px;min-height:96px;padding:6px 4px 8px;border-radius:16px;border:3px solid rgba(160,112,58,.45);background:#fffdf5;color:var(--green-dark);font:inherit;font-weight:800;font-size:.95rem;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.06)}
.area-tab img{height:52px;width:auto;max-width:100%;object-fit:contain}
.area-tab small{font-size:.75rem;font-weight:700;color:var(--gold-dark)}
.area-tab.on{border-color:var(--green);background:var(--green-light);box-shadow:inset 0 0 0 2px var(--green)}
.area-tab.locked img{filter:grayscale(.6);opacity:.7}
.ev-banner{display:flex;align-items:center;gap:12px;width:100%;text-align:left;margin:0 0 12px;padding:10px 14px;border-radius:16px;border:2px dashed rgba(196,154,60,.7);background:#fff8e4;color:var(--text);font:inherit;font-size:.98rem;line-height:1.35}
.ev-banner b{color:var(--green-dark)}
.ev-banner small{display:block;font-size:.85rem;color:var(--muted);margin-top:2px}
.ev-banner.on{cursor:pointer;border:3px solid var(--gold);background:linear-gradient(90deg,#fff1c8,#ffe4d8);box-shadow:0 3px 10px rgba(196,154,60,.25)}
.ev-ic{font-size:2.1rem;line-height:1;flex:none}
.goals .goal{display:flex;align-items:center;gap:12px;width:100%;min-height:76px;margin:8px 0 0;padding:10px 12px;border-radius:16px;border:2px solid rgba(78,125,46,.35);background:#fbfdf6;font:inherit;color:var(--text);text-align:left;cursor:pointer}
.goals .goal:hover,.goals .goal:focus-visible{border-color:var(--green);background:var(--green-light)}
.goal-ic{flex:none;width:52px;height:52px;display:flex;align-items:center;justify-content:center;font-size:2rem;border-radius:14px;background:#fff;border:1px solid rgba(196,154,60,.4)}
.goal-ic img{max-width:46px;max-height:46px}
.goal-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.goal-t b{font-size:1.02rem;color:var(--green-dark)}
.goal-t>span{font-size:.88rem;color:var(--muted)}
.goal-bar{display:block;height:9px;margin-top:4px;background:var(--cream-2);border-radius:999px;overflow:hidden}
.goal-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--green-mid),var(--green));border-radius:999px}
.goal-go{font-size:2rem;color:var(--green);font-weight:800;flex:none}
.daily .tasks{list-style:none;margin:0 0 10px;padding:0}
.task{display:flex;align-items:center;gap:10px;padding:10px 4px;border-bottom:1px dashed rgba(196,154,60,.45);font-size:1rem}
.task-mark{flex:none;width:30px;height:30px;border-radius:50%;border:3px solid var(--green-mid);display:flex;align-items:center;justify-content:center;font-weight:900;color:#fff}
.task.ok .task-mark{background:var(--green);border-color:var(--green)}
.task.ok .task-t{color:var(--muted);text-decoration:line-through}
.task-t{flex:1}
.task-p{font-weight:800;color:var(--green-dark)}
.week-line{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0 4px;font-size:.92rem;color:var(--muted);flex-wrap:wrap}
.week-dots{display:flex;gap:6px}
.week-dots span{width:22px;height:22px;border-radius:6px;background:var(--cream-2);border:2px solid rgba(196,154,60,.6)}
.week-dots span.on{background:var(--gold);border-color:var(--gold-dark)}
.ok-line{color:var(--ok, #2e7d32);font-weight:800}
.ok-line.small,.muted.small{font-size:.88rem}
.chest{width:110px;height:84px;margin:6px auto 8px;border-radius:14px 14px 10px 10px;background:linear-gradient(#b4834a 0 40%,#7a5a32 40% 46%,#a0703a 46%);border:4px solid #6b4426;position:relative}
.chest::after{content:"";position:absolute;left:50%;top:30%;width:20px;height:24px;transform:translateX(-50%);background:var(--gold);border-radius:4px;border:2px solid var(--gold-dark)}
.chest.big{width:140px;height:104px}
.gift-item{display:flex;align-items:center;justify-content:center;gap:10px;font-weight:700}
.deco-big{font-size:4.2rem;line-height:1.1}
.deco-ic{font-size:2.8rem;line-height:64px;height:64px;display:block}
.area-lock .area-big{height:150px;width:auto;max-width:80%;margin:4px auto}
.area-lock .lock{font-size:1.05rem}
.row-img{width:56px;height:56px;object-fit:contain;flex:none}
.tree-bed{border-color:#7a8a3a;background:linear-gradient(#e9f3d6,#cfe0a8 70%,#b9a070 70%)}
.tree-bed.empty,.tree-bed.buy{background:repeating-linear-gradient(135deg,#f3ead2 0 12px,#ece0bf 12px 24px)}
.hives{display:grid;gap:12px;margin-bottom:12px}
.hive-card{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:18px;background:#fffaf0;border:3px solid #d8b050;box-shadow:var(--shadow)}
.hive-img{width:92px;height:auto;flex:none}
.hive-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}
.hive-body b{font-size:1.1rem;color:var(--green-dark)}
.seg.small-seg{grid-template-columns:repeat(3,1fr);gap:6px}
.seg-b{min-height:52px;padding:4px 6px;border-radius:12px;border:2px solid var(--green-mid);background:#fff;color:var(--green-dark);font:inherit;font-weight:800;font-size:.92rem;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.15}
.seg-b small{font-size:.72rem;font-weight:700;color:var(--muted)}
.seg-b.on{background:var(--green);border-color:var(--green);color:#fff}
.seg-b.on small{color:#e8f3dc}
.seg-b:disabled{opacity:.5;cursor:default}
.shop-seg{grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:12px}
@media (max-width:420px){.shop-seg{grid-template-columns:repeat(2,1fr)}}
.jars{display:flex;gap:6px}
.jar{width:26px;height:32px;border-radius:6px 6px 8px 8px;border:2px solid #a8761e;background:#fff}
.jar.on{background:var(--c,#e8a92a)}
.spots{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.spot{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 8px 8px;border-radius:18px;background:linear-gradient(#e6efd8,#d3e2bd);border:3px solid #6b8a3a;text-align:center}
.spot.ready{border-color:var(--gold);box-shadow:0 0 0 3px rgba(196,154,60,.35)}
.spot.locked{opacity:.65;filter:grayscale(.5)}
.spot b{font-size:1.05rem;color:var(--green-dark)}
.spot .btn-big{min-height:56px;width:100%}
.spot .btn-link{margin:0}
.rcat{margin:16px 0 4px;font-family:var(--head);color:var(--green-dark);font-size:1.1rem;border-bottom:2px solid rgba(196,154,60,.4);padding-bottom:4px}
h3.upg{margin:18px 0 4px;color:var(--green-dark)}
.row-item.new{background:#fbfdf0}
.order.sea{border-color:var(--gold)}
.sea-tag{display:inline-block;background:#fff1c8;color:#7a5a12;margin-bottom:4px}
.contract-head,.fair-head{display:flex;gap:12px;align-items:flex-start}
.fair-head{flex-direction:column;gap:2px}
.contract-ic{font-size:2.6rem;color:#2e7d6a;line-height:1}
.row-item.ok{opacity:.75}
.fair-row .up-price{font-weight:900;color:var(--green-dark);font-size:1.05rem}
.fair-flags{display:block;height:18px;width:100%;background:repeating-linear-gradient(90deg,#d8442a 0 22px,#f2c230 22px 44px,#4f9a45 44px 66px,#5aa0d8 66px 88px);clip-path:polygon(0 0,100% 0,100% 40%,0 40%);margin-bottom:4px;border-radius:4px}
.crates{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0}
.crate{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;padding:10px 6px;border-radius:14px;border:3px solid #a0703a;background:repeating-linear-gradient(0deg,#f0dcb0 0 16px,#e6cd98 16px 18px)}
.crate.ok{border-color:var(--green);background:#e8f3dc}
.crate b{font-size:.95rem}
.crate .btn-sm{max-width:none;width:100%}
.coll-sum{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;gap:6px}
.coll-sum b{display:block;font-size:1.3rem;color:var(--green-dark)}
.coll-sum span{font-size:.85rem;color:var(--muted)}
.set{padding:12px;border-radius:16px;border:2px solid rgba(196,154,60,.5);background:#fffdf5;margin:10px 0}
.set.full{border:3px solid var(--gold);background:#fff6d8}
.set.got{border-color:var(--green);background:#f1f8e8}
.set-head{display:flex;gap:10px;align-items:center}
.set-head b{display:block;font-size:1.05rem;color:var(--green-dark)}
.set-head span{font-size:.88rem;color:var(--muted)}
.set-ic{font-size:2.2rem;flex:none}
.set-items{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.set-it{display:flex;flex-direction:column;align-items:center;width:70px;font-size:.72rem;text-align:center;opacity:.35;filter:grayscale(1)}
.set-it.on{opacity:1;filter:none}
.medals{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px}
.medal-tile{display:flex;flex-direction:column;align-items:center;text-align:center;padding:8px 4px;border-radius:14px;background:#faf6ea;font-size:.82rem}
.medal-tile b{font-size:.86rem;line-height:1.2;margin-top:2px}
.medal-tile span{color:var(--muted);font-size:.78rem}
.medal-tile.on{background:#fff4cc;box-shadow:inset 0 0 0 2px rgba(196,154,60,.6)}
.medal-tile.on span{color:var(--green-dark);font-weight:700}
.album{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}
.alb{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;min-height:112px;padding:6px 4px;border-radius:14px;border:2px solid rgba(196,154,60,.45);background:#fffdf5;font:inherit;font-size:.8rem;color:var(--text);cursor:pointer;text-align:center}
.alb:disabled{cursor:default;background:#f1ece0;color:var(--muted)}
.alb-q{font-size:2.4rem;font-weight:900;color:#c8bfa8;line-height:64px}
.facts.news li{margin-bottom:6px}
.pic.medal{flex:none}
/* v4 fixes: узкие экраны */
.hive-card{flex-wrap:wrap}
.hive-img{width:72px}
.hive-body{flex:1 1 200px}
.seg.small-seg{grid-template-columns:repeat(3,minmax(0,1fr))}
.seg-b{font-size:.85rem;overflow-wrap:anywhere}
.hive-body .btn{width:100%;min-width:0;max-width:100%}
.coll-sum b{font-size:1.1rem;white-space:nowrap}
.shop-seg{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:420px){.shop-seg{grid-template-columns:repeat(2,minmax(0,1fr))}}
.seg-b{font-size:.8rem;padding:4px 2px;overflow-wrap:normal;hyphens:manual;letter-spacing:-.01em}
.hive-card{position:relative;display:block}
.hive-card .hive-img{position:absolute;right:12px;top:8px;width:62px}
.hive-card .hive-body>b:first-child{display:block;min-height:56px;padding-right:76px;line-height:56px}
.hive-card .seg.small-seg{grid-template-columns:repeat(3,minmax(0,1fr))}
.hive-card .seg-b{font-size:.9rem}

/* ===================== v5: нарисованная усадьба ===================== */
.scene{position:relative;width:100%;max-width:560px;margin:12px auto 6px;border-radius:22px;overflow:hidden;border:3px solid #a0703a;box-shadow:var(--shadow);background:#b9ad6c;-webkit-user-select:none;user-select:none;touch-action:pan-y}
.sc-in{position:absolute;inset:0}
.sc-in>*{position:absolute}
.sc-bg{background:center top/100% 100% no-repeat}
.sc-tile{left:0;right:0;bottom:0;background-repeat:repeat-y;background-size:100% auto;background-position:center top}
.sc-autumn .sc-bg{background-image:url(../img/scene/bg-autumn.svg)}.sc-autumn .sc-tile{background-image:url(../img/scene/tile-autumn.svg)}
.sc-winter .sc-bg{background-image:url(../img/scene/bg-winter.svg)}.sc-winter .sc-tile{background-image:url(../img/scene/tile-winter.svg)}
.sc-summer .sc-bg{background-image:url(../img/scene/bg-summer.svg)}.sc-summer .sc-tile{background-image:url(../img/scene/tile-summer.svg)}
.sc-spring .sc-bg{background-image:url(../img/scene/bg-spring.svg)}.sc-spring .sc-tile{background-image:url(../img/scene/tile-spring.svg)}
.sc-winter{background:#e9eef2}.sc-summer,.sc-spring{background:#9fb45e}
.sc-img{display:block;width:100%;height:100%;object-fit:contain;object-position:50% 100%;pointer-events:none;-webkit-user-drag:none}
.sc-obj,.sc-zone,.sc-zt,.sc-tag,.sc-holi{-webkit-tap-highlight-color:transparent;font:inherit;cursor:pointer}
.sc-obj{display:block;padding:0;border:0;background:none;color:inherit;border-radius:14px}
.sc-obj .sc-img{filter:drop-shadow(0 5px 4px rgba(40,30,10,.32));transition:transform .15s}
.sc-obj:active .sc-img,.sc-bed:active .sc-soil{transform:scale(.96)}
.sc-obj:focus-visible,.sc-zone:focus-visible,.sc-zt:focus-visible,.sc-tag:focus-visible,.scene .sc-bed:focus-visible{outline:4px solid var(--gold);outline-offset:2px}
.sc-label{position:absolute;left:50%;bottom:calc(var(--u) * -.55);transform:translateX(-50%);white-space:nowrap;background:rgba(251,246,233,.96);color:var(--green-dark);font-weight:800;font-size:calc(var(--u) * .9);line-height:1.25;padding:3px 10px;border-radius:999px;border:2px solid #a0703a;box-shadow:0 2px 5px rgba(0,0,0,.22);z-index:2}
.sc-label.sm{font-size:calc(var(--u) * .82)}
.sc-badge{position:absolute;left:50%;top:0;transform:translate(-50%,-35%);background:var(--gold);color:#1f2a10;font-weight:800;font-size:calc(var(--u) * .95);line-height:1.2;padding:5px 12px;border-radius:999px;white-space:nowrap;border:2px solid #fff7d6;box-shadow:0 3px 10px rgba(0,0,0,.3);z-index:3;animation:scbob 1.6s ease-in-out infinite}
@keyframes scbob{50%{transform:translate(-50%,-55%)}}
.sc-glow{position:absolute;left:-8%;right:-8%;top:-4%;bottom:-2%;border-radius:50%;background:radial-gradient(closest-side,rgba(255,232,130,.95),rgba(255,214,90,.45) 55%,transparent);animation:scglow 1.8s ease-in-out infinite;pointer-events:none}
@keyframes scglow{50%{opacity:.5;transform:scale(.92)}}
.sc-plus{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);width:calc(var(--u) * 2.7);height:calc(var(--u) * 2.7);border-radius:50%;background:rgba(31,61,32,.82);color:#fbf6e9;font-size:calc(var(--u) * 2);font-weight:800;line-height:1;display:flex;align-items:center;justify-content:center;border:2px solid #fbf6e9;box-shadow:0 2px 6px rgba(0,0,0,.25)}
.sc-sign{display:flex;align-items:center;justify-content:center;text-align:center;background:linear-gradient(180deg,#b9824a,#8a5a2b);color:#fff7d6;font-family:var(--head);font-weight:700;font-size:clamp(calc(var(--u) * .9),2.8vw,calc(var(--u) * 1.2));line-height:1.15;border:3px solid #5e3c1c;border-radius:12px;padding:4px 12px;box-shadow:0 4px 8px rgba(0,0,0,.3);text-shadow:0 1px 2px rgba(0,0,0,.4);pointer-events:none;z-index:2}
/* лес */
.sc-zone{padding:0;border:0;background:none;color:inherit;border-radius:16px}
.sc-forest .sc-sign{position:absolute;left:50%;top:55%;transform:translate(-50%,-50%);font-size:calc(var(--u) * 1.3);padding:8px 18px}
.sc-forest .sc-badge{top:76%}
.sc-forest .sc-label{bottom:6%}
.sc-zone.locked::before{content:"";position:absolute;inset:0;background:rgba(110,110,110,.38);-webkit-backdrop-filter:grayscale(1);backdrop-filter:grayscale(1);border-radius:16px}
.sc-forest.locked::before{border-radius:0}
.sc-ghost{position:absolute;filter:grayscale(1) opacity(.6)}
.sc-lock{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:1px;min-width:calc(var(--u) * 8.5);background:rgba(251,246,233,.96);border:3px solid #a0703a;border-radius:16px;padding:8px 14px;color:var(--green-dark);box-shadow:0 4px 12px rgba(0,0,0,.3);z-index:2}
.sc-lock.can{border-color:var(--gold);background:#fff7d6}
.sc-lock-ic{font-size:calc(var(--u) * 1.7);line-height:1}
.sc-lock b{font-family:var(--head);font-size:calc(var(--u) * 1.15)}
.sc-lock small{font-weight:800;color:var(--gold-dark);font-size:calc(var(--u) * .85);white-space:nowrap}
.sc-zt{display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#b9824a,#8a5a2b);color:#fff7d6;font-family:var(--head);font-weight:700;font-size:calc(var(--u) * 1);border:3px solid #5e3c1c;border-radius:12px;box-shadow:0 3px 6px rgba(0,0,0,.3);padding:0 8px}
/* огород */
.sc-garden{background:rgba(92,58,32,.16);border-radius:10px}
.sc-fence{pointer-events:none}
.sc-fence .sc-img{object-fit:fill;filter:drop-shadow(0 3px 2px rgba(40,30,10,.3))}
.sc-fence.ghost{opacity:.35;filter:grayscale(.7)}
.sc-tag{display:flex;align-items:center;justify-content:center;gap:4px;background:rgba(255,252,242,.9);border:2px dashed var(--gold-dark);border-radius:999px;color:var(--green-dark);font-weight:800;font-size:calc(var(--u) * .85);white-space:nowrap;z-index:2}
.sc-tag small{font-size:calc(var(--u) * .8)}
.beds.sc-beds{display:block}
.scene .bed.sc-bed{position:absolute;display:block;min-height:0;padding:0;border:0;border-radius:14px;background:none;box-shadow:none;overflow:visible;color:#fff;animation:none}
.scene .bed.sc-bed.pulse{animation:pulse 1.6s ease-in-out infinite!important}
.sc-bed .sc-soil{position:absolute;left:0;right:0;bottom:4%;height:52%;transition:transform .15s;filter:drop-shadow(0 4px 3px rgba(40,30,10,.35))}
.sc-bed.watered .sc-soil{filter:brightness(.78) saturate(1.25) drop-shadow(0 4px 3px rgba(40,30,10,.35))}
.sc-bed .bed-plant{position:absolute;left:4%;right:4%;top:0;height:64%;display:flex;align-items:flex-end;justify-content:center;pointer-events:none}
.sc-bed .bed-plant .pimg{width:100%!important;height:100%!important}
.sc-bed .bed-plant svg{width:100%;height:100%;max-height:100%}
.sc-bed .bed-plant .pimg img{max-height:100%}
.sc-bed .bed-name{position:absolute;left:50%;transform:translateX(-50%);bottom:31%;margin:0;max-width:104%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:calc(var(--u) * .8);padding:1px 8px}
.sc-bed .bed-label{position:absolute;left:50%;transform:translateX(-50%);bottom:11%;margin:0;white-space:nowrap;font-size:calc(var(--u) * .88);background:rgba(31,61,32,.86);padding:2px 9px;border-radius:999px;text-shadow:none}
.sc-bed .bed-bar{position:absolute;left:14%;width:72%;bottom:3%;height:8px;margin:0;background:rgba(255,255,255,.55)}
.sc-bed .water-chip{position:absolute;top:2%;right:0;margin:0;width:calc(var(--u) * 2);height:calc(var(--u) * 2);padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#e2f1fb;border:2px solid #4b8fc4;box-shadow:0 2px 4px rgba(0,0,0,.2)}
.sc-bed.empty .sc-plus{top:auto;bottom:24%;transform:translateX(-50%)}
.sc-bed.empty .bed-label{bottom:2%;font-size:calc(var(--u) * .9);padding:3px 12px}
.sc-bed.ready .bed-label.harvest{bottom:-6%;font-size:calc(var(--u) * .95);padding:4px 11px;background:var(--gold);color:#1f2a10;border:2px solid #fff7d6;box-shadow:0 3px 10px rgba(0,0,0,.35);animation:scbob2 1.6s ease-in-out infinite}
@keyframes scbob2{50%{transform:translate(-50%,-4px)}}
.sc-bed.ready .bed-name{bottom:38%}
.scene .bed.sc-bed.buy{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:3px dashed var(--gold);background:rgba(255,252,242,.72);color:var(--green-dark)}
.sc-bed.buy .sc-plus{position:static;transform:none}
.sc-bed.buy .bed-label{position:static;transform:none;background:none;color:var(--green-dark);font-size:calc(var(--u) * .9);white-space:normal;text-align:center;line-height:1.15}
.sc-bed.buy .bed-price{margin:0}
/* сад и пасека */
.sc-slot.empty .sc-hole{position:absolute;left:12%;right:12%;bottom:10%;height:22%;border-radius:50%;background:radial-gradient(closest-side,#4e311b,#7a5230 70%,rgba(122,82,48,0));box-shadow:inset 0 3px 6px rgba(0,0,0,.35)}
.sc-slot.empty .sc-plus{top:52%}
.sc-slot.buy{border:3px dashed var(--gold);background:rgba(255,252,242,.72)}
.sc-slot.buy .sc-label{font-size:calc(var(--u) * .82);bottom:8%}
.sc-pic{position:absolute;left:0;right:0;top:0;bottom:6%;display:flex;align-items:flex-end;justify-content:center}
.sc-pic .pimg{width:100%!important;height:100%!important}
.sc-pic .pimg img{max-height:100%}
.sc-pic svg{width:100%;height:100%}
.sc-tree.ready .sc-badge,.sc-hive.ready .sc-badge{top:auto;bottom:calc(var(--u) * -.4);transform:translate(-50%,0);animation:scbob2 1.6s ease-in-out infinite}
/* украшения */
.sc-deco.ghost .sc-img{filter:grayscale(.85) opacity(.42)}
.sc-deco.ghost .sc-label{border-style:dashed;font-size:calc(var(--u) * .8);background:rgba(255,252,242,.88)}
.sc-dtree{pointer-events:none}
.sc-dtree .sc-img{filter:drop-shadow(0 5px 4px rgba(40,30,10,.3))}
.sc-hol{display:flex;flex-wrap:wrap;align-content:flex-end;justify-content:center;gap:6px}
.sc-holi{width:calc(var(--u) * 3.4);height:calc(var(--u) * 3.4);border-radius:50%;border:3px solid #a0703a;background:rgba(251,246,233,.94);font-size:calc(var(--u) * 1.7);line-height:1;padding:0;box-shadow:0 3px 6px rgba(0,0,0,.25)}
.sc-sheet-img{display:block;margin:0 auto 6px;height:auto;max-width:60%}
.sc-big-ic{font-size:4rem;margin:.2em 0}
/* частицы сезона */
.sc-fx{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:5}
.sc-fx span{position:absolute;top:-4%;font-size:calc(var(--u) * 1.3);opacity:.85;animation:scfall 14s linear infinite}
.sc-winter .sc-fx span{color:#fff;text-shadow:0 0 3px rgba(80,110,140,.6);font-size:calc(var(--u) * 1.1)}
@keyframes scfall{0%{top:-4%;transform:translateX(0) rotate(0)}50%{transform:translateX(28px) rotate(180deg)}100%{top:101%;transform:translateX(-12px) rotate(360deg)}}
.sc-summer .sc-fx span{animation-name:scflut;font-size:calc(var(--u) * 1.4)}
@keyframes scflut{0%,100%{transform:translate(0,0)}25%{transform:translate(40px,-25px)}50%{transform:translate(80px,5px)}75%{transform:translate(30px,25px)}}
@media (prefers-reduced-motion:reduce){.sc-fx{display:none}.sc-badge,.sc-glow,.sc-bed .bed-label.harvest,.scene .bed.sc-bed.pulse{animation:none!important}}
.sc-slot .sc-label,.sc-deco.ghost .sc-label{text-align:center;line-height:1.15;padding:3px 9px}
.sc-slot .sc-label br+span,.sc-deco.ghost .sc-label .coin{font-size:.85em}
.sc-zt{min-height:46px}
#racks,#recipes,#daily{scroll-margin-top:14px}
.scene .bed.sc-bed.buy{gap:2px;padding:4px}
.sc-bed.buy .sc-plus{width:calc(var(--u) * 1.7);height:calc(var(--u) * 1.7);font-size:calc(var(--u) * 1.3);line-height:1;flex:none}
.sc-bed.buy .bed-price{position:static;transform:none;font-size:calc(var(--u) * .9)}
/* прокрутка к элементу не прячет его под нижним меню и верхней кнопкой */
html:has(body.farm-mode){scroll-padding-bottom:96px;scroll-padding-top:72px}
/* ===== v6: кольцо построек, будка с собакой, лесные гости ===== */
.sc-path{left:0;top:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.sc-path .p1{fill:none;stroke:#d8bf8a;stroke-opacity:.78;stroke-width:58;stroke-linecap:round}
.sc-path .p2{fill:none;stroke:#f3e4bd;stroke-opacity:.55;stroke-width:6;stroke-dasharray:4 26;stroke-linecap:round}
.sc-winter .sc-path .p1{stroke:#c9d3dc;stroke-opacity:.85}
.sc-ring-tile{background:rgba(92,58,32,.12);border:3px solid rgba(160,112,58,.55)!important;border-radius:22px}
.sc-ring-tile .sc-tpic{position:absolute;display:flex;align-items:flex-end;justify-content:center}
.sc-ring-tile .sc-tpic svg,.sc-ring-tile .sc-tpic .pimg{width:100%!important;height:100%!important}
.sc-ring-tile .sc-label{bottom:calc(var(--u) * -.6);font-size:calc(var(--u) * 1)}
.sc-ring-tile .sc-plus{top:46%}
.sc-collect{display:flex;align-items:center;justify-content:center;min-height:44px;background:var(--gold);color:#1f2a10;font:inherit;font-weight:800;font-size:calc(var(--u) * .95);border:2px solid #fff7d6;border-radius:999px;box-shadow:0 3px 10px rgba(0,0,0,.3);z-index:4;cursor:pointer;animation:scbob2 1.6s ease-in-out infinite;white-space:nowrap}
.sc-kennel .sc-kpic{position:absolute;left:4%;top:8%;width:68%;height:82%}
.sc-kennel .sc-dog{position:absolute;right:0;bottom:6%;width:40%;height:52%;transform-origin:50% 100%;animation:dogwag 3.2s ease-in-out infinite}
.sc-kennel .sc-dog .sc-img{filter:drop-shadow(0 4px 3px rgba(40,30,10,.35))}
@keyframes dogwag{0%,86%,100%{transform:rotate(0)}90%{transform:rotate(-4deg)}95%{transform:rotate(3deg)}}
.sc-kennel.nap .sc-dog{animation:none;filter:saturate(.8)}
.sc-zz{position:absolute;right:-6%;top:-28%;font-size:calc(var(--u) * 1.5);animation:zz 2.4s ease-in-out infinite}
@keyframes zz{50%{transform:translate(4px,-8px);opacity:.6}}
.sc-kennel.locked .sc-kpic{left:16%;width:68%}
.sc-img.ghosted{filter:grayscale(.85) opacity(.45)!important}
.sc-kennel.locked .sc-lock{top:54%}
.sc-kennel .sc-lock b{font-size:calc(var(--u) * 1);white-space:nowrap}
.sc-guest{display:block;padding:0;border:0;background:none;cursor:pointer;z-index:4;-webkit-tap-highlight-color:transparent;min-width:44px;min-height:44px;animation:guestin .7s ease-out both,guestbob 2.2s ease-in-out .7s infinite}
.sc-guest .sc-img{filter:drop-shadow(0 4px 3px rgba(40,30,10,.4))}
.sc-guest.calm{animation:guestin .7s ease-out both}
.sc-say{position:absolute;left:50%;top:-18%;transform:translateX(-50%);background:#fffdf3;color:#7a2a10;font-weight:800;font-size:calc(var(--u) * .85);padding:2px 9px;border-radius:999px;border:2px solid #c0582a;box-shadow:0 2px 5px rgba(0,0,0,.25);white-space:nowrap}
.sc-guest:focus-visible{outline:4px solid var(--gold);outline-offset:2px;border-radius:12px}
@keyframes guestin{from{opacity:0;transform:translate(30%,-30%) scale(.7)}to{opacity:1;transform:none}}
@keyframes guestbob{50%{transform:translateY(-6%) rotate(-3deg)}}
.sc-guest.flee{animation:guestflee .9s ease-in forwards!important;pointer-events:none}
@keyframes guestflee{to{transform:translate(60%,-160%) scale(.6);opacity:0}}
.sc-run{z-index:6;pointer-events:none;animation:dogrun 1.9s ease-in-out forwards}
.sc-run-in{display:block;width:100%;height:100%;animation:dogbounce .25s ease-in-out infinite alternate}
.sc-run-in.flip{transform:scaleX(-1)}
@keyframes dogrun{0%{transform:translate(0,0)}55%{transform:translate(var(--dx),var(--dy))}100%{transform:translate(calc(var(--dx) * 1.1),calc(var(--dy) - 60px));opacity:0}}
@keyframes dogbounce{to{translate:0 -6px}}
.sc-bit{position:absolute;left:4%;top:4%;font-size:calc(var(--u) * 1.25);background:rgba(255,252,242,.9);border-radius:50%;width:calc(var(--u) * 1.9);height:calc(var(--u) * 1.9);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px rgba(0,0,0,.25)}
.guest-note{display:flex;align-items:center;gap:10px;text-align:left;cursor:default}
.guest-note .sc-sheet-img{width:56px;max-width:56px;margin:0;flex:none}
.guest-note span{flex:1;line-height:1.35}
.dog-pair{display:flex;align-items:flex-end;justify-content:center;gap:4px;position:relative}
.dog-pair .sc-sheet-img{margin:0 0 6px;max-width:45%}
.dog-hearts{position:absolute;right:14%;top:0;pointer-events:none}
.dog-hearts i{position:absolute;font-style:normal;color:#d9435a;font-size:1.6rem;animation:heart 1.6s ease-out forwards}
.dog-hearts i:nth-child(2){left:-24px;animation-delay:.2s}.dog-hearts i:nth-child(3){left:20px;animation-delay:.4s}
@keyframes heart{from{transform:translateY(30px) scale(.4);opacity:0}30%{opacity:1}to{transform:translateY(-40px) scale(1.1);opacity:0}}
.dog-acts{margin:8px 0}
.dog-acts .btn-row,.center .btn-row{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:6px 0}
.center .btn-row .btn{min-height:52px;min-width:7.5rem;font-size:1.05rem}
.done-line{font-weight:700;color:var(--green-dark)}
.fact{background:#f4efdc;border-radius:14px;padding:12px 14px;text-align:left;line-height:1.45}
.text-in{display:block;width:100%;min-height:52px;font:inherit;font-size:1.15rem;padding:8px 12px;border:2px solid #a0703a;border-radius:12px;margin:4px 0 10px;background:#fffdf6}
.field-label{display:block;text-align:left;font-weight:700;margin-top:8px}
.row-ic{font-size:2rem;width:56px;text-align:center;flex:none}
@media (prefers-reduced-motion:reduce){.sc-guest,.sc-guest.flee,.sc-kennel .sc-dog,.sc-zz,.sc-collect,.sc-run,.sc-run-in,.dog-hearts i{animation:none!important}.sc-guest.flee{opacity:0}}
.sc-l .sc-label{left:-4px;transform:none}.sc-r .sc-label{left:auto;right:-4px;transform:none}
.sc-l .sc-badge{left:-4px;transform:translate(0,-35%);animation:scbob3 1.6s ease-in-out infinite}.sc-r .sc-badge{left:auto;right:-4px;transform:translate(0,-35%);animation:scbob3 1.6s ease-in-out infinite}
@keyframes scbob3{50%{transform:translate(0,-55%)}}
.sc-kennel .sc-badge{top:auto;bottom:62%;left:62%}
@media (prefers-reduced-motion:reduce){.sc-l .sc-badge,.sc-r .sc-badge{animation:none!important}}
.sc-l .sc-label,.sc-r .sc-label{font-size:calc(var(--u) * .8);padding:2px 7px}
.sc-l .sc-badge,.sc-r .sc-badge{font-size:calc(var(--u) * .82);padding:3px 8px}
.sc-heart{position:absolute;right:6%;top:24%;width:calc(var(--u) * 2.2);height:calc(var(--u) * 2.2);border-radius:50%;background:#fffdf3;border:2px solid #d9435a;color:#d9435a;font-size:calc(var(--u) * 1.25);line-height:1;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px rgba(0,0,0,.25);animation:scbob2 1.6s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){.sc-heart{animation:none!important}}
.sc-collect{animation-name:scbob4}
@keyframes scbob4{50%{transform:translateY(-4px)}}
.sc-gsign{font-size:calc(var(--u) * .8);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sc-tile{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 28px);mask-image:linear-gradient(to bottom,transparent 0,#000 28px)}
.sc-guest{animation:guestin .7s ease-out both;min-width:52px;min-height:52px}
.sc-guest:not(.calm) .sc-img{animation:guestbob 2.2s ease-in-out .7s infinite}
@media (prefers-reduced-motion:reduce){.sc-guest .sc-img{animation:none!important}}
.sc-guest{position:absolute}
.sc-img.faded{opacity:.72;filter:saturate(.6)}
.sc-kennel.buy .sc-badge{left:50%;bottom:auto;top:-2%;transform:translate(-50%,0);animation:none;white-space:nowrap}
.sc-run{position:absolute}
.sc-collect{padding:0 4px;font-size:calc(var(--u) * .8);letter-spacing:-.01em}
/* ===== v8: усадьба масштабируется целиком =====
   Все размеры внутри сцены — в единицах --u: шрифт растёт и уменьшается вместе с шириной сцены
   (3.6cqw), но не мельче 15px и не крупнее выбранного в настройках размера (1rem).
   --sc-tscale — запас на системное увеличение шрифта (проверяется в тестах). */
.scene{container-type:inline-size;--sc-tscale:1}
.sc-in{--u:calc(var(--sc-tscale) * clamp(15px, 3.6cqw, 1rem));font-size:var(--u);line-height:1.2}
@media (max-width:480px){.scene{width:calc(100% + 20px);margin-left:-10px;margin-right:-10px}}
.sc-label,.sc-ring-tile .sc-label{font-size:calc(var(--u) * .92);padding:2px calc(var(--u) * .45)}
.sc-label.sm,.sc-l .sc-label,.sc-r .sc-label,.sc-slot.buy .sc-label,.sc-deco.ghost .sc-label{font-size:calc(var(--u) * .9);padding:2px calc(var(--u) * .4)}
.sc-badge,.sc-l .sc-badge,.sc-r .sc-badge{font-size:calc(var(--u) * .9);padding:2px calc(var(--u) * .45)}
/* закрытые постройки: компактная табличка, всегда внутри своего места */
.sc-lock{min-width:0;width:max-content;max-width:92%;gap:0;padding:calc(var(--u) * .3) calc(var(--u) * .45);border-width:2px;border-radius:12px;line-height:1.15;text-align:center}
.sc-lock-ic{font-size:calc(var(--u) * 1.15)}
.sc-lock b,.sc-kennel .sc-lock b{font-size:var(--u);white-space:normal}
.sc-lock small{font-size:calc(var(--u) * .9);white-space:normal}
.sc-lock .nw{white-space:nowrap}
@container (max-width:440px){.sc-lock small .nw{display:block}.lk-sep{display:none}}
.lk-n{display:none}
@container (max-width:440px){.lk-w{display:none}.lk-n{display:inline}}
/* грядки */
.sc-bed .bed-label,.sc-bed.empty .bed-label{font-size:calc(var(--u) * .92);padding:2px calc(var(--u) * .4)}
.sc-bed .bed-name{font-size:calc(var(--u) * .9);padding:1px calc(var(--u) * .35);max-width:100%}
.sc-bed.ready .bed-label.harvest{font-size:calc(var(--u) * .95);padding:2px calc(var(--u) * .5)}
.sc-bed.buy .bed-label,.sc-bed.buy .bed-price{font-size:calc(var(--u) * .92)}
.sc-plus{width:calc(var(--u) * 2.2);height:calc(var(--u) * 2.2);font-size:calc(var(--u) * 1.6)}
.sc-bed .water-chip{width:calc(var(--u) * 1.7);height:calc(var(--u) * 1.7)}
.sc-tag{font-size:calc(var(--u) * .9);white-space:nowrap;text-align:center;line-height:1.1;padding:0 6px}
.sc-tag small{font-size:1em}
.sc-collect{font-size:calc(var(--u) * .9);padding:0 6px;min-height:44px;white-space:nowrap}
.sc-say{font-size:calc(var(--u) * .9)}
.sc-gsign{font-size:calc(var(--u) * .95);padding:2px 8px}
.sc-zt{font-size:var(--u);min-height:0}
.sc-gsign{white-space:normal;overflow:visible;text-align:center;line-height:1.1}
.sc-bed.buy .bed-label{line-height:1.05}
.sc-forest .sc-sign{top:40%;padding:calc(var(--u) * .3) calc(var(--u) * .8)}
.sc-forest .sc-badge{top:auto;bottom:5%}
.sc-forest .sc-label{bottom:5%}
.sc-say{top:2%;left:auto;right:88%;transform:none}
.sc-bed .bed-name{bottom:calc(11% + var(--u) * 1.6)}
.sc-bed.ready .bed-label.harvest{bottom:2%}
.sc-bed.ready .bed-name{bottom:calc(2% + var(--u) * 1.95)}
.sc-bed.empty .sc-plus{bottom:calc(2% + var(--u) * 1.65)}
.sc-narrow .sc-bed.buy .sc-plus{display:none}
.sc-forest .sc-sign{font-size:calc(var(--u) * 1.15)}
.sc-bed .water-chip{top:0;width:calc(var(--u) * 1.55);height:calc(var(--u) * 1.55)}
.sc-say{top:0}
