/* Zen autumn layer — overrides inline styles */
:root{--pink:#B5482F;--matcha:#6F7D4E;--sky:#4F617A;--soy:#A8652E;--indigo:#2E3A4F;--gold:#C29A4A;--cream:#F6F0E4;--ink:#2B2622;--mute:#857A6C;
--paper:#FBF7EF;--line:rgba(43,38,34,.12);--r1:3px;--r2:4px;--r3:6px;--sh1:none;--sh2:0 1px 0 rgba(43,38,34,.04);--ease:cubic-bezier(.25,.6,.3,1)}
body{font-family:"Inter","DM Sans",system-ui,sans-serif;font-weight:400;color:var(--ink);background-color:var(--cream);
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .27 0 0 0 0 .18 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),radial-gradient(ellipse at 10% 0%,rgba(194,120,60,.10),transparent 55%),radial-gradient(ellipse at 95% 30%,rgba(111,125,78,.08),transparent 50%);
background-size:240px 240px,100% 100%,100% 100%;background-attachment:fixed}
main{max-width:1040px;padding:28px 22px 60px}
h1,h2,h3{font-family:"Cormorant Garamond","Fraunces",Georgia,serif;font-weight:500;letter-spacing:.005em;color:var(--ink)}
h1{font-size:2.4em;line-height:1.1}
h2{font-size:1.75em;color:var(--ink);margin:.1em 0 .7em;position:relative;padding-bottom:.35em}
h2:after{content:"";position:absolute;left:0;bottom:0;width:56px;height:6px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 12'%3E%3Cpath d='M2 7c18-5 40-6 62-3s38 2 54-1' stroke='%23B5482F' stroke-width='3.2' fill='none' stroke-linecap='round' opacity='.75'/%3E%3C/svg%3E") no-repeat;background-size:100% 100%}
.calhead h2:after,.hero h2[style]:after{display:none}
.card{background:rgba(251,247,239,.86);border:1px solid var(--line);border-radius:var(--r3);box-shadow:none;padding:30px;margin:28px 0;backdrop-filter:blur(2px)}
.grid{gap:28px}
.hero{background:linear-gradient(180deg,rgba(251,247,239,.95),rgba(246,240,228,.9))}
.hero:before{height:1px;background:linear-gradient(90deg,transparent,var(--pink) 20%,var(--gold) 50%,var(--matcha) 80%,transparent);opacity:.6}
.eyebrow{color:var(--pink);font-weight:500;letter-spacing:.28em;font-size:.68em}
.eyebrow:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--pink);opacity:.8;margin-right:.7em;vertical-align:1px}
a{color:var(--sky)}a:hover{color:var(--pink)}
.note{background:transparent;border-left:2px solid var(--gold);border-radius:0;color:#4b443c;padding:6px 14px}
button{background:var(--ink);color:var(--paper);border-radius:2px;box-shadow:none;font-weight:500;letter-spacing:.04em;padding:10px 20px;transition:background .4s var(--ease)}
button:hover{transform:none;background:var(--pink)}
button.small{background:transparent;color:var(--soy);border:1px solid currentColor;border-radius:2px}
input,textarea,select{border-radius:2px;border:1px solid var(--line);background:var(--paper)}
input:focus,textarea:focus,select:focus{border-color:var(--soy);box-shadow:0 0 0 3px rgba(168,101,46,.12)}
.chips span{background:transparent;border:1px solid var(--line);border-radius:2px}
.prompt:hover{background:var(--matcha);border-color:var(--matcha)}
.kids{background:rgba(251,247,239,.9)}
.idea{background:var(--paper);border:1px solid var(--line);border-radius:var(--r2);box-shadow:none}
.idea img{border-radius:2px}
th{background:transparent;font-weight:500;letter-spacing:.08em;text-transform:uppercase;font-size:.72em;color:var(--mute)}
th,td{border-bottom:1px solid var(--line)}
footer{font-family:"Cormorant Garamond",serif;font-size:1.05em;letter-spacing:.04em}
/* calendar */
.day{border-radius:3px;background:var(--paper);box-shadow:0 0 0 1px var(--line)}
.day:not(.pad):not(.out):hover{transform:none;box-shadow:0 0 0 1px rgba(168,101,46,.45)}
.week{animation:zfade 1.4s var(--ease) both;animation-delay:calc(var(--i)*.06s)}@keyframes zfade{from{opacity:0}}
.bar{opacity:.85;font-weight:500}
.bar.t{background:linear-gradient(90deg,#B5482F,#C46A4C)}.bar.o{background:linear-gradient(90deg,#A8652E,#BD844E)}.bar.k{background:linear-gradient(90deg,#6F7D4E,#88966A)}.bar.s{background:linear-gradient(90deg,#4F617A,#6A7C95)}
.day.bk{background:linear-gradient(180deg,#FBF4E4,#F5E8CC);box-shadow:0 0 0 1px var(--gold);animation:none}
.day.today{background:#FBF1EA;box-shadow:0 0 0 1.5px var(--pink)}
.day.today.bk{box-shadow:0 0 0 1.5px var(--pink),0 0 0 4px rgba(194,154,74,.25)}
.ev{border-radius:2px;box-shadow:none;border:1px solid var(--line);border-left:2px solid var(--gold);background:#fff}
.lgd{border-radius:2px;font-weight:500;background:transparent!important;border:1px solid var(--line)}
.lgd.td{border-color:var(--pink)}
.mchip{background:transparent;color:var(--sky);border:1px solid var(--line);border-radius:2px}
.hol{background:#F3DCD2;color:#8E3420;border-radius:2px;font-weight:600}.hol.obs{background:#F1E5C9;color:#7A5714}.hol.nt{background:#E3E6D6;color:#4C5733}.lgd.hl{background:#F3DCD2}
/* weather */
.wtabs button{border:1px solid var(--line);color:var(--ink);border-radius:2px;background:transparent}.wtabs button.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.wd{background:var(--paper);border:1px solid var(--line);border-radius:3px}.wd.t{outline:1px solid var(--pink)}.wd .hi{color:var(--pink)}.wd .lo{color:var(--sky)}.wd .wi{filter:saturate(.45)}
.pin li{background:var(--paper);border-radius:3px;border:1px solid var(--line)}.pin .pe{filter:saturate(.5)}
.pst.want{background:#E3E6D6;color:#4C5733}.pst.maybe{background:#F1E5C9;color:#7A5714}.pst{border-radius:2px}
/* food */
.spot{border-radius:3px!important;border:1px solid var(--line);border-top:2px solid var(--pink);box-shadow:none;background:var(--paper)}
.fchip{background:transparent!important;color:var(--ink)!important;border:1px solid var(--line)!important;border-radius:2px!important;box-shadow:none!important}
.fchip.on{background:var(--ink)!important;color:var(--paper)!important}
.go{background:transparent;border-left:2px solid var(--sky);border-radius:0}
.fam{border-radius:2px}
.top{color:var(--mute);letter-spacing:.06em}
/* header art */
.zen-hero{position:relative;overflow:hidden}
.zen-hero svg{width:100%;height:auto;display:block}
#petals{animation:zdrift 60s ease-in-out infinite alternate}@keyframes zdrift{to{transform:translate(30px,40px)}}
.zen-mist{animation:mist 40s ease-in-out infinite alternate}@keyframes mist{to{transform:translateX(-40px)}}
.zen-strip{height:120px}
@media(max-width:600px){.card{padding:20px}h1{font-size:1.8em}}
@media(prefers-reduced-motion:reduce){#petals,.zen-mist{animation:none}}
