.heart-sanctuary{margin:24px 0;padding:clamp(16px,3vw,30px);border-radius:24px;background:linear-gradient(155deg,#fff9f0,#f9e8e2);border:1px solid #e8c9bc;color:#5b403a}.hs-heading{text-align:center}.hs-heading h2{font:normal clamp(27px,4vw,42px)/1.15 Georgia,serif;margin:10px 0}.hs-heading p{color:#82695f}.hs-kicker{letter-spacing:.17em;font-size:11px;color:#b2686a;font-weight:800}.hs-garden{position:relative;overflow:hidden;min-height:270px;border-radius:20px;background:linear-gradient(#b9d9dc 0%,#e7e5c8 65%,#9db98c 66%,#6e9a73);isolation:isolate}.hs-sky{position:absolute;inset:0}.hs-sun{position:absolute;right:12%;top:12%;font-size:44px}.hs-bird{position:absolute;left:20%;top:18%;font-size:45px;color:#647d74}.hs-land{position:absolute;inset:40px 0 20px;display:flex;justify-content:space-around;align-items:end;font-size:clamp(42px,7vw,80px)}.hs-tree,.hs-flower{opacity:.25;transition:opacity .3s}.hs-cottage{filter:drop-shadow(0 8px 8px #334a3850)}.heart-sanctuary[data-growth="1"] .hs-flower,.heart-sanctuary[data-growth="2"] .hs-flower,.heart-sanctuary[data-growth="3"] .hs-flower,.heart-sanctuary[data-growth="4"] .hs-flower,.heart-sanctuary[data-growth="5"] .hs-flower{opacity:1}.heart-sanctuary[data-growth="3"] .hs-tree,.heart-sanctuary[data-growth="4"] .hs-tree,.heart-sanctuary[data-growth="5"] .hs-tree{opacity:1}.hs-sign{position:relative;margin:180px auto 14px;width:max-content;max-width:94%;display:flex;align-items:center;gap:12px;padding:10px 16px;border:2px solid #b67a66;border-radius:12px;background:linear-gradient(130deg,#fff3dd,#f4c9bf);box-shadow:0 6px 18px #523a3033;font:15px/1.4 Georgia,serif;text-align:center;color:#653d43}.hs-pulse{display:inline-grid;place-items:center;font-size:35px;color:#d95b75;text-shadow:0 0 8px #ff8fa5,0 0 18px #ff718a;animation:hs-beat 2s ease-in-out infinite}@keyframes hs-beat{0%,100%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.17);filter:brightness(1.2)}}.hs-progress{text-align:center;font-weight:650}.hs-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.hs-tabs button{border:1px solid #dfbdb4;background:#fffaf5;border-radius:12px;padding:12px;min-height:44px;color:#6b4546}.hs-tabs button[aria-pressed="true"]{background:#a45b68;color:white}.hs-panel{padding:16px;background:#fffaf7;border-radius:14px;border:1px solid #ecd9d1}.hs-panel h3{margin:0 0 8px;font:24px Georgia,serif}.hs-panel p{line-height:1.6}.hs-panel[hidden]{display:none}@media(prefers-reduced-motion:reduce){.hs-pulse{animation:none}}@media(max-width:450px){.hs-garden{min-height:245px}.hs-sign{margin-top:160px}.hs-tabs button{flex:1 1 42%}}
/* Layered landscape, replacing emoji with a detailed cottage and garden scene. */
.hs-garden{background:radial-gradient(ellipse at 82% 17%,#fff9d4 0 5%,transparent 19%),linear-gradient(180deg,#9fc6d4 0%,#d5e4d5 53%,#a5b88b 54%,#6b926b 100%)}
.hs-garden:before{content:"";position:absolute;inset:38% -8% 0;background:radial-gradient(ellipse at 18% 95%,#3e7854 0 37%,transparent 38%),radial-gradient(ellipse at 70% 105%,#588e62 0 43%,transparent 44%);opacity:.85}
.hs-land{inset:0;display:block;font-size:initial;pointer-events:none}
.hs-tree{position:absolute;left:8%;bottom:48px;width:18px;height:105px;border-radius:9px;background:linear-gradient(90deg,#594531,#a17a4d,#473b30);box-shadow:inset 3px 0 4px #30291f55}
.hs-tree:before{content:"";position:absolute;bottom:55px;left:-62px;width:144px;height:145px;border-radius:52% 48% 50% 44%;background:radial-gradient(circle at 35% 28%,#9fbb76,#477c4b 60%,#2f5d3f 100%);box-shadow:inset -18px -12px 24px #244f3a77,10px 9px 15px #2a52354d}
.hs-cottage{position:absolute;left:40%;bottom:48px;width:clamp(130px,26%,240px);height:125px;filter:drop-shadow(8px 12px 8px #304b3655)}
.hs-roof{position:absolute;left:-12%;top:-35px;width:124%;height:70px;background:repeating-linear-gradient(168deg,#62524b 0 4px,#75635a 5px 9px,#493f3b 10px 12px);clip-path:polygon(0 100%,50% 0,100% 100%);z-index:2}
.hs-house{position:absolute;inset:19px 0 0;background:repeating-linear-gradient(0deg,#e6d6ba 0 14px,#cdbda4 15px 16px);border:3px solid #9d866d;display:flex;justify-content:space-around;align-items:center}
.hs-window{width:21%;height:39%;border:6px solid #f5e8d5;background:linear-gradient(120deg,#9ec7ca,#416d78);box-shadow:inset 0 0 0 2px #75624e}
.hs-door{align-self:end;height:72%;width:24%;background:repeating-linear-gradient(90deg,#74513e 0 9px,#674735 10px 12px);border:4px solid #4e3b30;border-bottom:0;border-radius:35px 35px 0 0}
.hs-flower{position:absolute;left:25%;right:10%;bottom:24px;height:48px;display:flex;align-items:end;justify-content:space-around}
.hs-flower i{position:relative;width:4px;height:30px;background:#426d42;transform:rotate(-8deg)}
.hs-flower i:before{content:"";position:absolute;top:-10px;left:-8px;width:20px;height:20px;border-radius:50%;background:radial-gradient(circle,#f4c767 0 22%,#e6a5a1 24% 65%,#ad6077 75%)}
.hs-flower i:nth-child(even):before{background:radial-gradient(circle,#eac46b 0 24%,#f7e8cf 26% 65%,#b7a18c 76%)}
.hs-sun{font-size:0}.hs-sun:before{content:"";position:absolute;right:7%;top:7%;width:65px;height:65px;border-radius:50%;background:#fff4cf;box-shadow:0 0 42px 20px #ffebbb88}
.hs-bird{font-size:0}
@media(max-width:450px){.hs-cottage{left:38%;height:105px}.hs-tree{left:12%;transform:scale(.7);transform-origin:bottom}.hs-sign{font-size:13px}}


.hs-season-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0;color:#75504c;font-size:14px}
.hs-season-controls select{padding:9px 12px;border:1px solid #cba9a1;border-radius:10px;background:#fff9f3;color:#553b37}
.hs-milestones{display:grid;gap:8px;padding-left:24px}.hs-milestones li{padding:7px}.hs-achieved{color:#47734b;font-weight:600}.hs-locked{color:#8b7775}
.hs-challenge-list{display:grid;gap:10px;margin:15px 0}.hs-challenge{display:flex;align-items:center;gap:10px;padding:12px;border-radius:10px;background:#fff9f3;border:1px solid #e3d2c7}.hs-challenge input{width:18px;height:18px;accent-color:#b95c78}
.heart-sanctuary[data-season="autumn"] .hs-tree:before{background:radial-gradient(circle at 35% 28%,#e9b864,#a65d35 65%,#70402d)}
.heart-sanctuary[data-season="autumn"] .hs-garden{background:linear-gradient(180deg,#b6c4cb,#edc7a2 53%,#967d55 54%,#6f7852)}
.heart-sanctuary[data-season="winter"] .hs-tree:before{background:radial-gradient(circle at 35% 28%,#e6ece7,#8da79d 65%,#657e79)}
.heart-sanctuary[data-season="winter"] .hs-garden{background:linear-gradient(180deg,#b4cad7,#e9f0f2 53%,#e5e9e7 54%,#b5c7c5)}
.heart-sanctuary[data-season="summer"] .hs-garden{background:linear-gradient(180deg,#8abed7,#d4e4b0 53%,#86b46d 54%,#4d8154)}

/* Account saved garden controls, public sharing, and verified challenges. */
.hs-season-controls input{min-width:140px;max-width:220px;padding:9px 11px;border:1px solid #cba9a1;border-radius:10px;background:#fff9f3;color:#553b37}
.hs-share-card{display:grid;gap:10px;padding:14px;border:1px solid #e3cbc0;border-radius:13px;background:#fff9f3}
.hs-share-card p{margin:0}
.hs-share-card a{width:max-content;max-width:100%;overflow-wrap:anywhere;color:#8e4d5d;font-weight:700}
.hs-challenge{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px}
.hs-challenge small{grid-column:1;color:#82695f}
.hs-challenge button{grid-column:2;grid-row:1/3}
[data-hs-challenges]{display:grid;gap:9px}
[data-hs-challenges] .hs-challenge{margin:0}
.hs-season-controls button{min-height:42px}
.heart-sanctuary[data-public-view="true"] [data-hs-save],.heart-sanctuary[data-public-view="true"] [data-hs-share]{display:none}
html[data-theme="dark"] .heart-sanctuary{background:linear-gradient(155deg,#252a31,#352b37);border-color:#55434c;color:#f3e9e3}
html[data-theme="dark"] .hs-panel,html[data-theme="dark"] .hs-share-card,html[data-theme="dark"] .hs-challenge{background:#2b3038;border-color:#51454a;color:#f3e9e3}
html[data-theme="dark"] .hs-season-controls input,html[data-theme="dark"] .hs-season-controls select{background:#252a31;color:#f3e9e3;border-color:#61515a}

/* Keep the Heart sign beneath the illustrated cottage, never over its front door. */
#bbhHeartSanctuary > .hs-sign{position:relative;margin:12px auto 18px;max-width:calc(100% - 24px);width:max-content;z-index:1}
