@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/f639721981034f88-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/9766a7e9e2e0ad5a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b66cf8e69499582a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/aa016aab0e6d1295-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/22a5144ee8d83bca-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Fallback;src:local("Arial");ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.00%;size-adjust:104.76%}.__className_246ccd{font-family:Geist,Geist Fallback;font-style:normal}.__variable_246ccd{--font-geist-sans:"Geist","Geist Fallback"}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/013b72fa676f92e0-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b9408752a0c24fb9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/65f03d54ccadf4a8-s.woff2) format("woff2");unicode-range:u+2000-2001,u+2004-2008,u+200a,u+23b8-23bd,u+2500-259f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e038a29029a234f2-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/2b5b02fc7e511755-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/7d4881bb7e1bf84d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Mono Fallback;src:local("Arial");ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.00%;size-adjust:134.59%}.__className_c29908{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.__variable_c29908{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}:root{--background:#fbfaf7;--foreground:#1d1d1b;--muted:#68645d;--line:#ddd8cd;--panel:#ffffff;--accent:#2364aa;--accent-strong:#174a7d;--danger:#a83b35;--success:#2f6f4e}@media (prefers-color-scheme:dark){:root{--background:#171716;--foreground:#f2eee8;--muted:#bbb3a6;--line:#36322d;--panel:#211f1c;--accent:#74a7dd;--accent-strong:#a7c9ec}}html{height:100%}body,html{max-width:100vw;overflow-x:hidden}body{min-height:100%;display:flex;flex-direction:column;color:var(--foreground);background:var(--background);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;padding:0;margin:0}a{color:inherit;text-decoration:none}a,button,input{min-width:0}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:3px}.app-shell,.auth-shell{width:min(100%,960px);margin:0 auto;padding:48px 20px}.auth-shell{min-height:100vh;display:grid;place-items:center}.auth-panel,.hero-band{width:min(100%,520px);background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:28px;box-shadow:0 16px 40px rgba(30,26,20,.08)}.hero-band{width:100%;margin-top:28px}.birthday-banner{background:color-mix(in srgb,var(--accent) 10%,var(--panel));border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:8px;color:var(--accent-strong);font-weight:700;line-height:1.5;margin-top:28px;padding:14px 16px}.narrow{width:min(100%,680px)}.link-row,.route-list,.topbar{display:flex;align-items:center;gap:16px}.topbar{justify-content:space-between}.link-row,.route-list{flex-wrap:wrap;margin-top:24px}.route-list{align-items:stretch}.route-list a{border:1px solid var(--line);border-radius:8px;padding:14px 16px;background:var(--panel);overflow-wrap:anywhere}.eyebrow,.route-list a{color:var(--accent-strong)}.eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.08em;margin-bottom:8px;text-transform:uppercase}h1,h2{line-height:1.08;margin-bottom:14px}h1{font-size:clamp(2rem,8vw,3.5rem)}h2{font-size:clamp(1.75rem,6vw,3rem)}.muted{color:var(--muted);line-height:1.6;overflow-wrap:anywhere}.auth-form{display:grid;grid-gap:12px;gap:12px;margin-top:24px}.auth-form label,.profile-list dt{color:var(--muted);font-size:.9rem;font-weight:700}.auth-form input{padding:12px 14px}.auth-form input,.comment-form input,.comment-form textarea{width:100%;border:1px solid var(--line);border-radius:6px;background:var(--background);color:var(--foreground)}.comment-form input,.comment-form textarea{padding:10px 12px;resize:vertical}.auth-form button,.button-link,.secondary-button{border:1px solid transparent;border-radius:6px;padding:12px 16px;font-weight:700}.auth-form button,.button-link{background:var(--accent);color:#fff}.auth-form button:disabled{opacity:.7}.secondary-button{background:transparent;border-color:var(--line);color:var(--foreground)}.danger-button{border-color:color-mix(in srgb,var(--danger) 35%,var(--line));color:var(--danger)}.text-link{color:var(--accent-strong);font-weight:700}.home-section{margin-top:32px}.section-heading{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.home-news-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:20px}.home-news-grid .submission-card h3{font-size:1.25rem;line-height:1.2;margin-bottom:10px}.home-news-card{display:block;transition:border-color .16s ease,transform .16s ease}.home-news-card:focus-visible,.home-news-card:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));transform:translateY(-1px)}.mode-switch{align-items:center;border:1px solid var(--line);border-radius:8px;display:flex;gap:12px;justify-content:space-between;margin-top:18px;padding:12px}.mode-switch span{color:var(--muted);font-weight:700}.form-error{color:var(--danger)}.form-success{color:var(--success)}.empty-state,.error-state,.loading-state{border:1px solid var(--line);border-radius:8px;background:var(--panel);margin-top:24px;padding:20px}.empty-state p,.error-state p,.loading-state p{color:var(--muted);line-height:1.6}.error-state{border-color:color-mix(in srgb,var(--danger) 35%,var(--line))}.error-state p{color:var(--danger)}.profile-list{display:grid;grid-gap:14px;gap:14px;margin:24px 0}.profile-list div{border-bottom:1px solid var(--line);padding-bottom:14px}.profile-list dd{margin-top:4px}.archive-list,.submission-list{display:grid;grid-gap:16px;gap:16px;list-style:none;margin:28px 0}.archive-list a,.submission-card{background:var(--panel);border:1px solid var(--line);border-radius:8px}.archive-list a{align-items:center;display:flex;justify-content:space-between;gap:16px;padding:18px}.archive-list small{color:var(--muted);display:block;margin-top:4px}.count-pill{border:1px solid var(--line);border-radius:999px;color:var(--accent-strong);flex:0 0 auto;font-size:.9rem;font-weight:700;padding:7px 10px}.archive-actions{margin-bottom:24px;margin-top:0}.submission-card{padding:24px;scroll-margin-top:24px}.submission-card h2{font-size:clamp(1.35rem,4vw,2rem)}.submission-fields{display:grid;grid-gap:18px;gap:18px;margin-top:22px}.submission-fields div{border-top:1px solid var(--line);padding-top:16px}.submission-fields dt{color:var(--muted);font-size:.85rem;font-weight:700;margin-bottom:6px}.submission-fields dd{line-height:1.65;white-space:pre-wrap}.photo-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:24px}.photo-grid figure{display:grid;grid-gap:8px;gap:8px}.photo-grid img{aspect-ratio:4/3;border-radius:6px;display:block;object-fit:cover;width:100%}.photo-grid figcaption{color:var(--muted);font-size:.9rem;line-height:1.4}.comments-section{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.comments-section h3{font-size:1.1rem;margin-bottom:12px}.comment-list{display:grid;grid-gap:12px;gap:12px;list-style:none;margin:16px 0}.comment-replies{border-left:2px solid var(--line);margin-left:12px;padding-left:14px}.comment-item{display:grid;grid-gap:8px;gap:8px;line-height:1.55}.comment-form label,.comment-meta{color:var(--muted);font-size:.85rem;font-weight:700}.comment-form{display:grid;grid-gap:8px;gap:8px;margin-top:12px}.comment-form button{justify-self:start}.comment-composer{margin-top:10px}.comment-composer summary{color:var(--accent-strong);cursor:pointer;display:inline-flex;font-weight:700;list-style:none}.comment-composer summary::-webkit-details-marker{display:none}.inline-admin-form{margin-top:8px}@media (max-width:640px){.app-shell,.auth-shell{padding:28px 16px}.auth-panel,.hero-band{padding:22px}.topbar{align-items:flex-start;flex-direction:column}.link-row,.mode-switch,.route-list,.section-heading{align-items:stretch;flex-direction:column}.auth-form button,.button-link,.comment-form button,.route-list a,.secondary-button{width:100%;text-align:center}.archive-list a{align-items:flex-start;flex-direction:column}}@media (prefers-color-scheme:dark){html{color-scheme:dark}}