
@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@500;600&family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500&family=IM+Fell+English:ital@0;1&display=swap');

:root {
  --cream: #f6edd8;
  --paper: #fffaf0;
  --sage: #84936d;
  --sage-dark: #47563e;
  --moss: #34422e;
  --butter: #ead18b;
  --pink: #c98f8f;
  --rose: #965a5e;
  --wood: #755039;
  --wood-dark: #4f3426;
  --ink: #3f342c;
  --line: rgba(85,67,44,.28);
  --shadow: 0 16px 40px rgba(53,39,28,.22);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  color:var(--ink);
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:18px;
  line-height:1.55;
  background:
    radial-gradient(circle at 12% 14%, rgba(255,255,255,.7) 0 2px, transparent 3px),
    radial-gradient(circle at 74% 28%, rgba(255,255,255,.45) 0 1px, transparent 2px),
    linear-gradient(rgba(246,237,216,.86),rgba(246,237,216,.86)),
    url("images/paper-texture.svg") center/420px repeat;
}
a{color:var(--rose);text-underline-offset:3px}
a:hover{color:var(--moss)}

.page-shell{
  width:min(1120px,calc(100% - 22px));
  margin:18px auto;
  background:rgba(249,243,226,.96);
  border:2px solid #8a7356;
  box-shadow:var(--shadow);
  position:relative;
  overflow:hidden;
}
.page-shell::before{
  content:"";
  position:absolute;inset:0;
  pointer-events:none;
  border:8px solid transparent;
  border-image:url("images/vine-border.svg") 24 round;
  z-index:3;
}

.site-header{
  min-height:300px;
  padding:34px 20px 22px;
  color:#fff8e7;
  text-align:center;
  position:relative;
  isolation:isolate;
  background:
    linear-gradient(rgba(34,50,31,.18),rgba(34,50,31,.4)),
    url("images/cottage-header-v2.svg") center 60%/cover no-repeat;
  border-bottom:6px double #f1ddb1;
}
.site-header::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(to bottom,transparent 55%,rgba(27,39,26,.5));
}
.site-header::after{
  content:"";
  position:absolute;
  left:50%;bottom:18px;
  width:130px;height:20px;
  transform:translateX(-50%);
  background:url("images/floral-divider.svg") center/contain no-repeat;
  opacity:.95;
}
.site-title{
  margin:28px 0 0;
  font-family:"IM Fell English",serif;
  font-weight:normal;
  font-size:clamp(48px,8vw,84px);
  text-shadow:0 3px 0 #3a4932,0 8px 22px rgba(0,0,0,.58);
}
.site-subtitle{
  margin:0;
  font-family:"Caveat",cursive;
  font-size:clamp(21px,4vw,31px);
  text-shadow:0 2px 7px rgba(0,0,0,.7)
}

