:root{--bg:#f3efe7;--surface:#faf8f3;--ink:#1e2d36;--muted:#655d51;--line:#d6ccba;--fog:#e7e1d5;--accent:#3b6a6b;--accent-soft:#d5e3df;--accent-ink:#faf8f3;--ocean:#2f5d78;--sun:#d99a3e;--rust:#9a4a26;--radius:4px;--space:clamp(52px, 8vw, 92px);--font-body:var(--font-sans,system-ui, sans-serif);--font-head:var(--font-serif,Georgia, serif);--font-data:var(--font-mono,ui-monospace, monospace);--map-inner:#e3d8c5;--map-outer:#eae1d1;--map-lake:#dde2d6;--map-park:#d6ddca;--sea-nav:#467475;--dateline-bg:#e1e6e4;--dateline-ink:#4f5d63;--footer-bg:#ece5d7;--night:#dde3e2;--band-sky:#c9d2d3;--band-fog:#dce1df;--band-sea:#7e9aa3;--band-surf:#e9ece8;--band-sand:#d8cdb6;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--bg:#11181d;--surface:#18222a;--ink:#ece6da;--muted:#a9a193;--line:#2c3840;--fog:#1d2830;--accent:#8dbcb9;--accent-soft:#24393b;--accent-ink:#11181d;--ocean:#86afcb;--sun:#e3a955;--rust:#e08a5e;--map-inner:#26313a;--map-outer:#2c373f;--map-lake:#243130;--map-park:#233129;--sea-nav:#9cbcc4;--dateline-bg:#1a252d;--dateline-ink:#a9b4b8;--footer-bg:#171e22;--night:#22303a;--band-sky:#24303a;--band-fog:#2b3741;--band-sea:#3c5866;--band-surf:#46565d;--band-sand:#3d372d}}[data-cat=music]{--cat:#8a5a9e}[data-cat=performance]{--cat:#a8526b}[data-cat=arts]{--cat:#b0683a}[data-cat=classes]{--cat:#3e7c77}[data-cat=kids]{--cat:#4f78a8}[data-cat=wellness]{--cat:#6e8b5a}[data-cat=community]{--cat:#a07b3a}[data-cat=civic]{--cat:#5e6b73}[data-cat=services]{--cat:#7a654e}[data-cat=food]{--cat:#a9493e}[data-cat=housing-jobs]{--cat:#3e6e86}[data-cat=lost-found-free]{--cat:#6b7f3a}[data-cat=history]{--cat:#8a6a4a}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:120px}body{background:var(--bg);color:var(--ink);font:400 16.5px/1.6 var(--font-body);-webkit-font-smoothing:antialiased;margin:0}img{max-width:100%;height:auto;display:block}a{color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--ink)}h1,h2,h3{font-family:var(--font-head);letter-spacing:-.005em;margin:0 0 .45em;font-weight:300;line-height:1.15}h1{font-size:clamp(2.1rem,4.6vw,3.2rem);line-height:1.06}h2{font-size:clamp(1.45rem,2.6vw,1.8rem)}h3{font-size:1.22rem}p{margin:0 0 .9em}[hidden]{display:none!important}.muted{color:var(--muted)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 clamp(16px,4vw,40px)}.skip{background:var(--surface);z-index:30;padding:8px 12px;position:absolute;top:8px;left:-999px}.skip:focus{left:8px}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.eyebrow{font:500 .74rem/1.2 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 16px}.btn{font:500 .92rem/1.2 var(--font-body);letter-spacing:.02em;border:1px solid var(--ink);border-radius:var(--radius);background:var(--ink);color:var(--bg);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:10px 18px;text-decoration:none;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.btn:hover{color:var(--ink);background:0 0}.btn.secondary{color:var(--ink);border-color:var(--line);background:0 0}.btn.secondary:hover{border-color:var(--ink)}.btn.small{padding:6px 12px;font-size:.85rem}.btn:disabled,.btn:disabled:hover{opacity:.45;cursor:not-allowed;background:var(--ink);color:var(--bg)}.linklike{font:inherit;color:var(--accent);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.site-header{z-index:20;background:color-mix(in srgb, var(--bg) 94%, transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);position:sticky;top:0}.header-top{align-items:center;gap:28px;min-height:64px;display:flex}.brand{color:var(--ink);white-space:nowrap;font:500 .78rem/1 var(--font-body);letter-spacing:.24em;text-transform:uppercase;align-items:center;gap:12px;text-decoration:none;display:flex}.brand:hover{color:var(--ink)}.brand-mark{flex:none;width:30px;height:30px}.header-search{flex:1;max-width:340px;margin-left:auto;position:relative}.header-search svg,.browse-search svg,.hero-search svg{fill:none;width:17px;height:17px;stroke:var(--muted);stroke-width:1.6px;stroke-linecap:round;pointer-events:none;position:absolute;top:50%;left:0;transform:translateY(-50%)}.header-search input{width:100%;font:inherit;color:var(--ink);border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;padding:8px 4px 8px 26px;font-size:.92rem}.header-search input:focus{border-bottom-color:var(--ink);outline:none}.header-cta{flex:none;font-size:.92rem;font-weight:500;text-decoration:none}.tabs{scrollbar-width:none;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs ul{gap:24px;margin:0;padding:0;list-style:none;display:flex}.tabs a{color:var(--sea-nav);white-space:nowrap;border-bottom:1px solid #0000;margin-bottom:-1px;padding:10px 0 12px;font-size:.9rem;text-decoration:none;display:block}.tabs a:hover{color:var(--ink)}.tabs a[aria-current=page]{color:var(--ink);border-bottom-color:var(--ink)}@media (width<=720px){.header-top{gap:16px;min-height:56px}.header-cta{display:none}.header-search{max-width:none}.brand span{display:none}.tabs ul{gap:20px}}main.wrap{padding-top:clamp(28px,5vw,48px);padding-bottom:var(--space);min-height:60vh}.page-head{max-width:46rem;margin:0 0 clamp(26px,4vw,42px)}.lede{color:var(--muted);max-width:40rem;font-size:1.08rem}.section-head{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:4px;padding-bottom:12px;display:flex}.section-head h2{margin:0}.section-head a{white-space:nowrap;font-size:.92rem;text-decoration:none}.notice{border-left:2px solid var(--rust);margin:20px 0 0;padding:4px 0 4px 16px}.notice strong{font-weight:500}.empty{color:var(--muted);border-top:1px solid var(--line);padding:28px 0}.section-foot{margin-top:44px;font-size:.9rem}.dateline{background:var(--dateline-bg)}.dateline-inner{white-space:nowrap;min-height:30px;font:400 .72rem/1.4 var(--font-data);color:var(--dateline-ink);align-items:center;margin-block:0;display:flex;overflow:hidden}.dateline-inner span:empty{display:none}.dateline-inner span+span:before{content:"·";margin:0 .7em}.dateline-inner [data-dl-weather]{text-overflow:ellipsis;overflow:hidden}@media (width<=480px){.dateline-inner{font-size:.66rem}.dateline-inner span+span:before{margin:0 .5em}}.horizon{background:linear-gradient(to bottom, var(--band-sky) 0 46%, var(--band-fog) 46% 58%, var(--band-sea) 58% 72%, var(--band-surf) 72% 77%, var(--band-sand) 77% 100%);height:clamp(44px,7vw,92px)}.tide{margin:0 0 40px}.tide-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 24px;display:flex}.tide-title{font:500 .7rem/1.4 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0}.tide-facts{min-height:1.5em;font:400 .78rem/1.5 var(--font-data);color:var(--ink);flex-wrap:wrap;gap:2px 18px;margin:0;display:flex}.tide-facts span:empty{display:none}.tide-chart{height:66px;margin-top:10px;position:relative}.tide-night{background:var(--night);width:0;height:42px;position:absolute;top:12px;left:0}.tide-svg{width:100%;height:30px;position:absolute;top:18px;left:0;right:0;overflow:visible}.tide-base{stroke:var(--line);stroke-width:1px;vector-effect:non-scaling-stroke}.tide-curve{fill:none;stroke:var(--ocean);stroke-width:1.5px;vector-effect:non-scaling-stroke;stroke-linejoin:round}.tide-pt,.tide-now{border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.tide-pt{background:var(--ocean);width:5px;height:5px}.tide-now{background:var(--footer-bg);border:1.5px solid var(--ocean);width:9px;height:9px}.tide-label{font:400 .66rem/1 var(--font-data);color:var(--muted);white-space:nowrap;position:absolute;transform:translate(-50%)}.tide-label.hi{top:0}.tide-label.lo{bottom:0}.tide-sunset{border-left:1px dashed var(--sun);height:42px;position:absolute;top:12px}.tide-sun{background:var(--sun);border-radius:14px 14px 0 0;width:14px;height:7px;position:absolute;top:47px;transform:translate(-50%)}.tide-axis{font:400 .64rem/1 var(--font-data);color:var(--muted);justify-content:space-between;margin:4px 0 0;display:flex}.tide-links{flex-wrap:wrap;gap:8px 30px;margin:22px 0 0;padding:0;font-size:.9rem;list-style:none;display:flex}.tide-links a{color:var(--ink);text-decoration:underline}.tide-links .muted{font-size:.84rem}@media (width<=560px){.tide-axis span:nth-child(2n){display:none}}.cal-day-facts{min-height:1.5em;font:400 .78rem/1.5 var(--font-data);color:var(--muted);margin:-6px 0 16px}.hero{text-align:center;max-width:48rem;margin:0 auto clamp(36px,6vw,64px)}.hero h1{letter-spacing:-.015em;text-wrap:balance;margin-bottom:.3em;font-size:clamp(2.1rem,5vw,3.3rem);line-height:1.05}.hero-lede{text-wrap:balance}.hero h1 em{font-style:italic}.hero-lede{color:var(--muted);max-width:40rem;margin:0 auto 22px;font-size:clamp(1.02rem,1.8vw,1.15rem)}.hero-search{border-bottom:1px solid var(--ink);text-align:left;align-items:center;gap:12px;max-width:34rem;margin:0 auto;display:flex;position:relative}.hero-search:focus-within{border-bottom-color:var(--accent)}.hero-search input{min-width:0;font:inherit;color:var(--ink);background:0 0;border:0;flex:1;padding:12px 4px 12px 28px;font-size:1.1rem}.hero-search input:focus{outline:none}.hero-search .btn{margin-bottom:4px;padding:7px 14px}.photo-band{margin:0}.photo-band img{object-fit:cover;background:var(--band-fog);width:100%;height:clamp(120px,22vw,320px)}.home-block{margin:0 0 var(--space)}.rows{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.rows>li{border-bottom:1px solid var(--line)}.row-link{color:inherit;grid-template-columns:8.5rem minmax(0,1fr) 64px;grid-template-areas:"date text img";align-items:center;gap:22px;padding:16px 0;text-decoration:none;display:grid}.row-date{font:400 .78rem/1.5 var(--font-data);color:var(--muted);grid-area:date;margin:0}.row-date .rel{color:var(--rust);text-transform:uppercase;letter-spacing:.04em;display:block}.row-text{grid-area:text;min-width:0}.row-title{margin:0 0 2px;font-size:1.3rem;line-height:1.2;transition:color .15s}.row-link:hover .row-title{color:var(--accent)}.row-meta{color:var(--muted);margin:0;font-size:.9rem}.row-img{object-fit:cover;object-position:top;background:var(--fog);border-radius:3px;grid-area:img;width:64px;height:64px}@media (width<=560px){.row-link{grid-template-columns:minmax(0,1fr) 56px;grid-template-areas:"date img""text img";gap:2px 16px}.row-img{width:56px;height:56px}}.index-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));column-gap:52px;margin:0;padding:0;list-style:none;display:grid}.index-list li{border-top:1px solid var(--line)}.index-list a{color:inherit;grid-template-columns:minmax(0,1fr) auto;gap:2px 16px;padding:16px 0 18px;text-decoration:none;display:grid}.index-name{font:300 1.38rem/1.2 var(--font-head);align-items:center;gap:12px;transition:color .15s;display:flex}.index-name:before{content:"";background:var(--cat,var(--muted));border-radius:50%;flex:none;width:7px;height:7px}.index-list a:hover .index-name{color:var(--accent)}.index-count{font:400 .76rem/1 var(--font-data);color:var(--muted);align-self:center}.index-blurb{color:var(--muted);grid-column:1/-1;padding-left:19px;font-size:.9rem}.steps{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:28px 52px;margin:0;padding:0;list-style:none;display:grid}.steps li{border-top:1px solid var(--line);padding-top:16px}.step-n{font:400 .76rem/1 var(--font-data);color:var(--muted);margin-bottom:10px;display:block}.steps h3{margin-bottom:.3em}.steps p{color:var(--muted);margin:0}.where{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:52px;display:grid}.where-text p{max-width:30rem}.coverage-map{justify-self:center;width:100%;max-width:400px;height:auto}.coverage-map .area{stroke:var(--bg);stroke-width:1.5px}.coverage-map .area[data-area=Inner\ Sunset]{fill:var(--map-inner)}.coverage-map .area[data-area=Sunset\/Parkside]{fill:var(--map-outer)}.coverage-map .area[data-area=Lakeshore]{fill:var(--map-lake)}.coverage-map .area[data-area="Golden Gate Park"]{fill:var(--map-park)}.coverage-map .area-label{font:400 11px var(--font-body);fill:var(--muted);letter-spacing:.04em}.coverage-map .area-label.small{font-size:9.5px}.coverage-map .ocean-label{font:italic 300 12px var(--font-head);fill:var(--ocean);letter-spacing:.06em}.coverage-map .pin circle{fill:var(--ink);stroke:var(--bg);stroke-width:2px}@media (width<=760px){.where{grid-template-columns:1fr;gap:28px}}.involve{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:28px 52px;display:grid}.involve-card{border-top:1px solid var(--line);padding-top:16px}.involve-card p:last-child{margin-bottom:0}.browse{grid-template-columns:minmax(0,1fr);gap:18px;margin:0 0 36px;display:grid}.browse-search{border-bottom:1px solid var(--ink);display:block;position:relative}.browse-search:focus-within{border-bottom-color:var(--accent)}.browse-search input{width:100%;font:inherit;color:var(--ink);background:0 0;border:0;padding:12px 4px 12px 28px;font-size:1.08rem}.browse-search input:focus{outline:none}.browse-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 30px;display:flex}.seg{scrollbar-width:none;gap:20px;max-width:100%;display:inline-flex;overflow-x:auto}.seg::-webkit-scrollbar{display:none}.seg button{font:inherit;color:var(--muted);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #0000;flex:none;padding:4px 0;font-size:.92rem}.seg button:hover{color:var(--ink)}.seg button[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--ink)}.browse-opts{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px 24px;font-size:.92rem;display:flex}.toggle{cursor:pointer;align-items:center;gap:8px;display:inline-flex}.toggle input{width:15px;height:15px;accent-color:var(--ink)}.select{align-items:center;gap:8px;display:inline-flex}.select select{max-width:56vw;font:inherit;color:var(--ink);border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;padding:4px 2px}.chips{flex-wrap:wrap;gap:6px 20px;display:flex}.chip{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:1px solid #0000;align-items:center;gap:8px;padding:3px 0;font-size:.88rem;display:inline-flex}.chip[data-cat]:before{content:"";background:var(--cat);border-radius:50%;width:7px;height:7px}.chip:hover{color:var(--ink)}.chip[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--ink)}.browse-count{font:400 .76rem/1.4 var(--font-data);color:var(--muted);margin:0}.grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:44px 30px;display:grid}.card-link{height:100%;color:inherit;flex-direction:column;gap:14px;text-decoration:none;display:flex}.card-img{aspect-ratio:4/5;border-radius:var(--radius);background:var(--fog);position:relative;overflow:hidden}.card-img img{object-fit:cover;object-position:center top;width:100%;height:100%;transition:transform .5s}.card-link:hover .card-img img{transform:scale(1.02)}.card.compact .card-img{aspect-ratio:4/3}.pill{font:400 .66rem/1.2 var(--font-data);letter-spacing:.06em;text-transform:uppercase;background:var(--bg);color:var(--ink);border-radius:2px;padding:4px 7px;position:absolute;top:10px;left:10px}.pill.pill-today{background:var(--rust);color:var(--surface)}.card-body{align-content:start;gap:4px;display:grid}.badge{font:500 .68rem/1.3 var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);justify-self:start;align-items:center;gap:8px;text-decoration:none;display:inline-flex}.badge:before{content:"";background:var(--cat,var(--muted));border-radius:50%;flex:none;width:7px;height:7px}.card-title{margin:2px 0 0;font-size:1.3rem;transition:color .15s}.card-link:hover .card-title{color:var(--accent)}.card-sub{color:var(--muted);margin:0;font-size:.9rem}.card-when{font:400 .78rem/1.5 var(--font-data);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:2px 0 0;display:-webkit-box;overflow:hidden}.card-where,.card-price{color:var(--muted);margin:0;font-size:.9rem}.cal-page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;max-width:none;display:flex}.cal-page-head .lede{margin-bottom:0}.cal-bar{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:16px;display:flex}.cal-title{margin:0}.cal-nav{gap:6px;display:flex}.cal-nav .btn{min-width:38px}.cal-legend{color:var(--muted);flex-wrap:wrap;gap:6px 20px;margin:0 0 18px;font-size:.82rem;display:flex}.legend-item{align-items:center;gap:8px;display:inline-flex}.dot{background:var(--cat,var(--muted));border-radius:50%;flex:none;width:7px;height:7px;display:inline-block}.cal-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.cal-dow{border-right:1px solid var(--line);border-bottom:1px solid var(--line);font:500 .68rem/1 var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:9px 8px}.cal-cell{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;min-height:110px;font:inherit;color:var(--ink);cursor:pointer;background:0 0;flex-direction:column;align-items:stretch;gap:5px;padding:8px;display:flex}.cal-cell:hover{background:var(--surface)}.cal-blank,.cal-blank:hover{cursor:default;background:0 0}.cal-cell.is-past{color:var(--muted)}.cal-cell.is-past .cal-chip{opacity:.55}.cal-num{width:30px;height:30px;font:300 1.08rem/1 var(--font-head);border-radius:50%;place-items:center;display:grid}.cal-cell.is-today .cal-num{border:1px solid var(--ink)}.cal-cell.is-selected{background:var(--surface);box-shadow:inset 0 -2px 0 var(--ink)}.cal-chips{gap:3px;min-width:0;display:grid}.cal-chip{min-width:0;color:var(--ink);align-items:center;gap:6px;font-size:.76rem;line-height:1.3;display:flex}.cal-chip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cal-chip.special{color:var(--rust);font-weight:500}.cal-more{color:var(--muted);font-size:.72rem}.cal-agenda{margin-top:44px}.agenda{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.agenda-item a{border-bottom:1px solid var(--line);color:inherit;grid-template-columns:9.5rem minmax(0,1fr) auto;align-items:baseline;gap:20px;padding:15px 0;text-decoration:none;display:grid}.agenda-item a:hover strong{color:var(--accent)}.agenda-when{font:400 .78rem/1.5 var(--font-data);color:var(--muted)}.agenda-main{gap:2px;display:grid}.agenda-main strong{font:300 1.2rem/1.25 var(--font-head);transition:color .15s}.agenda-venue{color:var(--muted);font-size:.88rem}.agenda-empty{color:var(--muted);border-bottom:1px solid var(--line);padding:16px 0}@media (width<=720px){.cal-cell{align-items:center;min-height:56px;padding:5px 2px}.cal-chips{flex-wrap:wrap;justify-content:center;gap:3px;display:flex}.cal-chip span,.cal-more{display:none}.cal-dow{text-align:center;letter-spacing:.06em;padding:7px 2px}.agenda-item a{grid-template-columns:1fr auto;gap:4px 10px}.agenda-when{grid-column:1/-1}}.listing{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start;gap:clamp(28px,5vw,64px);display:grid}.listing-media{gap:16px;display:grid;position:sticky;top:124px}.listing-media img{border-radius:var(--radius);background:var(--fog);width:100%}.listing-info h1{margin-top:14px;font-size:clamp(2rem,4.4vw,3rem)}.subtitle{font:italic 300 1.2rem/1.4 var(--font-head);color:var(--muted)}.summary{font-size:1.05rem}.facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:max-content 1fr;gap:10px 24px;margin:26px 0;padding:18px 0;display:grid}.facts dt{font:500 .68rem/1.6 var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding-top:3px}.facts dd{margin:0}.facts ul{margin:0;padding-left:1.1em}.actions{flex-wrap:wrap;gap:10px;margin:18px 0 26px;display:flex}.civic-note{border-left:2px solid var(--line);margin:18px 0;padding:4px 0 4px 16px;font-size:.93rem}.block{grid-column:1/-1;max-width:46rem;margin-top:34px}.block h2{font-size:1.4rem}.transcript{white-space:pre-wrap;border-left:2px solid var(--line);padding:4px 0 4px 18px;font-size:1rem;line-height:1.65}.found li,.sightings li{margin-bottom:6px}.report{margin-top:26px;font-size:.9rem}.related{margin-top:var(--space)}.related h2{font-size:1.4rem}@media (width<=820px){.listing{grid-template-columns:1fr;gap:20px}.listing-media{position:static}}.prose{max-width:42rem}.prose h2{margin-top:1.7em}.rows>li.past{align-items:center;gap:16px;padding:12px 0;display:flex}.rows img{object-fit:cover;object-position:top;background:var(--fog);border-radius:3px;flex:none;width:56px;height:56px}.rows .meta{color:var(--muted);font-size:.88rem}.rows .past a{font:300 1.15rem/1.3 var(--font-head);text-decoration:none}.site-footer{background:var(--footer-bg);color:var(--muted);padding:44px 0 60px;font-size:.9rem}.site-footer a{color:inherit;text-decoration:none}.site-footer a:hover{color:var(--ink);text-decoration:underline}.footer-inner{gap:30px;display:grid}.footer-home{border-bottom:1px solid var(--line);margin-bottom:10px;padding-bottom:10px}.footer-sign{max-width:30rem;font:italic 300 1.15rem/1.4 var(--font-head);color:var(--ink);margin:0}.footer-cols{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:24px 44px;display:grid}.footer-cols h2{font:500 .68rem/1.4 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}.footer-cols ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.footer-fine{margin:0;font-size:.82rem}.site-footer .linklike{color:inherit;text-decoration:none}.site-footer .linklike:hover{color:var(--ink);text-decoration:underline}.fog-canvas{z-index:-1;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}#search{--pagefind-ui-scale:.95;--pagefind-ui-primary:var(--accent);--pagefind-ui-text:var(--ink);--pagefind-ui-background:var(--bg);--pagefind-ui-border:var(--line);--pagefind-ui-tag:var(--fog);--pagefind-ui-border-width:1px;--pagefind-ui-border-radius:4px;--pagefind-ui-font:var(--font-body)}.add{max-width:620px}.add-head{margin:0 0 30px}.add .notice{margin-bottom:20px}.add-form{gap:22px;display:grid}.add-form.not-ready{opacity:.5;pointer-events:none}.pick{grid-template-columns:1fr 1fr;gap:12px;display:grid}.pick.dragging{outline:1px dashed var(--ink);outline-offset:6px}.pick-btn{border:1px solid var(--line);border-radius:var(--radius);min-height:120px;color:var(--ink);text-align:center;cursor:pointer;background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:16px;font-weight:500;transition:border-color .15s,background .15s;display:flex;position:relative}.pick-btn.primary{background:var(--ink);border-color:var(--ink);color:var(--bg)}.pick-btn:hover{border-color:var(--ink)}.pick-btn:focus-within{outline:2px solid var(--accent);outline-offset:3px}.pick-btn svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;width:30px;height:30px}.pick-btn input{opacity:0;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.thumbs{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.thumbs:empty{display:none}.thumbs li{aspect-ratio:3/4;background:var(--fog);border-radius:3px;position:relative;overflow:hidden}.thumbs img{object-fit:cover;width:100%;height:100%;display:block}.thumbs li.no-preview img{visibility:hidden}.thumbs li.no-preview:after{content:"Photo";color:var(--muted);place-items:center;font-size:.85rem;display:grid;position:absolute;inset:0}.thumb-remove{color:#fff;cursor:pointer;background:#0009;border:0;border-radius:50%;width:28px;height:28px;font-size:1.15rem;line-height:1;position:absolute;top:4px;right:4px}.hint{color:var(--muted);margin:0;font-size:.9rem}.hint:empty{display:none}.field{gap:6px;display:grid}.field label{font-weight:500}.field label .muted{margin-left:4px;font-size:.86rem;font-weight:400}.add-form input:not([type=file]),.add-form textarea{width:100%;font:inherit;color:var(--ink);border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;padding:10px 2px}.add-form textarea{resize:vertical}.add-form input:focus,.add-form textarea:focus{border-bottom-color:var(--ink);outline:none}.board-row{align-items:end;gap:14px;display:flex}.board-row input{flex:1;min-width:0}.board-row .btn svg{fill:none;stroke:currentColor;stroke-width:1.6px;width:17px;height:17px}.board-row .btn.on{border-color:var(--accent);color:var(--accent)}@media (width<=480px){.board-row{flex-direction:column;align-items:stretch}}.more-fields summary{color:var(--accent);cursor:pointer;font-weight:500}.more-fields[open] summary{margin-bottom:12px}.more-fields .field+.field{margin-top:14px}.btn.big{width:100%;padding:15px 18px;font-size:1rem}.progress .bar{background:var(--line);height:2px;overflow:hidden}.progress .bar span{background:var(--ink);width:0;height:100%;transition:width .2s;display:block}.progress p{font:400 .78rem/1.5 var(--font-data);color:var(--muted);margin:8px 0 0}.error{color:color-mix(in srgb, #b4412f 70%, var(--ink));border-left:2px solid #b4412f;margin:0;padding:4px 0 4px 14px;font-size:.93rem}.fine{color:var(--muted);margin:0;font-size:.85rem}.turnstile:empty{display:none}.add-done{outline:none;padding:8px 0 0}.add-done svg{fill:none;width:44px;height:44px;stroke:var(--accent);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;margin-bottom:8px}.done-actions{flex-wrap:wrap;gap:10px;margin-bottom:0;display:flex}.add-tips{margin-top:var(--space)}.add-tips h2{font-size:1.4rem}.add-tips ul{padding-left:1.1em}.add-tips li{margin:6px 0}.install-hint{border-top:1px solid var(--line);align-items:flex-start;gap:16px;margin-top:30px;padding-top:18px;display:flex}.install-hint img{border-radius:10px;flex:none}.install-hint p{color:var(--muted);margin:4px 0 0;font-size:.93rem}.install-hint .btn{margin-left:4px}.share-glyph{vertical-align:-3px;fill:none;width:18px;height:18px;stroke:var(--accent);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.fab{display:none}@media (width<=720px){.fab{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:30;background:var(--ink);color:var(--bg);border-radius:999px;align-items:center;gap:8px;padding:11px 16px 11px 13px;font-size:.92rem;font-weight:500;text-decoration:none;display:inline-flex;position:fixed;box-shadow:0 4px 16px #0000002e}.fab:hover{color:var(--bg)}.fab svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.site-footer{padding-bottom:104px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important}.card-link:hover .card-img img{transform:none}}
