:root{--bg:#fff8f0;--card:#fff;--ink:#3b2f2a;--muted:#7a6a60;--line:#f0e2d4;--coral:#e8603e;--peach:#ffd8c2;--sage:#8fbf9f;--sky:#2f6a99;--sun:#ffc857;--plum:#b784c9}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:64px;-webkit-text-size-adjust:100%}
body{margin:0;font-family:"Nunito","Quicksand",ui-rounded,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink);font-size:16px;line-height:1.45}
a{color:inherit}.wrap{max-width:1100px;margin:0 auto;padding:0 16px 60px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:9}
header.top{padding:16px 0 8px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.brand{display:flex;gap:10px;align-items:center;text-decoration:none}.logo{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,var(--sun),#ff7a59);display:grid;place-items:center;font-size:24px;box-shadow:0 6px 18px #ff7a5940;flex:none}
.bname{font-weight:900;font-size:20px;letter-spacing:-.3px;line-height:1.1}.btag{color:var(--muted);font-size:12.5px;line-height:1.25}
nav.main{position:sticky;top:0;z-index:5;background:#fff8f0f2;backdrop-filter:blur(8px);border-bottom:1px solid var(--line);margin:0 -16px;padding:8px 16px;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
nav.main::-webkit-scrollbar{display:none}
nav.main a{flex:none;text-decoration:none;padding:7px 13px;border-radius:999px;background:#fff;border:1px solid var(--line);font-weight:700;font-size:13.5px;white-space:nowrap}
nav.main a:hover,nav.main a[aria-current]{border-color:var(--coral);color:var(--coral)}
.crumbs{font-size:12.5px;color:var(--muted);margin:12px 0 0}.crumbs a{text-decoration:none}.crumbs a:hover{text-decoration:underline}
h1{margin:14px 0 6px;font-size:30px;letter-spacing:-.4px;line-height:1.15}
.lede{font-size:16.5px;max-width:760px;margin:0 0 6px}.lede+.lede{color:var(--muted);font-size:15px}
.sub{color:var(--muted);font-size:13px}
.wx{display:flex;gap:8px;overflow-x:auto;padding:4px 0 2px;scrollbar-width:none;margin:10px 0}
.wxd{flex:none;background:#fff;border:1px solid var(--line);border-radius:14px;padding:8px 10px;text-align:center;min-width:80px;font-size:12px}
.wxd b{display:block;font-size:15px}.wxd .r{color:var(--sky)}
h2{font-size:22px;margin:32px 0 4px;display:flex;align-items:center;gap:8px;line-height:1.2}.h2sub{color:var(--muted);font-size:14px;margin:0 0 12px}
h2 a{text-decoration:none}.more{font-size:14px;font-weight:800;color:var(--coral);text-decoration:none;white-space:nowrap}
.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:14px 16px;box-shadow:0 2px 0 #f3e6d8}
.weekend{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}
.wk{background:linear-gradient(160deg,#fff 0%,#fff3e8 100%)}.wk h3{margin:0 0 2px;font-size:17px}.tip{background:#fff0e6;border-radius:12px;padding:8px 10px;font-size:13.5px;margin:8px 0}
.mini{display:flex;gap:8px;align-items:baseline;padding:6px 0;border-top:1px dashed var(--line);font-size:14.5px}.mini:first-of-type{border-top:0}
.mini .t{font-weight:800;color:var(--coral);min-width:62px;font-size:13px;flex:none}.mini a{text-decoration:none}.mini a:hover{text-decoration:underline}
.picks{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:12px}
.pick{display:flex;gap:12px;align-items:center;text-decoration:none}.pick img{width:54px;height:54px;object-fit:cover;border-radius:12px;background:#f6ece2;flex:none}
.pick .k{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);font-weight:800}.pick .n{font-weight:700;font-size:14px;line-height:1.25}
.citygrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}
.cityc{text-decoration:none;padding:10px 12px}.cityc b{display:block;font-size:15px}.cityc span{font-size:12.5px;color:var(--muted)}
.cityc:hover{border-color:var(--coral)}
.day{margin:16px 0 6px;font-weight:800;color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.7px}
.ev{display:grid;grid-template-columns:74px 1fr;gap:10px;padding:12px 14px;margin-bottom:8px}
.ev .tm{font-weight:800;color:var(--coral)}.ev .ttl{font-weight:800;font-size:15.5px;text-decoration:none;display:block}.ev .ttl:hover{text-decoration:underline}
.ev .meta{font-size:13px;color:var(--muted);margin-top:2px}.ev .desc{font-size:13.5px;margin-top:4px}
.tag{display:inline-block;font-size:11.5px;font-weight:800;padding:2px 8px;border-radius:999px;margin:4px 4px 0 0;background:#f4ede6;color:#6d5d53;text-decoration:none}
.tag.baby{background:#e3f1e7;color:#2f6b45}.tag.mb{background:#efe3f5;color:#7a4691}.tag.warn{background:#fff1d6;color:#8a5b00}.tag.kid{background:#e3f1e7;color:#2f6b45}.tag.splash{background:#e4f1fb;color:#2f6a99}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.park h3{margin:0 0 4px;font-size:16.5px;line-height:1.25}.park .why{font-size:13.5px;margin:6px 0}.park .addr{font-size:13px;color:var(--muted)}
.btns{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.btn{font-size:13px;font-weight:800;text-decoration:none;padding:7px 12px;border-radius:999px;background:#fff0e6;color:#b4492d}
.btn.alt{background:#eef5fb;color:#2f6a99}
.tbl{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}td,th{text-align:left;padding:8px 6px;border-top:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-size:12px}
.ok{color:#2f8a4f;font-weight:800}.bad{color:#c2412d;font-weight:800}.stale{color:#b07a00;font-weight:800}
.empty{color:var(--muted);font-size:14px;padding:10px 0}
.banner{background:#fff3d6;border:1px solid #ffe2a0;border-radius:14px;padding:8px 12px;font-size:13px;margin:8px 0}
.prose{max-width:760px}.prose p,.prose li{font-size:15.5px}
details.faq{background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 14px;margin:8px 0;max-width:760px}details.faq summary{font-weight:800;cursor:pointer}
details.faq[open] summary{margin-bottom:6px}
footer.site{border-top:1px solid var(--line);margin-top:40px;padding-top:16px;color:var(--muted);font-size:13px}
footer.site a{color:var(--ink)}footer.site .cols{display:flex;gap:28px;flex-wrap:wrap;margin-bottom:12px}footer.site .cols div{min-width:150px}
footer.site b{display:block;color:var(--ink);margin-bottom:4px}footer.site ul{list-style:none;padding:0;margin:0}footer.site li{margin:3px 0}
@media(max-width:560px){body{font-size:15.5px}h1{font-size:25px}.bname{font-size:18px}.btag{font-size:12px;max-width:250px}
.ev{grid-template-columns:60px 1fr;padding:11px 12px;gap:8px}.grid{grid-template-columns:1fr}.weekend{grid-template-columns:1fr}
.citygrid{grid-template-columns:repeat(2,1fr)}h2{font-size:20px;flex-wrap:wrap}.wxd{min-width:72px}}
/* v2: first screen, filters, fit badges, logistics */
nav.main{justify-content:flex-start}nav.main a{padding:7px 14px}
.cov{font-size:14px;color:var(--muted);margin:0 0 10px;max-width:760px}.cov a{color:var(--coral);font-weight:800}
.first{margin-top:10px}.daycard h3{margin:0 0 2px;font-size:17px}
.mini .mi{flex:1;min-width:0}.mini .mi a{font-weight:700}.mini .mi .sub{font-size:12.5px}
.btn.sm{padding:5px 10px;font-size:12.5px;flex:none;align-self:center}
.ev .addr{font-size:13px;margin-top:3px}.ev .btns{margin-top:8px}.ev .btn{padding:6px 11px}
.tags{margin-top:2px}.tag.age{background:#eef5fb;color:#2f6a99}
.fit-great{background:#d9f2e1!important;color:#1f6b3a!important}.fit-good{background:#e3f1e7!important;color:#2f6b45!important}
.fit-ok{background:#fff1d6!important;color:#8a5b00!important}.fit-no{background:#fde2dc!important;color:#a3321c!important}.fit-unk{background:#f4ede6!important;color:#6d5d53!important}
.ended{opacity:.55}.tag.endtag{background:#eee;color:#555}
.filters{margin:10px 0;padding:10px 12px}.fform{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}
.fform label,.pform label{font-size:13px;font-weight:800;color:var(--muted);display:flex;flex-direction:column;gap:2px}
select,input[type=email],input[type=text]{font:inherit;font-size:15px;padding:6px 8px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);max-width:100%}
.chips{border:0;margin:0;padding:0;display:flex;gap:6px;flex-wrap:wrap}.chip{flex-direction:row!important}
.chip input{position:absolute;opacity:0;pointer-events:none}.chip span{display:inline-block;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:13.5px;color:var(--ink);cursor:pointer}
.chip input:checked+span{background:var(--coral);border-color:var(--coral);color:#fff}.chip input:focus-visible+span{outline:2px solid var(--sky)}
.planning{font-size:14px;font-weight:700;margin-bottom:6px}.linkbtn{background:none;border:0;color:var(--coral);font:inherit;font-weight:800;text-decoration:underline;cursor:pointer;padding:0 2px}
.picker{position:relative;margin:10px 0;background:#fffaf3;border-color:var(--peach)}.picker .x{position:absolute;right:8px;top:4px;background:none;border:0;font-size:24px;cursor:pointer;color:var(--muted)}
.pform{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:flex-end;margin-top:8px}
button{font:inherit}.pform button,.wl button{background:var(--coral);color:#fff;border:0;border-radius:999px;padding:8px 16px;font-weight:800;cursor:pointer}
.waitlist{margin:14px 0}.wl{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 4px}.wl input{flex:1;min-width:180px}.waitlist .btn{display:inline-block;margin:8px 0 4px}
.parkpick{margin-top:12px}.quick{font-size:14px;margin:14px 0 0;line-height:1.9}.quick a{font-weight:800;text-decoration:none;white-space:nowrap}
.season{font-size:13px;margin-top:6px;padding:6px 8px;border-radius:10px;background:#f4ede6}.sp-open_season,.sp-on{background:#e4f1fb}.sp-after,.sp-before{background:#f3f0ee}.sp-unknown{background:#fff6e0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
details.later{margin-top:16px}details.later>summary{cursor:pointer;font-weight:800;color:var(--coral);padding:10px 0;font-size:15px}
[hidden]{display:none!important}
@media(max-width:560px){h1{font-size:24px;margin:10px 0 4px}.btag{display:none}header.top{padding:10px 0 6px}.fform label{flex:1 1 40%}.fform select{width:100%}}
details.filters{padding:8px 12px;margin:8px 0}details.filters>summary{cursor:pointer;font-weight:800;font-size:14px;color:var(--sky);list-style:none}
details.filters>summary::-webkit-details-marker{display:none}details.filters>summary::before{content:"⚙️ "}
details.filters.on>summary{color:var(--coral)}details.filters[open] .fform{margin-top:8px}
.fcount:empty{display:none}.fcount{margin:-2px 0 6px}
.picker .pform label{flex:1 1 40%}.picker select{width:100%}
/* v3: Plan B, snack & book picks, signup, share, feeds, large print */
.daycard{display:flex;flex-direction:column}.daycard>h3,.daycard>.wxl,.daycard>.tip{order:-2}.daycard>.planb{order:5}.daycard>.more-row{order:6}.daycard>.planb.first{order:-1}
.planb{margin:8px 0 2px;padding:8px 10px;border-radius:12px;background:#eef5fb;font-size:13.5px;line-height:1.35}.planb.first{margin-top:6px;background:#e3effa;border:2px solid #9cc3e6}
.planb .pbl{font-weight:800}.planb .pbwhy{color:#1d5a8c}.planb a{font-weight:700}
.snackpick{padding:14px}.snackpick .st{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--muted)}.snackpick .sn{font-weight:800;font-size:16px}
.kv{margin:10px 0;display:grid;grid-template-columns:max-content 1fr;gap:6px 12px;font-size:14px}.kv dt{font-weight:800}.kv dd{margin:0}
@media (max-width:520px){.kv{grid-template-columns:1fr}.kv dd{margin-bottom:4px}}
.bookpicks{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.bookp{padding:12px}.bookp .bt{font-weight:800;font-size:16px}.bookp .ba{font-size:13px;color:var(--muted)}.bookp .why{margin:8px 0;font-size:14px}
.catlist{margin:8px 0 4px}.catlist ul{margin:6px 0;padding-left:18px}
.signup{margin:14px 0;padding:14px}.su{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;margin:10px 0 6px;align-items:end}.su label{display:flex;flex-direction:column;font-size:13px;font-weight:700;gap:3px}
.su input,.su select{font:inherit;padding:8px;border:1px solid #e3d6ca;border-radius:10px;background:#fff}.su button{background:var(--coral);color:#fff;border:0;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer}
.share{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0}.share .btn{display:inline-block}
.feeds{margin:14px 0;padding:14px}.feeds ul{margin:8px 0 0;padding-left:18px}.feeds li{margin:4px 0}.feeds li.mine{background:#fff0e6;border-radius:8px;padding:2px 6px;margin-left:-6px}
.printpage{font-size:20px}.printpage .pfor{font-weight:800;font-size:22px}.printpage .pday h2{font-size:26px;border-bottom:3px solid #333;margin-top:22px}
.prow{display:grid;grid-template-columns:4.4em minmax(0,1fr);gap:10px;overflow-wrap:anywhere;padding:10px 0;border-bottom:1px solid #ccc}.prow .pt{font-weight:800}.prow .pn{font-weight:800;font-size:22px}.prow .pw{font-size:19px}.prow .tag{font-size:16px}
.prow.ended{opacity:.5}
@media print{
 .skip,header.top,nav.main,footer.site,.filters,.fcount,.noprint,.picker,.share,.banner{display:none!important}
 body{background:#fff!important;color:#000}.printpage{font-size:16pt}.prow{break-inside:avoid}.prow .pn{font-size:17pt}a{color:#000;text-decoration:none}
 .prow[hidden]{display:none!important}
}
