:root,[data-theme=light]{--color-primary:#094422;--color-primary-deep:#013d1e;--color-primary-muted:#30b570;--color-accent:#f2b91d;--color-accent-bright:#fbe116;--color-surface:#f8f7f3;--color-surface-warm:#fffae8;--color-surface-accent:#fcebad;--color-ink:#1e1e1e;--color-muted:#666e70;--color-border:#e5e5e5;--color-danger:#ef5e68;--color-success:#18ce0f;--color-pin-default:#094422;--color-pin-active:#f2b91d;--color-pin-resolved:#666e70;--color-map-hint-bg:rgba(248,247,243,0.95);--color-bubble-bot-bg:#ffffff;--font-sans:"DM Sans","Segoe UI",system-ui,sans-serif;--font-display:"Fraunces",Georgia,serif;color-scheme:light}[data-theme=dark]{--color-primary:#3d9a5c;--color-primary-deep:#0a2818;--color-primary-muted:#4caf73;--color-accent:#f2b91d;--color-accent-bright:#fbe116;--color-surface:#121a16;--color-surface-warm:#1a2420;--color-surface-accent:#24332c;--color-ink:#e8eee9;--color-muted:#9aaba0;--color-border:#2e3d35;--color-danger:#ff7a84;--color-success:#4ade80;--color-pin-default:#3d9a5c;--color-pin-active:#f2b91d;--color-pin-resolved:#8a9a90;--color-map-hint-bg:rgba(18,26,22,0.92);--color-bubble-bot-bg:#1a2420;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-primary:#3d9a5c;--color-primary-deep:#0a2818;--color-primary-muted:#4caf73;--color-accent:#f2b91d;--color-accent-bright:#fbe116;--color-surface:#121a16;--color-surface-warm:#1a2420;--color-surface-accent:#24332c;--color-ink:#e8eee9;--color-muted:#9aaba0;--color-border:#2e3d35;--color-danger:#ff7a84;--color-success:#4ade80;--color-pin-default:#3d9a5c;--color-pin-active:#f2b91d;--color-pin-resolved:#8a9a90;--color-map-hint-bg:rgba(18,26,22,0.92);--color-bubble-bot-bg:#1a2420;color-scheme:dark}}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;height:100%;font-family:var(--font-sans);color:var(--color-ink);background:var(--color-surface)}button,input,select,textarea{font:inherit}a{color:var(--color-primary)}#__next,main{height:100%}html{--ink:#f7f6f2;--ink-mid:#ffffff;--ink-soft:#f3f1ea;--ink-border:#e4e0d6;--glass:rgba(9,68,34,0.04);--glass-hover:rgba(9,68,34,0.08);--text-1:#1e1e1e;--text-2:#5c6560;--text-3:#8a918c;--pulse:#094422;--brand-accent:#094422;--nav-bg:rgba(247,246,242,0.94);--control-bg:rgba(255,255,255,0.94);--sheet-bg:#ffffff;--shadow:0 16px 40px rgba(30,30,30,0.12);--map-fallback:#e7efe8;--avatar-bg:#ffffff;--avatar-border:#d5d0c6;--nav-h:64px;--bar-h:0px;--safe-bottom:env(safe-area-inset-bottom,0px)}html[data-theme=dark]{--ink:#0a0f1a;--ink-mid:#111827;--ink-soft:#1c2535;--ink-border:#243044;--glass:rgba(255,255,255,0.04);--glass-hover:rgba(255,255,255,0.08);--text-1:#f0f4ff;--text-2:#8fa3c0;--text-3:#4d6380;--pulse:#1f9d55;--brand-accent:#3dcc7a;--nav-bg:rgba(10,15,26,0.92);--control-bg:rgba(10,15,26,0.88);--sheet-bg:#111827;--shadow:0 16px 40px rgba(0,0,0,0.4);--map-fallback:#0d1520;--avatar-bg:linear-gradient(145deg,#1e293b,#0f172a);--avatar-border:rgba(148,163,184,0.35)}.app-shell{display:flex;flex-direction:column;height:100vh;height:100dvh;background:var(--ink);color:var(--text-1);overflow:hidden}.top-nav{height:var(--nav-h);gap:12px;padding:0 16px;background:var(--nav-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--ink-border);position:relative;z-index:30}.brand-lockup,.top-nav{display:flex;align-items:center;flex-shrink:0}.brand-lockup{gap:9px;text-decoration:none;color:inherit}.brand-mark{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;overflow:hidden}.brand-mark img{width:100%;height:100%;display:block}.brand-name{font-family:var(--font-display);font-size:1.2rem;font-weight:700;letter-spacing:-.03em;color:var(--text-1)}.brand-name span{color:var(--brand-accent)}.nav-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.bottom-nav{display:none}.lang-select select{height:36px;background:var(--glass);border:1px solid var(--ink-border);color:var(--text-2);border-radius:8px;padding:0 .4rem;max-width:7.2rem}.lang-select option{color:#1e1e1e}.area-search{position:relative;flex:1 1;max-width:420px;margin:0 auto}.area-search input{width:100%;height:38px;background:var(--ink-soft);border:1px solid var(--ink-border);border-radius:100px;color:var(--text-1);font-size:13.5px;padding:0 40px 0 38px;outline:none}.area-search input::placeholder{color:var(--text-3)}.area-search input:focus{border-color:var(--pulse);background:var(--ink-mid)}.area-search-icon{left:8px;border:none;background:transparent;color:var(--text-3);place-items:center;cursor:pointer;border-radius:8px}.area-search-icon,.area-search-locate{position:absolute;top:50%;transform:translateY(-50%);width:24px;height:24px;display:grid}.area-search-locate{right:8px;border:none;border-radius:100px;background:var(--pulse);color:#fff;place-items:center;cursor:pointer}.area-search-locate:hover{transform:translateY(-50%) scale(1.08)}.area-search-results{position:absolute;top:calc(100% + 6px);left:0;right:0;margin:0;padding:6px;list-style:none;background:var(--sheet-bg);border:1px solid var(--ink-border);border-radius:14px;box-shadow:var(--shadow);z-index:40;max-height:240px;overflow:auto}.area-search-results button{width:100%;text-align:left;border:none;background:transparent;color:var(--text-1);border-radius:8px;padding:.55rem .65rem;cursor:pointer;font-size:.84rem}.area-search-results button:hover{background:var(--glass-hover)}.area-search-empty{padding:.55rem .65rem;color:var(--text-2);font-size:.82rem}.filter-row{height:46px;display:flex;align-items:center;gap:8px;padding:0 12px;background:var(--ink-mid);border-bottom:1px solid var(--ink-border);overflow-x:auto;flex-shrink:0;scrollbar-width:none}.filter-row::-webkit-scrollbar{display:none}.filter-slot{display:contents}.filter-divider{width:1px;height:20px;background:var(--ink-border);flex-shrink:0}.filter-chip{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 12px;border-radius:100px;border:1px solid var(--ink-border);background:transparent;color:var(--text-2);font-size:12.5px;font-weight:500;white-space:nowrap;cursor:pointer;flex-shrink:0}.filter-chip.is-active{background:var(--pulse);border-color:var(--pulse);color:#fff}.filter-chip:not(.is-active):hover{background:var(--glass-hover);color:var(--text-1)}.banner-stack{position:absolute;top:10px;left:12px;right:64px;z-index:6;display:flex;flex-direction:column;gap:6px;pointer-events:none}.banner{display:flex;align-items:flex-start;gap:.75rem;padding:.65rem .85rem;font-size:.84rem;line-height:1.4;border-radius:12px;pointer-events:auto;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.banner--warn{background:var(--color-surface-accent);color:var(--color-ink);border:1px solid var(--color-accent)}.banner--info{background:var(--sheet-bg);color:var(--text-1);border:1px solid var(--ink-border)}.banner-dismiss{margin-left:auto;border:none;background:transparent;color:inherit;font-size:1.25rem;line-height:1;cursor:pointer;padding:0 .25rem}.workspace{position:relative;flex:1 1;min-height:0}.map-controls{position:absolute;top:12px;right:12px;z-index:5;display:flex;flex-direction:column;gap:6px}.map-btn,.map-btn-group .map-btn,.theme-toggle.map-btn{width:38px;height:38px;display:grid;place-items:center;color:var(--text-2);cursor:pointer;padding:0}.map-btn,.map-btn-group,.map-btn-group .map-btn,.theme-toggle.map-btn{background:var(--control-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--ink-border);border-radius:8px}.map-btn-group{display:flex;flex-direction:column;overflow:hidden}.map-btn-group .map-btn{background:transparent;border:none;border-radius:0}.map-btn-group .map-btn+.map-btn{border-top:1px solid var(--ink-border)}.map-btn:hover,.nav-icon-btn.is-active,.nav-icon-btn:hover{background:color-mix(in srgb,var(--pulse) 14%,transparent);border-color:var(--pulse);color:var(--pulse)}.map-btn-group .map-btn:hover{border-color:transparent;border-top-color:var(--ink-border)}.avatar-btn{width:38px;height:38px;border-radius:50%;border:2px solid var(--avatar-border);background:var(--avatar-bg);color:var(--text-2);display:grid;place-items:center;padding:0;cursor:pointer;overflow:hidden;flex-shrink:0;font-family:var(--font-display);font-weight:700;font-size:14px}.avatar-btn--pulse,.avatar-btn:hover{border-color:var(--pulse);box-shadow:0 0 0 3px color-mix(in srgb,var(--pulse) 20%,transparent)}.avatar-btn--in{border-color:var(--pulse)}.avatar-btn--lg{width:48px;height:48px;font-size:18px}.avatar-img{width:100%;height:100%;object-fit:cover;display:block}.account-backdrop{position:fixed;inset:0;z-index:80;background:rgba(2,6,14,.62);display:grid;place-items:center;padding:16px}.account-modal{width:min(440px,100%);background:var(--sheet-bg);color:var(--text-1);border:1px solid var(--ink-border);border-radius:12px;box-shadow:0 24px 60px rgba(0,0,0,.45);padding:14px 16px 18px}.account-modal-head,.issues-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.account-modal h2,.issues-sheet h2{margin:0;font-size:1rem;font-weight:650}.account-close{width:32px;height:32px;border:none;border-radius:8px;background:transparent;color:var(--text-2);font-size:1.35rem;line-height:1;cursor:pointer}.account-close:hover{background:var(--glass-hover);color:var(--text-1)}.account-note{margin:0 0 14px;color:var(--text-2);font-size:.86rem;line-height:1.45}.account-signed-in{display:grid;grid-template-columns:auto 1fr;grid-gap:4px 12px;gap:4px 12px;align-items:center}.account-signed-in .account-legal,.account-signed-in .account-note,.account-signed-in .oauth-btn{grid-column:1/-1}.account-name{margin:0;font-weight:700}.account-email{margin:2px 0 0;color:var(--text-2);font-size:.82rem}.oauth-stack{display:grid;grid-gap:8px;gap:8px}.oauth-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:44px;border-radius:8px;font-weight:650;cursor:pointer}.oauth-btn--google{background:#fff;color:#1f1f1f;border:1px solid #dadce0}.oauth-btn--github{background:#0d1117;color:#fff;border:1px solid #30363d}.oauth-btn--ghost{background:transparent;color:#ff8d96;border:1px solid rgba(255,125,133,.45)}.oauth-btn:hover{filter:brightness(1.05)}.issues-sheet{position:absolute;left:12px;right:12px;bottom:12px;z-index:7;max-height:min(46%,420px);display:flex;flex-direction:column;background:var(--sheet-bg);border:1px solid var(--ink-border);border-radius:16px;padding:10px 12px 8px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow)}.issues-sheet h2 span{margin-left:8px;color:var(--text-3);font-weight:500;font-size:.85rem}.issues-list{list-style:none;margin:0;padding:0;overflow:auto}.issue-row{width:100%;text-align:left;border:none;background:transparent;color:inherit;border-radius:10px;padding:.55rem .45rem;cursor:pointer;display:grid;grid-gap:2px;gap:2px}.issue-row:hover{background:var(--glass-hover)}.issue-row-cat{font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:capitalize;color:var(--brand-accent)}.issue-row-desc{font-size:.88rem;color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.issue-row-meta{font-size:.75rem;color:var(--text-3);text-transform:capitalize}.issues-empty{margin:.4rem 0 .8rem;color:var(--text-2);font-size:.88rem}.county-services-sheet{position:absolute;left:12px;bottom:12px;z-index:7;width:min(640px,calc(100vw - 24px));max-height:min(76%,680px);display:flex;flex-direction:column;gap:10px;padding:14px;background:var(--sheet-bg);color:var(--text-1);border:1px solid var(--ink-border);border-radius:16px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.county-services-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.county-services-eyebrow{margin:0 0 2px;color:var(--brand-accent);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.county-services-head h2{margin:0;font-family:var(--font-display);font-size:1.25rem}.county-services-intro{margin:0;color:var(--text-2);font-size:.82rem;line-height:1.45}.county-services-search{width:100%;min-height:38px;padding:.5rem .7rem;border:1px solid var(--ink-border);border-radius:9px;background:var(--ink-mid);color:var(--text-1)}.county-services-content{display:grid;grid-gap:16px;gap:16px;overflow-y:auto;overscroll-behavior:contain;padding-right:2px}.county-services-section-title{margin:0 0 7px;font-size:.82rem;font-weight:700}.county-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.county-reference-list,.county-service-grid{display:grid;grid-gap:7px;gap:7px}.county-service-card{display:grid;grid-gap:3px;gap:3px;padding:9px 10px;border:1px solid var(--ink-border);border-radius:10px;background:var(--glass);color:inherit;text-decoration:none}.county-service-card:hover{border-color:var(--pulse);background:var(--glass-hover);color:inherit}.county-service-card-title{font-size:.8rem;font-weight:700}.county-service-card-description{color:var(--text-2);font-size:.75rem;line-height:1.4}.county-service-card-action{margin-top:2px;color:var(--brand-accent);font-size:.7rem;font-weight:650}.county-services-empty{margin:0;color:var(--text-2);font-size:.8rem}.county-services-source{display:grid;grid-gap:3px;gap:3px;padding-top:8px;border-top:1px solid var(--ink-border);color:var(--text-3);font-size:.68rem;line-height:1.4}.county-services-source a{color:var(--brand-accent);font-weight:650}.structured-form-backdrop{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;padding:16px;background:rgba(2,6,14,.62)}.structured-form{width:min(520px,100%);max-height:min(90dvh,760px);overflow-y:auto;padding:18px;border:1px solid var(--ink-border);border-radius:16px;background:var(--sheet-bg);color:var(--text-1);box-shadow:var(--shadow)}.structured-form-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.structured-form-eyebrow{margin:0 0 3px;color:var(--brand-accent);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.structured-form-head h2{margin:0;font-family:var(--font-display);font-size:1.3rem}.structured-form-note{margin:9px 0 14px;color:var(--text-2);font-size:.82rem;line-height:1.45}.structured-form-body{display:grid;grid-gap:7px;gap:7px}.structured-form-body>label:not(.structured-form-anonymous){margin-top:4px;font-size:.8rem;font-weight:700}.structured-form-body select,.structured-form-body textarea{width:100%;border:1px solid var(--ink-border);border-radius:9px;background:var(--ink-mid);color:var(--text-1);padding:.6rem .7rem}.structured-form-body textarea{resize:vertical;min-height:100px}.structured-form-location{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 9px;border:1px solid var(--ink-border);border-radius:9px;background:var(--glass)}.structured-form-location p{margin:0;color:var(--text-2);font-size:.78rem;overflow-wrap:anywhere}.structured-form-count{justify-self:end;color:var(--text-3);font-size:.7rem}.structured-form-anonymous{display:flex;align-items:center;gap:8px;margin:3px 0;color:var(--text-2);font-size:.8rem}.structured-form-anonymous input{accent-color:var(--pulse)}.structured-form-error{margin:0;color:var(--color-danger);font-size:.82rem}.structured-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.structured-form-secondary,.structured-form-submit{min-height:36px;padding:.45rem .8rem;border:1px solid var(--ink-border);border-radius:8px;background:var(--glass);color:var(--text-1);cursor:pointer;font-size:.78rem;font-weight:650}.structured-form-submit{border-color:var(--pulse);background:var(--pulse);color:#fff}.structured-form-secondary:hover,.structured-form-submit:hover:not(:disabled){filter:brightness(1.07)}.structured-form-secondary:disabled,.structured-form-submit:disabled{cursor:not-allowed;opacity:.55}.nav-icon-btn{width:36px;height:36px;display:grid;place-items:center;background:var(--glass);border:1px solid var(--ink-border);border-radius:8px;color:var(--text-2);cursor:pointer;padding:0}.nav-icon-btn svg{width:18px;height:18px}.report-fab{display:grid;position:absolute;right:16px;bottom:72px;z-index:6;width:54px;height:54px;place-items:center;border:none;border-radius:14px;background:var(--pulse);color:#fff;cursor:pointer;box-shadow:0 4px 20px color-mix(in srgb,var(--pulse) 45%,transparent)}.report-fab:hover{transform:scale(1.05)}.workspace{display:block}.map-pane{position:relative;min-height:0;height:100%;background:var(--map-fallback)}.map-pane .maplibregl-map{position:absolute;inset:0}.chat-widget{position:fixed;right:1.1rem;bottom:calc(var(--bar-h) + 12px);z-index:40;display:flex;flex-direction:column;align-items:flex-end;gap:.75rem;pointer-events:none}.chat-widget>*{pointer-events:auto}.chat-launcher{position:relative;display:inline-flex;align-items:center;gap:.55rem;min-width:56px;min-height:56px;padding:0 1.05rem 0 1rem;border:none;border-radius:999px;background:var(--color-primary);color:#fff;box-shadow:0 8px 24px rgba(1,61,30,.35),0 2px 6px rgba(0,0,0,.12);cursor:pointer;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}.chat-widget[data-open=true] .chat-launcher{width:56px;height:56px;padding:0;justify-content:center;border-radius:50%;background:var(--color-primary-deep)}.chat-launcher:hover{transform:translateY(-2px) scale(1.03);background:var(--color-primary-deep);box-shadow:0 12px 28px rgba(1,61,30,.4),0 2px 6px rgba(0,0,0,.14)}.chat-launcher:focus-visible{outline:3px solid var(--color-accent-bright);outline-offset:3px}.chat-launcher-label{font-weight:600;font-size:.95rem;letter-spacing:.01em;padding-right:.15rem}.chat-badge{position:absolute;top:-4px;right:-2px;min-width:1.25rem;height:1.25rem;padding:0 .3rem;border-radius:999px;background:var(--color-accent);color:var(--color-ink);font-size:.7rem;font-weight:700;display:grid;place-items:center;border:2px solid #fff}.chat-window{display:flex;flex-direction:column;width:min(380px,calc(100vw - 1.5rem));height:min(560px,calc(100dvh - var(--bar-h) - var(--nav-h) - 46px - 28px));background:var(--color-surface-warm);border:1px solid var(--color-border);border-radius:16px;overflow:hidden;box-shadow:0 18px 50px rgba(30,30,30,.22),0 4px 12px rgba(0,0,0,.08);animation:chat-pop .22s ease;transform-origin:bottom right}@keyframes chat-pop{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.chat-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;padding:.85rem .75rem .75rem 1rem;border-bottom:1px solid var(--color-border);background:linear-gradient(160deg,var(--color-primary-deep) 0,var(--color-primary) 100%);color:#fff}.chat-header-text{min-width:0}.chat-header h2{margin:0;font-family:var(--font-display);font-size:1.1rem;color:#fff}.chat-header p{margin:.3rem 0 0;font-size:.78rem;color:rgba(255,255,255,.82);line-height:1.35}.chat-icon-btn{flex-shrink:0;width:32px;height:32px;display:grid;place-items:center;border:none;border-radius:8px;background:rgba(255,255,255,.12);color:#fff;cursor:pointer}.chat-icon-btn:hover{background:rgba(255,255,255,.22)}.chat-messages{flex:1 1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.65rem;background:var(--color-surface)}.bubble{max-width:92%;padding:.65rem .8rem;border-radius:12px;white-space:pre-wrap;line-height:1.4;font-size:.92rem}.bubble.bot{align-self:flex-start;background:var(--color-bubble-bot-bg);border:1px solid var(--color-border)}.bubble.user{align-self:flex-end;background:var(--color-primary);color:#fff}.chat-form{display:flex;gap:.5rem;padding:.75rem;border-top:1px solid var(--color-border);background:var(--color-surface-warm)}.chat-attach-btn{flex-shrink:0;width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-ink);cursor:pointer}.chat-attach-btn:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-primary)}.chat-attach-btn:disabled{opacity:.5;cursor:not-allowed}.chat-form input{flex:1 1;border:1px solid var(--color-border);border-radius:8px;padding:.65rem .75rem;background:var(--color-surface);color:var(--color-ink)}.chat-form button,.pin-btn{border:none;border-radius:8px;padding:.65rem .9rem;background:var(--color-accent);color:var(--color-ink);font-weight:600;cursor:pointer}.chat-form button:hover,.pin-btn:hover{filter:brightness(.97)}.chat-form button:disabled{opacity:.6;cursor:not-allowed}.map-hint{position:absolute;left:12px;bottom:12px;z-index:4;margin:0;background:var(--control-bg);border:1px solid var(--ink-border);border-radius:100px;padding:4px 10px;font-size:11px;font-weight:500;color:var(--text-2);pointer-events:none}.area-search input::-webkit-search-cancel-button,.area-search input::-webkit-search-decoration{display:none}@media (max-width:720px){html{--nav-h:56px;--bar-h:calc(64px + var(--safe-bottom))}.brand-name{display:none}.top-nav{padding-left:12px;padding-right:12px;gap:10px}.nav-actions--desktop{display:none}.area-search{max-width:none;margin:0}.bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:45;height:var(--bar-h);padding:6px 4px var(--safe-bottom);background:var(--nav-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid var(--ink-border);box-shadow:0 -8px 28px rgba(0,0,0,.08)}.bottom-nav-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--text-3);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;padding:4px 2px;font-size:.68rem;font-weight:650;letter-spacing:.01em;cursor:pointer;border-radius:12px}.bottom-nav-item span:last-child{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bottom-nav-item.is-active{color:var(--brand-accent)}.bottom-nav-item--report{position:relative;top:-10px}.bottom-nav-report-mark{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:var(--pulse);color:#fff;box-shadow:0 8px 20px color-mix(in srgb,var(--pulse) 40%,transparent)}.bottom-nav-item--report.is-active .bottom-nav-report-mark,.bottom-nav-item--report:hover .bottom-nav-report-mark{filter:brightness(1.06)}.bottom-nav-avatar{width:22px;height:22px;border-radius:50%;overflow:hidden;display:grid;place-items:center}.bottom-nav-avatar img{width:100%;height:100%;object-fit:cover}.bottom-nav-initial{font-size:.72rem;font-weight:700}.bottom-nav-item.is-pulse{color:var(--pulse)}.report-fab{display:none}.map-hint{bottom:calc(var(--bar-h) + 12px)}.filter-row{padding-left:10px;padding-right:10px}.county-services-sheet,.issues-sheet{bottom:calc(var(--bar-h) + 8px);max-height:calc(100dvh - var(--nav-h) - var(--bar-h) - 24px)}.chat-widget{bottom:calc(var(--bar-h) + 10px)}.chat-window{height:min(70dvh,calc(100dvh - var(--nav-h) - var(--bar-h) - 24px))}}.account-lang{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;padding:10px 12px;border-radius:10px;background:var(--glass);border:1px solid var(--ink-border);color:var(--text-2);font-size:.86rem;font-weight:600}.account-lang select{max-width:9rem;height:34px;border-radius:8px;border:1px solid var(--ink-border);background:var(--ink-soft);color:var(--text-1);padding:0 .4rem}@media (max-width:480px){.chat-launcher-label{display:none}.chat-launcher{width:56px;height:56px;padding:0;justify-content:center;border-radius:50%}.chat-window{width:calc(100vw - 1rem);height:min(70dvh,560px);right:0}.county-services-sheet{left:8px;bottom:calc(var(--bar-h) + 8px);width:calc(100vw - 16px);max-height:calc(100dvh - var(--nav-h) - var(--bar-h) - 24px);padding:11px}.county-service-grid{grid-template-columns:1fr}.structured-form{padding:14px}}.issue-popup,.maplibregl-popup-content{color:#1e1e1e}.issue-details-link{align-self:center;margin-top:.15rem}.issue-detail-page{min-height:100dvh;padding:0 16px 40px;overflow:auto;background:var(--ink);color:var(--text-1)}.issue-detail-nav{width:min(960px,100%);min-height:64px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--ink-border)}.issue-detail-brand{display:inline-flex;align-items:center;gap:9px;color:var(--text-1);text-decoration:none}.issue-detail-back{color:var(--brand-accent);font-size:.84rem;font-weight:650;text-decoration:none}.issue-detail-card,.issue-detail-state{width:min(960px,100%);margin:28px auto 0;padding:clamp(16px,4vw,32px);border:1px solid var(--ink-border);border-radius:18px;background:var(--sheet-bg);box-shadow:var(--shadow)}.issue-detail-state h1{margin:0;font-family:var(--font-display);font-size:1.5rem}.issue-detail-state p{color:var(--text-2)}.issue-detail-main{max-width:720px}.issue-detail-kicker{margin:0 0 8px;color:var(--brand-accent);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.issue-detail-title-row{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:10px}.issue-detail-title-row h1{margin:0;font-family:var(--font-display);font-size:clamp(1.5rem,4vw,2rem)}.issue-status-badge{display:inline-flex;align-items:center;min-height:28px;padding:3px 10px;border:1px solid var(--ink-border);border-radius:100px;background:var(--glass);color:var(--text-2);font-size:.72rem;font-weight:700;text-transform:capitalize}.issue-status--acknowledged,.issue-status--resolved{border-color:color-mix(in srgb,var(--color-success) 45%,var(--ink-border));color:var(--color-success)}.issue-status--in_progress{border-color:color-mix(in srgb,var(--color-accent) 55%,var(--ink-border));color:var(--color-accent)}.issue-detail-description{margin:16px 0;color:var(--text-1);font-size:1rem;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.issue-detail-image-link{display:block;width:min(560px,100%);margin:16px 0}.issue-detail-image-link img{display:block;width:100%;max-height:360px;border-radius:12px;object-fit:cover}.issue-detail-meta{display:flex;flex-wrap:wrap;gap:16px 28px;margin:20px 0}.issue-detail-meta div{min-width:130px}.issue-detail-meta dt{color:var(--text-3);font-size:.7rem;font-weight:700;text-transform:uppercase}.issue-detail-meta dd{margin:3px 0 0;color:var(--text-1);font-size:.82rem}.issue-detail-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.issue-detail-primary-link,.issue-detail-share{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:.5rem .85rem;border:1px solid var(--pulse);border-radius:9px;background:var(--pulse);color:#fff;cursor:pointer;font-size:.8rem;font-weight:650;text-decoration:none}.issue-detail-share{background:transparent;color:var(--text-1);border-color:var(--ink-border)}.issue-detail-primary-link:hover,.issue-detail-share:hover{filter:brightness(1.08)}.issue-detail-share-status{min-height:1rem;margin:6px 0 0;color:var(--text-2);font-size:.74rem}.issue-history{margin-top:28px;padding-top:20px;border-top:1px solid var(--ink-border)}.issue-history h2{margin:0 0 14px;font-family:var(--font-display);font-size:1.25rem}.issue-history-empty{margin:0;color:var(--text-2);font-size:.86rem}.issue-history-list{display:grid;grid-gap:0;gap:0;margin:0;padding:0;list-style:none}.issue-history-list li{position:relative;display:grid;grid-template-columns:14px 1fr;grid-gap:10px;gap:10px;padding:0 0 18px}.issue-history-list li:not(:last-child):before{position:absolute;top:12px;bottom:0;left:5px;width:1px;background:var(--ink-border);content:""}.issue-history-marker{position:relative;z-index:1;width:11px;height:11px;margin-top:3px;border:2px solid var(--pulse);border-radius:50%;background:var(--sheet-bg)}.issue-history-list h3{margin:0;font-size:.86rem;font-weight:700;text-transform:capitalize}.issue-history-list time{color:var(--text-3);font-size:.72rem}.issue-history-list p{margin:5px 0 0;color:var(--text-2);font-size:.82rem;line-height:1.45}.issue-popup-title{display:flex;align-items:baseline;flex-wrap:wrap;gap:.35rem}.issue-popup-title h3{margin:0}.issue-popup-sep{color:#5c6560}.issue-popup h3{margin:0 0 .25rem;font-size:.95rem;color:#1e1e1e}.issue-popup p{margin:.35rem 0 0;font-size:.82rem;color:#1e1e1e}.issue-popup-img{display:block;width:100%;max-height:140px;object-fit:cover;border-radius:6px;margin-top:.4rem}.issue-flag-banner{background:#f5e6c8;color:#5c3d0a;border:1px solid #e0c48a;border-radius:6px;padding:.35rem .5rem;font-size:.75rem;margin-bottom:.4rem}.issue-popup-actions{display:flex;flex-direction:column;align-items:stretch;gap:.15rem;margin-top:.65rem}.issue-text-link{padding:0;border:none;background:transparent;color:#0d6efd;font:inherit;font-size:.82rem;line-height:1.2;text-decoration:none;cursor:pointer}.issue-text-link:hover{color:#0a58ca;text-decoration:none}.issue-report-link{align-self:center;margin-top:.15rem}.issue-comment{white-space:pre-wrap}.account-backdrop{z-index:2000}.report-modal .modal-content{background:var(--sheet-bg);color:var(--text-1);border:1px solid var(--ink-border)}.report-modal .modal-footer,.report-modal .modal-header{border-color:var(--ink-border)}.report-modal .form-label,.report-modal .modal-title{color:var(--text-1)}.report-modal .form-label .text-secondary{color:var(--text-3)!important}.report-modal .form-control,.report-modal .form-select{background-color:var(--ink-mid);color:var(--text-1);border-color:var(--ink-border)}.report-modal .form-control::placeholder{color:var(--text-3)}html[data-theme=dark] .report-modal .btn-close{filter:invert(1) grayscale(1) brightness(1.8)}html[data-theme=dark] .report-modal .form-select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23f0f4ff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.report-privacy-note{margin:0 0 .85rem;font-size:.82rem;color:var(--text-2)}.bubble-image{display:block;max-width:100%;max-height:180px;border-radius:8px;object-fit:cover}.bubble-image-link{display:block}.bubble-caption{display:block;margin-top:.35rem;font-size:.78rem;opacity:.85}.auth-menu{display:flex;gap:.35rem}.auth-menu--pulse .auth-btn{box-shadow:0 0 0 2px var(--color-accent)}.auth-btn{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-ink);border-radius:8px;padding:.35rem .55rem;font-size:.78rem;font-weight:600;cursor:pointer}.auth-btn--muted{opacity:.6;cursor:default}.auth-btn:hover{border-color:var(--color-accent)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.account-legal{margin:14px 0 0;font-size:.78rem;line-height:1.45;color:var(--text-2);text-align:center}.account-legal a{color:var(--brand-accent);text-decoration:none;font-weight:600}.account-legal a:hover{text-decoration:underline}.legal-page{min-height:100dvh;padding:0 16px 40px;overflow:auto;background:var(--ink);color:var(--text-1)}.legal-nav{width:min(720px,100%);min-height:64px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--ink-border)}.legal-brand{display:inline-flex;align-items:center;gap:9px;color:inherit;text-decoration:none}.legal-back{color:var(--brand-accent);font-size:.84rem;font-weight:650;text-decoration:none}.legal-card{width:min(720px,100%);margin:28px auto 0}.legal-kicker{margin:0 0 8px;font-size:.78rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:var(--text-2)}.legal-card h1{margin:0;font-family:var(--font-display);font-size:clamp(1.8rem,4vw,2.4rem);letter-spacing:-.03em;line-height:1.15}.legal-updated{margin:10px 0 0;font-size:.88rem;color:var(--text-2)}.legal-body{margin-top:28px;font-size:1rem;line-height:1.65;color:var(--text-1)}.legal-body h2{margin:1.75rem 0 .65rem;font-family:var(--font-display);font-size:1.2rem;letter-spacing:-.02em}.legal-body p,.legal-body ul{margin:0 0 1rem}.legal-body ul{padding-left:1.2rem}.legal-body li{margin-bottom:.45rem}.legal-body a{color:var(--brand-accent);font-weight:600}.legal-body code{font-size:.9em;padding:.1em .35em;border-radius:4px;background:color-mix(in srgb,var(--ink-border) 70%,transparent)}.legal-footer{width:min(720px,100%);margin:36px auto 0;padding-top:18px;border-top:1px solid var(--ink-border);display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.84rem;color:var(--text-2)}.legal-footer a{color:var(--brand-accent);font-weight:600;text-decoration:none}.legal-footer a:hover{text-decoration:underline}.issue-detail-page>.legal-footer{width:min(960px,100%)}.status-card{padding-top:48px}.status-code{margin:0 0 10px;font-size:.95rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-accent)}.status-card h1,.status-code{font-family:var(--font-display)}.status-card h1{margin:0;font-size:clamp(1.9rem,4vw,2.6rem);letter-spacing:-.03em;line-height:1.15}.status-description{margin:14px 0 0;max-width:38rem;font-size:1.05rem;line-height:1.6;color:var(--text-2)}.status-actions{margin-top:28px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}.status-primary,.status-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border-radius:10px;font-size:.92rem;font-weight:650;text-decoration:none;cursor:pointer}.status-primary{background:var(--brand-accent);color:#0a0f1a;border:0}.status-secondary{background:transparent;color:var(--text-1);border:1px solid var(--ink-border)}.status-primary:hover,.status-secondary:hover{filter:brightness(1.05)}html[data-theme=light] .status-primary{color:#fff}