.main-nav{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
  padding:14px 18px 18px;
  background:
    linear-gradient(rgba(80,56,40,.12),rgba(80,56,40,.12)),
    repeating-linear-gradient(90deg,#694832 0 32px,#73513a 32px 64px);
  border-bottom:3px solid #4d3427;
  box-shadow:inset 0 -5px 12px rgba(0,0,0,.18);
}
.main-nav a{
  position:relative;
  min-width:110px;
  padding:9px 15px 8px;
  text-align:center;
  color:#fff4db;
  text-decoration:none;
  font-family:"IM Fell English",serif;
  font-size:17px;
  background:linear-gradient(#6d8a5d,#536e47);
  border:1px solid #30442f;
  border-radius:3px;
  box-shadow:0 4px 0 #3d2b21, inset 0 0 0 2px rgba(255,255,255,.12);
  transform:rotate(-.5deg);
}
.main-nav a:nth-child(even){transform:rotate(.6deg)}
.main-nav a:hover,.main-nav a[aria-current="page"]{
  color:#3f342c;
  background:linear-gradient(#efd895,#dcbf72);
  transform:translateY(-1px) rotate(0deg);
}

.content{padding:30px;position:relative}
.content::before,.content::after{
  content:"";
  position:absolute;
  width:110px;height:160px;
  opacity:.7;
  pointer-events:none;
}
.content::before{left:-28px;top:24px;background:url("images/side-flowers-left.svg") center/contain no-repeat}
.content::after{right:-26px;bottom:18px;background:url("images/side-flowers-right.svg") center/contain no-repeat}

.two-column{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(250px,.8fr);gap:24px;align-items:start}

.paper,.sidebar-card,.post-card,.about-card,.gallery-card,.garden-card{
  background:
    linear-gradient(rgba(255,250,240,.96),rgba(255,250,240,.96)),
    repeating-linear-gradient(0deg,transparent 0 30px,rgba(105,127,92,.08) 30px 31px);
  border:1px solid #b49f7b;
  box-shadow:4px 5px 0 rgba(98,77,52,.12);
}
.paper{padding:clamp(24px,5vw,50px);position:relative}
.paper::before{
  content:"";
  position:absolute;
  width:78px;height:78px;
  top:-18px;right:-10px;
  background:url("images/pressed-flower.svg") center/contain no-repeat;
  transform:rotate(10deg)
}
.paper::after{
  content:"";
  position:absolute;
  left:18px;right:18px;bottom:12px;height:18px;
  background:url("images/floral-divider.svg") center/contain no-repeat;
  opacity:.55
}
.paper h1,.paper h2,.section-title{
  font-family:"IM Fell English",serif;
  color:var(--moss);
  font-weight:normal
}
.paper h1{font-size:clamp(36px,5vw,52px);margin-top:0}
.dropcap::first-letter{
  float:left;font-family:"IM Fell English",serif;font-size:76px;line-height:.72;
  padding:10px 9px 0 0;color:var(--rose)
}
.signature{font-family:"Caveat",cursive;font-size:30px;color:var(--rose)}

.sidebar{display:grid;gap:18px}
.sidebar-card{padding:18px;position:relative;background-color:#f5ecd5}
.sidebar-card::before{
  content:"";
  position:absolute;inset:6px;
  border:1px dashed rgba(92,73,49,.28);
  pointer-events:none
}
.sidebar-card>*{position:relative}
.sidebar-card h2,.sidebar-card h3{
  margin:0 0 8px;font-family:"IM Fell English",serif;font-weight:normal;color:var(--moss)
}
.season-badge{
  display:inline-block;padding:4px 12px;margin-bottom:9px;
  border:1px solid #8f7c5e;border-radius:50%;
  background:#ead799;font-family:"Caveat",cursive;font-size:22px;transform:rotate(-2deg)
}
.garden-preview{list-style:none;padding:0;margin:10px 0 0}
.garden-preview li{
  display:grid;grid-template-columns:28px 1fr auto;gap:7px;padding:8px 0;border-bottom:1px dotted #baa98a
}
.tiny-progress,.progress-track{overflow:hidden;background:#ddd2b7;border:1px solid #a99471}
.tiny-progress{height:8px;margin-top:4px}
.tiny-progress span,.progress-fill{
  display:block;height:100%;background:repeating-linear-gradient(45deg,#789167 0 7px,#91a780 7px 14px)
}
.notice{padding:12px 15px;border-left:4px solid var(--pink);background:#f3e3d8;font-style:italic}

.section-title{
  margin:0 0 18px;text-align:center;font-size:clamp(38px,5vw,54px);
  text-shadow:0 1px 0 #fff
}
.section-title::after{
  content:"";display:block;width:170px;height:24px;margin:4px auto 0;
  background:url("images/floral-divider.svg") center/contain no-repeat
}
.section-intro{max-width:710px;margin:-8px auto 26px;text-align:center}

.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.post-card,.about-card{padding:22px;position:relative}
.post-card::after,.about-card::after{
  content:"✿";position:absolute;right:13px;bottom:10px;color:#b88786;opacity:.55
}
.post-card h2,.about-card h2,.gallery-card h2,.garden-card h2{
  margin:0 0 5px;font-family:"IM Fell English",serif;font-weight:normal;color:var(--moss)
}
.meta{color:#745d4b;font-style:italic;font-size:.93rem}
.tag{display:inline-block;padding:2px 8px;margin:2px;border:1px solid #af9b78;background:#ece1c5;border-radius:999px;font-size:.86rem}
.read-more{display:inline-block;margin-top:10px;font-family:"IM Fell English",serif}

.bookshelf{
  padding:26px 22px 30px;
  background:
    linear-gradient(rgba(91,62,43,.12),rgba(91,62,43,.12)),
    repeating-linear-gradient(90deg,#6b4934 0 28px,#76513a 28px 56px);
  border:12px ridge #806145;
  box-shadow:inset 0 0 26px rgba(0,0,0,.35)
}
.shelf-row{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;
  align-items:end;padding:20px 12px 12px;margin-bottom:28px;
  border-bottom:16px ridge #7a563e
}
.book{
  min-height:190px;padding:18px 12px;color:#fff7df;text-decoration:none;
  border:1px solid rgba(0,0,0,.3);border-radius:4px 4px 1px 1px;
  box-shadow:inset 5px 0 0 rgba(255,255,255,.12),4px 3px 0 rgba(0,0,0,.18);
  display:flex;flex-direction:column;justify-content:space-between;
  transform-origin:bottom;transition:.2s ease
}
.book:hover{transform:translateY(-10px) rotate(-1deg);color:#fff}
.book:nth-child(1){background:#6c855f}
.book:nth-child(2){background:#9d6264}
.book:nth-child(3){background:#8a6e4d}
.book:nth-child(4){background:#60788a}
.book-title{font-family:"IM Fell English",serif;font-size:22px;line-height:1.1}
.book-spine{font-size:14px;opacity:.85}

.letter-desk{
  padding:34px;border:12px solid #68462f;
  background:
    radial-gradient(circle at 22% 22%,rgba(255,255,255,.08),transparent 28%),
    repeating-linear-gradient(90deg,#6e4b34 0 8px,#78533b 8px 16px);
  box-shadow:inset 0 0 28px rgba(0,0,0,.36)
}
.letter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.envelope{
  min-height:195px;padding:30px 25px;color:#44372d;
  background:
    linear-gradient(145deg,transparent 49.4%,rgba(132,104,72,.22) 50%,transparent 50.6%),
    linear-gradient(215deg,transparent 49.4%,rgba(132,104,72,.22) 50%,transparent 50.6%),
    #efe1c1;
  border:1px solid #b6a078;box-shadow:5px 6px 0 rgba(0,0,0,.18);
  transform:rotate(-.8deg);position:relative;transition:.2s
}
.envelope:nth-child(even){transform:rotate(.8deg)}
.envelope:hover{transform:translateY(-6px) rotate(0)}
.envelope::after{
  content:"✿";position:absolute;right:18px;bottom:14px;display:grid;width:44px;height:44px;place-items:center;
  color:#f4d7c0;border-radius:50%;background:#985559;box-shadow:inset 0 0 0 3px #774044
}
.envelope h2{font-family:"Caveat",cursive;font-size:31px;margin:0}

.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.gallery-card{padding:12px;background:#eee1c4;transition:.2s}
.gallery-card:hover{transform:translateY(-4px) rotate(.3deg)}
.frame{
  aspect-ratio:4/5;display:grid;place-items:center;padding:12px;border:12px ridge #896447;background:#d7c18f;
  box-shadow:inset 0 0 18px rgba(0,0,0,.18),0 5px 0 rgba(0,0,0,.1)
}
.frame img{width:100%;height:100%;object-fit:cover;border:1px solid #725d42}
.gallery-caption{padding:12px 5px 3px}

.garden-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.garden-card{
  display:grid;grid-template-columns:130px 1fr;gap:18px;padding:18px;align-items:center;position:relative;overflow:hidden
}
.garden-card::after{
  content:"";position:absolute;right:-16px;bottom:-14px;width:90px;height:90px;
  background:url("images/garden-corner.svg") center/contain no-repeat;opacity:.45
}
.plant-picture{
  min-height:130px;display:grid;place-items:center;font-size:76px;
  background:linear-gradient(#dce7cf 0 62%,#b99a69 62%);
  border:1px solid #a48f6c;box-shadow:inset 0 0 15px rgba(0,0,0,.12)
}
.progress-track{height:17px;margin:8px 0;border-radius:999px}
.garden-stats{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:.94rem}
button,.button-link{
  border:1px solid #4e6245;padding:8px 13px;color:#fffdf4;background:linear-gradient(#668058,#4f6746);
  font:inherit;font-family:"IM Fell English",serif;cursor:pointer;box-shadow:2px 3px 0 #bca67e
}
button:hover,.button-link:hover{background:linear-gradient(#a5696c,#8e5559);color:#fff}

.guestbook-box{max-width:740px;margin:auto;padding:34px;text-align:center}
.guestbook-placeholder{
  min-height:270px;display:grid;place-items:center;margin-top:20px;padding:25px;
  border:2px dashed #9b8767;background:#f4ecd7
}
.site-footer{
  padding:24px 25px;text-align:center;color:#f7ecd4;
  background:repeating-linear-gradient(90deg,#4c5b43 0 34px,#53634a 34px 68px);
  border-top:5px double #e4cf98;font-size:16px
}
.site-footer p{margin:3px 0}

@keyframes drift{from{transform:translateX(-150px)}to{transform:translateX(calc(100vw + 150px))}}

@media(max-width:800px){
  body{font-size:17px}
  .page-shell{width:min(100% - 10px,1120px);margin:5px auto}
  .site-header{min-height:220px;padding:25px 14px 18px}
  .main-nav{gap:7px;padding:12px 8px 16px}
  .main-nav a{min-width:auto;padding:7px 9px;font-size:15px}
  .content{padding:17px}
  .two-column{grid-template-columns:1fr}
  .card-grid,.letter-grid,.gallery-grid,.garden-grid{grid-template-columns:1fr}
  .shelf-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .garden-card{grid-template-columns:92px 1fr;padding:14px}
  .plant-picture{min-height:96px;font-size:56px}
  .letter-desk{padding:16px;border-width:8px}
  .paper{padding:26px 21px}
}
@media(max-width:460px){
  .site-title{font-size:44px}
  .site-subtitle{font-size:21px}
  .shelf-row{grid-template-columns:1fr}
  .book{min-height:125px}
  .garden-card{grid-template-columns:1fr;text-align:center}
  .garden-stats{justify-content:center}
}


/* VERSION 0.3 — LIVING GARDEN */
.garden-ledger{
  max-width:850px;
  margin:0 auto 20px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  background:#e9ddbf;
  border:1px solid #9e8966;
  box-shadow:4px 5px 0 rgba(98,77,52,.12);
}
.garden-ledger>div{
  padding:13px 16px;
  text-align:center;
  border-right:1px dotted #9e8966;
}
.garden-ledger>div:last-child{border-right:0}
.ledger-label{
  display:block;
  font-family:"Caveat",cursive;
  color:#765744;
  font-size:20px;
  line-height:1.1;
}
.garden-notice{max-width:850px;margin:0 auto 24px}
.garden-loading{grid-column:1/-1;text-align:center;font-style:italic}
.garden-card.live-plant{
  grid-template-columns:150px 1fr;
  min-height:250px;
}
.plant-picture{
  position:relative;
  padding:8px;
  overflow:hidden;
}
.plant-picture img{
  display:block;
  width:100%;
  height:100%;
  min-height:130px;
  object-fit:contain;
  filter:drop-shadow(0 5px 3px rgba(54,45,31,.18));
}
.plant-stage-ribbon{
  position:absolute;
  left:7px;
  top:7px;
  padding:3px 8px;
  color:#fffdf1;
  background:rgba(68,82,57,.87);
  border:1px solid rgba(255,255,255,.3);
  font-size:13px;
  line-height:1.2;
}
.plant-description{margin:2px 0 9px;font-style:italic;color:#6e5847}
.progress-row{
  display:flex;
  align-items:center;
  gap:10px;
}
.progress-row .progress-track{flex:1}
.progress-percent{
  min-width:47px;
  text-align:right;
  font-family:"IM Fell English",serif;
  color:var(--moss);
}
.garden-stats{
  margin:8px 0 13px;
}
.garden-stat{
  min-width:120px;
  padding:7px 9px;
  background:rgba(235,224,196,.7);
  border:1px solid rgba(158,137,102,.6);
}
.garden-stat span{
  display:block;
  color:#765d49;
  font-size:.82rem;
}
.garden-stat strong{font-family:"IM Fell English",serif}
.water-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
}
.water-note{font-size:.86rem;color:#715b49;font-style:italic}
button:disabled{
  cursor:default;
  opacity:.68;
  background:linear-gradient(#7c8a72,#67745e);
}
.harvest-flash{
  animation:harvestGlow 1.2s ease;
}
@keyframes harvestGlow{
  0%,100%{box-shadow:4px 5px 0 rgba(98,77,52,.12)}
  45%{box-shadow:0 0 0 6px rgba(234,209,139,.58),0 0 30px rgba(234,209,139,.7)}
}
@media(max-width:800px){
  .garden-ledger{grid-template-columns:1fr}
  .garden-ledger>div{border-right:0;border-bottom:1px dotted #9e8966}
  .garden-ledger>div:last-child{border-bottom:0}
}
@media(max-width:560px){
  .garden-card.live-plant{grid-template-columns:1fr}
  .plant-picture img{height:150px}
}


/* Shared garden connection states */
[data-garden-status][data-state="connected"]{color:#355c3d}
[data-garden-status][data-state="error"]{color:#8a3e3e}
.garden-error{grid-column:1/-1;background:#f3dfd8;border-left:5px solid #cc8290;padding:20px 24px;text-align:left;overflow-wrap:anywhere}
.garden-error strong{font-family:"Caveat",cursive;font-size:1.55rem}
.garden-error p{margin:8px 0 14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;line-height:1.5}
.garden-error button{background:#657b55;color:#fff;border:0;border-radius:999px;padding:9px 18px;cursor:pointer}

/* ===== v0.5: persistent garden, real books, walkable gallery ===== */
.garden-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:0 auto 24px}
.garden-link-button{display:inline-block;background:#657b55;color:#fff;padding:10px 18px;border-radius:999px;text-decoration:none;box-shadow:0 4px 0 #405237}
.garden-link-button.secondary{background:#9d7770;box-shadow:0 4px 0 #71504b}
.plant-heading-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.plant-heading-row h2{margin:0}
.last-harvest-badge{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;background:#ead7a0;border:1px solid #af8f53;border-radius:999px;padding:4px 8px}
.harvest-counter{background:#f2e1b9!important;border:1px solid #b49b64!important;min-width:190px}.harvest-counter strong{font-size:1.18rem;color:#4e633f}.is-hidden{display:none!important}
.almanac-grid{display:grid;gap:26px}.almanac-season{background:#f7efd9;border:1px solid #b8a47d;padding:20px}.almanac-season>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.almanac-season article{text-align:center;background:#fffaf0;padding:12px;border:1px solid #d1c09c}.almanac-season img{width:100%;height:170px;object-fit:contain}.almanac-season p{font-size:.9rem}
.admin-panel{max-width:760px;margin:auto}.admin-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}.admin-form label{display:grid;gap:6px}.admin-form input,.admin-form select{padding:10px;border:1px solid #9b8764;background:#fffaf0;font:inherit}.admin-form button{padding:11px;border:0;background:#657b55;color:#fff;cursor:pointer}.admin-form button.danger{background:#935b58}.admin-form [data-admin-message]{grid-column:1/-1;min-height:1.5em;font-weight:bold}

.library-room{min-height:620px}.edit-hint{text-align:center;font-size:.9rem}.book{border:0;text-align:left;cursor:pointer}.book-sage{background:#6c855f!important}.book-rose{background:#9d6264!important}.book-brown{background:#8a6e4d!important}.book-blue{background:#60788a!important}
.book-modal[hidden]{display:none}.book-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center}.book-backdrop{position:absolute;inset:0;background:rgba(40,31,24,.76);backdrop-filter:blur(4px)}.open-book{position:relative;width:min(860px,92vw);height:min(650px,84vh);z-index:1;display:flex;flex-direction:column;align-items:center}.book-close{position:absolute;right:-4px;top:-36px;border:0;background:#fff8e7;width:36px;height:36px;border-radius:50%;font-size:26px;cursor:pointer;z-index:5}.book-volume{position:relative;width:min(700px,86vw);height:min(520px,70vh);perspective:1700px;background:#6d4d37;border:14px solid #6d4d37;border-radius:8px 18px 18px 8px;box-shadow:0 30px 70px rgba(0,0,0,.45),inset 8px 0 0 #4e3426}.book-volume:after{content:"";position:absolute;left:50%;top:0;bottom:0;width:3px;background:rgba(72,46,27,.35);z-index:999}.book-page{position:absolute;inset:0 0 0 50%;background:#fffaf0;transform-origin:left center;transition:transform .75s cubic-bezier(.3,.7,.2,1),box-shadow .75s;backface-visibility:hidden;box-shadow:-4px 0 9px rgba(80,55,32,.18);overflow:auto}.book-page.is-flipped{transform:rotateY(-180deg);pointer-events:none}.book-page-inner{min-height:100%;padding:42px 48px;background:linear-gradient(90deg,rgba(94,61,34,.09),transparent 8%),url("images/paper-texture.svg");font-size:1.08rem;line-height:1.65}.book-page-inner h2{font-family:"IM Fell English",serif;font-size:2rem}.book-cover-page{height:100%;display:grid;place-content:center;text-align:center;background:#748765;color:#fff;padding:30px;border:7px double rgba(255,255,255,.55)}.book-cover-page span{letter-spacing:.16em;text-transform:uppercase;font-size:.75rem}.book-cover-page h2{font-size:2.3rem}.book-date,.book-signoff{font-style:italic}.book-controls{display:flex;align-items:center;gap:20px;margin-top:16px;color:#fff}.book-controls button{padding:9px 16px;border:0;border-radius:999px;cursor:pointer}.book-controls button:disabled{opacity:.4}.modal-open{overflow:hidden}

.gallery-main{padding:0}.gallery-intro{text-align:center;padding:34px 20px 22px;background:#f8f0dc}.gallery-intro h1{font-family:"IM Fell English",serif;font-size:3rem;margin:0}.museum-window{position:relative;height:650px;overflow:hidden;outline:none;cursor:ew-resize;background:#b7c3b2;touch-action:pan-y}.museum-window.is-dragging{cursor:grabbing}.museum-room{position:absolute;left:0;top:0;height:100%;will-change:transform;background-color:#b8c5b6;background-image:radial-gradient(rgba(255,255,255,.36) 1.2px,transparent 1.2px);background-size:18px 18px;border-top:16px solid #5c4939;border-bottom:95px solid #765841}.museum-room:before{content:"";position:absolute;left:0;right:0;bottom:95px;height:18px;background:#4b3a2e;box-shadow:0 -8px 20px rgba(0,0,0,.15)}.museum-work{position:absolute;display:grid;grid-template-columns:auto 230px;align-items:center;gap:28px}.museum-frame{padding:14px;background:#5c4939;border:5px ridge #8f755b;box-shadow:0 12px 18px rgba(0,0,0,.25)}.museum-frame img{width:100%;display:block;background:#eee}.museum-label{background:#fffdf6;padding:18px 20px;box-shadow:0 4px 12px rgba(0,0,0,.16);font-family:Georgia,serif}.museum-label strong,.museum-label em,.museum-label span{display:block}.museum-label em{font-weight:bold;margin-top:4px}.museum-label span{font-size:.9rem;margin-bottom:12px}.museum-label p{font-size:.9rem;line-height:1.45;margin:0}.museum-vignette{pointer-events:none;position:absolute;inset:0;box-shadow:inset 70px 0 70px -60px rgba(0,0,0,.45),inset -70px 0 70px -60px rgba(0,0,0,.45)}.walk-guide{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);background:rgba(255,250,235,.9);padding:7px 16px;border-radius:999px;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}

@media(max-width:760px){.almanac-season>div{grid-template-columns:repeat(2,1fr)}.admin-form{grid-template-columns:1fr}.book-volume{height:65vh}.book-page{inset:0}.book-volume:after{display:none}.book-page-inner{padding:28px 24px}.museum-window{height:560px}.museum-work{grid-template-columns:auto;gap:10px}.museum-label{width:220px}.museum-room{border-bottom-width:70px}.museum-room:before{bottom:70px}}

/* v0.5.1 cache-safe gallery, pantry, and library fixes */
.museum-window{display:block;min-height:650px;width:100%;isolation:isolate;user-select:none;-webkit-user-select:none}
.museum-room{display:block;min-width:3200px}
.museum-loading{position:absolute;left:50vw;top:45%;transform:translate(-50%,-50%);font-size:1.2rem;background:#fffaf0;padding:16px 22px;z-index:3}
.bookshelf{min-height:220px}.shelf-row{min-height:170px;display:flex;align-items:flex-end;gap:18px;padding:22px 34px 12px;overflow-x:auto}
.pantry-back a{font-weight:700}.pantry-summary{display:flex;justify-content:space-between;align-items:center;gap:20px;max-width:860px;margin:0 auto 22px;padding:14px 18px;background:#eee1bf;border:1px solid #a98d62}
.pantry-table-wrap{max-width:960px;margin:0 auto;overflow-x:auto;border:10px solid #79563e;box-shadow:inset 0 0 0 3px #b88a62,0 12px 22px rgba(74,52,37,.16);background:#fffaf0}
.pantry-table{width:100%;border-collapse:collapse;min-width:620px}.pantry-table th{background:#5e7654;color:#fff;text-align:left;padding:16px}.pantry-table td{padding:14px 16px;border-bottom:1px solid #d8c9aa}.pantry-table tr:nth-child(even) td{background:#f6ecd8}.pantry-plant{display:flex;align-items:center;gap:12px}.pantry-plant img{width:52px;height:52px;object-fit:contain}.pantry-season{white-space:nowrap}.pantry-note{max-width:860px;margin:20px auto 0;font-style:italic;text-align:center}
@media(max-width:760px){.museum-window{min-height:560px}.shelf-row{padding-inline:18px}.pantry-summary{align-items:flex-start;flex-direction:column}}

/* ===== v0.5.2 ===== */
.slot-number{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;background:#e9ddbf;border:1px solid #a98d62;border-radius:999px;padding:4px 8px;color:#6c543e}
.small-note{font-family:Georgia,serif!important;font-size:.9rem!important}
.shelf-book{flex:0 0 150px;min-height:165px;border:0;border-radius:4px 9px 9px 4px;padding:18px 13px;color:#fff;text-align:left;display:flex;flex-direction:column;justify-content:space-between;box-shadow:inset 7px 0 rgba(0,0,0,.18),5px 7px 0 rgba(63,42,28,.25);transform-origin:bottom;transition:.2s}
.shelf-book:hover{transform:translateY(-9px) rotate(-1deg)}
.shelf-book span{font-family:"IM Fell English",serif;font-size:1.2rem;line-height:1.1}.shelf-book small{font-size:.72rem;opacity:.88}
.book-sage{background:#6c855f}.book-rose{background:#9d6264}.book-brown{background:#8a6e4d}.book-blue{background:#60788a}
.book-volume{display:grid;grid-template-columns:1fr 1fr;overflow:hidden}
.book-volume:after{z-index:5}
.book-page{position:relative;inset:auto;padding:42px 44px;background:linear-gradient(90deg,rgba(94,61,34,.09),transparent 8%),url("images/paper-texture.svg"),#fffaf0;overflow:auto;box-shadow:inset -8px 0 15px rgba(80,55,32,.09);font-size:1.08rem;line-height:1.65}
.book-page h2{font-family:"IM Fell English",serif;font-size:2rem}.left-page{box-shadow:inset -12px 0 18px rgba(80,55,32,.14)}.right-page{box-shadow:inset 12px 0 18px rgba(80,55,32,.1)}
.single-page{grid-column:2}.book-cover-inside{grid-column:1;background:#76533c;box-shadow:inset -12px 0 18px rgba(0,0,0,.18)}
.blank-page{height:100%;background:linear-gradient(90deg,rgba(94,61,34,.06),transparent)}
.page-turn-forward{animation:bookTurnForward .28s ease}.page-turn-back{animation:bookTurnBack .28s ease}
@keyframes bookTurnForward{50%{transform:perspective(1200px) rotateY(-5deg) scale(.985)}}
@keyframes bookTurnBack{50%{transform:perspective(1200px) rotateY(5deg) scale(.985)}}
.museum-work{grid-template-columns:minmax(360px,1fr) auto;gap:34px}.museum-frame{min-height:360px;display:grid;place-items:center}.museum-frame img{width:100%;height:100%;max-height:520px;object-fit:contain}.museum-label{font-size:1.05rem}.museum-label p{font-size:1rem}
.almanac-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.almanac-card{text-align:center;background:#fffaf0;padding:14px;border:1px solid #d1c09c}.almanac-card img{width:100%;height:180px;object-fit:contain}.almanac-card h2{font-size:1.2rem;margin:.5rem 0 .2rem}.almanac-card p{font-size:.85rem;margin:0}
@media(max-width:800px){.almanac-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.museum-work{grid-template-columns:1fr}.museum-label{width:min(320px,90%)!important}.book-volume{grid-template-columns:1fr;height:68vh}.book-cover-inside{display:none}.single-page{grid-column:1}.left-page,.right-page{grid-column:1}.right-page{display:none}.book-volume:after{display:none}.book-page{padding:30px 24px}}


/* ===== My Little Homestead v0.6 final polish ===== */
.site-header{background-image:linear-gradient(rgba(34,46,31,.08),rgba(31,43,29,.18)),url("images/cottage-header-summer.svg");background-position:center;background-size:cover;min-height:360px;overflow:hidden}
body[data-season="spring"] .site-header{background-image:linear-gradient(rgba(34,46,31,.05),rgba(31,43,29,.14)),url("images/cottage-header-spring.svg")}
body[data-season="summer"] .site-header{background-image:linear-gradient(rgba(34,46,31,.05),rgba(31,43,29,.14)),url("images/cottage-header-summer.svg")}
body[data-season="autumn"] .site-header{background-image:linear-gradient(rgba(45,31,22,.08),rgba(45,31,22,.18)),url("images/cottage-header-autumn.svg")}
body[data-season="winter"] .site-header{background-image:linear-gradient(rgba(42,54,57,.05),rgba(42,54,57,.14)),url("images/cottage-header-winter.svg")}
.site-title{font-size:clamp(3rem,7.5vw,7rem);line-height:.92;max-width:100%;text-wrap:balance;text-shadow:0 4px 0 rgba(41,52,37,.35)}
.site-subtitle{font-size:clamp(1rem,2vw,1.75rem);letter-spacing:.08em}
.plant-picture{position:relative;overflow:hidden;padding-top:30px;background:linear-gradient(#edf2df,#e7dcc0)}
.plant-stage-ribbon{position:absolute;z-index:3;left:10px;top:10px;padding:5px 9px;border-radius:999px;background:#4f6348;color:#fff;font-size:.76rem;box-shadow:0 2px 5px rgba(0,0,0,.18)}
.plant-picture img{width:100%;height:210px;object-fit:contain;display:block}
.garden-card.live-plant{align-items:start;overflow:hidden}
.book-close{right:4px;top:-48px;width:46px;height:46px;background:#fff8e7;color:#3f3127;border:3px solid #76533c;box-shadow:0 6px 16px rgba(0,0,0,.35);font:700 32px/1 Arial,sans-serif;display:grid;place-items:center}
.book-close:hover{transform:scale(1.06);background:#fff}
.book-volume{transform-style:preserve-3d;transition:filter .2s}
.page-turn-forward{animation:bookTurnForward .52s cubic-bezier(.22,.75,.25,1)}
.page-turn-back{animation:bookTurnBack .52s cubic-bezier(.22,.75,.25,1)}
@keyframes bookTurnForward{0%{transform:perspective(1400px) rotateY(0)}45%{transform:perspective(1400px) rotateY(-10deg) scale(.985);filter:brightness(.9)}100%{transform:perspective(1400px) rotateY(0)}}
@keyframes bookTurnBack{0%{transform:perspective(1400px) rotateY(0)}45%{transform:perspective(1400px) rotateY(10deg) scale(.985);filter:brightness(.9)}100%{transform:perspective(1400px) rotateY(0)}}
.museum-work{grid-template-columns:720px 390px;align-items:center;gap:38px}
.museum-frame{height:470px!important;min-height:470px;padding:18px;background:#594536;border:8px ridge #9a7c58}
.museum-frame img{width:100%;height:100%;max-height:none;object-fit:contain}
.museum-label{align-self:center;max-height:430px;overflow:auto}
@media(max-width:760px){.site-header{min-height:260px}.site-title{font-size:clamp(2.7rem,12vw,4.6rem)}.plant-picture img{height:190px}.museum-work{grid-template-columns:620px}.museum-label{width:320px!important}.book-close{right:8px;top:-52px}}

/* v0.6.1 polish */
.site-header{min-height:390px;background-position:center center}.site-title{font-size:clamp(3.6rem,8vw,6.7rem);max-width:1000px;margin-inline:auto;line-height:.98}.site-subtitle{font-size:clamp(1.35rem,3vw,2.1rem)}
.plant-picture{background:linear-gradient(#eef3df,#f8efd9);border:1px solid #b9a37d}.plant-picture img{height:220px;object-fit:contain;padding:6px}.plant-stage-ribbon{z-index:2;background:rgba(67,82,56,.93);padding:4px 9px;border-radius:3px}
.book-volume{overflow:visible}.turning-sheet{position:absolute;top:0;bottom:0;left:50%;width:50%;transform-style:preserve-3d;transform-origin:left center;z-index:30;pointer-events:none}.turning-sheet .sheet-front,.turning-sheet .sheet-back{position:absolute;inset:0;background:linear-gradient(90deg,rgba(90,58,30,.12),transparent 9%),url("images/paper-texture.svg"),#fffaf0;backface-visibility:hidden;box-shadow:-10px 0 20px rgba(54,35,20,.22)}.turning-sheet .sheet-back{transform:rotateY(180deg);background:linear-gradient(270deg,rgba(90,58,30,.12),transparent 9%),url("images/paper-texture.svg"),#fffaf0}.turn-forward{animation:realPageForward .7s cubic-bezier(.2,.65,.2,1) forwards}.turn-back{left:0;transform-origin:right center;animation:realPageBack .7s cubic-bezier(.2,.65,.2,1) forwards}@keyframes realPageForward{0%{transform:rotateY(0)}45%{box-shadow:-25px 12px 32px rgba(0,0,0,.25)}100%{transform:rotateY(-180deg)}}@keyframes realPageBack{0%{transform:rotateY(0)}45%{box-shadow:25px 12px 32px rgba(0,0,0,.25)}100%{transform:rotateY(180deg)}}
.book-close{right:-12px;top:-50px;width:48px;height:48px;background:#fff7df;border:2px solid #5d4535;color:#3f2f25;font-weight:700;line-height:40px;box-shadow:0 5px 16px rgba(0,0,0,.25)}
.museum-window{height:900px!important}.museum-room{background-color:#c8d1c3;background-image:radial-gradient(rgba(255,255,255,.45) 1.2px,transparent 1.2px);background-size:18px 18px}.museum-work{grid-template-columns:380px 300px!important;gap:42px!important;align-items:center!important}.museum-frame{width:380px!important;height:560px!important;min-height:560px!important;padding:18px!important}.museum-frame img{width:100%!important;height:100%!important;object-fit:cover!important}.museum-label{align-self:center!important;max-height:520px!important}.museum-baseboard{position:absolute;left:0;right:0;bottom:95px;height:18px;background:#4b3a2e}
@media(max-width:760px){.site-header{min-height:285px}.museum-work{grid-template-columns:320px!important}.museum-frame{width:320px!important;height:470px!important;min-height:470px!important}.museum-label{width:280px!important}.turning-sheet{display:block}}


/* ===== v0.6.3: seamless plant portraits + stable page turns ===== */
.plant-picture{
  height:300px;
  min-height:300px;
  padding:0;
  border:1px solid #b9a37d;
  background:linear-gradient(#eef3df,#f8efd9);
  overflow:hidden;
}
.plant-picture img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  padding:0;
  margin:0;
}
.plant-stage-ribbon{left:16px;top:16px;z-index:6}
.turning-sheet{overflow:hidden;background:#fffaf0}
.turning-sheet .sheet-front,.turning-sheet .sheet-back{overflow:hidden}
.turning-sheet .sheet-front>.book-cover-inside,
.turning-sheet .sheet-front>.book-page{position:absolute;inset:0;width:100%;height:100%;box-sizing:border-box}
.turning-sheet .sheet-front>.book-cover-inside{display:none}
.turning-sheet .sheet-front>.left-page{display:none}
.turning-sheet .sheet-front>.right-page,
.turning-sheet .sheet-front>.single-page{display:block}
.book-volume[aria-busy="true"] .book-controls button{pointer-events:none}
.museum-frame img{height:100%;object-fit:cover;object-position:center}
@media(max-width:760px){.plant-picture{height:260px;min-height:260px}.plant-picture img{height:100%}}


/* ===== v0.6.3 reliability fixes ===== */
/* Keep every crop fully visible inside the unchanged portrait frame. */
.plant-picture img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  box-sizing:border-box;
  padding:12px!important;
}
/* A clean paper sheet flips; text remains on the stable pages underneath. */
.turning-sheet{backface-visibility:hidden;-webkit-backface-visibility:hidden}
.turning-sheet .sheet-front,.turning-sheet .sheet-back{
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
  color:transparent!important;
}
.book-volume[aria-busy="true"]~.book-controls button{pointer-events:none;opacity:.65}


/* ===== v0.7.0: true portrait crops + Safari-safe page leaf ===== */
.plant-picture{
  position:relative;
  height:300px;
  min-height:300px;
  padding:0;
  overflow:hidden;
  background:linear-gradient(#eef3df 0%,#f8efd9 72%,#e4d3ae 100%);
  border:1px solid #b9a37d;
}
.plant-picture img{
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  width:100%!important;
  height:auto!important;
  max-height:88%!important;
  object-fit:initial!important;
  object-position:initial!important;
  padding:0!important;
  margin:0!important;
  display:block!important;
}
.page-leaf{
  position:absolute;
  top:0;
  bottom:0;
  width:50%;
  z-index:40;
  overflow:hidden;
  pointer-events:none;
  background:#fffaf0;
  box-shadow:0 10px 24px rgba(54,35,20,.22);
  will-change:transform;
}
.page-leaf.forward{left:50%;transform-origin:left center}
.page-leaf.backward{left:0;transform-origin:right center}
.page-leaf .book-page,
.page-leaf .book-cover-inside{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  box-sizing:border-box!important;
  display:block!important;
}
.page-leaf .book-cover-inside{background:#76533c}
.book-volume[aria-busy="true"]{pointer-events:none}
@media(max-width:760px){
  .plant-picture{height:260px;min-height:260px}
  .plant-picture img{max-height:86%!important}
  .page-leaf{width:100%}
  .page-leaf.forward,.page-leaf.backward{left:0}
}


/* v0.7 automatic collection layouts */
.library-shelves{display:grid;gap:28px}
.library-shelves .bookshelf{margin:0}
.library-shelves .shelf-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:18px;overflow:visible}
.empty-collection{padding:28px;text-align:center;font-style:italic}
.museum-room-divider{position:absolute;top:0;bottom:0;width:150px;border-left:12px solid rgba(91,66,48,.7);border-right:12px solid rgba(91,66,48,.7);background:linear-gradient(90deg,rgba(255,255,255,.08),rgba(91,66,48,.12),rgba(255,255,255,.08));display:flex;justify-content:center;align-items:flex-start;pointer-events:none}
.museum-room-divider span{margin-top:24px;padding:8px 15px;background:#f7f0df;border:1px solid #a98d62;font-family:"IM Fell English",serif;color:#4b3a2f;box-shadow:4px 4px 0 rgba(61,43,28,.12)}
@media(max-width:900px){.library-shelves .shelf-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.library-shelves .shelf-row{grid-template-columns:1fr}}


/* ===== v0.9.0 notice board, meadow, and shared apiary ===== */
.cork-board{margin-top:0}
.cork-board-frame{position:relative;padding:20px 18px 22px;border:11px solid #8f6541;border-radius:5px;background-color:#b87948;background-image:radial-gradient(circle at 20% 25%,rgba(73,40,22,.18) 0 1px,transparent 1.6px),radial-gradient(circle at 70% 65%,rgba(255,238,205,.18) 0 1px,transparent 1.7px);background-size:14px 14px,19px 19px;box-shadow:inset 0 0 0 3px #d7a46e,7px 8px 0 rgba(70,48,31,.13)}
.cork-board-frame h3{text-align:center;margin:0 0 18px;padding:8px 12px;background:#f7edcf;border:1px solid #9c7c52;transform:rotate(-1deg);font-family:"IM Fell English",serif;color:#4c392c;box-shadow:2px 3px 0 rgba(73,48,29,.15)}
.pinned-notes{display:grid;grid-template-columns:1fr;gap:15px}
.pinned-note{position:relative;padding:18px 15px 14px;background:#fff9de;border:1px solid rgba(112,86,53,.35);box-shadow:3px 5px 0 rgba(70,44,24,.16);transform:rotate(-.8deg)}
.pinned-note.note-1{background:#f7e0d9;transform:rotate(1deg)}.pinned-note.note-2{background:#e8efd7;transform:rotate(-.3deg)}.pinned-note.note-3{background:#e8edf4;transform:rotate(.7deg)}
.pinned-note time{display:block;font-size:.76rem;letter-spacing:.04em;text-transform:uppercase;color:#7c6652}.pinned-note h4{margin:5px 0 6px;font-family:"IM Fell English",serif}.pinned-note p{margin:0;font-size:.93rem;line-height:1.45}
.pushpin{position:absolute;top:7px;left:50%;width:11px;height:11px;border-radius:50%;background:#a84940;box-shadow:0 2px 0 #6e2c29,0 4px 5px rgba(55,35,25,.25);transform:translateX(-50%)}
.apiary-section{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:28px;margin-top:34px;padding:24px;border:1px solid #b69d70;background:#f6edd7;box-shadow:7px 8px 0 rgba(80,58,38,.1)}
.meadow-scene{position:relative;min-height:430px;overflow:hidden;border:1px solid #9f8e67;background:linear-gradient(#dcebdc 0 48%,#a9c984 49% 72%,#7fa65d 73%);isolation:isolate}
.meadow-scene:after{content:"";position:absolute;left:-5%;right:-5%;bottom:-35px;height:145px;background:radial-gradient(ellipse at 20% 50%,#6f974e 0 24%,transparent 25%),radial-gradient(ellipse at 60% 50%,#769c54 0 25%,transparent 26%),radial-gradient(ellipse at 85% 60%,#628b49 0 23%,transparent 24%);background-size:180px 90px;z-index:1}
.meadow-cloud{position:absolute;width:110px;height:28px;border-radius:50px;background:rgba(255,255,255,.75);top:45px;z-index:0}.meadow-cloud:before,.meadow-cloud:after{content:"";position:absolute;border-radius:50%;background:inherit}.meadow-cloud:before{width:45px;height:45px;left:19px;bottom:2px}.meadow-cloud:after{width:54px;height:54px;right:18px;bottom:1px}.meadow-cloud-one{left:12%}.meadow-cloud-two{right:8%;top:88px;transform:scale(.7)}
.wooden-hive{position:absolute;right:11%;bottom:66px;width:145px;height:160px;z-index:4;background:#c58b42;border:5px solid #76532f;clip-path:polygon(12% 18%,88% 18%,100% 32%,100% 100%,0 100%,0 32%);box-shadow:7px 8px 0 rgba(49,35,22,.18)}
.wooden-hive:before{content:"";position:absolute;left:50%;top:12px;width:110px;height:28px;background:#76532f;transform:translateX(-50%);clip-path:polygon(50% 0,100% 100%,0 100%)}
.wooden-hive span{display:block;height:28px;margin:35px 10px -24px;border-bottom:3px solid rgba(103,67,31,.55)}.wooden-hive b{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);font-size:.72rem;letter-spacing:.14em;color:#4d321c}.wooden-hive:after{content:"";position:absolute;left:50%;bottom:42px;width:34px;height:12px;border-radius:50%;background:#3c2a1a;transform:translateX(-50%)}
.wildflower-strip{position:absolute;left:3%;right:36%;bottom:48px;height:175px;z-index:3}.wildflower{position:absolute;left:calc(var(--i) * 12% + 2%);bottom:0;width:42px;height:145px;transform-origin:bottom center;animation:flower-sway 3.8s ease-in-out infinite alternate;animation-delay:calc(var(--i) * -.35s)}.wildflower i{position:absolute;left:19px;bottom:0;width:4px;height:108px;background:#527545;border-radius:5px}.wildflower i:before,.wildflower i:after{content:"";position:absolute;width:24px;height:11px;background:#6f975d;border-radius:90% 10% 90% 10%}.wildflower i:before{left:-20px;top:42px;transform:rotate(18deg)}.wildflower i:after{left:2px;top:65px;transform:scaleX(-1) rotate(18deg)}.wildflower b{position:absolute;left:6px;top:17px;width:30px;height:30px;border-radius:50%;background:#f5f0c8;box-shadow:-17px 3px 0 -4px #fff7dd,17px 3px 0 -4px #fff7dd,0 -15px 0 -4px #fff7dd,0 17px 0 -4px #fff7dd}.wildflower b:after{content:"";position:absolute;inset:9px;border-radius:50%;background:#d4a442}.wildflower.tulip b{border-radius:45% 45% 52% 52%;background:#d77b87;box-shadow:none}.wildflower.bluebell b{background:#7188c5;box-shadow:0 12px 0 -3px #7188c5,0 24px 0 -5px #7188c5;border-radius:50% 50% 65% 65%}.wildflower.lavender b{width:17px;height:48px;left:13px;top:2px;background:#8a77ae;box-shadow:-8px 7px 0 -4px #8a77ae,8px 14px 0 -4px #8a77ae,-7px 22px 0 -4px #8a77ae,7px 31px 0 -4px #8a77ae;border-radius:50%}.wildflower.poppy b{background:#c95748;box-shadow:-12px 0 0 -5px #d96756,12px 0 0 -5px #d96756,0 -12px 0 -5px #d96756,0 12px 0 -5px #d96756}.wildflower.cornflower b{background:#6f91c8;box-shadow:-12px 0 0 -6px #6f91c8,12px 0 0 -6px #6f91c8,0 -12px 0 -6px #6f91c8,0 12px 0 -6px #6f91c8}.wildflower.aster b{background:#9872a7;box-shadow:-14px 0 0 -6px #9872a7,14px 0 0 -6px #9872a7,0 -14px 0 -6px #9872a7,0 14px 0 -6px #9872a7}.wildflower.chrysanthemum b{background:#d7a552;box-shadow:-11px 0 0 -3px #e7bf68,11px 0 0 -3px #e7bf68,0 -11px 0 -3px #e7bf68,0 11px 0 -3px #e7bf68}.wildflower.snowdrop b{top:20px;background:#f9fbf4;box-shadow:-7px 8px 0 -4px #f9fbf4,7px 8px 0 -4px #f9fbf4}.wildflower.evergreen b{width:36px;height:80px;left:3px;top:20px;background:#466a47;clip-path:polygon(50% 0,100% 100%,0 100%);box-shadow:none}
.bee{position:absolute;z-index:6;font-size:25px;filter:drop-shadow(1px 2px 1px rgba(0,0,0,.15));animation:bee-flight 8s ease-in-out infinite}.bee-one{left:17%;top:110px}.bee-two{left:43%;top:160px;animation-delay:-2.8s}.bee-three{left:61%;top:96px;animation-delay:-5.1s}
.apiary-copy{align-self:center}.apiary-copy .eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;color:#806a4f;margin:0}.apiary-copy h2{font-family:"IM Fell English",serif;font-size:2.25rem;margin:.25rem 0 .6rem}.honey-panel{display:grid;grid-template-columns:170px 1fr;gap:20px;align-items:center;margin-top:20px;padding:18px;background:#fff9e9;border:1px solid #c2aa78}.honey-jar-wrap{text-align:center}.honey-jar{position:relative;width:118px;height:170px;margin:16px auto 8px;border:5px solid rgba(138,151,144,.58);border-top-width:8px;border-radius:18px 18px 26px 26px;background:linear-gradient(90deg,rgba(255,255,255,.56),rgba(221,235,230,.2) 35%,rgba(255,255,255,.4));overflow:visible;box-shadow:inset 8px 0 12px rgba(255,255,255,.45),5px 7px 0 rgba(77,54,31,.1)}.honey-fill{position:absolute;left:0;right:0;bottom:0;height:0%;border-radius:0 0 20px 20px;background:linear-gradient(#f8c74f,#d99518 70%,#b87410);transition:height 1.2s cubic-bezier(.2,.8,.2,1);overflow:hidden}.honey-fill:before{content:"";position:absolute;left:-10%;right:-10%;top:-8px;height:18px;border-radius:50%;background:#ffd96e}.honey-glass-shine{position:absolute;left:14px;top:20px;width:11px;height:105px;border-radius:20px;background:rgba(255,255,255,.5)}.honey-lid{position:absolute;left:-10px;right:-10px;top:-20px;height:26px;border-radius:5px;background:repeating-linear-gradient(90deg,#b58b45 0 8px,#d1aa63 8px 14px);border:2px solid #795e35;z-index:4}.honey-jar-label{position:absolute;left:17px;right:17px;top:72px;padding:9px 2px;background:#f7edc9;border:1px solid #8d7149;font-size:.72rem;letter-spacing:.16em;font-weight:bold;color:#6b4d2a;z-index:3}.honey-percent{font-size:1.35rem;color:#6f4e24}.hive-stats{display:grid;gap:11px}.hive-stats div{padding:10px 12px;background:#f3ead2;border-left:4px solid #c6953f}.hive-stats span{display:block;font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;color:#7a6752}.hive-stats strong{display:block;margin-top:2px}.hive-status{margin:12px 0 0;font-style:italic;color:#6d5a47}
.pantry-honey-icon{display:inline-grid;place-items:center;width:42px;height:42px;font-size:28px}.pantry-honey-row{background:#fff7d7}
@keyframes bee-flight{0%,100%{transform:translate(0,0) rotate(-8deg)}25%{transform:translate(70px,-35px) rotate(8deg)}50%{transform:translate(140px,22px) rotate(-3deg)}75%{transform:translate(60px,45px) rotate(6deg)}}@keyframes flower-sway{from{transform:rotate(-2deg)}to{transform:rotate(3deg)}}
@media(max-width:860px){.apiary-section{grid-template-columns:1fr}.meadow-scene{min-height:360px}.honey-panel{grid-template-columns:145px 1fr}.wooden-hive{right:7%}}@media(max-width:560px){.honey-panel{grid-template-columns:1fr}.wildflower-strip{right:20%}.wooden-hive{transform:scale(.78);transform-origin:right bottom}.bee{font-size:20px}.apiary-section{padding:14px}.cork-board-frame{padding:16px 12px}}


/* ===== v0.9.0 ambience, responsive books, and community goals ===== */
.community-goal{max-width:900px;margin:0 auto 22px;padding:20px 22px;background:#f3e7c8;border:2px solid #9d8053;box-shadow:5px 6px 0 rgba(80,58,38,.12)}
.community-goal-heading,.goal-details{display:flex;justify-content:space-between;align-items:center;gap:18px}.community-goal .eyebrow{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:#796149}.community-goal h2{margin:.2rem 0 0;font-family:"IM Fell English",serif;color:#536b48}.community-goal-heading>strong{padding:7px 12px;border-radius:999px;background:#607953;color:#fff;white-space:nowrap}.goal-progress{height:20px;margin:16px 0 10px;padding:3px;border:1px solid #826d4d;border-radius:999px;background:#d9c9a4;overflow:hidden}.goal-progress span{display:block;height:100%;width:0;border-radius:999px;background:repeating-linear-gradient(45deg,#789866 0 10px,#88a977 10px 20px);transition:width .8s ease}.goal-details span{font-style:italic;color:#6f5b47;text-align:right}
.plant-picture{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:4/5;min-height:210px;background:#dce7cf}.plant-picture>img{position:relative;z-index:3;width:100%;height:100%;object-fit:contain;filter:brightness(var(--scene-light,1));transition:filter 1s}.plant-stage-ribbon{z-index:8}.scene-sky{position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(#bfe1f2 0 62%,#b4cc8b 62% 76%,#9a7950 76%);filter:brightness(var(--scene-light));transition:filter 1s,background 1s}.scene-sunrise{background:linear-gradient(#8ba9d0 0,#f5b58c 46%,#f2d79b 62%,#abc986 62% 76%,#94724e 76%)}.scene-sunset{background:linear-gradient(#59678f 0,#de8e78 42%,#edbe84 62%,#879d70 62% 76%,#765944 76%)}.scene-night{background:linear-gradient(#15203d 0,#27375b 62%,#314f46 62% 76%,#43382e 76%)}.scene-night:before{content:"✦  ·  ✧  ·  ✦";position:absolute;left:12%;top:8%;color:#fff7c7;letter-spacing:14px;font-size:14px}.scene-weather-label{position:absolute;z-index:9;left:8px;bottom:8px;padding:4px 7px;border-radius:999px;background:rgba(255,250,231,.86);font-size:.66rem;line-height:1;color:#534536;box-shadow:0 2px 4px rgba(0,0,0,.12)}.weather-effects{position:absolute;inset:0;z-index:5;pointer-events:none}.weather-rain~.weather-effects,.weather-storm~.weather-effects{background-image:repeating-linear-gradient(105deg,transparent 0 18px,rgba(210,232,245,.72) 19px 21px,transparent 22px 37px);animation:rainfall .75s linear infinite}.weather-fog~.weather-effects{background:linear-gradient(transparent 25%,rgba(245,245,238,.66) 48%,rgba(245,245,238,.35) 67%,transparent 82%)}.weather-cloudy:after,.weather-partly-cloudy:after{content:"";position:absolute;right:9%;top:11%;width:42%;height:12%;border-radius:999px;background:rgba(255,255,255,.72);box-shadow:-24px 7px 0 -2px rgba(255,255,255,.68),17px 9px 0 -4px rgba(255,255,255,.72)}.scene-wildlife{position:absolute;z-index:7;font-size:17px;filter:drop-shadow(1px 1px 1px rgba(0,0,0,.18));animation:wildlife-float 7s ease-in-out infinite}.wildlife-1{left:13%;top:27%}.wildlife-2{right:13%;top:38%;animation-delay:-2.4s}.wildlife-3{left:35%;bottom:14%;animation-delay:-4.6s}
.meadow-scene .scene-sky{z-index:-1}.meadow-scene .scene-weather-label{top:10px;left:10px;bottom:auto}.meadow-scene .weather-effects{z-index:5}.meadow-scene .scene-wildlife{z-index:7;font-size:23px}.meadow-scene[data-time="night"] .meadow-cloud{opacity:.18}.meadow-scene[data-time="night"]{color:#f6ecd4}.meadow-scene[data-weather="rain"] .bee,.meadow-scene[data-weather="storm"] .bee{opacity:.28;animation-play-state:paused}
@keyframes rainfall{from{background-position:0 -30px}to{background-position:-20px 35px}}@keyframes wildlife-float{0%,100%{transform:translate(0,0) rotate(-3deg)}50%{transform:translate(12px,-9px) rotate(4deg)}}

/* thinner books: six per shelf on wide screens */
.library-shelves .shelf-row{grid-template-columns:repeat(6,minmax(0,1fr));gap:11px;padding-inline:22px}.shelf-book{width:100%;min-width:0;flex:auto;min-height:190px;padding:16px 8px;border-radius:3px 7px 7px 3px}.shelf-book span{font-size:1rem;overflow-wrap:anywhere}.shelf-book small{font-size:.64rem}.blank-page{background:transparent}.blank-page:after{content:"The End  ❦";display:grid;place-items:center;height:100%;font-family:"IM Fell English",serif;color:#9b8768;font-style:italic}
/* Keep a genuine two-page spread on Safari/iPhone instead of hiding page two. */
.book-volume{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;overflow:hidden;-webkit-transform:translateZ(0);transform:translateZ(0)}.book-page{display:block!important;grid-column:auto!important;min-width:0;-webkit-overflow-scrolling:touch}.book-cover-inside{display:block!important;grid-column:auto!important}.book-volume:after{display:block!important}.page-leaf{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0)}
@media(max-width:1050px){.library-shelves .shelf-row{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:820px){.community-goal-heading,.goal-details{align-items:flex-start;flex-direction:column}.goal-details span{text-align:left}.garden-card.live-plant{grid-template-columns:130px 1fr}.library-shelves .shelf-row{grid-template-columns:repeat(3,minmax(0,1fr))}.book-volume{width:96vw;height:64vh;border-width:8px}.book-page{padding:20px 15px;font-size:.84rem;line-height:1.42}.book-page h2{font-size:1.35rem}.book-controls{gap:7px;font-size:.8rem}.book-controls button{padding:8px 10px}.book-close{right:4px;top:-38px}}
@media(max-width:540px){.library-shelves .shelf-row{grid-template-columns:repeat(2,minmax(0,1fr));padding-inline:12px}.shelf-book{min-height:150px}.garden-card.live-plant{grid-template-columns:1fr}.plant-picture{width:min(210px,100%);margin:auto}.book-volume{height:61vh}.book-page{padding:15px 10px;font-size:.72rem;line-height:1.34}.book-page h2{font-size:1.05rem;margin-top:.2rem}.book-controls span{min-width:92px;text-align:center}.scene-weather-label{font-size:.6rem}}
@media(prefers-reduced-motion:reduce){.scene-wildlife,.weather-effects,.bee,.wildflower{animation:none!important}.goal-progress span{transition:none}}

/* ===== v0.9.2 garden ambience rebuild ===== */
/* Stable garden-card geometry: the portrait can never cover the copy. */
.garden-card.live-plant{
  display:grid!important;
  grid-template-columns:minmax(0,150px) minmax(0,1fr)!important;
  align-items:start!important;
  gap:22px!important;
  overflow:hidden!important;
}
.garden-card.live-plant>div{min-width:0!important}
.plant-picture{
  position:relative!important;
  isolation:isolate!important;
  width:100%!important;
  max-width:150px!important;
  height:300px!important;
  min-height:300px!important;
  aspect-ratio:auto!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid #aa936c!important;
  border-radius:2px!important;
  background:#dce9d7!important;
  box-shadow:inset 0 0 24px rgba(77,62,43,.08)!important;
}
.plant-picture>img{
  position:absolute!important;
  z-index:4!important;
  left:0!important;right:0!important;bottom:0!important;
  width:100%!important;height:100%!important;max-height:none!important;
  padding:0!important;margin:0!important;
  object-fit:contain!important;object-position:center bottom!important;
  filter:none!important;
}
.plant-stage-ribbon{z-index:12!important;left:10px!important;top:10px!important;max-width:calc(100% - 20px)}

/* Pastel storybook skies: night stays colorful, legible, and gentle. */
.scene-sky{
  position:absolute!important;inset:0!important;z-index:0!important;
  overflow:hidden!important;pointer-events:none!important;filter:none!important;
  background:linear-gradient(180deg,#bfe1ee 0 56%,#bad49a 56% 74%,#b79a70 74% 100%)!important;
}
.scene-sunrise{background:linear-gradient(180deg,#9eb9dc 0%,#f5c1b0 38%,#ffe0a8 57%,#bfd29a 57% 74%,#b69a71 74%)!important}
.scene-sunset{background:linear-gradient(180deg,#8897c6 0%,#e8a1a4 37%,#f7c692 58%,#9db17e 58% 74%,#9c7d61 74%)!important}
.scene-night{
  background:linear-gradient(180deg,#584b8a 0%,#6d62a1 44%,#8979ad 58%,#607b74 58% 74%,#6f6258 74%)!important;
}
.scene-night:before{
  content:""!important;position:absolute!important;inset:0!important;
  background:
    radial-gradient(circle at 82% 17%,#fff4a9 0 9px,transparent 10px),
    radial-gradient(circle at 78% 15%,#6a5b98 0 8px,transparent 9px),
    radial-gradient(circle,#fff7cf 0 1.2px,transparent 1.8px) 12% 14%/58px 54px,
    radial-gradient(circle,#eee8ff 0 1px,transparent 1.6px) 35% 5%/76px 62px;
  opacity:.95!important;
}
.scene-night:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.05),transparent 35%,rgba(255,244,203,.06));}

.scene-weather-label{
  z-index:13!important;left:9px!important;bottom:8px!important;top:auto!important;
  max-width:calc(100% - 18px)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  padding:5px 8px!important;border:1px solid rgba(117,93,63,.22)!important;
  background:rgba(255,250,233,.93)!important;box-shadow:0 2px 8px rgba(54,41,31,.12)!important;
  color:#544536!important;font-size:.62rem!important;
}
.weather-effects{position:absolute!important;inset:0!important;z-index:6!important;pointer-events:none!important;overflow:hidden!important}
.weather-rain~.weather-effects,.weather-storm~.weather-effects{
  background-image:repeating-linear-gradient(103deg,transparent 0 27px,rgba(222,239,247,.42) 28px 29px,transparent 30px 49px)!important;
  animation:rainfall 1.35s linear infinite!important;
  opacity:.72!important;
}
.weather-fog~.weather-effects{background:linear-gradient(transparent 35%,rgba(250,248,240,.35) 54%,rgba(250,248,240,.15) 72%,transparent 84%)!important}
.weather-cloudy:after,.weather-partly-cloudy:after{
  width:34%!important;height:7%!important;right:8%!important;top:12%!important;
  background:rgba(255,255,255,.62)!important;box-shadow:-17px 5px 0 -2px rgba(255,255,255,.54),13px 6px 0 -3px rgba(255,255,255,.58)!important;
}
.scene-wildlife{z-index:10!important;font-size:15px!important;pointer-events:none!important;filter:drop-shadow(0 1px 1px rgba(0,0,0,.14))!important}
.plant-picture .scene-wildlife{right:11px!important;left:auto!important;top:52px!important;bottom:auto!important;animation:wildlife-float 8s ease-in-out infinite!important}
.plant-picture .wildlife-2,.plant-picture .wildlife-3{display:none!important}

/* Meadow ambience fills the whole meadow rather than creating a pasted-on box. */
.meadow-scene{position:relative!important;isolation:isolate!important;overflow:hidden!important;background:#b8d49a!important}
.meadow-scene>.scene-sky{z-index:0!important}
.meadow-scene>.weather-effects{z-index:5!important}
.meadow-scene>.scene-weather-label{z-index:15!important;top:12px!important;bottom:auto!important;left:12px!important;width:auto!important}
.meadow-scene>.scene-wildlife{z-index:9!important;font-size:21px!important}
.meadow-scene>.wildlife-1{left:14%!important;top:26%!important;right:auto!important}
.meadow-scene>.wildlife-2{left:42%!important;top:35%!important;right:auto!important}
.meadow-scene>.wildlife-3{left:62%!important;top:20%!important;right:auto!important}
.meadow-scene:after{z-index:2!important}
.meadow-cloud{z-index:3!important;opacity:.72!important}
.wildflower-strip{z-index:7!important}
.wooden-hive{z-index:8!important}
.bee{z-index:10!important}
.meadow-scene[data-time="night"] .meadow-cloud{opacity:.24!important}
.meadow-scene[data-time="night"] .wooden-hive{filter:brightness(.9) saturate(.9)}

@media(max-width:820px){
  .garden-card.live-plant{grid-template-columns:minmax(0,130px) minmax(0,1fr)!important;gap:16px!important}
  .plant-picture{max-width:130px!important;height:260px!important;min-height:260px!important}
}
@media(max-width:560px){
  .garden-card.live-plant{grid-template-columns:1fr!important;gap:15px!important;padding:15px!important}
  .plant-picture{width:min(190px,100%)!important;max-width:190px!important;height:300px!important;min-height:300px!important;margin:0 auto!important}
  .garden-card.live-plant>div:nth-child(2){width:100%!important;text-align:left!important}
  .meadow-scene{min-height:330px!important}
  .wooden-hive{right:3%!important;bottom:54px!important;transform:scale(.66)!important;transform-origin:right bottom!important}
  .wildflower-strip{right:25%!important;left:0!important;bottom:34px!important;transform:scale(.82);transform-origin:left bottom}
  .meadow-scene>.scene-wildlife{font-size:17px!important}
  .meadow-scene>.wildlife-3{display:none!important}
}

/* ===== v0.9.3 quieter weather + integrated garden scenes ===== */
/* Softer scene proportions: more sky/grass, only a slim earth bed. */
.scene-sky{
  background:linear-gradient(180deg,#bfe1ee 0 64%,#b8d398 64% 86%,#ad906a 86% 100%)!important;
}
.scene-sunrise{background:linear-gradient(180deg,#9eb9dc 0%,#f5c1b0 40%,#ffe0a8 64%,#bfd29a 64% 86%,#ad906a 86%)!important}
.scene-sunset{background:linear-gradient(180deg,#8897c6 0%,#e8a1a4 39%,#f7c692 64%,#9db17e 64% 86%,#92745a 86%)!important}
.scene-night{
  background:linear-gradient(180deg,#554b86 0%,#6f63a0 47%,#887aab 64%,#5f786f 64% 86%,#6c5c50 86%)!important;
}
/* Dim scene inhabitants at night without making the garden pitch black. */
.scene-night~img,.meadow-scene[data-time="night"] .wildflower-strip,.meadow-scene[data-time="night"] .wooden-hive{
  filter:brightness(.72) saturate(.82)!important;
}

/* Real droplet-like rain: short rounded beads rather than diagonal stripes. */
.weather-rain~.weather-effects,.weather-storm~.weather-effects{
  background-image:
    radial-gradient(ellipse at center,rgba(224,241,249,.88) 0 34%,rgba(224,241,249,.25) 36% 50%,transparent 53%);
  background-size:7px 18px!important;
  background-position:0 -22px!important;
  animation:raindrops .78s linear infinite!important;
  opacity:.72!important;
}
@keyframes raindrops{from{background-position:0 -22px}to{background-position:13px 30px}}

/* One subtle visitor at most, and it fades in/out instead of hovering forever. */
.scene-wildlife{
  opacity:0!important;
  animation:wildlife-visit 12s ease-in-out infinite!important;
}
@keyframes wildlife-visit{
  0%,12%,88%,100%{opacity:0;transform:translate(-5px,4px) scale(.88)}
  24%,72%{opacity:.82;transform:translate(4px,-3px) scale(1)}
}
.plant-picture .scene-wildlife{right:12px!important;top:54px!important;font-size:14px!important}
.meadow-scene>.scene-wildlife{left:28%!important;right:auto!important;top:28%!important;font-size:19px!important}
.meadow-scene>.wildlife-2,.meadow-scene>.wildlife-3{display:none!important}
.meadow-scene[data-time="night"]>.scene-wildlife{display:none!important}

/* Bees rest at night and during rain; no visible nectar-collecting activity. */
.meadow-scene[data-time="night"] .bee,
.meadow-scene[data-weather="rain"] .bee,
.meadow-scene[data-weather="storm"] .bee,
[data-hive-panel][data-bees-resting="true"] .bee{
  display:none!important;
}

/* Make the meadow feel built into the page instead of pasted over it. */
.apiary-section{
  align-items:stretch!important;
  background:linear-gradient(180deg,#f8f0dc,#f3e7ca)!important;
  border:1px solid #bba77e!important;
  padding:20px!important;
  gap:24px!important;
}
.meadow-scene{
  border:0!important;
  border-radius:18px!important;
  box-shadow:inset 0 0 0 1px rgba(116,95,65,.24),0 8px 18px rgba(82,61,39,.10)!important;
  min-height:390px!important;
}
.meadow-scene>.scene-weather-label{
  top:12px!important;left:12px!important;
  background:rgba(255,250,233,.88)!important;
}
/* Night is darker than before, but remains soft and storybook-like. */
.meadow-scene[data-time="night"]:before{
  content:"";position:absolute;inset:0;z-index:11;pointer-events:none;
  background:rgba(37,31,71,.12);
}

@media(max-width:820px){
  .apiary-section{padding:15px!important;gap:18px!important}
  .meadow-scene{min-height:340px!important;border-radius:14px!important}
}
@media(max-width:560px){
  .scene-weather-label{font-size:.58rem!important;max-width:calc(100% - 16px)!important}
  .meadow-scene{min-height:310px!important}
  .meadow-scene>.scene-wildlife{font-size:16px!important}
}

/* ===== v0.9.4 scene accuracy and layering fixes ===== */
/* Keep all celestial details strictly in the sky portion. */
.scene-night:before{
  content:""!important;
  position:absolute!important;
  left:0!important;right:0!important;top:0!important;bottom:auto!important;
  height:64%!important;
  background:
    radial-gradient(circle at 78% 18%,#fff5b7 0 10px,transparent 11px),
    radial-gradient(circle at 75.5% 15.5%,#62558f 0 10px,transparent 11px),
    radial-gradient(circle,#fff8d8 0 1.1px,transparent 1.7px) 8% 9%/64px 58px,
    radial-gradient(circle,#eee9ff 0 1px,transparent 1.6px) 31% 3%/82px 68px!important;
  opacity:.88!important;
  pointer-events:none!important;
}
.scene-night:after{
  content:""!important;position:absolute!important;left:0!important;right:0!important;top:0!important;height:64%!important;
  background:linear-gradient(90deg,rgba(255,255,255,.035),transparent 40%,rgba(255,244,203,.045))!important;
  pointer-events:none!important;
}
/* No star or moon layer can spill onto grass or soil. */
.scene-sky{overflow:hidden!important}

/* Weather badge sits beneath the stage ribbon instead of floating over the scene. */
.plant-picture .scene-weather-label{
  left:12px!important;top:54px!important;bottom:auto!important;right:auto!important;
  z-index:12!important;max-width:calc(100% - 24px)!important;
}
.meadow-scene>.scene-weather-label{
  left:14px!important;top:56px!important;bottom:auto!important;right:auto!important;
  z-index:12!important;
}

/* Meadow depth: hive is farther back; flowers visibly pass in front of it. */
.meadow-scene>.scene-sky{z-index:0!important}
.meadow-scene:after{z-index:2!important}
.meadow-cloud{z-index:3!important}
.weather-effects{z-index:4!important}
.wooden-hive{z-index:5!important}
.wildflower-strip{z-index:7!important}
.meadow-scene>.scene-wildlife{z-index:8!important}
.bee{z-index:8!important}

/* Remove the extra full-scene night wash that sat above flowers and hive. */
.meadow-scene[data-time="night"]:before{display:none!important}

/* Night scenes stay readable but are clearly darker; plants and hive share the same light. */
.scene-night~img,
.meadow-scene[data-time="night"] .wildflower-strip,
.meadow-scene[data-time="night"] .wooden-hive{
  filter:brightness(.62) saturate(.76)!important;
}
.meadow-scene[data-time="night"] .bee{display:none!important}

/* Rain remains rounded drops and is limited to the scene, never long streaks. */
.weather-rain~.weather-effects,.weather-storm~.weather-effects{
  background-image:
    radial-gradient(ellipse at 50% 50%,rgba(225,241,249,.82) 0 28%,rgba(225,241,249,.28) 30% 47%,transparent 50%)!important;
  background-size:8px 20px!important;
  animation:raindrops .9s linear infinite!important;
  opacity:.56!important;
}

@media(max-width:560px){
  .plant-picture .scene-weather-label{top:52px!important;left:10px!important;max-width:calc(100% - 20px)!important}
  .meadow-scene>.scene-weather-label{top:50px!important;left:10px!important}
}

/* ===== v0.9.5 clean celestial, weather, and meadow composition ===== */
/* Remove all older pseudo-element moon/star patterns. */
.scene-night:before,.scene-night:after{display:none!important;content:none!important}

/* A dedicated celestial layer keeps every star and moon in the sky only. */
.scene-celestial{position:absolute;inset:0 0 36% 0;z-index:2;overflow:hidden;pointer-events:none}
.scene-moon{position:absolute;right:10%;top:9%;width:24px;height:24px;border-radius:50%;background:#fff2a8;box-shadow:0 0 14px rgba(255,239,158,.42)}
.scene-moon:after{content:"";position:absolute;width:22px;height:22px;border-radius:50%;left:7px;top:-4px;background:#62558f}
.scene-star{position:absolute;left:var(--star-x);top:var(--star-y);width:var(--star-size);height:var(--star-size);border-radius:50%;background:#fff8d7;box-shadow:0 0 5px rgba(255,248,215,.6);animation:star-twinkle 4.6s ease-in-out infinite;animation-delay:calc(var(--star-delay) * -1)}
@keyframes star-twinkle{0%,100%{opacity:.42;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}

/* Weather label is now outside each crop portrait, in the card's paper area. */
.plant-portrait-wrap{display:flex;flex-direction:column;align-self:start;min-width:0}
.plant-portrait-wrap>.plant-picture{width:100%}
.scene-weather-label-below{position:static!important;display:inline-flex!important;align-items:center;align-self:flex-start;gap:.28rem;margin-top:9px;padding:6px 11px!important;border:1px solid #8ea179!important;border-radius:999px!important;background:linear-gradient(#eaf1df,#d8e5cc)!important;color:#40533d!important;box-shadow:0 2px 0 rgba(74,91,62,.14)!important;font-size:.72rem!important;line-height:1.05!important;white-space:nowrap}
.plant-picture>.scene-weather-label{display:none!important}

/* Actual individual rain droplets, never a repeating wallpaper. */
.weather-rain~.weather-effects,.weather-storm~.weather-effects{background:none!important;background-image:none!important;opacity:1!important;animation:none!important}
.weather-effects{position:absolute!important;inset:0!important;z-index:6!important;overflow:hidden!important;pointer-events:none!important}
.rain-drop{position:absolute;left:var(--drop-x);top:var(--drop-y);width:3px;height:8px;border-radius:50% 50% 55% 55%;background:rgba(220,240,250,.82);box-shadow:0 0 3px rgba(225,242,250,.35);animation:single-raindrop var(--drop-duration) linear infinite;animation-delay:calc(var(--drop-delay) * -1)}
@keyframes single-raindrop{from{transform:translateY(-18px);opacity:0}12%{opacity:.85}to{transform:translateY(520px);opacity:.18}}

/* Meadow: remove patterned artifacts and rebuild clear depth. */
.meadow-scene{background:#b8d49a!important}
.meadow-scene>.scene-sky{z-index:0!important}
.meadow-scene>.scene-celestial{z-index:2!important;inset:0 0 36% 0!important}
.meadow-cloud{z-index:3!important}
.meadow-scene>.weather-effects{z-index:4!important}
.meadow-scene:after{z-index:5!important}
.wooden-hive{z-index:6!important}
.wildflower-strip{z-index:8!important}
.bee,.meadow-scene>.scene-wildlife{z-index:9!important}
.meadow-scene>.scene-weather-label{z-index:12!important;top:12px!important;left:12px!important;background:linear-gradient(#eaf1df,#d8e5cc)!important;color:#40533d!important;border:1px solid #8ea179!important}

/* The flowers clearly pass in front of the hive. */
.wildflower-strip{right:30%!important}
.wooden-hive{right:10%!important;bottom:62px!important}

/* Night remains soft, but all meadow inhabitants are visibly darker. */
.meadow-scene[data-time="night"] .wildflower-strip,.meadow-scene[data-time="night"] .wooden-hive{filter:brightness(.56) saturate(.72)!important}
.meadow-scene[data-time="night"] .bee{display:none!important}

@media(max-width:820px){
  .scene-weather-label-below{font-size:.66rem!important;margin-top:7px}
  .scene-moon{width:20px;height:20px}.scene-moon:after{width:19px;height:19px}
}
@media(max-width:560px){
  .plant-portrait-wrap{width:min(210px,100%);margin:auto}
  .plant-picture{width:100%!important;margin:0!important}
  .scene-weather-label-below{font-size:.62rem!important;padding:5px 9px!important}
  .wildflower-strip{right:22%!important}
  .wooden-hive{right:2%!important;transform:scale(.7)!important;transform-origin:right bottom!important}
}


/* ===== v0.9.6 one shared garden + one shared weather ===== */
.shared-garden-section{margin-top:30px;padding:22px;border:1px solid #b69d70;background:#f8f0dc;box-shadow:7px 8px 0 rgba(80,58,38,.1)}
.shared-garden-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:16px}
.shared-garden-heading .eyebrow{margin:0;text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;color:#806a4f}
.shared-garden-heading h2{margin:.2rem 0 0;font-family:"IM Fell English",serif;font-size:2rem;color:#334a31}
.shared-weather{display:grid;grid-template-columns:auto auto;align-items:center;column-gap:8px;min-width:220px;padding:9px 14px;border:1px solid #8ea179;border-radius:18px;background:linear-gradient(#eaf1df,#d8e5cc);color:#40533d;box-shadow:0 3px 0 rgba(74,91,62,.13)}
.shared-weather>span{grid-row:1/3;font-size:1.35rem}.shared-weather strong{font-size:.95rem}.shared-weather small{font-size:.7rem;opacity:.78}
.community-garden-scene{position:relative;isolation:isolate;overflow:hidden;min-height:520px;border:1px solid #9f8e67;border-radius:24px;background:#b8d49a;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.community-garden-scene>.scene-sky{z-index:0!important}.community-garden-scene>.scene-celestial{z-index:1!important;inset:0 0 42% 0!important}.community-garden-scene>.weather-effects{z-index:6!important}
.garden-hills{position:absolute;z-index:2;left:-4%;right:-4%;bottom:23%;height:31%;background:radial-gradient(ellipse at 12% 100%,#719c54 0 33%,transparent 34%),radial-gradient(ellipse at 38% 100%,#82aa61 0 36%,transparent 37%),radial-gradient(ellipse at 67% 100%,#709a51 0 35%,transparent 36%),radial-gradient(ellipse at 92% 100%,#7fa65a 0 31%,transparent 32%)}
.garden-soil{position:absolute;z-index:3;left:0;right:0;bottom:0;height:25%;background:linear-gradient(#8a735c,#695646);clip-path:polygon(0 17%,8% 9%,16% 18%,26% 7%,36% 15%,46% 6%,58% 17%,68% 8%,79% 16%,90% 7%,100% 14%,100% 100%,0 100%)}
.garden-plants-layer{position:absolute;z-index:5;left:3%;right:3%;bottom:8%;height:61%;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));align-items:end;gap:1%}
.garden-scene-plant{position:relative;display:flex;align-items:center;justify-content:flex-end;flex-direction:column;min-width:0;height:100%}
.garden-scene-plant img{display:block;width:100%;height:88%;object-fit:contain;object-position:center bottom;filter:brightness(var(--scene-light,1));transform-origin:center bottom}
.garden-scene-plant:nth-child(2n) img{transform:scale(.92)}.garden-scene-plant:nth-child(3n) img{transform:scale(1.05)}
.scene-plant-name{position:absolute;z-index:3;bottom:-2px;left:50%;transform:translateX(-50%);max-width:100%;padding:4px 8px;border-radius:999px;background:rgba(247,239,215,.92);border:1px solid rgba(126,103,67,.62);font-size:.66rem;white-space:nowrap;color:#463a2e;box-shadow:0 2px 0 rgba(0,0,0,.08)}
.community-garden-scene[data-time="night"] .garden-plants-layer{filter:brightness(.62) saturate(.78)}
.community-garden-scene>.scene-wildlife{z-index:7!important;left:72%!important;top:27%!important}
.plant-stats-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}
.plant-stat-card{padding:18px;border:1px solid #b9a47e;background:#fffaf0;box-shadow:4px 5px 0 rgba(80,58,38,.08)}
.plant-stat-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:5px}.plant-stat-heading h3{margin:0;font-family:"IM Fell English",serif;font-size:1.55rem;color:#334a31}.plant-stat-number{order:2;padding:4px 8px;border:1px solid #b69d70;border-radius:999px;background:#f1e6c9;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}
.plant-stat-card .plant-description{margin:.2rem 0 .8rem}.plant-stat-card .garden-stats{grid-template-columns:1.25fr .8fr .9fr}.plant-stat-card .garden-stat{min-height:72px;padding:10px}.plant-stat-card .water-row{margin-top:12px}
/* One weather system: hide all scene-local labels. */
.community-garden-scene .scene-weather-label,.meadow-scene>.scene-weather-label{display:none!important}
/* Meadow and garden share the exact same sky/weather. */
.meadow-scene>.scene-celestial{inset:0 0 36% 0!important}
@media(max-width:950px){.community-garden-scene{min-height:450px}.garden-plants-layer{grid-template-columns:repeat(4,1fr);height:72%;bottom:4%;gap:1.5%}.garden-scene-plant{height:50%}.garden-scene-plant:nth-child(n+5){align-self:end}.plant-stats-grid{grid-template-columns:1fr}.shared-garden-heading{align-items:flex-start;flex-direction:column}.shared-weather{min-width:0}}
@media(max-width:600px){.shared-garden-section{padding:13px}.community-garden-scene{min-height:560px;border-radius:17px}.garden-plants-layer{grid-template-columns:repeat(2,1fr);height:83%;bottom:2%}.garden-scene-plant{height:25%}.scene-plant-name{font-size:.58rem;padding:3px 6px}.plant-stat-card{padding:14px}.plant-stat-card .garden-stats{grid-template-columns:1fr 1fr}.plant-stat-card .harvest-counter{grid-column:1/-1}.plant-stat-card .water-row{align-items:stretch;flex-direction:column}.shared-weather{width:100%;box-sizing:border-box}}


/* ===== v0.9.7 shared garden refinement ===== */
/* Plant art now floats naturally in the soil; labels sit beneath each plant. */
.garden-plants-layer{
  left:2.5%!important;right:2.5%!important;bottom:7%!important;height:67%!important;
  gap:.55%!important;
}
.garden-scene-plant{
  display:grid!important;grid-template-rows:minmax(0,1fr) auto!important;
  align-items:end!important;justify-items:center!important;height:100%!important;
  overflow:visible!important;
}
.scene-plant-art{
  width:100%;height:100%;min-height:0;display:flex;align-items:flex-end;justify-content:center;
  overflow:visible;
}
.garden-scene-plant img{
  width:145%!important;height:120%!important;max-width:none!important;
  object-fit:contain!important;object-position:center bottom!important;
  transform:translateY(7%) scale(1.15)!important;
  filter:brightness(var(--scene-light,1));
}
.garden-scene-plant:nth-child(2n) img,
.garden-scene-plant:nth-child(3n) img{transform:translateY(7%) scale(1.15)!important}
.scene-plant-name{
  position:static!important;transform:none!important;z-index:8!important;
  display:block;max-width:96%;margin-top:-1px;padding:2px 4px!important;
  border:0!important;border-radius:0!important;background:transparent!important;
  box-shadow:none!important;color:#3f392f!important;font-size:.7rem!important;
  line-height:1.15;text-align:center;white-space:normal!important;
  text-shadow:0 1px rgba(255,250,235,.8);
}
/* Clear weather must actually be clear. Static meadow clouds only appear for cloudy weather. */
.meadow-scene .meadow-cloud{display:none!important}
.meadow-scene[data-weather="partly-cloudy"] .meadow-cloud,
.meadow-scene[data-weather="cloudy"] .meadow-cloud,
.meadow-scene[data-weather="rain"] .meadow-cloud,
.meadow-scene[data-weather="storm"] .meadow-cloud{display:block!important}
.meadow-scene[data-weather="partly-cloudy"] .meadow-cloud-two{display:none!important}

/* Condensed plant information: four compact cards per row on wide screens. */
.plant-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:11px!important;margin-top:14px!important}
.plant-stat-card{padding:12px!important;box-shadow:3px 4px 0 rgba(80,58,38,.07)!important}
.plant-stat-heading{margin-bottom:6px!important}
.plant-stat-heading h3{font-size:1.18rem!important}
.plant-stat-number{padding:2px 6px!important;font-size:.58rem!important}
.plant-stat-card .plant-description{display:none!important}
.plant-stat-card .progress-row{margin:.2rem 0 .55rem!important}
.plant-stat-card .garden-stats{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important;
}
.plant-stat-card .garden-stat{
  min-height:0!important;padding:7px 6px!important;display:flex;flex-direction:column;justify-content:center;
}
.plant-stat-card .garden-stat span{font-size:.62rem!important;line-height:1.1}
.plant-stat-card .garden-stat strong{font-size:.77rem!important;line-height:1.15}
.plant-stat-card .water-row{margin-top:7px!important;display:grid!important;grid-template-columns:1fr!important;gap:3px!important}
.plant-stat-card [data-water]{padding:8px 10px!important;font-size:.86rem!important;width:100%!important}
.plant-stat-card .water-note{font-size:.68rem!important;text-align:center!important}
@media(max-width:1180px){.plant-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:680px){
  .plant-stats-grid{grid-template-columns:1fr!important}
  .community-garden-scene{min-height:620px!important}
  .garden-plants-layer{height:86%!important;bottom:3%!important;gap:0!important}
  .garden-scene-plant img{width:130%!important;height:112%!important;transform:translateY(5%) scale(1.05)!important}
  .garden-scene-plant:nth-child(2n) img,.garden-scene-plant:nth-child(3n) img{transform:translateY(5%) scale(1.05)!important}
  .scene-plant-name{font-size:.62rem!important}
}

/* ===== v0.9.8 garden clarity + meadow diversity ===== */
/* Shared garden plants: artwork above, names in a dedicated strip below. */
.garden-plants-layer{bottom:5.5%!important;height:70%!important;align-items:stretch!important;gap:.7%!important}
.garden-scene-plant{display:grid!important;grid-template-rows:minmax(0,1fr) 26px!important;height:100%!important;min-width:0!important;overflow:visible!important}
.scene-plant-art{width:100%!important;height:100%!important;overflow:hidden!important;display:flex!important;align-items:flex-end!important;justify-content:center!important}
.garden-scene-plant img{width:135%!important;height:125%!important;max-width:none!important;object-fit:contain!important;object-position:center bottom!important;transform:none!important;clip-path:inset(0 0 8% 0)!important}
.garden-scene-plant:nth-child(2n) img,.garden-scene-plant:nth-child(3n) img{transform:none!important}
.scene-plant-name{position:static!important;display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;max-width:100%!important;min-width:0!important;height:26px!important;margin:0!important;padding:0 2px!important;background:rgba(244,236,214,.92)!important;border-top:1px solid rgba(112,91,61,.35)!important;border-radius:0!important;color:#3e372e!important;font-size:.66rem!important;line-height:1!important;text-align:center!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;text-shadow:none!important;box-shadow:none!important}
/* Replace the circular-looking individual beds with one continuous natural soil row. */
.garden-soil{height:24%!important;background:linear-gradient(#8b735c 0 35%,#765f4d 36% 100%)!important;clip-path:polygon(0 15%,10% 8%,20% 13%,31% 6%,43% 12%,55% 7%,67% 14%,79% 8%,90% 13%,100% 7%,100% 100%,0 100%)!important}

/* Compact cards that never spill outside their own border. */
.plant-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}
.plant-stat-card{min-width:0!important;overflow:hidden!important;padding:11px!important;box-sizing:border-box!important}
.plant-stat-heading{min-width:0!important}.plant-stat-heading h3{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.plant-stat-card .progress-row{min-width:0!important}.plant-stat-card .progress-track{min-width:0!important}
.plant-stat-card .garden-stats{width:100%!important;min-width:0!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:4px!important}
.plant-stat-card .garden-stat{min-width:0!important;width:auto!important;overflow:hidden!important;padding:6px 5px!important;box-sizing:border-box!important}
.plant-stat-card .garden-stat span,.plant-stat-card .garden-stat strong{display:block!important;max-width:100%!important;overflow-wrap:anywhere!important;word-break:normal!important}
.plant-stat-card .garden-stat span{font-size:.58rem!important}.plant-stat-card .garden-stat strong{font-size:.73rem!important}
.plant-stat-card [data-water]{box-sizing:border-box!important;max-width:100%!important}

/* A more varied meadow: uneven heights, leaf patterns and silhouettes. */
.wildflower-strip{display:flex!important;align-items:flex-end!important;justify-content:space-around!important;gap:1.2%!important;left:3%!important;right:28%!important;bottom:8%!important;height:43%!important}
.wildflower{position:relative!important;flex:1 1 0!important;max-width:86px!important;height:var(--flower-height,78%)!important;transform:translateY(var(--flower-shift,0)) rotate(var(--flower-tilt,0deg))!important}
.wildflower:nth-child(2n){--flower-height:68%;--flower-tilt:-2deg}.wildflower:nth-child(3n){--flower-height:90%;--flower-shift:2%;--flower-tilt:2deg}.wildflower:nth-child(4n){--flower-height:74%;--flower-shift:4%}
.wildflower i{position:absolute!important;left:50%!important;bottom:0!important;width:5px!important;height:74%!important;background:#496b3f!important;transform:translateX(-50%)!important;border-radius:3px!important}
.wildflower i:before,.wildflower i:after{content:"";position:absolute;background:#668956;border-radius:100% 0 100% 0;width:18px;height:9px}
.wildflower i:before{left:-16px;top:43%;transform:rotate(18deg)}.wildflower i:after{right:-16px;top:61%;transform:scaleX(-1) rotate(18deg)}
.wildflower:nth-child(2n) i:before{top:58%;width:14px}.wildflower:nth-child(2n) i:after{top:35%;width:20px}
.wildflower:nth-child(3n) i:before{display:none}.wildflower:nth-child(3n) i:after{top:50%;right:-20px;width:23px}
.wildflower b{position:absolute!important;left:50%!important;top:4%!important;transform:translateX(-50%)!important;width:48px!important;height:48px!important;border-radius:50%!important;background:#efe5bd!important;box-shadow:-18px 4px 0 #efe5bd,18px 4px 0 #efe5bd,0 -17px 0 #efe5bd,0 18px 0 #efe5bd!important}
.wildflower b:after{content:"";position:absolute;left:50%;top:50%;width:16px;height:16px;border-radius:50%;background:#c79b3a;transform:translate(-50%,-50%)}
.wildflower.sunflower{--flower-height:100%;max-width:110px!important}.wildflower.sunflower i{width:8px!important;background:#4f743f!important}.wildflower.sunflower b{width:64px!important;height:64px!important;background:#e4ad2e!important;box-shadow:-21px 0 0 #e4ad2e,21px 0 0 #e4ad2e,0 -21px 0 #e4ad2e,0 21px 0 #e4ad2e,-15px -15px 0 #e4ad2e,15px -15px 0 #e4ad2e,-15px 15px 0 #e4ad2e,15px 15px 0 #e4ad2e!important}.wildflower.sunflower b:after{width:28px;height:28px;background:#6d4a28}
.wildflower.lavender b{width:20px!important;height:62px!important;border-radius:45%!important;background:#7a63a8!important;box-shadow:0 -13px 0 #8d75bd,0 13px 0 #6c5798!important}.wildflower.lavender b:after{display:none}
.wildflower.tulip b{width:42px!important;height:42px!important;border-radius:50% 50% 45% 45%!important;background:#cf6557!important;box-shadow:none!important;clip-path:polygon(0 26%,22% 0,50% 25%,78% 0,100% 26%,86% 100%,14% 100%)!important}.wildflower.tulip b:after{display:none}
.wildflower.bluebell b{width:28px!important;height:40px!important;border-radius:50% 50% 70% 70%!important;background:#6688c3!important;box-shadow:-18px 16px 0 #7395ce,18px 22px 0 #597cb8!important}.wildflower.bluebell b:after{display:none}
.wildflower.poppy b{background:#c95d4e!important;box-shadow:-17px 3px 0 #c95d4e,17px 3px 0 #c95d4e,0 -15px 0 #c95d4e,0 17px 0 #c95d4e!important}.wildflower.poppy b:after{background:#4d3b2d!important}
.wildflower.cornflower b{background:#537eb7!important;box-shadow:-16px 2px 0 #537eb7,16px 2px 0 #537eb7,0 -15px 0 #537eb7,0 16px 0 #537eb7!important}.wildflower.cornflower b:after{background:#c99d3e!important}
.wildflower.aster b{width:44px!important;height:44px!important;background:#8c6cac!important;box-shadow:-14px 0 0 #8c6cac,14px 0 0 #8c6cac,0 -14px 0 #8c6cac,0 14px 0 #8c6cac,-10px -10px 0 #8c6cac,10px -10px 0 #8c6cac,-10px 10px 0 #8c6cac,10px 10px 0 #8c6cac!important}
.wildflower.chrysanthemum b{width:54px!important;height:54px!important;background:#c4874d!important;box-shadow:-12px 0 0 #d39a5b,12px 0 0 #d39a5b,0 -12px 0 #d39a5b,0 12px 0 #d39a5b,-9px -9px 0 #ba7440,9px -9px 0 #ba7440,-9px 9px 0 #ba7440,9px 9px 0 #ba7440!important}
.wildflower.evergreen b{top:0!important;width:44px!important;height:78px!important;border-radius:0!important;background:#456b48!important;box-shadow:none!important;clip-path:polygon(50% 0,100% 38%,72% 38%,100% 70%,65% 70%,84% 100%,16% 100%,35% 70%,0 70%,28% 38%,0 38%)!important}.wildflower.evergreen b:after{display:none}

@media(max-width:1180px){.plant-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:680px){.plant-stats-grid{grid-template-columns:1fr!important}.garden-plants-layer{grid-template-columns:repeat(2,minmax(0,1fr))!important;height:86%!important}.garden-scene-plant{grid-template-rows:minmax(0,1fr) 22px!important}.scene-plant-name{height:22px!important;font-size:.6rem!important}.plant-stat-card .garden-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important}}


/* ===== v0.9.9 homepage placement, honey polish, and device audit ===== */
.home-layout{align-items:start}
.home-main-stack{display:grid;gap:24px;min-width:0}
.home-main-stack>.paper{min-height:0}
.home-cork-board{width:100%;min-width:0}
.home-cork-board .cork-board-frame{padding:24px 26px 28px;border-width:13px;border-radius:9px;background-color:#b97543;background-image:radial-gradient(circle at 18% 22%,rgba(79,42,23,.2) 0 1.2px,transparent 1.8px),radial-gradient(circle at 72% 63%,rgba(255,238,205,.19) 0 1px,transparent 1.8px),linear-gradient(105deg,rgba(255,255,255,.04),transparent 38%,rgba(77,43,24,.06));background-size:15px 15px,21px 21px,100% 100%;box-shadow:inset 0 0 0 3px #d8a16c,inset 0 0 30px rgba(91,49,25,.18),8px 9px 0 rgba(70,48,31,.13)}
.home-cork-board .cork-board-frame:before,.home-cork-board .cork-board-frame:after{content:"";position:absolute;width:70px;height:92px;bottom:9px;pointer-events:none;opacity:.9;background:linear-gradient(95deg,transparent 45%,#5f7b51 46% 50%,transparent 51%),radial-gradient(ellipse at 39% 42%,#8fa57b 0 16%,transparent 17%),radial-gradient(ellipse at 61% 63%,#738d67 0 18%,transparent 19%)}
.home-cork-board .cork-board-frame:before{left:7px;transform:rotate(-12deg)}
.home-cork-board .cork-board-frame:after{right:7px;transform:scaleX(-1) rotate(-12deg)}
.cork-board-ribbon{width:max-content;max-width:80%;margin:-42px auto 14px;padding:7px 20px;background:#6d825d;color:#fff8e7;border:1px solid #4e6244;box-shadow:3px 4px 0 rgba(68,44,25,.2);font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;transform:rotate(.8deg)}
.home-cork-board .cork-board-frame h3{max-width:390px;margin:0 auto 23px;padding:10px 18px;font-size:1.45rem}
.home-cork-board .pinned-notes{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 18px;align-items:start}
.home-cork-board .pinned-note{min-height:150px;padding:23px 19px 17px;clip-path:polygon(1% 1%,99% 0,98% 98%,2% 100%);transition:transform .2s ease,box-shadow .2s ease}
.home-cork-board .pinned-note:nth-child(3n){grid-column:span 2;min-height:115px}
.home-cork-board .pinned-note:hover{transform:rotate(0deg) translateY(-2px);box-shadow:5px 8px 0 rgba(70,44,24,.17)}
.home-cork-board .pushpin{width:13px;height:13px;top:8px}
.cork-board-details{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:20px;color:#f6e1bf;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}

/* Honey jar becomes a small living focal point rather than a plain meter. */
.apiary-copy{min-width:0}
.honey-panel{position:relative;overflow:hidden;grid-template-columns:minmax(180px,220px) minmax(0,1fr);gap:26px;padding:25px;background:linear-gradient(135deg,#fffbed,#f4e8c7);border:1px solid #b99759;box-shadow:inset 0 0 35px rgba(211,165,65,.08),4px 5px 0 rgba(91,61,30,.09)}
.honey-panel:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 12% 12%,rgba(255,255,255,.7) 0 2px,transparent 3px),radial-gradient(circle at 88% 76%,rgba(216,170,61,.12) 0 3px,transparent 4px);background-size:31px 31px,43px 43px;opacity:.55}
.honey-jar-wrap{position:relative;z-index:1;padding:10px 9px 17px;text-align:center}
.honey-shelf{position:absolute;left:4%;right:4%;bottom:18px;height:16px;border-radius:50%;background:#9a7041;box-shadow:0 8px 0 #74502f,0 11px 9px rgba(69,43,23,.2)}
.honey-jar{width:142px;height:202px;margin:23px auto 13px;border:5px solid rgba(126,144,136,.62);border-top-width:7px;border-radius:22px 22px 31px 31px;background:linear-gradient(90deg,rgba(255,255,255,.72),rgba(221,235,230,.16) 30%,rgba(255,255,255,.5) 76%,rgba(197,217,210,.2));box-shadow:inset 9px 0 15px rgba(255,255,255,.55),inset -7px 0 11px rgba(107,127,119,.09),7px 9px 0 rgba(77,54,31,.1)}
.honey-neck{position:absolute;left:18px;right:18px;top:-7px;height:18px;border-radius:7px;border-bottom:3px solid rgba(102,119,112,.35);z-index:3}
.honey-lid{left:-12px;right:-12px;top:-24px;height:30px;border-radius:7px;background:repeating-linear-gradient(90deg,#a97a31 0 8px,#d1a655 8px 15px);box-shadow:0 4px 0 rgba(83,55,26,.18)}
.honey-fill{background:linear-gradient(180deg,#ffd968 0,#efb52f 35%,#d78d12 80%,#b66b08 100%);box-shadow:inset 0 8px 15px rgba(255,237,158,.33);transition:height 1.35s cubic-bezier(.22,.82,.25,1)}
.honey-fill:before{top:-10px;height:21px;background:#ffdc72;box-shadow:0 3px 5px rgba(174,101,6,.12)}
.honey-wave{position:absolute;left:-15%;top:-10px;width:130%;height:22px;border-radius:50%;background:rgba(255,226,120,.72);animation:honey-wave 4.5s ease-in-out infinite}
.honey-bubble{position:absolute;border-radius:50%;background:rgba(255,237,158,.54);border:1px solid rgba(171,100,11,.18);animation:honey-bubble 7s ease-in infinite}
.bubble-one{width:12px;height:12px;left:25%;bottom:15%;animation-delay:-1s}.bubble-two{width:8px;height:8px;right:25%;bottom:32%;animation-delay:-3.5s}.bubble-three{width:6px;height:6px;left:52%;bottom:55%;animation-delay:-5.2s}
.honey-glass-shine{left:17px;top:25px;width:12px;height:125px;opacity:.75}.honey-glass-shine-small{left:auto;right:19px;top:39px;width:5px;height:66px;opacity:.35}
.honey-jar-label{left:19px;right:19px;top:88px;padding:10px 4px 8px;background:rgba(249,238,196,.92);border:1px solid #927344;box-shadow:0 2px 0 rgba(111,75,33,.13)}
.honey-jar-label span{display:block;font-family:"IM Fell English",serif;font-size:.85rem;letter-spacing:.18em}.honey-jar-label small{display:block;margin-top:3px;font-size:.48rem;letter-spacing:.08em;text-transform:uppercase}
.honey-meter{height:10px;margin:0 auto 8px;padding:2px;border:1px solid #a78349;border-radius:999px;background:#e7d7ad;max-width:170px;overflow:hidden}.honey-meter span{display:block;width:0;height:100%;border-radius:999px;background:linear-gradient(90deg,#e6a62b,#f5cb58);transition:width 1.35s cubic-bezier(.22,.82,.25,1)}
.honey-percent{display:block;font-family:"IM Fell English",serif;font-size:1.65rem;line-height:1;color:#6f4e24}.honey-caption{display:block;margin-top:4px;font-size:.68rem;color:#806b50;font-style:italic}
.hive-stats{position:relative;z-index:1;gap:12px}.hive-stats div{padding:12px 14px;border:1px solid rgba(176,139,75,.27);border-left:5px solid #c6953f;background:rgba(247,238,212,.86);box-shadow:2px 3px 0 rgba(104,73,34,.06)}
.hive-status{padding:10px 13px;border-radius:999px;background:#e7eddc;color:#56654d;text-align:center;border:1px solid #a9b69b}
.honey-panel[data-bees-resting="true"] .honey-wave,.honey-panel[data-bees-resting="true"] .honey-bubble{animation-play-state:paused}
.honey-panel[data-bees-resting="true"]:after{content:"The hive is quiet";position:absolute;right:15px;top:13px;padding:4px 9px;border-radius:999px;background:#66745d;color:#fff8e9;font-size:.65rem;letter-spacing:.05em}
@keyframes honey-wave{0%,100%{transform:translateX(-2%) scaleY(.9)}50%{transform:translateX(2%) scaleY(1.08)}}
@keyframes honey-bubble{0%{transform:translateY(10px);opacity:0}18%{opacity:.8}82%{opacity:.45}100%{transform:translateY(-90px);opacity:0}}

/* Broad responsive audit: prevent horizontal spills and keep controls usable. */
img,svg,video,canvas{max-width:100%}
.content,.paper,.sidebar,.sidebar-card,.apiary-section,.shared-garden-section,.plant-stat-card,.book-stage,.gallery-shell{min-width:0;box-sizing:border-box}
button,a,input,textarea{touch-action:manipulation}
@media(max-width:980px){
  .home-layout{grid-template-columns:1fr!important}
  .home-main-stack{order:1}.home-layout>.sidebar{order:2}
  .home-cork-board .pinned-notes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .apiary-section{grid-template-columns:1fr!important}
  .honey-panel{max-width:680px;margin-inline:auto}
}
@media(max-width:620px){
  .home-cork-board .cork-board-frame{padding:20px 14px 22px;border-width:9px}
  .cork-board-ribbon{margin-top:-35px;max-width:92%;font-size:.62rem;padding-inline:12px}
  .home-cork-board .pinned-notes{grid-template-columns:1fr}
  .home-cork-board .pinned-note:nth-child(3n){grid-column:auto}
  .honey-panel{grid-template-columns:1fr;padding:18px 13px}
  .honey-jar{width:128px;height:184px}
  .hive-stats{grid-template-columns:1fr}
  .main-nav{overflow-x:auto;-webkit-overflow-scrolling:touch;justify-content:flex-start}
  .main-nav a{flex:0 0 auto}
}
@media(max-width:380px){.honey-panel{padding-inline:9px}.home-cork-board .pinned-note{padding-inline:14px}.site-title{overflow-wrap:anywhere}}


/* ===== v1.0.0 contained honey jar redesign ===== */
.honey-panel{
  overflow:hidden!important;
  align-items:stretch!important;
  grid-template-columns:minmax(210px,260px) minmax(0,1fr)!important;
  padding:28px!important;
  gap:28px!important;
  background:
    radial-gradient(circle at 18% 14%,rgba(255,255,255,.72) 0 2px,transparent 3px) 0 0/38px 38px,
    linear-gradient(145deg,#fffaf0,#f5e8c5)!important;
}
.honey-panel:after{display:none!important;content:none!important}
.honey-jar-wrap{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
  padding:10px 8px!important;
}
.honey-shelf,.honey-meter{display:none!important}
.honey-jar{
  position:relative!important;
  width:168px!important;
  height:238px!important;
  margin:30px auto 18px!important;
  overflow:hidden!important;
  isolation:isolate!important;
  border:6px solid rgba(111,132,123,.52)!important;
  border-top-width:8px!important;
  border-radius:25px 25px 38px 38px!important;
  background:linear-gradient(90deg,rgba(255,255,255,.7),rgba(224,237,232,.14) 38%,rgba(255,255,255,.38) 72%,rgba(197,216,208,.2))!important;
  box-shadow:
    inset 13px 0 18px rgba(255,255,255,.5),
    inset -9px 0 14px rgba(91,116,105,.1),
    0 12px 18px rgba(77,54,31,.13)!important;
}
.honey-jar:before{
  content:"";
  position:absolute;
  left:15px;right:15px;bottom:9px;height:20px;
  border-radius:50%;
  background:rgba(102,122,114,.12);
  z-index:0;
}
.honey-fill{
  left:6px!important;
  right:6px!important;
  bottom:6px!important;
  max-height:calc(100% - 12px)!important;
  border-radius:0 0 29px 29px!important;
  overflow:hidden!important;
  z-index:1!important;
  background:linear-gradient(180deg,#ffe17a 0%,#f3be3e 30%,#dd9518 72%,#b96d08 100%)!important;
  box-shadow:inset 0 10px 18px rgba(255,244,184,.34),inset 0 -10px 16px rgba(125,69,5,.12)!important;
}
.honey-fill:before{
  left:-8%!important;right:-8%!important;top:-7px!important;height:18px!important;
  border-radius:50%!important;
  background:#ffe482!important;
  box-shadow:0 3px 6px rgba(160,91,7,.14)!important;
}
.honey-wave{top:-8px!important;height:18px!important;background:rgba(255,235,146,.75)!important}
.honey-bubble{background:rgba(255,245,190,.52)!important}
.honey-lid{
  left:-7px!important;right:-7px!important;top:-25px!important;height:34px!important;
  border-radius:9px 9px 6px 6px!important;
  z-index:8!important;
  border:3px solid #76582e!important;
  background:repeating-linear-gradient(90deg,#a7782e 0 10px,#d1a552 10px 18px)!important;
  box-shadow:0 5px 0 rgba(82,54,27,.16)!important;
}
.honey-neck{left:24px!important;right:24px!important;top:0!important;height:18px!important;z-index:6!important}
.honey-glass-shine{z-index:6!important;pointer-events:none!important}
.honey-jar-label{
  top:103px!important;left:23px!important;right:23px!important;
  z-index:7!important;padding:12px 5px 10px!important;
  background:rgba(250,240,204,.94)!important;
  border:1px solid #8b6b3f!important;
  box-shadow:0 3px 0 rgba(91,59,25,.12)!important;
}
.honey-jar-label span{font-size:1rem!important}
.honey-percent{
  margin-top:0!important;
  font-size:2rem!important;
  color:#704b20!important;
  line-height:1!important;
}
.honey-caption{margin-top:7px!important;font-size:.76rem!important}
.hive-stats{
  align-content:center!important;
  gap:14px!important;
  min-width:0!important;
}
.hive-stats div{
  position:relative!important;
  min-width:0!important;
  padding:15px 17px!important;
  overflow:hidden!important;
  background:rgba(250,242,220,.9)!important;
  border:1px solid rgba(164,126,67,.34)!important;
  border-left:5px solid #c89439!important;
}
.hive-stats strong{overflow-wrap:anywhere!important}
.hive-status{margin-top:15px!important}
@media(max-width:560px){
  .honey-panel{grid-template-columns:1fr!important;padding:20px 14px!important}
  .honey-jar{width:154px!important;height:218px!important}
  .hive-stats{width:100%!important}
}

/* ===== v1.0.1 restore balanced honey layout ===== */
@media (min-width: 861px){
  .apiary-section{
    grid-template-columns:minmax(0,1fr) minmax(440px,1fr)!important;
    align-items:stretch!important;
  }
}
.honey-panel{
  grid-template-columns:minmax(180px,210px) minmax(220px,1fr)!important;
  align-items:center!important;
  gap:22px!important;
  padding:22px!important;
}
.honey-jar-wrap{
  padding:8px 6px 12px!important;
}
.honey-jar{
  width:150px!important;
  height:214px!important;
  margin:25px auto 12px!important;
  overflow:visible!important;
  border:5px solid rgba(126,144,136,.62)!important;
  border-top-width:7px!important;
  border-radius:22px 22px 31px 31px!important;
}
.honey-fill{
  left:5px!important;
  right:5px!important;
  bottom:5px!important;
  max-height:calc(100% - 10px)!important;
  border-radius:0 0 25px 25px!important;
  overflow:hidden!important;
  clip-path:inset(0 round 0 0 25px 25px)!important;
}
.honey-lid{
  left:-12px!important;
  right:-12px!important;
  top:-24px!important;
  height:30px!important;
  border-radius:7px!important;
  border:2px solid #795e35!important;
  background:repeating-linear-gradient(90deg,#a97a31 0 8px,#d1a655 8px 15px)!important;
  box-shadow:0 4px 0 rgba(83,55,26,.18)!important;
}
.honey-neck{left:18px!important;right:18px!important;top:-7px!important;height:18px!important}
.honey-jar-label{
  top:88px!important;
  left:19px!important;
  right:19px!important;
  padding:10px 4px 8px!important;
}
.honey-jar-label span{font-size:.85rem!important}
.honey-percent{font-size:1.7rem!important}
.hive-stats{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:11px!important;
  width:100%!important;
}
.hive-stats div{
  padding:11px 13px!important;
  overflow:visible!important;
}
.hive-stats span{font-size:.72rem!important;line-height:1.35!important}
.hive-stats strong{font-size:1rem!important;line-height:1.35!important;overflow-wrap:normal!important;word-break:normal!important}
@media(max-width:980px) and (min-width:861px){
  .apiary-section{grid-template-columns:minmax(0,.95fr) minmax(390px,1.05fr)!important}
  .honey-panel{grid-template-columns:170px minmax(0,1fr)!important;padding:18px!important;gap:16px!important}
  .honey-jar{width:138px!important;height:198px!important}
}
@media(max-width:560px){
  .honey-panel{grid-template-columns:1fr!important;padding:18px 14px!important}
  .honey-jar{width:145px!important;height:206px!important}
  .hive-stats{grid-template-columns:1fr!important}
}

/* ===== v1.0.2 mobile-only layout repair ===== */
@media (max-width: 600px) {
  /* Shared garden: all eight plants live in one expanded soil area. */
  .community-garden-scene{
    min-height:900px!important;
    height:900px!important;
  }
  .community-garden-scene>.scene-celestial{inset:0 0 66% 0!important}
  .garden-hills{bottom:58%!important;height:23%!important}
  .garden-soil{
    bottom:0!important;
    height:60%!important;
    clip-path:polygon(0 5%,12% 2%,24% 6%,38% 1%,52% 5%,66% 2%,80% 6%,92% 2%,100% 5%,100% 100%,0 100%)!important;
  }
  .garden-plants-layer{
    top:32%!important;
    bottom:3%!important;
    height:auto!important;
    left:3%!important;
    right:3%!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:repeat(4,minmax(0,1fr))!important;
    gap:10px 8px!important;
    align-items:stretch!important;
  }
  .garden-scene-plant{
    height:auto!important;
    min-height:0!important;
    grid-template-rows:minmax(0,1fr) 24px!important;
    overflow:hidden!important;
  }
  .scene-plant-art{min-height:0!important;overflow:visible!important}
  .garden-scene-plant img{
    width:115%!important;
    height:112%!important;
    clip-path:none!important;
  }
  .scene-plant-name{
    height:24px!important;
    background:rgba(247,239,215,.9)!important;
    font-size:.67rem!important;
  }

  /* Meadow: preserve flower scale but keep the hive readable. */
  .meadow-scene{min-height:520px!important}
  .wildflower-strip{
    left:3%!important;
    right:38%!important;
    bottom:7%!important;
    height:42%!important;
    gap:0!important;
  }
  .wildflower{max-width:62px!important}
  .wooden-hive{
    right:4%!important;
    left:auto!important;
    width:31%!important;
    max-width:160px!important;
    bottom:8%!important;
    z-index:7!important;
  }

  /* Library: a true one-page reader on phone-sized screens. */
  .book-volume{
    display:block!important;
    width:92vw!important;
    height:67vh!important;
    grid-template-columns:1fr!important;
    border-width:8px!important;
  }
  .book-volume:after,.book-cover-inside{display:none!important}
  .book-page.mobile-single-page{
    display:block!important;
    width:100%!important;
    height:100%!important;
    box-sizing:border-box!important;
    padding:24px 18px!important;
    font-size:.92rem!important;
    line-height:1.48!important;
    overflow:auto!important;
  }
  .book-page.mobile-single-page h2{font-size:1.45rem!important}
  .page-leaf{width:100%!important;left:0!important}

  /* Gallery: compact horizontal spacing between paintings. */
  .museum-window{height:650px!important;min-height:650px!important}
  .museum-work{
    grid-template-columns:1fr!important;
    gap:10px!important;
    align-items:start!important;
  }
  .museum-frame{
    width:var(--mobile-frame-width,280px)!important;
    max-width:calc(100vw - 88px)!important;
    height:auto!important;
    min-height:0!important;
    padding:10px!important;
  }
  .museum-frame img{height:auto!important;aspect-ratio:2/3;object-fit:cover!important}
  .museum-label{
    width:var(--mobile-frame-width,280px)!important;
    max-width:calc(100vw - 88px)!important;
    box-sizing:border-box!important;
    padding:12px 14px!important;
  }
  .museum-room-divider{display:none!important}
}
