:root{--cream: #f6f2e8;--ink: #1f2a22;--ink-soft: #4b5a4f;--green: #2f5d3a;--green-deep: #244a2e;--line: rgba(31, 42, 34, .18);--card: rgba(255, 252, 245, .78);--ok: #2f5d3a;--err: #9b3b2d}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:Inter,system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--cream);line-height:1.55;-webkit-font-smoothing:antialiased}.watermark{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;background-image:url(/Olney_Acres_Park.jpg);background-size:cover;background-position:center;opacity:.22;filter:saturate(.85);pointer-events:none}.watermark:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#f6f2e826,#f6f2e88c)}.page{position:relative;z-index:1;min-height:100vh;width:100%;max-width:1120px;margin:0 auto;padding:clamp(40px,10vh,96px) clamp(16px,4vw,40px) 32px;display:flex;flex-direction:column;gap:32px}.masthead{text-align:center}.eyebrow{margin:0 0 8px;font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--green)}h1{margin:0;font-family:Fraunces,Georgia,serif;font-weight:600;font-size:clamp(2.6rem,8vw,4.2rem);line-height:1.05;letter-spacing:-.01em;color:var(--green-deep)}.welcome{font-size:1.1rem;color:var(--ink-soft);text-align:center}.welcome p{margin:0 0 1em}.welcome p:last-child{margin-bottom:0}.signup{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:28px 24px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 12px 32px #1f2a2214}.signup h2{margin:0 0 6px;font-family:Fraunces,Georgia,serif;font-weight:500;font-size:1.5rem;color:var(--green-deep)}input[type=email],input[type=text],input[type=search],input[type=tel],input:not([type]){display:block;width:100%;font:inherit;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fffdf8;color:var(--ink)}input[type=email]:focus,input[type=text]:focus,input[type=search]:focus,input[type=tel]:focus,input:not([type]):focus{outline:2px solid var(--green);outline-offset:1px;border-color:var(--green)}.topics{margin:18px 0;padding:0;border:0;min-width:0}.topics legend{padding:0;margin-bottom:8px;font-weight:600;font-size:.95rem;color:var(--ink)}.option{display:flex;align-items:center;gap:10px;padding:7px 0;cursor:pointer;color:var(--ink)}.option input{width:18px;height:18px;margin:0;accent-color:var(--green);flex:0 0 auto}.option+.option{border-top:1px solid rgba(31,42,34,.08)}.option:first-of-type{font-weight:600}button{display:block;width:100%;font:inherit;font-weight:600;padding:12px 20px;border:0;border-radius:10px;background:var(--green);color:#fff;cursor:pointer}button:hover{background:var(--green-deep)}button:disabled{opacity:.6;cursor:default}.status{min-height:1.4em;margin:12px 0 0;font-size:.95rem}.status.ok{color:var(--ok)}.status.err{color:var(--err)}.foot{margin-top:auto;text-align:center;font-size:.85rem;color:var(--ink-soft)}.foot p{margin:0}.visually-hidden,input[type=file].visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.signup a{color:var(--green)}h1 a{color:inherit;text-decoration:none}.nav{display:inline-flex;flex-wrap:wrap;justify-content:center;gap:4px;margin-top:18px;padding:6px;background:#fffcf5d9;border:1px solid var(--line);border-radius:999px;box-shadow:0 6px 20px #1f2a2214;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.nav a,.nav .linklike{display:inline-block;margin:0;padding:9px 18px;font-size:1rem;font-weight:600;line-height:1.2;color:var(--green-deep);text-decoration:none;border:0;border-radius:999px;transition:background .12s ease,color .12s ease}.nav a:hover,.nav .linklike:hover{background:#2f5d3a1a;color:var(--green-deep)}.nav a.active{background:var(--green);color:#fff}.nav .linklike{color:var(--green);text-decoration:underline;text-underline-offset:3px}@media(max-width:480px){.nav{gap:2px;padding:5px;border-radius:22px}.nav a,.nav .linklike{padding:8px 13px;font-size:.95rem}}.signup label{display:block;margin:14px 0 6px;font-weight:600;font-size:.92rem}.signup label.option,.signup label.visually-hidden{margin:0;font-weight:400}.signup label.option{display:flex}textarea{display:block;width:100%;font:inherit;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fffdf8;color:var(--ink);resize:vertical}textarea:focus{outline:2px solid var(--green);outline-offset:1px;border-color:var(--green)}.row{display:flex;gap:10px;margin-top:18px}.row button{width:auto;flex:1 1 auto}button.secondary{background:transparent;color:var(--green-deep);border:1px solid var(--line)}button.secondary:hover{background:#2f5d3a14}.signup-cta{display:inline-block;width:auto;margin-top:4px;padding:12px 26px}.posts{display:flex;flex-direction:column;gap:16px}.post{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px 22px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.post h3{margin:0 0 4px;font-family:Fraunces,Georgia,serif;font-weight:500;font-size:1.25rem;color:var(--green-deep)}.post-meta{margin:0 0 12px;font-size:.85rem;color:var(--ink-soft)}.post-body{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.muted{color:var(--ink-soft);text-align:center}.verify-note{margin:12px 0 0;padding:12px 14px;background:#f1f5ec;border-left:4px solid var(--green);border-radius:6px;font-weight:600;color:var(--green-deep)}.whoami{margin:12px 0 0;font-size:.85rem;color:var(--ink-soft)}.whoami strong{color:var(--green-deep)}.linklike{display:inline;width:auto;margin-left:10px;padding:0;background:none;border:0;font:inherit;color:var(--green);text-decoration:underline;cursor:pointer}.linklike:hover{background:none;color:var(--green-deep)}.signed-as{margin:0 0 4px;font-size:.9rem;color:var(--ink-soft)}.small{font-size:.85rem;text-align:left}.section-title{margin:0 0 8px;font-family:Fraunces,Georgia,serif;font-weight:600;font-size:1.8rem;color:var(--green-deep)}.flyer{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:28px 26px;text-align:center;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 12px 32px #1f2a2214}.flyer-kicker{margin:0 0 8px;font-size:clamp(.95rem,1.4vw,1.1rem);font-weight:500;font-style:italic;color:var(--green)}.flyer-title{margin:0 0 6px;font-family:Fraunces,Georgia,serif;font-weight:600;font-size:clamp(1.8rem,6vw,2.4rem);line-height:1.1;color:var(--green-deep)}.flyer-tagline{margin:0 0 20px;font-size:1.05rem;color:var(--ink-soft)}.flyer-facts{display:flex;flex-wrap:wrap;justify-content:center;gap:28px;margin:0 0 20px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.flyer-facts div{margin:0}.flyer-facts dt{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--green);font-weight:600}.flyer-facts dd{margin:4px 0 0;font-weight:500}.flyer-body{margin:0 0 22px;text-align:left;white-space:pre-wrap;color:var(--ink-soft)}.flyer-cta{display:inline-block;padding:12px 26px;background:var(--green);color:#fff;font-weight:600;border-radius:10px;text-decoration:none}.flyer-cta:hover{background:var(--green-deep)}.leaders{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}.leader{margin:0;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px;text-align:center}.leader-label{margin:0 0 10px;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--green)}.leader img{width:100%;aspect-ratio:1 / 1;object-fit:cover;border-radius:10px;display:block}.leader figcaption{margin-top:10px;font-size:.9rem;font-weight:500}.leader-votes{display:block;margin-top:2px;font-size:.8rem;font-weight:400;color:var(--ink-soft)}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px}@media(max-width:420px){.gallery{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px}}button.thumb{display:block;width:100%;margin:0;padding:10px;text-align:left;font:inherit;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:12px;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}button.thumb:hover,button.thumb:focus-visible{border-color:var(--green);box-shadow:0 8px 22px #1f2a2224;transform:translateY(-2px);background:var(--card)}.thumb img{width:100%;aspect-ratio:1 / 1;object-fit:cover;border-radius:8px;display:block}.thumb-text{display:block;margin-top:8px;font-size:.82rem;line-height:1.35}.thumb-caption{display:block;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thumb-by{display:block;color:var(--ink-soft)}figure.thumb{margin:0;padding:10px;background:var(--card);border:1px solid var(--line);border-radius:12px}figure.thumb figcaption{margin-top:8px;font-size:.82rem;line-height:1.35}.page-lead{margin:8px auto 0;font-size:.98rem}.plat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;margin:24px 0 0;padding:0;list-style:none}.plat-card{display:flex;flex-direction:column;height:100%;margin:0;padding:10px;background:var(--card);border:1px solid var(--line);border-radius:12px;transition:border-color .12s ease,box-shadow .12s ease}.plat-card:hover,.plat-card:focus-within{border-color:var(--green);box-shadow:0 8px 22px #1f2a2224}.plat-card .thumb{padding:0;border:0;background:transparent}.plat-card .thumb:hover,.plat-card .thumb:focus-visible{transform:none;box-shadow:none;background:transparent}.plat-card .thumb:focus-visible{outline:2px solid var(--green);outline-offset:2px}.plat-open img{aspect-ratio:1 / 1;object-fit:contain;background:#fff;border:1px solid var(--line)}.plat-card figcaption{display:flex;flex-direction:column;gap:3px;flex:1 1 auto;padding:10px 2px 0;font-size:.85rem;line-height:1.4}.plat-card figcaption strong{font-size:.95rem;color:var(--green-deep)}.plat-blocks{color:var(--ink)}.plat-streets,.plat-meta{color:var(--ink-soft)}.plat-download{align-self:flex-start;margin-top:8px;font-weight:600;color:var(--green-deep)}.button-link{display:inline-block;padding:10px 18px;font-weight:600;text-decoration:none;text-align:center;background:var(--green);color:#fff;border:1px solid var(--green);border-radius:10px}.button-link:hover{background:var(--green-deep);color:#fff}.button-link.secondary{background:transparent;color:var(--green-deep);border-color:var(--line)}.button-link.secondary:hover{background:#2f5d3a14}.plat-lightbox{max-width:1100px}.plat-stage{background:#fff;min-height:240px}.plat-stage img{max-height:min(72vh,820px)}.plat-loading{position:absolute;color:var(--ink-soft);font-size:.9rem}.plat-info{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between}.plat-info .lightbox-meta{margin:0;flex:1 1 320px}.plat-actions{display:flex;flex-wrap:wrap;gap:10px}@media(max-width:560px){.plat-grid{grid-template-columns:1fr}.plat-lightbox .plat-stage{flex:0 0 auto;min-height:0}.plat-lightbox .plat-stage img{width:100%;height:auto;max-height:none}.plat-actions{width:100%}.plat-actions .button-link{flex:1 1 auto}}.link-list{display:flex;flex-direction:column;gap:14px;max-width:72ch;margin:24px auto 0;padding:0;list-style:none}.link-card{padding:16px 18px;background:var(--card);border:1px solid var(--line);border-radius:12px}.link-card h3{margin:0;font-family:Fraunces,Georgia,serif;font-weight:500;font-size:1.2rem}.link-card h3 a{color:var(--green-deep)}.link-source{margin:2px 0 8px;font-size:.82rem;color:var(--ink-soft)}.link-note{margin:0;font-size:.95rem;line-height:1.5}.lightbox-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:flex;align-items:center;justify-content:center;padding:16px;background:#0a0e0bdb;animation:modal-fade .15s ease-out}.lightbox{position:relative;display:flex;flex-direction:column;width:100%;max-width:820px;max-height:100%;background:#fffdf8;border-radius:16px;overflow:hidden;outline:none}.lightbox-stage{position:relative;display:flex;align-items:center;justify-content:center;background:#15110c;min-height:0}.lightbox-stage img{display:block;max-width:100%;max-height:min(62vh,620px);object-fit:contain}.lightbox-close,.lightbox-nav{position:absolute;z-index:2;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;font-size:1.6rem;line-height:1;color:#fff;background:#14100c99;border:0;border-radius:50%;cursor:pointer}.lightbox-close{top:10px;right:10px;font-size:1.5rem}.lightbox-nav.prev{left:8px}.lightbox-nav.next{right:8px}.lightbox-close:hover,.lightbox-nav:hover{background:#14100cd9}.lightbox-info{padding:16px 18px 18px}.lightbox-meta{margin-bottom:14px}.lightbox-caption{margin:0 0 2px;font-weight:600}.lightbox-by{margin:0;font-size:.88rem;color:var(--ink-soft)}.lightbox-count{margin-left:10px}.lightbox-signin{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}.lightbox-signin .signup-cta{margin-top:0;padding:10px 20px}.lightbox-note{margin:0;font-size:.9rem;color:var(--ink-soft)}.lightbox-votes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.lightbox-votes .vote{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;min-height:56px;padding:10px 8px;font-size:.85rem;font-weight:600;text-align:center;background:transparent;color:var(--green-deep);border:1px solid var(--line);border-radius:10px}.lightbox-votes .vote:hover:not(:disabled){background:#2f5d3a14}.lightbox-votes .vote.chosen{background:var(--green);color:#fff;border-color:var(--green)}.lightbox-votes .vote:disabled{opacity:.6}.lightbox-votes .vote-count{font-size:.95rem;font-weight:700}@media(max-width:560px){.lightbox-backdrop{padding:0}.lightbox{max-width:none;height:100%;border-radius:0;overflow-y:auto}.lightbox-stage{flex:1 1 auto;min-height:42vh}.lightbox-stage img{max-height:none;height:100%}.lightbox-votes{grid-template-columns:1fr;gap:8px}.lightbox-votes .vote{flex-direction:row;justify-content:space-between;min-height:48px}}.review-why{margin:0 0 12px;padding:10px 12px;background:#fdf6ec;border-left:4px solid #b8860b;border-radius:6px;font-size:.9rem}input[type=file]{display:block;width:100%;font:inherit;font-size:.9rem;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fffdf8}.field-hint{margin:6px 0 0;font-size:.82rem;color:var(--ink-soft);text-align:left}.thumb.pending img{filter:grayscale(1);opacity:.45}.thumb.pending{border-style:dashed;border-color:#1f2a224d}.pending-badge{display:block;margin-top:8px;padding:4px 8px;background:#fdf6ec;border:1px solid #e8d9b8;border-radius:6px;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#8a6a1f;text-align:center}.pending-note{margin:0 0 10px;font-size:.88rem;color:var(--ink-soft)}.thumb-placeholder{width:100%;aspect-ratio:1 / 1;border-radius:8px;background:repeating-linear-gradient(45deg,#1f2a220f,#1f2a220f 8px,#1f2a221c 8px,#1f2a221c 16px)}.gallery .pending-note{grid-column:1 / -1}.flyer.has-hero{padding:0 0 28px;overflow:hidden}.flyer-hero{position:relative;display:flex;align-items:center;justify-content:center;gap:clamp(20px,4vw,48px);padding:clamp(24px,3vw,40px) clamp(20px,4vw,56px);margin-bottom:22px;background-size:cover;background-position:center 45%;overflow:hidden}.flyer-hero:before{content:"";position:absolute;top:-40px;right:-40px;bottom:-40px;left:-40px;background:inherit;background-size:cover;background-position:center 45%;filter:blur(28px) saturate(1.1);transform:scale(1.1)}.flyer-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0e08039e,#0c0703c7)}.flyer-photo{position:relative;z-index:1;width:auto;height:clamp(220px,32vw,420px);max-width:42%;object-fit:contain;border-radius:14px;box-shadow:0 14px 40px #00000080;flex:0 0 auto}.flyer-hero-text{position:relative;z-index:1;flex:0 1 560px;text-align:left;padding:0}.flyer.has-hero .flyer-kicker{color:#ffc06b;text-shadow:0 1px 8px rgba(0,0,0,.8)}.flyer.has-hero .flyer-title{color:#fff3df;text-shadow:0 2px 16px rgba(0,0,0,.85)}.flyer.has-hero .flyer-tagline{margin-bottom:0;font-size:clamp(1rem,1.6vw,1.2rem);color:#f6e6cf;text-shadow:0 1px 10px rgba(0,0,0,.8)}.flyer.has-hero .flyer-facts,.flyer.has-hero .flyer-body,.flyer.has-hero .flyer-cta{margin-left:26px;margin-right:26px}.flyer.has-hero .flyer-cta{background:#e8701a;color:#190e04;font-weight:700;box-shadow:0 6px 18px #e8701a4d}.flyer.has-hero .flyer-cta:hover{background:#ff8a33}.flyer.has-hero .flyer-hero .flyer-cta{position:relative;z-index:1;margin:18px 0 0}.flyer.has-hero .flyer-body{margin-bottom:0}@media(max-width:760px){.flyer-hero{flex-direction:column;text-align:center}.flyer-photo{max-width:100%;height:clamp(200px,48vw,300px)}.flyer-hero-text{text-align:center;flex:1 1 auto}}@media(max-width:480px){.flyer.has-hero .flyer-facts,.flyer.has-hero .flyer-body,.flyer.has-hero .flyer-cta{margin-left:18px;margin-right:18px}}.flyer-hero{padding-left:0;padding-right:0}.flyer-hero-text{padding:0 28px}.flyer.has-hero .flyer-facts,.flyer.has-hero .flyer-body,.flyer.has-hero .flyer-cta{margin-left:28px;margin-right:28px}.flyer .flyer-cta{max-width:max-content;margin-left:28px}.uploader{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 12px 32px #1f2a2214}.uploader-head{margin-bottom:16px}.uploader-head h2{margin:0 0 4px;font-family:Fraunces,Georgia,serif;font-weight:500;font-size:1.5rem;color:var(--green-deep)}.uploader-head p{margin:0;font-size:.9rem;color:var(--ink-soft)}.drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:30px 20px;border:2px dashed rgba(47,93,58,.35);border-radius:14px;background:#fffdf8b3;cursor:pointer;text-align:center;transition:border-color .15s ease,background .15s ease}.drop:hover{border-color:var(--green);background:#2f5d3a0d}.drop.dragging{border-color:var(--green);border-style:solid;background:#2f5d3a1a}.drop-icon{color:var(--green);line-height:0}.drop-title{font-weight:600;color:var(--green-deep)}.drop-hint{font-size:.8rem;color:var(--ink-soft)}.drop.has-file{flex-direction:row;align-items:center;gap:14px;padding:14px;border-style:solid;border-color:var(--line);cursor:default;text-align:left}.drop-preview{width:72px;height:72px;flex:0 0 auto;object-fit:cover;border-radius:10px;border:1px solid var(--line)}.drop-meta{min-width:0;flex:1 1 auto}.drop-filename{margin:0;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drop-size{margin:2px 0 0;font-size:.82rem;color:var(--ink-soft)}.drop-actions{display:flex;gap:14px;margin-top:6px}.drop-actions .linklike{margin-left:0;font-size:.85rem}.uploader-label{display:block;margin:18px 0 6px;font-weight:600;font-size:.92rem}.optional{font-weight:400;font-size:.8rem;color:var(--ink-soft)}.upload-go{margin-top:16px}.upload-go:disabled{opacity:.45}@media(max-width:420px){.drop.has-file{flex-direction:column;align-items:flex-start}.drop-preview{width:100%;height:150px}}.gallery>.muted,.gallery>.status,.posts>.muted,.posts>.status{grid-column:1 / -1;text-align:center}.welcome,.flyer-body{max-width:72ch;margin-left:auto;margin-right:auto}.flyer.has-hero .flyer-body{max-width:calc(72ch + 56px);margin-left:auto;margin-right:auto;padding:0 28px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:20px;background:#141c168c;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:modal-fade .15s ease-out}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}.modal{position:relative;width:100%;max-width:420px;background:#fffdf8;border:1px solid var(--line);border-radius:16px;padding:28px 26px 24px;box-shadow:0 24px 60px #0e140f59;animation:modal-rise .18s ease-out}@keyframes modal-rise{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}.modal h2{margin:0 0 6px;font-family:Fraunces,Georgia,serif;font-weight:500;font-size:1.5rem;color:var(--green-deep)}.modal-lead{margin:0 0 18px;font-size:.92rem;color:var(--ink-soft)}.modal button[type=submit]{margin-top:12px}.modal .captcha{min-height:65px;margin-top:12px;max-width:100%}.modal .captcha.compact{min-height:140px}@media(max-width:420px){.modal-backdrop{padding:12px}.modal{padding:24px 18px 20px}}.modal .captcha-note{margin:8px 0 0;font-size:.85rem;color:var(--err)}.modal .status{margin-top:12px}.modal-foot{margin:14px 0 0;font-size:.85rem;color:var(--ink-soft)}.modal-close{position:absolute;top:10px;right:12px;width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;font-size:1.5rem;line-height:1;background:transparent;color:var(--ink-soft);border:0;border-radius:8px;cursor:pointer}.modal-close:hover{background:#1f2a2214;color:var(--ink)}.toast{position:fixed;left:50%;top:max(16px,env(safe-area-inset-top));z-index:60;transform:translate(-50%);display:flex;align-items:center;gap:14px;width:max-content;max-width:min(520px,calc(100vw - 32px));padding:14px 16px 14px 18px;background:var(--green-deep);color:#f3f8f2;border-radius:12px;box-shadow:0 14px 36px #0e140f59;font-weight:500;animation:toast-rise .2s ease-out}@keyframes toast-rise{0%{transform:translate(-50%,-12px);opacity:0}to{transform:translate(-50%);opacity:1}}.toast-close{width:26px;height:26px;flex:0 0 auto;padding:0;display:flex;align-items:center;justify-content:center;font-size:1.25rem;line-height:1;background:#ffffff24;color:inherit;border:0;border-radius:7px;cursor:pointer}.toast-close:hover{background:#ffffff42}.signup.onboarding{border-color:var(--green);box-shadow:0 12px 32px #2f5d3a24}.yours{display:inline-block;margin-right:8px;padding:1px 7px;background:#2f5d3a24;color:var(--green-deep);border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.admin-only{display:block;margin-top:4px;padding:2px 6px;background:#b8860b24;border-left:3px solid #b8860b;border-radius:4px;font-size:.74rem;color:#6f5410;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lightbox .admin-only{margin-top:6px;font-size:.82rem;white-space:normal}.lightbox-remove{margin:14px 0 0;font-size:.85rem;color:var(--err)}.lightbox-remove:hover{color:#7d2f23}.admin{display:grid;gap:14px;font-size:.86rem;line-height:1.4}.admin .signup{padding:16px 16px 14px}.admin .signup h2{font-size:1.15rem;margin-bottom:2px}.admin .signup label{margin:10px 0 4px;font-size:.82rem}.admin input[type=email],.admin input[type=text],.admin input[type=search]{padding:7px 10px;font-size:.88rem;border-radius:8px}.admin .row{margin-top:10px}.admin .row button{padding:7px 16px;font-size:.88rem;flex:0 0 auto}.admin .status{margin-top:6px;font-size:.82rem;min-height:0}.admin-lead{margin:2px 0 8px;color:var(--ink-soft);font-size:.82rem}.admin-lead .linklike{margin-left:6px}.admin-empty{margin:8px 0 0;color:var(--ink-soft)}.admin-list{list-style:none;margin:8px 0 0;padding:0}.admin-list li{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 12px;padding:6px 0;border-top:1px solid var(--line)}.admin-main{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1 1 240px}.admin-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px}.admin-main strong{font-weight:600;overflow-wrap:anywhere}.admin-name{color:var(--ink-soft)}.admin-meta{font-size:.78rem;color:var(--ink-soft);overflow-wrap:anywhere}.admin-log li{justify-content:flex-start;flex-wrap:nowrap;padding:4px 0}.admin-time{flex:0 0 8.5em;font-size:.78rem;color:var(--ink-soft);font-variant-numeric:tabular-nums}.admin-event{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 8px;min-width:0}.admin-kind{font-weight:600}.admin-kind.err{color:var(--err)}.admin .linklike{margin:0;font-size:.8rem}.admin .linklike.admin-email{font-size:.8rem;text-align:left;overflow-wrap:anywhere}.admin .linklike:disabled{opacity:.5;cursor:default}.badge{padding:0 6px;border-radius:999px;background:#2f5d3a1f;color:var(--green-deep);font-size:.66rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}.badge-muted{background:#1f2a2214;color:var(--ink-soft)}.badge-err{background:#9b3b2d1f;color:var(--err)}.admin-actions{display:flex;gap:12px}.admin-search{display:flex;align-items:center;gap:10px}.admin-pager{display:flex;justify-content:space-between;align-items:baseline;margin-top:8px;padding-top:8px;border-top:1px solid var(--line);font-size:.78rem;color:var(--ink-soft)}.admin .linklike.danger{color:var(--err)}@media(max-width:560px){.admin{font-size:.8rem;gap:10px}.admin .signup{padding:12px 12px 10px;border-radius:12px}.admin .signup h2{font-size:1.02rem}.admin-meta,.admin-time,.admin .linklike,.admin .linklike.admin-email{font-size:.74rem}.admin-list li{flex-direction:column;align-items:flex-start;gap:1px}.admin-main{flex:none;width:100%}.admin-log li{flex-direction:row;flex-wrap:wrap;gap:0 8px}.admin-log .admin-event{display:contents}.admin-time{flex:none}}
