/* Garden Time Machine — mode picker, Veggie garden (gv-) and Containers (gk-). Builds on gtm-designer.css. */
.gm-app .gd-intro{display:none}
.gm-head{margin-bottom:6px}
.gm-q{font-size:1.15rem!important;margin:18px 0 8px!important}
.gm-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.gm-mode{display:flex;align-items:center;gap:14px;text-align:left;background:#fff;border:2px solid var(--ln);border-radius:18px;padding:12px 16px;font-family:inherit;color:inherit;cursor:pointer;min-width:0}
.gm-mode .em{font-size:2.1rem;line-height:1;flex:none}
.gm-mode b{display:block;font:500 1.2rem var(--display);color:var(--forest)}
.gm-mode small{display:block;font-size:.84rem;color:var(--muted);line-height:1.35}
.gm-mode:hover{border-color:#e6cf93}
.gm-mode[aria-selected=true]{border-color:var(--marigold);box-shadow:0 0 0 4px rgba(233,164,19,.22)}
.gm-pane{margin-top:6px}
.gm-loading{padding:40px 8px;text-align:center;color:var(--muted,#6B6455);font-size:.95rem}

/* ---------- shared bits ---------- */
.gv-resume{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#EEF4E4;border:1px solid #CFE0B8;border-radius:14px;padding:10px 14px;margin:16px 0 0;font-size:.92rem}
.gv-hint{font-size:.85rem;color:var(--muted);margin:6px 0 8px!important;line-height:1.45}
.gv-seg{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.gv-seg>b{font:700 .72rem var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--pine);margin-right:4px}
.gv-seg .gd-chip small{color:inherit;opacity:.7;font-size:.74rem}
.gv-steps{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:12px}
.gv-step{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--forest)}
.gv-setgrid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:20px;align-items:start}
.gv-cond h3{font-size:1.05rem}
.gv-kinds{grid-template-columns:repeat(3,1fr);max-width:640px}
.gv-sizes{grid-template-columns:repeat(4,1fr);max-width:640px;margin-top:12px}
.gv-picks{grid-template-columns:repeat(5,1fr)}
.gv-picks .gd-pick .pv{background:#7FAE5C;height:96px}
.gv-picks .gd-pick .pv svg{max-width:92%;height:auto}
.gv-src{display:inline-block;font-size:.7rem;font-weight:700;border-radius:99px;padding:1px 8px;margin-top:3px}
.gv-src.us{background:#EEF4E4;color:var(--pine)}
.gv-src.sd{background:#FFF1E2;color:#9A4B12}
.ph{display:inline-block;flex:none;width:28px;height:28px;border-radius:50%;background:#EEF4E4 center/cover no-repeat;vertical-align:middle;font-style:normal;text-align:center;line-height:28px;font-size:16px}
.ph.xs{width:22px;height:22px;line-height:22px;font-size:13px}
.ph.sm{width:26px;height:26px}
.ph.lg{width:58px;height:58px;line-height:58px;font-size:32px;border-radius:14px}
.gv-emsw{display:flex!important;align-items:center;justify-content:center;width:44px;height:44px;border-radius:9px;background:#EEF4E4;font-size:24px}
.gv-pathsw{background:repeating-linear-gradient(45deg,#d9d3c5 0 6px,#cfc8b7 6px 12px)!important}
.gd-pc small.k{color:var(--pine)}
.gv-x{border:0;background:none;font-size:1.5rem;line-height:1;color:var(--muted);padding:0 4px;cursor:pointer}

/* ---------- veggie: design ---------- */
.gv-months{grid-template-columns:repeat(7,1fr) auto}
.gv-yard{position:relative;background:#7FAE5C;border-radius:18px;padding:30px 14px 10px;user-select:none;-webkit-user-select:none;touch-action:pan-y;overflow-x:auto}
.gv-yard.arming .gv-bed{touch-action:none}
.gv-beds{display:flex;flex-wrap:wrap;gap:24px;justify-content:center;align-items:flex-start}
.gv-bedwrap{display:flex;flex-direction:column;align-items:flex-start}
.gv-bed{display:grid;background:#5E4330;border:7px solid #8B5E3C;border-radius:6px;box-shadow:0 6px 14px rgba(0,0,0,.18);box-sizing:content-box}
.gd .gv-sq{color:#fff}
.gv-bed.ground{border-color:#4A3526;border-radius:3px;box-shadow:none}
.gv-sq{position:relative;border:1px solid rgba(139,94,60,.75);background:transparent;padding:0;margin:0;overflow:hidden;font-family:var(--body);color:#fff;cursor:pointer;min-width:0;border-radius:0}
.gv-sq.empty:hover,.gv-sq.drop{background:rgba(233,164,19,.22)}
.gv-sq.empty.armed{background:rgba(255,255,255,.05)}
.gv-sq.path{background:repeating-linear-gradient(45deg,#BDB5A3 0 6px,#B1A894 6px 12px);border-color:#8B7E68}
.gv-sq.full{background:rgba(0,0,0,.08)}
.gv-sq .nm{position:absolute;left:3px;top:2px;right:3px;font-size:clamp(8px,calc(var(--cs) * .17),12px);font-weight:700;line-height:1.1;text-align:left;text-shadow:0 1px 2px rgba(0,0,0,.85);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;z-index:3;pointer-events:none}
.gv-sq .when{position:absolute;left:3px;right:3px;bottom:3px;font-size:clamp(8px,calc(var(--cs) * .16),11px);color:#e9dcc8;text-align:left;line-height:1.1;z-index:3}
.gv-dots{position:absolute;inset:16% 4% 6%;display:grid;gap:2px;place-content:center;place-items:center;pointer-events:none}
.gv-dots i{display:block;width:var(--d);height:var(--d);border-radius:50%;transform:scale(var(--g,1));transition:transform .4s;font-style:normal}
.gv-dots i.p{background:var(--img) center/cover no-repeat;box-shadow:0 1px 2px rgba(0,0,0,.35)}
.gv-dots i.e{display:flex;align-items:center;justify-content:center;font-size:clamp(9px,calc(var(--cs) * .3),26px);background:rgba(127,174,92,.25)}
.gv-sq.big .bigph{position:absolute;left:50%;top:54%;width:78%;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%) scale(var(--g,1));background:var(--img) center/cover no-repeat;box-shadow:0 3px 8px rgba(0,0,0,.4);transition:transform .4s;display:flex;align-items:center;justify-content:center;font-size:calc(var(--cs) * .7)}
.gv-sq.big .bigph.e{background:rgba(127,174,92,.3)}
.gv-sq .cage{position:absolute;left:50%;top:54%;width:88%;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);border:2px dashed rgba(255,255,255,.75);pointer-events:none}
.gv-sq .trel{position:absolute;background:repeating-linear-gradient(90deg,#E6D7B8 0 3px,#B99E6B 3px 6px);z-index:2}
.gv-sq .trel-top{left:0;right:0;top:0;height:5px}.gv-sq .trel-bottom{left:0;right:0;bottom:0;height:5px}
.gv-sq .trel-left{top:0;bottom:0;left:0;width:5px;background:repeating-linear-gradient(0deg,#E6D7B8 0 3px,#B99E6B 3px 6px)}.gv-sq .trel-right{top:0;bottom:0;right:0;width:5px;background:repeating-linear-gradient(0deg,#E6D7B8 0 3px,#B99E6B 3px 6px)}
.gv-sq .ct{position:absolute;right:2px;bottom:2px;min-width:17px;height:17px;border-radius:99px;background:#fff;color:var(--forest);font-size:10px;font-weight:700;line-height:17px;text-align:center;padding:0 3px;z-index:3;box-shadow:0 1px 3px rgba(0,0,0,.4)}
.gv-sq .bk{position:absolute;left:2px;bottom:1px;font-size:clamp(10px,calc(var(--cs) * .24),16px);z-index:3;filter:drop-shadow(0 1px 1px rgba(0,0,0,.5))}
.gv-sq .nx{position:absolute;left:3px;right:3px;bottom:3px;font-size:clamp(8px,calc(var(--cs) * .15),11px);font-weight:700;color:#fff;background:rgba(34,51,27,.78);border-radius:5px;padding:1px 3px;z-index:3;line-height:1.15}
.gv-sq.st-pick{box-shadow:inset 0 0 0 3px var(--marigold)}
.gv-sq.st-done .gv-dots,.gv-sq.st-done .bigph{opacity:.32;filter:grayscale(.6)}
.gv-sq.st-before{background:rgba(0,0,0,.12);outline:1px dashed rgba(255,255,255,.35);outline-offset:-5px}
.gv-sq.sel{box-shadow:inset 0 0 0 3px #fff,0 0 0 3px var(--marigold);z-index:4}
.gv-sq.hl{animation:gvpulse .9s ease-in-out 2}
@keyframes gvpulse{50%{box-shadow:inset 0 0 0 4px #fff;background:rgba(255,255,255,.25)}}
.gv-ruler{position:relative;height:18px;margin-left:7px;font-size:10px;color:#244016}
.gv-ruler span{position:absolute;top:3px;transform:translateX(-50%);white-space:nowrap}
.gv-north{position:absolute;background:var(--forest);color:#fff;font:700 .78rem var(--body);border-radius:99px;padding:3px 10px;z-index:5}
.gv-n-top{top:6px;left:50%;transform:translateX(-50%)}.gv-n-bottom{bottom:6px;left:50%;transform:translateX(-50%)}.gv-n-left{left:8px;top:6px}.gv-n-right{right:8px;top:6px}
.gv-legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.78rem;color:var(--muted);margin:8px 2px 0!important}
.gv-legend span{display:inline-flex;align-items:center;gap:5px}
.gv-legend b{display:inline-block;background:#fff;border:1px solid var(--ln);border-radius:99px;font-size:.7rem;padding:0 5px;color:var(--forest)}
.lg{display:inline-block;width:18px;height:10px;border-radius:5px}
.lg.fade{background:#5E4330;opacity:.45}.lg.ring{width:13px;height:13px;border-radius:50%;border:2px dashed #7a6a55}.lg.trel{height:5px;background:repeating-linear-gradient(90deg,#E6D7B8 0 3px,#B99E6B 3px 6px)}
.lg.sow{background:#E3DACB}.lg.gr{background:#CFE0B8}.lg.pk{background:var(--marigold)}.lg.fr{width:3px;height:14px;border-radius:0;background:#C85A4A}
.gv-pop{margin-top:10px;border-color:#e6cf93;box-shadow:0 8px 20px rgba(0,0,0,.08)}
.gv-pophead{display:flex;gap:12px;align-items:flex-start}
.gv-pophead>div{flex:1;min-width:0}
.gv-pophead b{display:block;font:500 1.15rem var(--display);color:var(--forest)}
.gv-pophead small{display:block;color:var(--muted);font-size:.82rem;line-height:1.4}
.gv-popnote{font-size:.86rem;margin-top:8px!important;line-height:1.45}
.gv-popnote.w{color:var(--mink)}
.gv-sec{display:block;margin-top:10px;font-size:.86rem;font-weight:700;color:var(--forest)}
.gv-sec select{display:block;width:100%;margin-top:4px;font:inherit;font-weight:400;border:1.5px solid var(--ln);border-radius:10px;padding:7px 8px;background:#fff;color:var(--soil)}
.gv-popacts{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}
.gv-nowgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.gv-nowgrid .gd-card+.gd-card{margin-top:0}
.gv-ul li{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:.9rem;line-height:1.3}
.gv-ul li small{color:var(--muted)}
.gv-emptybed{margin-top:12px;text-align:center}
.gv-whenhead{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-top:22px}
.gv-gantt{background:#fff;border:1px solid var(--ln);border-radius:14px;margin-top:10px;overflow:hidden}
.gv-grow{display:grid;grid-template-columns:minmax(150px,240px) 1fr;align-items:center;border-bottom:1px solid #EEE9DC;min-height:38px}
.gv-grow:last-child{border-bottom:0}
.gv-grow>span:first-child{padding:6px 10px 6px 14px;font-size:.86rem;line-height:1.25}
.gv-grow>span:first-child small{color:var(--muted)}
.gv-grow .tl{position:relative;height:38px;margin-right:14px}
.gv-ghead{background:var(--cream);min-height:30px}
.gv-ghead>span:first-child{font:700 .72rem var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.gv-ghead .tl{height:30px}
.gv-ghead .tl i{position:absolute;top:8px;font:700 .72rem var(--body);font-style:normal;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.gv-grow .tl b{position:absolute;top:13px;height:12px;border-radius:6px}
.gv-grow .tl b.sow{background:#E3DACB;top:13px}
.gv-grow .tl b.gr{background:#CFE0B8}
.gv-grow .tl b.pk{background:var(--marigold)}
.gv-grow .tl em{position:absolute;top:3px;transform:translateX(-50%);font-style:normal;font-size:10px;color:var(--forest)}
.gv-grow .tl u{position:absolute;top:0;bottom:0;width:2px;background:#C85A4A;opacity:.7}
.gv-sh{font:700 .82rem var(--body)!important;color:var(--forest)!important;margin:10px 0 4px!important}
.gv-shop li{grid-template-columns:auto 1fr auto}
.gv-shop .nm small{display:block}
.gv-ghost{position:fixed;z-index:95;pointer-events:none;transform:translate(-50%,-110%);background:#fff;border:2px solid var(--marigold);border-radius:12px;padding:6px 10px;display:flex;align-items:center;gap:8px;box-shadow:0 12px 26px rgba(0,0,0,.25);font-size:.85rem;color:var(--forest)}
.gv-ghost .ph.lg{width:34px;height:34px;line-height:34px;font-size:20px;border-radius:50%}

/* ---------- containers ---------- */
.gk-types{grid-template-columns:repeat(6,1fr)}
.gk-types .gd-shp svg{height:54px}
.gk-q{margin:18px 0 8px!important;color:var(--forest)}
.gk-q b{font:500 1.15rem var(--display)}
.gk-sizes{grid-template-columns:repeat(6,1fr)}
.gk-two{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.gk-two .gd-card+.gd-card{margin-top:0}
.gk-two h3{margin-bottom:8px!important}
.gk-rfilt{margin:4px 0 12px}
.gk-recipes{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.gk-rec{display:flex;flex-direction:column;gap:2px;background:#fff;border:2px solid var(--ln);border-radius:16px;padding:0 0 12px;text-align:left;overflow:hidden;font-family:inherit;color:inherit;cursor:pointer}
.gk-rec:hover{border-color:var(--marigold)}
.gk-rec .pv{display:block;height:170px;overflow:hidden;background:linear-gradient(#EFE8DA 0 72%,#D8CCB2 72%);position:relative}
.gk-rec .pv .gk-scene{margin:0 auto}
.gk-rec b{font:500 1.1rem var(--display);color:var(--forest);padding:8px 14px 0}
.gk-rec small{padding:0 14px;font-size:.8rem;color:var(--muted);line-height:1.35}
.gk-rec small.d{color:var(--soil);margin-top:2px}
.gk-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 10px}
.gk-tab{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1.5px solid var(--ln);border-radius:99px;padding:5px 14px 5px 8px;font:700 .86rem var(--body);color:var(--forest);cursor:pointer}
.gk-tab svg{width:34px;height:22px}
.gk-tab small{font-weight:500;color:var(--muted)}
.gk-tab[aria-selected=true]{border-color:var(--marigold);box-shadow:0 0 0 3px rgba(233,164,19,.25)}
.gk-tab.add{border-style:dashed;padding-left:14px}
.gk-months{grid-template-columns:repeat(6,1fr)}
.gk-stage{position:relative;border-radius:18px;overflow:hidden;background:linear-gradient(#EFE8DA,#E7DECB);display:flex;justify-content:center;min-height:300px}
.gk-scene{position:relative;flex:none}
.gk-floor{position:absolute;left:-2000px;right:-2000px;bottom:0;background:linear-gradient(#D6C9AE,#CBBD9F)}
.gk-plants,.gk-front{position:absolute;inset:0}
.gk-pot{position:absolute;left:0;top:0;pointer-events:none;filter:drop-shadow(0 6px 8px rgba(0,0,0,.18))}
.gk-chain{position:absolute;left:0;top:0;pointer-events:none}
.gk-hook{position:absolute;top:0;width:2px;background:#7a7466;display:none}
.gk-rail{position:absolute;left:-2000px;right:-2000px;height:9px;background:linear-gradient(#a7a39a,#8d8a82);box-shadow:0 2px 3px rgba(0,0,0,.2)}
.gk-b{position:absolute;display:block;border-radius:50%;background:#7FAE5C center/cover no-repeat;-webkit-mask-image:radial-gradient(closest-side,#000 72%,transparent 100%);mask-image:radial-gradient(closest-side,#000 72%,transparent 100%);transition:filter .3s,width .4s,height .4s,top .4s,left .4s;cursor:pointer;font-style:normal}
.gk-b.th{border-radius:46% 46% 40% 40%/60% 60% 40% 40%}
.gk-b.em{display:flex;align-items:center;justify-content:center;background:#8DBA5E}
.gk-b.em span{font-size:1.6em}
.gk-b.off{filter:saturate(.18) brightness(.92) sepia(.25) hue-rotate(40deg)}
.gk-front .gk-b{z-index:3}
.gk-tag{position:absolute;z-index:5;background:rgba(34,51,27,.88);color:#fff;border-radius:99px;padding:4px 11px;font:700 .72rem var(--body);letter-spacing:.04em;white-space:nowrap;pointer-events:none}
.gk-emptymsg{position:absolute;left:50%;transform:translateX(-50%);background:#fff;border:1.5px dashed var(--ln);border-radius:12px;padding:8px 14px;font-size:.85rem;color:var(--muted);white-space:nowrap;z-index:5}
.gk-scene.sm .gk-b{transition:none}
.gk-cap{font-size:.8rem;color:var(--muted);margin:8px 2px 0!important}
.gk-list li{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid #EEE9DC;font-size:.88rem}
.gk-list li:last-child{border-bottom:0}
.gk-list li.hl{background:#FFF6E0;border-radius:8px}
.gk .th.xs{width:30px;height:30px;border-radius:8px;object-fit:cover;display:block}
.gk .sw.th.xs{width:30px;height:30px;font-size:17px}
.gk-list .nm small{color:var(--muted)}
.gk-role{display:inline-block;border-radius:99px;padding:2px 8px;font:700 .64rem var(--body);letter-spacing:.08em;text-transform:uppercase;color:#fff}
.gk-role.thriller{background:var(--forest)}.gk-role.filler{background:#9A6A12}.gk-role.spiller{background:#6B4C9A}
.gk-rolebtn{border:0;background:none;padding:0;cursor:pointer}
.gk-verdict{display:flex;gap:12px;align-items:center;margin-bottom:10px}
.gk-verdict span{font-size:2rem;line-height:1}
.gk-verdict b{display:block;font:500 1.35rem var(--display);color:var(--forest)}
.gk-verdict small{display:block;color:var(--muted);font-size:.86rem}
.gk-verdict.great{background:#EEF4E4;border-color:#CFE0B8}
.gk-verdict.ok{background:#F6F8EF}
.gk-verdict.bad{background:#FFF6E0;border-color:#F0D9A0}
.gk-pc.poor{opacity:.55}
.gk-side .gd-card+.gd-coach{margin-top:10px}

/* ---------- responsive ---------- */
@media (max-width:1240px){.gv-picks{grid-template-columns:repeat(3,1fr)}.gv-setgrid{grid-template-columns:1fr}}
@media (max-width:860px){
  .gm-modes{grid-template-columns:1fr;gap:8px}
  .gm-mode{padding:9px 12px}.gm-mode .em{font-size:1.6rem}.gm-mode small{font-size:.78rem}
  .gv-picks{grid-template-columns:1fr 1fr}
  .gv-kinds{grid-template-columns:repeat(3,1fr)}
  .gv-sizes{grid-template-columns:repeat(2,1fr)}
  .gv-months{grid-template-columns:repeat(7,1fr)}
  .gv-yard{padding:30px 6px 8px}
  .gv-nowgrid{grid-template-columns:1fr}
  .gv-grow{grid-template-columns:112px 1fr}
  .gv-grow>span:first-child{padding-left:8px;font-size:.76rem}
  .gv-grow>span:first-child small{display:none}
  .gv-ghead .tl i{font-size:.6rem}
  .gk-types{grid-template-columns:repeat(3,1fr)}
  .gk-sizes{grid-template-columns:repeat(3,1fr)}
  .gk-two{grid-template-columns:1fr}
  .gk-recipes{grid-template-columns:1fr 1fr;gap:10px}
  .gk-rec .pv{height:140px}
  .gk-rec .pv .gk-scene{transform:scale(.8);transform-origin:top center}
  .gk-months{grid-template-columns:repeat(6,1fr)}
  .gk-stage{min-height:0}
}
@media (max-width:520px){.gv-picks{grid-template-columns:1fr}.gk-recipes{grid-template-columns:1fr}.gk-rec .pv .gk-scene{transform:none}.gk-rec .pv{height:170px}}
@media print{
  .gm-head .gm-modes,.gm-head .gm-q,.gm-head .gd-lede,.gv-armslot,.gv-popslot,.gv-panel,.gk-tabs,.gk-edit,.gk-pc,.gv-whenhead button,.gk-list .gd-q button,.gk-list .gv-x,.gd-head .gd-btn{display:none!important}
  .gv-yard,.gv-bed,.gv-sq,.gv-dots i,.bigph,.gv-grow .tl b,.gk-stage,.gk-b,.gk-role{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .gv-gantt,.gv-yard,.gk-stage{break-inside:avoid}
}
@media (prefers-reduced-motion:reduce){.gv-dots i,.gv-sq.big .bigph,.gk-b{transition:none}.gv-sq.hl{animation:none}}
/* ---- leaf accents (Oct 2026) ---- */
.gm-loading b{display:block;font:500 1.15rem var(--display,Georgia,serif);color:var(--forest,#22331B)}
.gm-loading small{display:block;margin-top:2px}
.gm-spin{position:relative;display:block;width:76px;height:76px;margin:0 auto 14px}
.gm-spin::before{content:"";position:absolute;inset:0;border-radius:50%;border:4px solid #DCE5CB;border-top-color:#E9A413;animation:gm-turn 1.2s linear infinite}
.gm-spin::after{content:"";position:absolute;inset:19px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M8 54C12 30 28 12 56 6C54 34 40 50 18 55C14 56 10 55 8 54Z' fill='%2333491F'/%3E%3Cpath d='M12 52C22 42 38 26 52 10' stroke='%23F5F4EC' stroke-width='4' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;animation:gm-sway 2.4s ease-in-out infinite alternate}
@keyframes gm-turn{to{transform:rotate(360deg)}}
@keyframes gm-sway{from{transform:rotate(-14deg)}to{transform:rotate(14deg)}}
@media(prefers-reduced-motion:reduce){.gm-spin::before,.gm-spin::after{animation:none}}
