@import url('https://fonts.googleapis.com/css2?family=Lato:wght@400;700;900&family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap');
:root{color-scheme:light;--bg:#f9f6ee;--panel:#fffaf6;--line:#4b0d5c30;--gold:#6a2ca0;--soft:#625167;--ink:#39223f;--plum:#4b0d5c;--violet:#6a2ca0;--lavender:#a678d6;--lilac:#d8c3ee;--warm:#d9b778}
body{font-family:Lato,system-ui,sans-serif;background:radial-gradient(ellipse at 79% 0%,#f0dfed,transparent 50%),var(--bg)}
body>header{background:#faf4ecf5;border-bottom:1px solid #e3d1dd;box-shadow:0 2px 14px #4b0d5c0c}
.brand{gap:9px}.brand-mark{width:44px;height:55px;object-fit:contain;flex:none}.brand strong,h1,h2,.home-garden h3,#heartReading h3{font-family:'Playfair Display',Georgia,serif;color:var(--plum)}
.brand strong{font-size:clamp(19px,2.3vw,27px);font-weight:600}.brand small{color:var(--soft)}.intro h1{font-weight:600;font-size:clamp(29px,4.6vw,57px)}
button,.path-nav a,.soft-link,.quiet-link,.language-switcher{color:var(--plum);background:#faf3f7;border-color:#8c63a250}
button:hover:not(:disabled),.path-nav a:hover,.soft-link:hover{background:#f2e2f1;border-color:var(--violet)}
button:focus-visible,a:focus-visible,select:focus-visible{outline-color:var(--violet)}
.gold-link,.primary{color:#fff;background:linear-gradient(120deg,#4b0d5c,#692475);border-color:#4b0d5c;box-shadow:0 2px 8px #4b0d5c28}
.gold-link:hover,.primary:hover:not(:disabled){color:#fff;background:#68247b;border-color:#68247b}
.path-nav a[aria-current=page],.path-nav a:first-child,.quiet-link{color:var(--plum);background:#eedff1;border-color:#9b6eac50}
.welcome,.heart-hero{border-color:#b58d67;background-color:#684774}
.welcome h1,.heart-hero h1,.welcome p,.heart-hero p{color:#fff8ee;text-shadow:0 1px 11px #381640bd}
.welcome::after,.heart-hero::after,.world::after{box-shadow:inset 0 0 0 1px #e6bf807d,inset 0 0 20px 3px #3a1d3865}
.home-garden,.heart-panel,.inventory,.lesson,.lesson-index,.daily{border-color:#dfccdc;box-shadow:0 4px 13px #4b0d5c0a}
.inventory,.lesson-index{background:#fff9f5}.lesson{background:radial-gradient(ellipse at top,#f2deef,transparent 65%),#fff9f5}
.lesson #arabic,.lesson #meaning,.lesson .name-reflection,#heartReading .name-reflection,#heartReading .heart-arabic{color:var(--plum)}
.lesson .name-reflection,#heartReading .name-reflection{font-family:'Playfair Display',Georgia,serif;font-size:18px}
.lesson #gift{background:#f4e6f3;color:var(--plum)}
.source,#workshop{background:#f9eef7}.source-note:before{color:var(--violet)}
#workshop input,#workshop select,#journalDialog textarea,.heart-note textarea{background:#fffaf7;color:var(--ink);border-color:#be9fc6}
.item.selected,.feelings button[aria-pressed=true]{background:#ead7f0;color:var(--plum);border-color:var(--violet)}
dialog{background:#fff8f3;border-color:#b790b9;color:var(--ink);box-shadow:0 15px 90px #39174545}
dialog::backdrop{background:#291734a6}.verse-media .verse-error{color:#793044}
.garden-switch select,.worldtop button,.worldbottom{color:#fff1d4;background:#331c3adc;border-color:#dab77882}.garden-switch select option{background:#fff9f3;color:var(--plum)}
.plot.open{border-color:#fff4b6c2;background:#f7d98e28}.plot.drop-target{border-color:#ffedb1;background:#f8df8e6b}.plot:focus-visible{outline-color:#fff1b0}
.lesson-index .done::after{color:#42653c}#question button.incorrect{border-color:#aa5171}
.daily{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:clamp(14px,3vw,25px);margin-top:15px;border:1px solid #dfccdc;border-radius:16px;background:linear-gradient(100deg,#fbf3ee,#f1e2f1)}.daily h2{font-size:clamp(22px,3vw,32px)}.daily p{margin:7px 0;color:var(--soft)}.daily .gold-link{flex:none}.daily small{color:var(--plum)}
.study-extra{width:100%;margin:8px 0 13px;text-align:start}.study-extra details{padding:8px 10px;border:1px solid var(--line);border-radius:10px;margin:5px 0;background:#fbf1f8}.study-extra summary{cursor:pointer;font-weight:700;font-size:13px;color:var(--plum)}.study-extra p{font-size:13px}.study-extra textarea{width:100%;min-height:62px;padding:7px;border:1px solid #be9fc6;border-radius:7px;background:#fffaf7;color:var(--ink);font:inherit;resize:vertical}
#milestones{width:100%;display:flex;gap:5px;flex-wrap:wrap;margin:6px 0}#milestones span{padding:4px 8px;border:1px solid var(--line);border-radius:999px;color:var(--soft);font-size:11px}#milestones .earned{background:#ead7f0;color:var(--plum);border-color:#9c6dab}
.tend-glow{position:absolute;width:80px;aspect-ratio:1;border:2px solid #fff1ad;border-radius:50%;transform:translate(-50%,-65%);box-shadow:0 0 18px #f5d471, inset 0 0 12px #fff5bc;animation:tend 1.9s ease-out both;pointer-events:none}@keyframes tend{from{opacity:.95;scale:.38}to{opacity:0;scale:1.45}}
@media(prefers-reduced-motion:reduce){.tend-glow{animation:none;opacity:.5}}
@media(max-width:550px){.brand-mark{width:33px;height:42px}.daily{align-items:flex-start;flex-direction:column}}
.milestone-note{font-size:12px;color:var(--soft);margin:7px 0 2px}#question button.correct{color:#fff}
.garden-tools{align-items:end}
.garden-choice{display:grid;gap:4px;min-width:0;flex:1 1 220px}
.garden-choice label{font-size:12px;color:var(--plum);font-weight:700}
.garden-choice>div{display:flex;gap:5px}
.garden-choice select{flex:1;min-width:0;font:inherit;font-size:12px;border:1px solid #8c63a250;border-radius:10px;padding:7px;color:var(--plum);background:#fff8f3}
.garden-choice button{flex:none;max-width:55%}
#ambienceStatus{flex-basis:100%}
.wildlife-layer{position:absolute;inset:0;pointer-events:none}
.wildlife-sprite{position:absolute;object-fit:contain;opacity:0;will-change:transform,opacity}
.wildlife-birds img{width:clamp(27px,6%,75px);left:-11%;top:calc(18% + var(--i)*7%);animation:birds-across 6s calc(var(--i)*.62s) ease-in-out both}
.wildlife-butterflies img{width:clamp(21px,4.4%,54px);left:calc(12% + var(--i)*18%);top:calc(46% + var(--i)*8%);animation:butterfly-arc 6s calc(var(--i)*.55s) ease-in-out both}
.wildlife-bees img{width:clamp(15px,2.9%,37px);left:calc(28% + var(--i)*17%);top:calc(57% + var(--i)*6%);animation:bee-arc 6.7s calc(var(--i)*.55s) ease-in-out both}
.wildlife-rabbit img{width:clamp(31px,7.3%,86px);left:14%;bottom:20%;animation:rabbit-hops 7s ease-in-out both}
@keyframes birds-across{0%{opacity:0;left:-11%;transform:translateY(28px) rotate(-8deg)}12%,87%{opacity:1}39%{transform:translateY(-29px) scaleY(.8) rotate(3deg)}65%{transform:translateY(5px) rotate(-7deg)}100%{opacity:0;left:105%;transform:translateY(-23px)}}
@keyframes butterfly-arc{0%,100%{opacity:0;transform:translate(-30%,22%) rotate(-12deg)}14%,87%{opacity:1}31%{transform:translate(80%,-60%) scaleX(.72) rotate(14deg)}55%{transform:translate(113%,10%) rotate(-12deg)}75%{transform:translate(-40%,-25%) scaleX(.83) rotate(16deg)}}
@keyframes bee-arc{0%,100%{opacity:0;transform:translate(-30%,0)}12%,90%{opacity:1}27%{transform:translate(150%,-60%) rotate(10deg)}48%{transform:translate(70%,45%) rotate(-12deg)}68%{transform:translate(-90%,-50%) rotate(9deg)}84%{transform:translate(23%,-15%)}}
@keyframes rabbit-hops{0%{opacity:0;left:10%}10%,83%{opacity:1}22%{transform:translateY(-32%)}32%{transform:translateY(0)}46%{transform:translateY(-35%)}55%{transform:translateY(0)}67%{transform:translateY(-28%)}76%{transform:translateY(0)}90%{transform:translateY(-27%)}100%{opacity:0;left:84%;transform:translateY(0)}}

@media(prefers-reduced-motion:reduce){.wildlife-sprite{animation:none!important;opacity:1;left:calc(22% + var(--i)*16%)!important;top:46%;bottom:auto}}

#workshop{flex-wrap:wrap}
.gift-controls,.object-customization{display:flex;align-items:flex-end;flex-wrap:wrap;gap:8px}
.object-customization{align-items:center;margin-block:10px}
.gift-controls label{display:grid;gap:4px;color:var(--ink);font-size:12px}
.gift-controls button,.gift-controls select{border:1px solid #be9fc6;border-radius:9px;background:#fffaf7;color:var(--ink);padding:8px 10px;font:inherit}
.gift-controls button[aria-pressed="true"]{background:#ead9f0;border-color:#853994}
@media(max-width:700px){#workshop .gift-controls{grid-column:1/-1}}
