:root{--color-canvas:#0e151b;--color-canvas-lift:#14212a;--color-paper:#f4f8f9;--color-field:#f8fbfc;--color-mist:#e6eef1;--color-ink:#10202b;--color-muted:#61707b;--color-border:#cdd8dd;--color-brick:#c6543d;--color-brick-deep:#a9412e;--color-night:#0e151b;--color-night-surface:#14212a;--color-night-border:#edf5f72e;--paper:var(--color-paper);--paper-strong:var(--color-mist);--ink:var(--color-ink);--muted:var(--color-muted);--border:color-mix(in oklch, var(--color-border), transparent 8%);--accent-strong:var(--color-brick);--accent-deep:var(--color-brick-deep);--teal-soft:#70a9bc29;--coral:#c6543d24;--gold:var(--color-brick);--blue:#70a9bc33;--shadow-soft:0 34px 90px #0000004d;--app-background:linear-gradient(118deg, #c6543d3d, transparent 31%), linear-gradient(252deg, #70a9bc33, transparent 34%), linear-gradient(180deg, var(--color-canvas-lift), var(--color-canvas));--body-overlay:linear-gradient(90deg, transparent, #f4f8f914, transparent);--panel-bg:#f4f8f9eb;--control-bg:var(--color-field);--soft-bg:#10202b0f;--tag-bg:#c6543d24;--hero-text:#edf5f7c7;--hero-border:#edf5f742;--hero-control-bg:#edf5f71a;--hero-button-bg:var(--color-brick);--sans:"Satoshi", "Geist", "Helvetica Neue", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--heading:var(--sans);--mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;font:16px/1.55 var(--sans);letter-spacing:0;color:var(--muted);background:var(--app-background);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--app-background);isolation:isolate;min-width:320px;margin:0;overflow-x:hidden}body:before{content:"";z-index:-2;pointer-events:none;background:var(--app-background);position:fixed;inset:-20%}body:after{content:"";z-index:-1;pointer-events:none;background:var(--body-overlay), linear-gradient(90deg, transparent, #c6543d2e, transparent);filter:blur(18px);width:140vw;height:34vh;position:fixed;top:14vh;left:-18vw;transform:rotate(-10deg)}a{color:inherit}#root{z-index:0;width:min(1320px,100%);min-height:100svh;margin:0 auto;position:relative}h1,h2{font-family:var(--sans);color:var(--ink);margin:0 0 16px;font-weight:700;line-height:1.04}h1{letter-spacing:0;max-width:13ch;font-size:3.45rem;line-height:1.04}h2{letter-spacing:0;font-size:2.4rem}p{margin:0}strong{color:var(--ink)}[data-theme=dark]{--paper:#f4f8f91a;--paper-strong:#edf5f714;--ink:#edf5f7;--muted:#edf5f7b8;--border:var(--color-night-border);--accent-strong:#df725c;--accent-deep:#f09582;--teal-soft:#70a9bc2e;--coral:#c6543d2e;--gold:#df725c;--blue:#70a9bc2e;--shadow-soft:0 28px 78px #00000057;--app-background:linear-gradient(118deg, #c6543d3d, transparent 31%), linear-gradient(252deg, #70a9bc33, transparent 34%), linear-gradient(180deg, var(--color-canvas-lift), var(--color-canvas));--panel-bg:#14212ae6;--control-bg:#edf5f714;--soft-bg:#edf5f70e;--tag-bg:#df725c29;--hero-text:#edf5f7c7;--hero-border:#edf5f73d;--hero-control-bg:#edf5f717;--hero-button-bg:#df725c}[data-theme=dark] body:after{display:none}@media (width<=640px){:root{font-size:16px}h1{font-size:2.7rem}h2{font-size:1.85rem}}.page-shell{gap:20px;padding:20px;display:grid}.hero-panel,.search-panel,.stats-strip,.map-panel,.deed-list-panel,.city-panel,.announcements-list-panel,.add-announcement-panel,.add-announcement-preview,.announcement-detail-panel,.announcement-author-panel,.profile-main-panel,.profile-edit-panel,.participants-panel,.edit-profile-panel,.edit-profile-preview{border:1px solid var(--border);box-shadow:var(--shadow-soft);border-radius:8px}.hero-panel{color:#ffffffc7;background:linear-gradient(135deg,#172824 0%,#29433d 58%,#d65f35 100%);padding:24px;position:relative;overflow:visible}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:54px;display:flex}.brand{color:#fff;flex:280px;align-items:center;gap:14px;min-width:0;text-decoration:none;display:inline-flex}.brand-mark{color:#fff;width:48px;height:48px;font:700 1rem/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;background:#ffffff1f;border:1px solid #ffffff47;border-radius:8px;place-items:center;display:grid}.brand-copy{gap:2px;min-width:0;display:grid}.brand-copy strong,.brand-copy small{overflow-wrap:anywhere;display:block}.topbar-nav{flex-wrap:wrap;align-items:center;gap:12px;display:inline-flex}.topbar-actions{flex-wrap:wrap;flex:420px;justify-content:flex-end;align-items:center;gap:12px;min-width:0;display:flex}.topbar-nav a{border:1px solid var(--hero-border);background:var(--hero-control-bg);color:#fff;overflow-wrap:anywhere;text-align:center;border-radius:8px;justify-content:center;align-items:center;min-width:0;max-width:100%;min-height:40px;padding:0 14px;line-height:1.15;text-decoration:none;display:inline-flex}.auth-panel{background:0 0;border:0;align-items:center;gap:8px;padding:0;display:inline-flex}.theme-toggle{border:1px solid var(--hero-border);color:#fff;width:40px;min-width:40px;height:40px;font:inherit;cursor:pointer;background:#ffffff14;border-radius:6px;place-items:center;padding:0;font-size:1rem;display:inline-grid}.notification-shell{z-index:80;position:relative}.notification-button{color:#edf5f7;width:46px;min-width:46px;height:46px;font:inherit;cursor:pointer;background:linear-gradient(#edf5f724,#edf5f70f),#10202bb8;border:1px solid #edf5f72e;border-radius:999px;justify-content:center;place-items:center;padding:0;font-weight:800;display:inline-flex;position:relative;box-shadow:inset 0 0 0 1px #edf5f70f,0 14px 28px #0003}.notification-bell-icon{transform-origin:50% 8%;width:18px;height:21px}.notification-bell-icon path{fill:currentColor}.notification-count{background:var(--gold);color:#111917;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.68rem;line-height:1;display:grid;position:absolute;top:-3px;right:-3px}.notification-popover{z-index:3000;border:1px solid var(--border);background:var(--panel-bg);width:min(340px,100vw - 28px);max-height:min(480px,100svh - 112px);color:var(--muted);border-radius:8px;flex-direction:column;gap:10px;padding:12px;display:flex;position:fixed;top:84px;right:max(20px,50vw - 640px);overflow:hidden;box-shadow:0 22px 54px #0c17143d}.notification-popover strong{color:var(--ink)}:root:not([data-theme=dark]) .notification-head>strong{color:#c74425}.notification-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:4px 4px 8px;display:flex}.notification-head-actions{align-items:center;gap:8px;min-width:0;display:inline-flex}.notification-head-actions span{color:var(--accent-strong);font-size:.78rem;font-weight:700}.notification-close{border:1px solid var(--border);background:var(--control-bg);width:28px;height:28px;color:var(--ink);font:inherit;cursor:pointer;border-radius:6px;place-items:center;font-size:.9rem;line-height:1;display:inline-grid}.notification-clear{border:1px solid var(--border);background:var(--control-bg);min-height:28px;color:var(--ink);font:inherit;cursor:pointer;border-radius:6px;padding:0 10px;font-size:.78rem}.notification-clear:disabled{opacity:.5;cursor:default}.notification-list{overscroll-behavior:contain;border:1px solid var(--border);background:var(--soft-bg);scrollbar-width:thin;border-radius:8px;flex:0 auto;align-content:start;gap:8px;min-height:0;max-height:min(340px,100svh - 250px);padding:8px;display:grid;overflow-y:auto}.notification-item{border:1px solid var(--border);background:var(--control-bg);min-width:0;color:inherit;border-radius:8px;align-content:start;gap:4px;padding:12px;text-decoration:none;display:grid}.notification-item strong{color:var(--ink);overflow-wrap:anywhere}.notification-item span{color:var(--accent-strong);text-transform:uppercase;font-size:.72rem;font-weight:700}.notification-item p{white-space:normal;overflow-wrap:anywhere}.notification-empty{background:var(--soft-bg);border-radius:8px;gap:4px;padding:12px;display:grid}.notification-live{border:1px solid color-mix(in oklch, var(--accent-strong), transparent 70%);background:color-mix(in oklch, var(--accent-strong), transparent 90%);border-radius:8px;gap:4px;padding:12px;display:grid}.auth-status{border:1px solid var(--hero-border);background:var(--hero-control-bg);color:#ffffffb3;white-space:nowrap;border-radius:8px;align-items:center;min-height:40px;padding:0 12px;font-size:.82rem;display:inline-flex}.auth-status-on{color:#fff}.auth-button{border:1px solid var(--hero-border);background:var(--hero-button-bg);min-width:0;max-width:100%;min-height:40px;color:var(--ink);font:inherit;white-space:normal;overflow-wrap:anywhere;cursor:pointer;border-radius:8px;padding:0 12px;font-size:.88rem;line-height:1.15}.auth-button-primary{background:var(--gold);color:#162320;border-color:#0000}.hero-panel h1{max-width:16ch;margin-inline:0 auto;font-size:3.45rem}.hero-panel h1,.hero-panel h2,.hero-panel strong{color:#fff}.hero-panel .eyebrow{color:#ffd58b}.eyebrow{color:var(--accent-strong);text-transform:uppercase;letter-spacing:.12em;margin-bottom:14px;font-size:.78rem;font-weight:700}.hero-text{max-width:62ch;color:var(--hero-text);font-size:1.05rem}.hero-meta{grid-template-columns:repeat(3,minmax(0,180px));gap:16px;margin-top:28px;display:grid}.hero-meta-card{background:var(--hero-control-bg);border:1px solid var(--hero-border);border-radius:8px;padding:16px}.hero-meta-card span,.city-current-label{color:var(--accent-strong);letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;font-size:.76rem;display:block}.search-panel,.map-panel,.deed-list-panel,.city-panel,.announcements-list-panel,.add-announcement-panel,.add-announcement-preview,.announcement-detail-panel,.announcement-author-panel,.profile-main-panel,.profile-edit-panel,.participants-panel,.edit-profile-panel,.edit-profile-preview{background:var(--panel-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:24px}.city-panel{min-width:0;overflow:hidden}.hero-panel .city-panel{width:100%;color:var(--muted);background:#fffffff0;border:1px solid #ffffffb8;margin-top:28px;box-shadow:0 18px 48px #12221d24}.hero-panel .city-panel h2{color:var(--ink);margin-bottom:0;font-size:1.55rem;line-height:1.12}.hero-panel .city-panel strong{color:var(--ink)}.hero-panel .city-panel .eyebrow,.hero-panel .city-panel .city-current-label{color:var(--accent-strong)}.hero-panel .city-list{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-panel .city-current{background:linear-gradient(#6ea8d824,#ffffffe0)}.hero-panel .city-list li{background:#fff}.search-field-group{grid-template-columns:240px minmax(0,1fr);gap:16px;display:grid}.field{gap:8px;min-width:0;display:grid}.field-label{color:var(--ink);font-size:.9rem;font-weight:600}.field-hint{color:var(--muted);font-size:.8rem}.field-hint-error{color:var(--accent-deep);font-weight:700}.field-with-limit-tooltip{position:relative}.field-limit-tooltip{z-index:10;border:1px solid color-mix(in oklch, var(--accent-strong), transparent 30%);background:var(--accent-strong);color:snow;border-radius:10px;width:max-content;max-width:min(280px,100%);padding:8px 10px;font-size:.78rem;font-weight:700;line-height:1.35;position:absolute;bottom:calc(100% + 8px);right:0;box-shadow:0 12px 24px #0c17142e}.field-control{border:1px solid var(--border);background:var(--control-bg);width:100%;min-width:0;height:52px;min-height:52px;color:var(--ink);font:inherit;border-radius:8px;padding:0 16px;line-height:1.2}select.field-control{appearance:none;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 22px),calc(100% - 16px);background-repeat:no-repeat;background-size:6px 6px,6px 6px;padding-right:44px}textarea.field-control{height:auto}.category-filter{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.chip{border:1px solid var(--border);background:var(--control-bg);min-height:40px;color:var(--ink);font:inherit;text-transform:capitalize;cursor:pointer;border-radius:8px;padding:0 14px}.stats-strip{background:var(--panel-bg);grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:20px 24px;display:grid}.stats-strip strong{font-family:var(--sans);color:var(--ink);margin-bottom:8px;font-size:2.35rem;line-height:1;display:block}.workspace-grid{grid-template-columns:minmax(0,1fr) minmax(0,260px);align-items:start;gap:24px;display:grid}.workspace-grid-single{grid-template-columns:minmax(0,1fr)}.workspace-main{gap:24px;min-width:0;display:grid}.workspace-side{justify-self:end;width:min(100%,260px);min-width:0;display:grid}.section-heading{max-width:680px;margin-bottom:22px}.section-heading-compact{margin-bottom:18px}.map-canvas{background:linear-gradient(135deg,#95d8cc33 0 12%,#0000 12% 100%),linear-gradient(315deg,#e8bf5429 0 14%,#0000 14% 100%),linear-gradient(#1b312df5,#0e1a18fa);border-radius:8px;min-height:520px;position:relative;overflow:hidden}.map-grid{opacity:.36;background:linear-gradient(35deg,#0000 47%,#ffffff0b 48% 52%,#0000 53%);position:absolute;inset:0}.map-point{text-align:left;border:0;border-radius:8px;gap:4px;min-width:164px;padding:12px 14px;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 18px 42px #0c17163d}.map-point span{letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:700}.map-point strong{font-size:.92rem;line-height:1.3}.map-point-еда{background:#fff5d7}.map-point-вещи{background:#ffd8c9}.map-point-волонтерство{background:#d6f1eb}.map-point-события{background:#efe6ff}.map-empty{background:#fffaf2e0;border-radius:8px;padding:16px 18px;position:absolute;inset:auto 20px 20px}.deed-list{gap:16px;display:grid}@media (width>=641px){.deed-list{grid-template-columns:repeat(2,minmax(0,1fr))}.deed-list>.deed-card:nth-child(3):last-child{grid-column:1/-1}}.deed-card{background:var(--paper);border:1px solid var(--border);border-radius:8px;padding:20px}.deed-card-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.deed-badge,.deed-distance{border-radius:6px;align-items:center;min-height:32px;padding:0 12px;font-size:.78rem;display:inline-flex}.deed-badge-еда{background:#fff0ba}.deed-badge-вещи{background:#ffd8c9}.deed-badge-волонтерство{background:#d6f1eb}.deed-badge-события{background:#ece0ff}.deed-distance{background:var(--tag-bg);color:var(--ink)}.announcement-status{background:var(--tag-bg);min-height:32px;color:var(--ink);white-space:nowrap;border-radius:6px;align-items:center;padding:0 12px;font-size:.78rem;font-weight:700;display:inline-flex}.announcement-status-active{background:#d6f1ebd1}.announcement-status-draft{background:#e8bf5447}.announcement-status-archived{background:#1623201a}.deed-description{margin-bottom:16px}.deed-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 16px;display:grid}.deed-meta div{background:var(--soft-bg);border-radius:8px;padding:12px 14px}.deed-meta dt{color:var(--accent-strong);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:.76rem;font-weight:700}.deed-meta dd{color:var(--ink);margin:0}.deed-impact{color:var(--ink);font-weight:600}.deed-card-empty{text-align:center}.announcements-hero{background:linear-gradient(135deg,#1f2933 0%,#263545 60%,#6ea8d8 100%)}.announcement-search-grid{grid-template-columns:minmax(280px,1.4fr) repeat(4,minmax(0,1fr));align-items:end;gap:16px;display:grid}.announcement-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:16px;display:grid}.announcements-refresh-status{padding:10px 14px}.announcement-card{border:1px solid var(--border);background:var(--paper);border-radius:8px;grid-template-rows:auto minmax(56px,auto) minmax(48px,auto) auto 1fr;gap:14px;min-height:336px;padding:20px;display:grid}.announcement-card h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:56px;display:-webkit-box;overflow:hidden}.announcement-card .deed-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:48px;display:-webkit-box;overflow:hidden}.announcement-card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.urgency-pill{min-height:32px;color:var(--ink);border-radius:6px;align-items:center;padding:0 12px;font-size:.78rem;font-weight:700;display:inline-flex}.urgency-pill-urgent{background:#ffd8c9}.urgency-pill-week{background:#fff0ba}.urgency-pill-planned{background:#d6f1eb}.announcement-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;display:grid}.announcement-meta div{background:var(--soft-bg);border-radius:8px;padding:12px 14px}.announcement-meta dt{color:var(--accent-strong);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:.76rem;font-weight:700}.announcement-meta dd{color:var(--ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.announcement-footer{flex-wrap:wrap;align-items:center;gap:10px;padding-top:2px;display:flex}.announcement-footer>strong{overflow-wrap:anywhere;-webkit-line-clamp:1;-webkit-box-orient:vertical;flex:100%;min-width:0;min-height:22px;display:-webkit-box;overflow:hidden}.announcement-card-action{border-color:var(--border);flex:0 280px;width:min(280px,100%);min-height:38px;margin-inline:auto;padding:0 14px;font-size:.88rem}.announcement-tags{flex-wrap:wrap;flex-basis:100%;order:2;gap:8px;max-height:68px;display:flex;overflow:hidden}.announcement-card-action{order:3}.announcement-tags span{background:var(--tag-bg);color:var(--ink);border-radius:6px;padding:6px 10px;font-size:.82rem}.announcement-card-empty{text-align:center;grid-column:1/-1}.loading-indicator{border:1px solid var(--border);background:var(--panel-bg);width:fit-content;max-width:100%;min-height:54px;color:var(--muted);box-shadow:var(--shadow-soft);overflow-wrap:anywhere;border-radius:8px;justify-content:center;align-items:center;gap:14px;padding:12px 16px;display:inline-flex}.loading-indicator strong{color:var(--ink);font-size:.95rem;line-height:1.2}.loading-indicator-compact{box-shadow:none;margin-inline:auto}.loader{flex:0 0 60px;justify-content:space-evenly;align-items:flex-end;width:60px;height:26px;display:flex}.loader-ball{background:radial-gradient(circle at 35% 28%, #edf5f7f0, #edf5f76b), var(--accent-strong);transform-origin:bottom;border-radius:50%;width:12px;height:12px;box-shadow:0 8px 18px #c6543d38}.loader-ball:first-child{animation:1.35s cubic-bezier(.16,1,.3,1) infinite loader-bounce}.loader-ball:nth-child(2){animation:1.35s cubic-bezier(.16,1,.3,1) .16s infinite loader-bounce}.loader-ball:nth-child(3){animation:1.35s cubic-bezier(.16,1,.3,1) .32s infinite loader-bounce}@keyframes loader-bounce{50%{transform:translateY(-13px)scale(.72)}}@media (prefers-reduced-motion:reduce){.loader-ball{animation:none}}.announcement-list-loader{margin-top:16px}.announcement-scroll-sentinel{min-height:1px}.announcement-detail-grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:24px;margin-top:4px;display:grid}.announcement-detail-panel,.announcement-author-panel{gap:18px;display:grid}.announcement-author-panel{align-content:start}.announcement-author-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px;display:flex}.scroll-top-button{z-index:20;border:1px solid var(--border);background:var(--panel-bg);width:48px;height:48px;color:var(--ink);cursor:pointer;font:inherit;border-radius:8px;font-size:1.25rem;font-weight:800;position:fixed;bottom:22px;right:22px;box-shadow:0 14px 32px #1623202e}.announcement-card-skeleton{pointer-events:none}.skeleton-line{background:linear-gradient(90deg, var(--tag-bg), var(--soft-bg), var(--tag-bg));background-size:220% 100%;border-radius:999px;animation:1.2s ease-in-out infinite skeleton-pulse;display:block;overflow:hidden}.skeleton-badge,.skeleton-pill{width:118px;height:32px}.skeleton-pill{width:92px}.skeleton-title{width:72%;height:28px}.skeleton-text{width:100%;height:16px}.skeleton-text-short{width:62%}.skeleton-meta-label{width:54px;height:10px;margin-bottom:10px}.skeleton-meta-value{width:78%;height:16px}.skeleton-contact{width:46%;height:18px}.skeleton-tag{width:72px;height:28px}@keyframes skeleton-pulse{0%{background-position:120% 0}to{background-position:-120% 0}}@keyframes notification-bell-ring{0%,to{transform:rotate(0)}15%{transform:rotate(10deg)}30%{transform:rotate(-10deg)}45%{transform:rotate(5deg)}60%{transform:rotate(-5deg)}75%{transform:rotate(2deg)}}.add-announcement-hero{background:linear-gradient(135deg,#172824 0%,#344f3d 58%,#e8bf54 100%)}.add-announcement-grid{grid-template-columns:minmax(0,1fr) 420px;align-items:start;gap:24px;display:grid}.add-announcement-panel{gap:18px;display:grid}.add-announcement-preview{position:sticky;top:24px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.field-textarea{resize:vertical;min-height:150px;padding:14px 16px}.form-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.primary-action,.secondary-action{min-height:48px;font:inherit;border-radius:8px;justify-content:center;align-items:center;padding:0 18px;text-decoration:none;display:inline-flex}.primary-action{background:var(--ink);color:var(--paper);cursor:pointer;border:0}.secondary-action{border:1px solid var(--border);background:var(--control-bg);color:var(--ink)}.form-success{background:#d6f1ebb8;border:1px solid #337c742e;border-radius:8px;gap:4px;padding:16px 18px;display:grid}.form-error{background:#ffd8c9b8;border:1px solid #bb5c3d3d;border-radius:8px;gap:4px;padding:16px 18px;display:grid}.primary-action:disabled{opacity:.68;cursor:wait}.profile-hero{background:linear-gradient(135deg,#172824 0%,#2d3f59 58%,#95d8cc 100%)}.profile-hero-grid{grid-template-columns:minmax(0,1fr) 300px;align-items:end;gap:24px;display:grid}.profile-card{border:1px solid var(--hero-border);background:var(--hero-control-bg);border-radius:8px;gap:8px;padding:20px;display:grid}.profile-card-details{gap:6px;margin:0;display:grid}.profile-card-details div{grid-template-columns:minmax(92px,auto) minmax(0,1fr);align-items:baseline;gap:10px;display:grid}.profile-card-details dt{color:var(--muted);font-size:.78rem;font-weight:700}.profile-card-details dd{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;overflow:hidden}.profile-card-action{margin-top:8px}.profile-status{padding:18px 20px}.profile-workspace{grid-template-columns:minmax(0,1fr) minmax(420px,480px);align-items:start;gap:24px;display:grid}.profile-main-panel,.profile-edit-form{gap:18px;min-width:0;display:grid}.profile-edit-panel{overscroll-behavior:contain;align-content:start;gap:18px;min-width:0;max-height:min(680px,100svh - 120px);scroll-padding-bottom:24px;display:grid;position:sticky;top:24px;overflow-y:auto}.profile-edit-panel .section-heading{min-width:0;margin-bottom:0}.profile-edit-panel .section-heading h2{font-size:1.55rem;line-height:1.12}.profile-edit-panel .profile-edit-form{padding-bottom:4px}.profile-edit-panel .form-grid{grid-template-columns:1fr}.profile-edit-panel .form-actions{grid-template-columns:1fr;align-items:stretch;display:grid}.profile-edit-panel .form-actions>*{width:100%}.profile-edit-panel-active{border-color:color-mix(in oklch, var(--accent-strong), var(--border) 45%);box-shadow:0 28px 72px #00000047,inset 0 0 0 1px #c6543d1f}.profile-inline-edit-panel{border:1px solid var(--border);background:var(--panel-bg);border-radius:8px;gap:18px;width:100%;min-width:0;margin-top:4px;padding:18px;display:none;overflow:visible}.profile-inline-edit-panel .profile-edit-form,.drafts-inline-edit-panel .profile-edit-form{width:100%;min-width:0}.profile-inline-edit-panel .section-heading,.drafts-inline-edit-panel .section-heading{min-width:0}.drafts-inline-edit-panel{display:grid}.profile-tabs{flex-wrap:wrap;gap:10px;display:flex}.profile-archive-link{align-items:center;text-decoration:none;display:inline-flex}.profile-count-action{position:relative}.action-count{background:var(--gold);color:#111917;border-radius:999px;place-items:center;min-width:20px;height:20px;padding:0 6px;font-size:.68rem;font-weight:800;line-height:1;display:grid;position:absolute;top:-8px;right:-8px;box-shadow:0 8px 18px #12221d29}.archive-actions{margin-bottom:18px}.profile-announcement-list{grid-template-columns:1fr;min-width:0}.card-actions{flex-wrap:wrap;gap:10px;padding-top:2px;display:flex}.danger-action{min-height:48px;color:var(--ink);font:inherit;cursor:pointer;background:#ffd8c9a8;border:1px solid #bb5c3d47;border-radius:8px;justify-content:center;align-items:center;padding:0 18px;display:inline-flex}.participation-note{background:#d6f1eb9e;border-radius:8px;gap:4px;padding:14px 16px;display:grid}.participants-panel{gap:18px;display:grid}.participant-broadcast-panel{border:1px solid var(--border);background:var(--soft-bg);border-radius:8px;gap:14px;padding:18px;display:grid}.participants-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.participant-card{border:1px solid var(--border);background:var(--paper);border-radius:8px;gap:16px;padding:20px;display:grid}.participant-card-head{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.participant-card-head h3{margin-bottom:4px}.participant-status{min-height:32px;color:var(--ink);white-space:nowrap;background:#d6f1ebb8;border-radius:6px;align-items:center;padding:0 12px;font-size:.78rem;font-weight:700;display:inline-flex}.participant-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;display:grid}.participant-meta div{background:var(--soft-bg);border-radius:8px;min-width:0;padding:12px 14px}.participant-meta dt{color:var(--accent-strong);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:.76rem;font-weight:700}.participant-meta dd{color:var(--ink);overflow-wrap:anywhere;margin:0}.participant-note-field .field-textarea{min-height:110px}.note-send-status{background:#d6f1ebb8;border:1px solid #337c742e;border-radius:8px;gap:4px;padding:12px 14px;display:grid}.edit-profile-grid{grid-template-columns:minmax(0,1fr) 420px;align-items:start;gap:24px;display:grid}.edit-profile-panel{gap:18px;display:grid}.edit-profile-preview{position:sticky;top:24px}.profile-preview-card{background:var(--paper)}.profile-avatar{background:var(--ink);width:72px;height:72px;color:var(--paper);font-family:var(--heading);border-radius:8px;place-items:center;font-size:2.1rem;line-height:1;display:grid}.profile-preview-meta{gap:10px;margin:8px 0;display:grid}.profile-preview-meta div{background:var(--soft-bg);border-radius:8px;padding:12px 14px}.profile-preview-meta dt{color:var(--accent-strong);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:.76rem;font-weight:700}.profile-preview-meta dd{color:var(--ink);margin:0}.city-current{background:linear-gradient(180deg, #77cbbd3d, var(--panel-bg));overflow-wrap:anywhere;border-radius:8px;min-width:0;padding:16px}.city-list{grid-template-columns:minmax(0,1fr);gap:12px;margin:18px 0 0;padding:0;list-style:none;display:grid}.city-list li{background:var(--paper);border:1px solid var(--border);overflow-wrap:anywhere;border-radius:8px;gap:4px;min-width:0;padding:14px 16px;display:grid}.city-list strong,.city-list span,.city-current strong,.city-current p{overflow-wrap:anywhere;min-width:0}.city-list-active{border-color:#bb5c3d52;box-shadow:inset 0 0 0 1px #bb5c3d29}.guest-panel-actions{margin-top:18px;display:grid}[data-theme=dark] .hero-panel{background:linear-gradient(135deg,#121820 0%,#1f2933 58%,#7d391f 100%)}[data-theme=dark] .hero-panel .city-panel{border-color:var(--hero-border);background:#1f2933eb;box-shadow:0 18px 54px #00000038}[data-theme=dark] .hero-panel .city-panel h2,[data-theme=dark] .hero-panel .city-panel strong{color:var(--ink)}[data-theme=dark] .hero-panel .city-panel p,[data-theme=dark] .hero-panel .city-panel span{color:var(--muted)}[data-theme=dark] .hero-panel .city-panel .eyebrow,[data-theme=dark] .hero-panel .city-panel .city-current-label{color:var(--accent-strong)}[data-theme=dark] .hero-panel .city-current{background:linear-gradient(#6ea8d824,#1f2933e0)}[data-theme=dark] .hero-panel .city-list li{background:var(--paper)}[data-theme=dark] .announcements-hero{background:linear-gradient(135deg,#121820 0%,#1f2933 60%,#28435b 100%)}[data-theme=dark] .add-announcement-hero{background:linear-gradient(135deg,#121820 0%,#1f2933 58%,#755f25 100%)}[data-theme=dark] .profile-hero{background:linear-gradient(135deg,#121820 0%,#1f2933 58%,#28435b 100%)}[data-theme=dark] .deed-badge-еда,[data-theme=dark] .map-point-еда{color:#fff5d7;background:#6e5720}[data-theme=dark] .deed-badge-вещи,[data-theme=dark] .map-point-вещи,[data-theme=dark] .urgency-pill-urgent,[data-theme=dark] .form-error,[data-theme=dark] .danger-action{color:#ffe8df;background:#653222}[data-theme=dark] .deed-badge-волонтерство,[data-theme=dark] .map-point-волонтерство,[data-theme=dark] .urgency-pill-planned,[data-theme=dark] .form-success,[data-theme=dark] .participation-note{color:#dff9f2;background:#1f514a}[data-theme=dark] .deed-badge-события,[data-theme=dark] .map-point-события{color:#f0e8ff;background:#453865}[data-theme=dark] .urgency-pill-week{color:#fff5d7;background:#6e5720}[data-theme=dark] .field-control{background:var(--control-bg);color:var(--ink);caret-color:var(--ink)}[data-theme=dark] .field-control:focus{background:var(--control-bg);color:var(--ink);box-shadow:0 0 0 4px color-mix(in oklch, var(--accent-strong), transparent 72%)}[data-theme=dark] .field-control:-webkit-autofill{-webkit-text-fill-color:var(--ink);caret-color:var(--ink);box-shadow:0 0 0 1000px color-mix(in oklch, var(--color-night-surface), var(--color-canvas) 24%) inset, 0 0 0 4px color-mix(in oklch, var(--accent-strong), transparent 72%);transition:background-color 9999s ease-out}[data-theme=dark] .field-control:-webkit-autofill:hover{-webkit-text-fill-color:var(--ink);caret-color:var(--ink);box-shadow:0 0 0 1000px color-mix(in oklch, var(--color-night-surface), var(--color-canvas) 24%) inset, 0 0 0 4px color-mix(in oklch, var(--accent-strong), transparent 72%);transition:background-color 9999s ease-out}[data-theme=dark] .field-control:-webkit-autofill:focus{-webkit-text-fill-color:var(--ink);caret-color:var(--ink);box-shadow:0 0 0 1000px color-mix(in oklch, var(--color-night-surface), var(--color-canvas) 24%) inset, 0 0 0 4px color-mix(in oklch, var(--accent-strong), transparent 72%);transition:background-color 9999s ease-out}[data-theme=dark] .field-control::placeholder{color:#f5f7f270}[data-theme=dark] .auth-button{color:#fff;background:#ffffff14}[data-theme=dark] .auth-button-primary{color:#111917;background:#f1cd71}h3{font-family:var(--sans);color:var(--ink);margin:0 0 10px;font-size:1.32rem;line-height:1.16}@media (width<=1100px){.workspace-grid{grid-template-columns:1fr}.workspace-side{justify-self:stretch;width:100%}.guest-info-side{width:100%}.city-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=821px) and (width<=980px){.topbar{align-items:flex-start;gap:16px}.brand{flex:0 auto}.topbar-actions{flex-wrap:wrap;flex:100%;justify-content:flex-start;align-items:center;gap:10px;width:100%;display:flex}.topbar-nav{flex-wrap:wrap;flex:0 auto;gap:8px;width:auto;max-width:100%;display:inline-flex}.topbar-nav a{overflow-wrap:anywhere;text-align:center;flex:0 auto;min-width:0;max-width:100%;padding:0 10px;line-height:1.15}.auth-panel{flex:0 auto;width:auto;max-width:100%}}@media (width<=820px){.page-shell{gap:20px;padding:18px}.topbar,.hero-meta,.search-field-group,.stats-strip,.deed-meta{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:flex-start;gap:6px 10px;margin-bottom:28px}.brand{flex:0 auto}.topbar-nav{width:auto;max-width:100%}.topbar-nav a{overflow-wrap:anywhere;text-align:center;flex:0 auto;min-width:0;max-width:100%;padding:0 10px;line-height:1.15}.topbar-actions{flex-wrap:wrap;flex:0 auto;justify-content:flex-start;align-items:center;gap:10px;width:auto;max-width:100%;display:flex}.auth-panel{flex-wrap:wrap;justify-content:flex-start;width:auto;max-width:100%;display:inline-flex}.auth-status{text-overflow:ellipsis;flex:0 auto;min-width:0;overflow:hidden}.auth-button{white-space:normal;flex:0 auto;min-width:0;max-width:100%}.notification-shell{position:static}.notification-popover{width:auto;max-height:calc(100svh - 112px);top:84px;left:14px;right:14px}.notification-list{flex:0 auto;max-height:calc(100svh - 300px)}.map-canvas{min-height:460px}.map-point{min-width:146px}.hero-panel h1{font-size:2.6rem}.city-list{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-panel .city-list{grid-template-columns:1fr}}.primary-action,.secondary-action,.danger-action,.auth-button,.chip,.topbar-nav a,.notification-close,.notification-clear,.scroll-top-button{border:2px solid var(--accent-strong);color:var(--ink);background:0 0;transition:transform .2s cubic-bezier(.16,1,.3,1),background-color .2s cubic-bezier(.16,1,.3,1),border-color .2s cubic-bezier(.16,1,.3,1),color .2s cubic-bezier(.16,1,.3,1)}.hero-panel .auth-button,.hero-panel .theme-toggle,.hero-panel .notification-button{border-color:var(--accent-strong);background:0 0}.primary-action:hover:not(:disabled),.secondary-action:hover:not(:disabled),.danger-action:hover:not(:disabled),.auth-button:hover:not(:disabled),.chip:hover:not(:disabled),.topbar-nav a:hover,.notification-close:hover:not(:disabled),.notification-clear:hover:not(:disabled),.scroll-top-button:hover:not(:disabled),.theme-toggle:hover:not(:disabled),.notification-button:hover:not(:disabled){border-color:var(--accent-strong);background:var(--accent-strong);color:snow;transform:translateY(-1px)}.announcement-tags{flex-basis:auto;order:0}.primary-action,[data-theme=dark] .primary-action,.profile-card-action{color:#edf5f7!important}.announcement-detail-panel .announcement-detail-meta dd,.announcement-meta dd{overflow-wrap:anywhere;white-space:normal;-webkit-line-clamp:initial;display:block;overflow:visible}.announcement-meta>div:first-child{grid-area:1/1}.announcement-meta>div:nth-child(3){grid-area:1/2}.announcement-meta>div:nth-child(2),.announcement-meta>div:nth-child(4),.announcement-meta>div:nth-child(5){grid-column:1/-1}.announcement-card .deed-description{order:0;margin-top:2px}.announcements-page .announcement-card:not(.announcement-card-skeleton):not(.announcement-card-empty) .deed-description:not(.description-collapsed):not(.description-expanded){display:none}.profile-page .announcement-card .deed-description{order:0;margin-top:0}.deed-description.description-collapsed{opacity:.86;max-height:2.96em;transition:opacity .18s cubic-bezier(.16,1,.3,1);display:block;overflow:hidden}.deed-description.description-expanded{opacity:1;-webkit-line-clamp:initial;max-height:none;transition:opacity .18s cubic-bezier(.16,1,.3,1);display:block;overflow:visible}.description-toggle{border:1px solid var(--accent-strong);min-height:34px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border-radius:10px;order:0;justify-self:start;padding:0 10px;font-size:.8rem;font-weight:700}.deed-list .deed-card h3{margin-bottom:8px;font-size:1.04rem;line-height:1.25}.deed-list .deed-card .deed-description{margin:0 0 8px;font-size:.84rem;line-height:1.38}.deed-list .deed-card .description-toggle{align-items:center;margin:0 0 14px;font-size:.76rem;display:inline-flex}.deed-list .deed-card .deed-meta{gap:8px;margin:0 0 14px}.deed-list .deed-card .deed-meta div{padding:10px 11px}.deed-list .deed-card .deed-meta dt{margin-bottom:4px;font-size:.68rem}.deed-list .deed-card .deed-meta dd{overflow-wrap:anywhere;word-break:break-word;font-size:.84rem;line-height:1.3}.announcements-page .announcement-card .deed-description{margin-top:0;font-size:.86rem;line-height:1.42}.announcements-page .announcement-card .description-toggle{margin-top:-4px}.profile-stats{gap:12px;padding:16px 18px}.profile-stats article{align-items:center;gap:10px;display:flex}.profile-stats strong{flex:none;margin:0;font-size:1.55rem}.profile-stats p{font-size:.86rem;line-height:1.32}@media (width<=640px){.participants-panel{gap:14px}.participants-panel .participant-card{gap:12px;padding:16px}.participants-panel .participant-card-head{gap:10px}.participants-panel .participant-card-head .profile-avatar{width:48px;height:48px;font-size:1.35rem}.participants-panel .participant-card-head h3{margin-bottom:2px;font-size:1.02rem}.participants-panel .participant-card-head p{font-size:.86rem}.participants-panel .participant-status{min-height:28px;padding-inline:9px;font-size:.72rem}.participants-panel .participant-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.participants-panel .participant-meta>div:first-child{grid-column:1}.participants-panel .participant-meta>div:nth-child(2){grid-column:2}.participants-panel .participant-meta>div:nth-child(3),.participants-panel .participant-meta>div:nth-child(4){grid-column:1/-1}.participants-panel .participant-meta div{padding:8px 10px}.participants-panel .participant-meta dt{margin-bottom:3px;font-size:.68rem}.participants-panel .participant-meta dd{font-size:.86rem;line-height:1.34}.participants-panel .field{gap:5px}.participants-panel .field-label{font-size:.8rem}.participants-panel .field-control{min-height:42px;padding:10px;font-size:.9rem}.participants-panel .field-textarea,.participants-panel .participant-note-field .field-textarea{min-height:84px}.participants-panel .card-actions .secondary-action{min-height:38px;padding-inline:10px;font-size:.8rem}.profile-page .profile-announcement-card h3,.profile-page .profile-announcement-card .deed-description,.profile-page .profile-announcement-card .announcement-footer>strong{overflow-wrap:anywhere;white-space:normal;-webkit-line-clamp:initial;display:block;overflow:visible}.profile-page .profile-announcement-card h3{font-size:1.06rem;line-height:1.28}.profile-page .profile-announcement-card .deed-description{font-size:.9rem;line-height:1.42}.profile-page .profile-announcement-card .announcement-footer>strong{font-size:.86rem;line-height:1.38}.profile-page .profile-announcement-card .card-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.profile-page .profile-announcement-card .card-actions>*{min-height:38px;padding-inline:8px;font-size:.78rem}}.profile-page .profile-announcement-card .deed-description.description-collapsed{overflow:hidden}:root:not([data-theme=dark]) .profile-edit-panel .primary-action{color:var(--ink)}:root:not([data-theme=dark]) .announcement-edit-save-action,:root:not([data-theme=dark]) .primary-action{color:var(--ink)!important}.primary-action:after,.secondary-action:after,.danger-action:after,.auth-button:after{content:none;margin-left:0}[data-theme=dark] .primary-action{color:#edf5f7}.notification-button,.theme-toggle{transition:transform .2s cubic-bezier(.16,1,.3,1),background-color .2s cubic-bezier(.16,1,.3,1),border-color .2s cubic-bezier(.16,1,.3,1),color .2s cubic-bezier(.16,1,.3,1)}@media (width<=640px){.page-shell{gap:16px;padding:0 12px 14px}.page-shell>.hero-panel:first-child{margin-top:12px}.hero-panel,.search-panel,.stats-strip,.map-panel,.deed-list-panel,.city-panel,.announcements-list-panel,.add-announcement-panel,.add-announcement-preview,.profile-main-panel,.profile-edit-panel,.participants-panel,.edit-profile-panel,.edit-profile-preview{border-radius:8px;padding:20px}.hero-panel{padding-top:10px}.topbar{flex-direction:row;align-items:center;gap:6px;margin-bottom:22px}.brand-mark{border-radius:8px;width:36px;height:36px;font-size:.86rem}.brand{flex:150px;gap:8px;width:auto;min-width:0}.brand-copy{min-width:0}.hero-panel h1{font-size:2.05rem}.brand-copy strong,.brand-copy small{overflow-wrap:anywhere;white-space:normal;line-height:1.12}.brand-copy strong{font-size:.92rem}.brand-copy small{font-size:.72rem}.topbar-nav{flex-wrap:wrap;gap:8px;width:auto;max-width:100%;display:flex}.topbar-nav a{flex:0 auto;width:auto;min-height:40px;padding:0 10px;font-size:.92rem}.category-filter{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.chip{justify-content:center}.scroll-top-button{width:42px;height:42px;font-size:1.05rem;bottom:14px;right:14px}.map-canvas{min-height:380px}.map-point{min-width:120px;padding:10px 12px}.map-point strong{font-size:.82rem}.deed-card-top{flex-direction:column;align-items:flex-start}}@media (width<=980px){.announcement-search-grid,.announcement-list,.announcement-detail-grid,.add-announcement-grid,.participants-list,.profile-hero-grid,.profile-workspace,.edit-profile-grid{grid-template-columns:1fr}.add-announcement-preview,.edit-profile-preview{position:static}.profile-edit-panel{display:none}.profile-inline-edit-panel{display:grid}}@media (width>=641px) and (width<=980px){.announcement-search-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.announcement-search-field{grid-column:1/-1}}@media (width<=640px){.announcement-card-head{flex-direction:column;align-items:flex-start}.announcement-meta{grid-template-columns:1fr}.participant-card-head{grid-template-columns:auto minmax(0,1fr)}.participant-status{grid-column:1/-1;justify-content:center}.participant-meta,.form-grid,.form-grid-three,.announcement-filter-panel .category-filter{grid-template-columns:1fr}.primary-action,.secondary-action,.danger-action{width:100%}.auth-panel{flex-wrap:wrap;align-items:center;gap:6px;width:auto;min-width:0;max-width:100%;padding:0;display:inline-flex}.notification-shell{width:36px;height:36px}.theme-toggle,.notification-button{width:36px;min-width:36px;height:36px}.auth-status{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;align-self:center;min-width:0;max-width:100%;min-height:40px;padding:0 10px;font-size:.76rem;overflow:hidden}.auth-button{flex:0 auto;width:auto;min-height:40px;padding:0 10px;font-size:.8rem}.auth-panel .auth-button{justify-self:auto}.city-list{grid-template-columns:1fr}.city-current,.city-list li{padding:12px}.announcement-card-action{width:auto}}@keyframes panel-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes popover-enter{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes edit-panel-enter{0%{opacity:0;clip-path:inset(0 0 100%);transform:translateY(14px)}to{opacity:1;clip-path:inset(0);transform:translateY(0)}}.hero-panel,.stats-strip,.search-panel,.map-panel,.deed-list-panel,.city-panel,.announcements-list-panel,.add-announcement-panel,.add-announcement-preview,.announcement-detail-panel,.announcement-author-panel,.profile-main-panel,.profile-edit-panel,.participants-panel,.edit-profile-panel,.edit-profile-preview{animation:none}.topbar-nav a,.auth-button,.theme-toggle,.notification-button,.notification-close,.chip,.primary-action,.secondary-action,.danger-action,.scroll-top-button,.announcement-card-action{transition:transform .18s,border-color .18s,background-color .18s,color .18s,box-shadow .18s,opacity .18s}.topbar-nav a:hover,.auth-button:hover,.theme-toggle:hover,.notification-button:hover,.notification-close:hover,.chip:hover,.primary-action:hover,.secondary-action:hover,.danger-action:hover,.scroll-top-button:hover,.announcement-card-action:hover{transform:translateY(-1px)}.topbar-nav a:active,.auth-button:active,.theme-toggle:active,.notification-button:active,.notification-close:active,.chip:active,.primary-action:active,.secondary-action:active,.danger-action:active,.scroll-top-button:active,.announcement-card-action:active{transform:translateY(0)}.notification-item,.hero-meta-card{transition:transform .22s,border-color .22s,box-shadow .22s,background-color .22s}.notification-item:hover,.hero-meta-card:hover{transform:translateY(-2px);box-shadow:0 18px 42px #12221d1f}.map-point{transition:transform .18s,box-shadow .18s,filter .18s;animation:none}.notification-popover{transform-origin:100% 0;animation:.18s both popover-enter}.profile-inline-edit-panel{transform-origin:top;animation:.3s both edit-panel-enter}.profile-edit-panel .profile-edit-form,.profile-inline-edit-panel .profile-edit-form{animation:none}.field-control{transition:border-color .18s,box-shadow .18s,background-color .18s}.field-control:focus{border-color:var(--accent-strong);box-shadow:0 0 0 3px color-mix(in oklch, var(--accent-strong), transparent 78%);outline:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.page-shell{gap:22px;padding:28px}.hero-panel,.search-panel,.stats-strip,.map-panel,.deed-list-panel,.city-panel,.announcements-list-panel,.add-announcement-panel,.add-announcement-preview,.announcement-detail-panel,.announcement-author-panel,.profile-main-panel,.profile-edit-panel,.participants-panel,.edit-profile-panel,.edit-profile-preview,.profile-inline-edit-panel{border:1px solid var(--border);box-shadow:var(--shadow-soft);border-radius:18px;overflow:hidden}.hero-panel,.announcements-hero,.add-announcement-hero,.profile-hero,[data-theme=dark] .hero-panel,[data-theme=dark] .announcements-hero,[data-theme=dark] .add-announcement-hero,[data-theme=dark] .profile-hero{background:linear-gradient(118deg, #c6543d3d, transparent 31%), linear-gradient(252deg, #70a9bc33, transparent 34%), linear-gradient(180deg, var(--color-canvas-lift), var(--color-canvas))}.hero-panel{min-height:auto;color:var(--hero-text);padding:clamp(24px,4vw,34px)}.topbar{min-height:48px;margin-bottom:48px}.brand{flex:280px;gap:14px}.brand-mark{border:1px solid var(--hero-border);color:#edf5f7;width:48px;height:48px;box-shadow:none;background:#edf5f71a;border-radius:12px}.brand-copy strong{color:#edf5f7;font-size:1rem}.brand-copy small{color:#edf5f7a8}.topbar-nav a,.auth-status,.theme-toggle,.notification-button{border:1px solid var(--hero-border);background:var(--hero-control-bg);color:#edf5f7;border-radius:12px}.theme-toggle,.notification-button{border-radius:10px}.notification-button{color:#edf5f7;background:linear-gradient(#edf5f724,#edf5f70f),#10202bb8;border-color:#edf5f72e;border-radius:999px;width:46px;min-width:46px;height:46px;box-shadow:inset 0 0 0 1px #edf5f70f,0 14px 28px #0003}.topbar-nav a:hover,.theme-toggle:hover,.notification-button:hover{background:linear-gradient(#c6543d57,#c6543d2e),#10202bd1;border-color:#c6543d80;box-shadow:inset 0 0 0 1px #edf5f714,0 16px 32px #c6543d33}.notification-button:hover .notification-bell-icon{animation:.9s both notification-bell-ring}.auth-button{border:1px solid var(--hero-border);min-height:40px;color:var(--color-ink);box-shadow:none;background:#f4f8f9eb;border-radius:12px}.auth-button-primary,.primary-action{background:var(--hero-button-bg);color:snow;border:0;border-radius:12px;box-shadow:0 16px 30px #c6543d3d}[data-theme=dark] .auth-button-primary,[data-theme=dark] .primary-action{color:#111a20}.secondary-action,.danger-action,.notification-close,.notification-clear,.scroll-top-button{border:1px solid var(--border);background:var(--control-bg);color:var(--ink);border-radius:12px}.hero-copy{text-align:left;max-width:760px;margin-inline:0 auto}.hero-panel .eyebrow{color:#edf5f7b8;letter-spacing:.1em;text-transform:uppercase;background:0 0;border:0;border-radius:0;max-width:58ch;min-height:0;margin:0 0 14px;padding:0;font-size:.78rem;font-weight:700;display:block}.hero-panel h1{letter-spacing:0;max-width:17ch;margin-inline:0 auto;font-size:3.45rem;line-height:.98}.search-panel,.map-panel,.deed-list-panel,.city-panel,.announcements-list-panel,.add-announcement-panel,.add-announcement-preview,.announcement-detail-panel,.announcement-author-panel,.profile-main-panel,.profile-edit-panel,.participants-panel,.edit-profile-panel,.edit-profile-preview,.notification-popover,.profile-inline-edit-panel,.stats-strip{background:var(--panel-bg);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);padding:24px;position:relative;overflow:hidden}.search-panel:before,.map-panel:before,.deed-list-panel:before,.city-panel:before,.announcements-list-panel:before,.add-announcement-panel:before,.add-announcement-preview:before,.announcement-detail-panel:before,.announcement-author-panel:before,.profile-main-panel:before,.profile-edit-panel:before,.participants-panel:before,.edit-profile-panel:before,.edit-profile-preview:before,.notification-popover:before,.profile-inline-edit-panel:before,.stats-strip:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#ffffff94,#0000 38%),linear-gradient(315deg,#c6543d24,#0000 46%);position:absolute;inset:0}.search-panel>*,.map-panel>*,.deed-list-panel>*,.city-panel>*,.announcements-list-panel>*,.add-announcement-panel>*,.add-announcement-preview>*,.announcement-detail-panel>*,.announcement-author-panel>*,.profile-main-panel>*,.profile-edit-panel>*,.participants-panel>*,.edit-profile-panel>*,.edit-profile-preview>*,.notification-popover>*,.profile-inline-edit-panel>*,.stats-strip>*{position:relative}[data-theme=dark] .search-panel:before,[data-theme=dark] .map-panel:before,[data-theme=dark] .deed-list-panel:before,[data-theme=dark] .city-panel:before,[data-theme=dark] .announcements-list-panel:before,[data-theme=dark] .add-announcement-panel:before,[data-theme=dark] .add-announcement-preview:before,[data-theme=dark] .announcement-detail-panel:before,[data-theme=dark] .announcement-author-panel:before,[data-theme=dark] .profile-main-panel:before,[data-theme=dark] .profile-edit-panel:before,[data-theme=dark] .participants-panel:before,[data-theme=dark] .edit-profile-panel:before,[data-theme=dark] .edit-profile-preview:before,[data-theme=dark] .notification-popover:before,[data-theme=dark] .profile-inline-edit-panel:before,[data-theme=dark] .stats-strip:before{background:linear-gradient(315deg,#c6543d14,#0000 48%)}.profile-page .profile-main-panel,.profile-page .profile-edit-panel{-webkit-backdrop-filter:none;backdrop-filter:none}.profile-page .profile-edit-panel{max-height:min(720px,100svh - 72px);padding-bottom:28px;scroll-padding-bottom:32px;overflow:hidden auto}.profile-page .profile-main-panel:before,.profile-page .profile-edit-panel:before{content:none}.profile-inline-edit-panel,.drafts-inline-edit-panel{overflow:visible}.profile-inline-edit-panel .form-grid,.drafts-inline-edit-panel .form-grid{grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr))}.profile-inline-edit-panel .form-actions,.drafts-inline-edit-panel .form-actions{align-items:stretch}.profile-inline-edit-panel .form-actions>*,.drafts-inline-edit-panel .form-actions>*{min-width:min(180px,100%)}.notification-popover{z-index:3000;flex-direction:column;gap:10px;width:min(340px,100vw - 28px);max-height:min(480px,100svh - 112px);padding:12px;display:flex;position:fixed;top:84px;right:max(20px,50vw - 640px)}.hero-panel .city-panel{width:100%;color:var(--muted);background:#f4f8f9eb;border-color:#edf5f757;margin-top:28px}[data-theme=dark] .hero-panel .city-panel{background:#f4f8f9eb}[data-theme=dark] .hero-panel .city-panel h2,[data-theme=dark] .hero-panel .city-panel strong,[data-theme=dark] .hero-panel .city-current strong,[data-theme=dark] .hero-panel .city-list strong{color:var(--color-ink)}[data-theme=dark] .hero-panel .city-panel p,[data-theme=dark] .hero-panel .city-panel span,[data-theme=dark] .hero-panel .city-current p,[data-theme=dark] .hero-panel .city-list span{color:var(--color-muted)}[data-theme=dark] .hero-panel .city-current,[data-theme=dark] .hero-panel .city-list li{background:#f8fbfcd6}.hero-panel .city-panel h2,.hero-panel .city-panel strong{color:var(--ink)}.hero-panel .city-panel p,.hero-panel .city-panel span{color:var(--muted)}.field-control{background:var(--control-bg);color:var(--ink);border-radius:12px}.field-control:focus{border-color:var(--accent-strong);background:snow;box-shadow:0 0 0 4px #c6543d26}.field-control::placeholder{color:color-mix(in oklch, var(--muted), transparent 24%)}.chip{background:var(--control-bg);color:var(--ink);border-radius:12px}.chip-active{background:var(--accent-strong);color:snow;border-color:#0000}[data-theme=dark] .chip-active{color:#111a20}.announcement-list-refreshing{opacity:1;transition:none}.map-canvas{background:linear-gradient(135deg,#c6543d29 0 12%,#0000 12% 100%),linear-gradient(315deg,#70a9bc29 0 14%,#0000 14% 100%),linear-gradient(#14212a,#0e151b);border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:16px;min-height:520px;padding:24px;display:grid}.map-grid{display:none}.map-point,.map-point.map-point-еда,.map-point.map-point-вещи,.map-point.map-point-волонтерство,.map-point.map-point-события{color:var(--color-ink);background:#f4f8f9f5;border:1px solid #edf5f7c2;border-radius:12px;animation:none;box-shadow:0 16px 36px #0000004d}.map-canvas .map-point{z-index:1}.map-canvas .map-empty{z-index:1;grid-column:1/-1;position:relative;inset:auto}.map-point span{color:var(--color-brick-deep)}.map-point strong{color:var(--color-ink)}[data-theme=dark] .map-point,[data-theme=dark] .map-point.map-point-еда,[data-theme=dark] .map-point.map-point-вещи,[data-theme=dark] .map-point.map-point-волонтерство,[data-theme=dark] .map-point.map-point-события{color:var(--ink);background:#1c211cfa;border-color:#f3f1ea47;box-shadow:0 18px 40px #0709077a}[data-theme=dark] .map-point strong{color:var(--ink)}.deed-card,.announcement-card,.participant-card,.profile-preview-card,.city-list li,.city-current,.deed-meta div,.announcement-meta div,.participant-meta div,.profile-preview-meta div,.notification-item,.notification-list,.notification-empty,.notification-live,.participant-broadcast-panel{border:1px solid var(--border);background:var(--paper);color:var(--ink);border-radius:12px}.deed-badge,.deed-distance,.announcement-status,.urgency-pill,.announcement-tags span,.action-count,.notification-count{background:var(--tag-bg);color:var(--ink);border:0;border-radius:12px}.action-count,.notification-count{background:var(--accent-strong);color:snow}[data-theme=dark] .action-count,[data-theme=dark] .notification-count{color:#111a20}.map-point-еда,.map-point-вещи,.map-point-волонтерство,.map-point-события,.deed-badge-еда,.deed-badge-вещи,.deed-badge-волонтерство,.deed-badge-события,.urgency-pill-urgent,.urgency-pill-week,.urgency-pill-planned,.announcement-status-active,.announcement-status-draft,.announcement-status-archived{background:var(--tag-bg);color:var(--ink)}.deed-meta dt,.announcement-meta dt,.participant-meta dt,.profile-preview-meta dt,.city-current-label,.notification-item span,.eyebrow{color:var(--accent-strong)}.map-empty,.form-success,.form-error,.participation-note,.note-send-status{border:1px solid var(--border);background:var(--panel-bg);color:var(--ink);border-radius:12px}.profile-avatar{background:var(--accent-strong);color:snow;font-family:var(--sans);border-radius:12px}.map-point{transition:transform .18s,box-shadow .18s,filter .18s}.map-point:hover{filter:none;transform:translate(-50%,-52%)}.announcement-list{gap:12px}.announcement-card{grid-template-rows:none;gap:0;min-width:0;min-height:0;padding:18px}.profile-announcement-card{align-content:start;gap:14px}.profile-announcement-card .announcement-card-head{flex-wrap:wrap;justify-content:flex-start}.profile-announcement-card .announcement-footer{grid-template-columns:1fr}.profile-announcement-card .announcement-tags{max-height:none}.profile-announcement-card .card-actions{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.profile-announcement-card .card-actions>*{text-align:center;width:100%;min-width:0}.profile-announcement-card-active{border-color:color-mix(in oklch, var(--accent-strong), var(--border) 38%);box-shadow:0 18px 42px #0000002e,inset 0 0 0 1px #c6543d1f}.profile-announcement-card .profile-inline-edit-panel,.profile-announcement-card .drafts-inline-edit-panel{grid-column:1/-1;width:100%;min-width:0}.add-preview-card{align-content:start;gap:14px;min-width:0;display:grid}.add-preview-card .announcement-card-head{flex-wrap:wrap;justify-content:flex-start}.add-preview-card h3,.add-preview-card .deed-description,.add-preview-card .announcement-meta dd,.add-preview-card .announcement-footer>strong,.add-preview-card .announcement-tags span{overflow-wrap:anywhere}.add-preview-card .announcement-meta{grid-template-columns:1fr}.add-preview-card .announcement-meta dd{-webkit-line-clamp:initial;display:block;overflow:visible}.add-preview-card .announcement-footer{grid-template-columns:1fr}.add-preview-card .announcement-tags{max-height:none}.add-preview-card .announcement-footer>strong{-webkit-line-clamp:initial;display:block;overflow:visible}.announcement-card-content{gap:12px;min-width:0;display:grid}.announcement-card-has-media{grid-template-columns:168px minmax(0,1fr);align-items:start;gap:16px}.announcement-card-media{aspect-ratio:4/3;object-fit:cover;background:var(--paper-strong);border-radius:8px;width:100%}.announcement-card h3{-webkit-line-clamp:2;min-height:0;margin-bottom:0;font-size:1.18rem;line-height:1.24}.announcement-card .deed-description{-webkit-line-clamp:2;min-height:0;margin-bottom:0;font-size:.96rem;line-height:1.48}.announcement-card-head{align-items:flex-start}.deed-badge,.urgency-pill,.announcement-status,.announcement-tags span{min-height:30px;padding:0 11px;font-size:.78rem}.announcement-meta{gap:10px}.announcement-meta div{padding:10px 12px}.announcement-meta dt{letter-spacing:.06em;margin-bottom:4px;font-size:.72rem}.announcement-meta dd{-webkit-line-clamp:1;font-size:.9rem;line-height:1.3}.announcement-footer{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 10px;padding-top:0;display:grid}.announcement-footer>strong{flex:none;grid-column:1;min-height:0;font-size:.92rem;line-height:1.3}.announcement-card-action{white-space:nowrap;grid-area:1/2;width:auto;min-height:40px;margin-inline:0;padding:0 14px}.announcement-tags{grid-column:1/-1;gap:6px;max-height:34px}.announcement-tags span{min-height:28px;padding:0 10px;font-size:.78rem}@media (width<=820px){.map-canvas{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px}.page-shell{gap:20px;padding:0 14px 16px}.topbar{flex-direction:row;align-items:center;gap:4px 14px;min-height:0;margin-bottom:14px}.brand{flex:190px}.topbar-actions{flex:0 auto;gap:8px}.hero-panel,.announcements-hero{padding-top:12px}.announcements-hero .topbar{gap:4px 14px;margin-bottom:14px}.hero-panel h1{max-width:18ch;font-size:2.45rem;line-height:1.08}.announcement-list{grid-template-columns:1fr}.announcement-card-has-media{grid-template-columns:180px minmax(0,1fr)}}@media (width<=640px){.map-canvas{grid-template-columns:1fr;gap:10px;min-height:0;padding:14px}.map-canvas .map-point{min-height:0;padding:12px}.page-shell{gap:16px;padding:0 12px 14px}.hero-panel,.search-panel,.stats-strip,.map-panel,.deed-list-panel,.city-panel,.announcements-list-panel,.add-announcement-panel,.add-announcement-preview,.profile-main-panel,.profile-edit-panel,.participants-panel,.edit-profile-panel,.edit-profile-preview{border-radius:8px;padding:20px}.hero-panel{padding:4px 12px 18px}.topbar{gap:5px;min-height:36px;margin-bottom:16px}.announcements-hero{padding-top:0}.announcements-hero .topbar{gap:2px;margin-bottom:12px}.hero-panel h1{font-size:2rem}.announcement-filter-panel{padding:16px}.announcement-filter-panel .announcement-search-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px}.announcement-filter-panel .announcement-search-field{grid-column:1/-1}.announcement-filter-panel .field{gap:5px}.announcement-filter-panel .field-label{font-size:.8rem}.announcement-filter-panel .field-control{height:48px;min-height:48px;padding-inline:12px;font-size:.9rem}.announcement-card{padding:16px}.announcement-card-has-media{grid-template-columns:1fr}.announcement-card-media{aspect-ratio:16/9}.announcement-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.announcements-page .announcement-card:not(.announcement-card-skeleton){min-height:0}.announcements-page .announcement-card:not(.announcement-card-skeleton) .announcement-card-media,.announcements-page .announcement-card:not(.announcement-card-skeleton) .announcement-meta>div:nth-child(2),.announcements-page .announcement-card:not(.announcement-card-skeleton) .announcement-meta>div:nth-child(4),.announcements-page .announcement-card:not(.announcement-card-skeleton) .announcement-footer>strong{display:none}.announcements-page .announcement-card:not(.announcement-card-skeleton) .announcement-card-content{gap:14px}.announcements-page .announcement-card:not(.announcement-card-skeleton) .announcement-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.announcements-page .announcement-card:not(.announcement-card-skeleton) .announcement-meta>div:nth-child(3) dd{-webkit-line-clamp:initial;display:block;overflow:visible}.announcements-page .announcement-card:not(.announcement-card-skeleton) .announcement-footer{display:block}.announcements-page .announcement-card:not(.announcement-card-skeleton) .announcement-card-action{justify-content:center;width:100%}.announcement-footer{grid-template-columns:1fr;gap:6px}.announcement-card-action{grid-area:auto/1;justify-self:start;width:auto;max-width:100%;min-height:36px;padding:0 12px}.notification-shell,.theme-toggle,.notification-button{width:40px;min-width:40px;height:40px}.auth-panel-guest{margin-right:0;transform:translate(-4px)}.notification-button{border-radius:8px;box-shadow:inset 0 0 0 1px #edf5f70f,0 6px 14px #00000024}.notification-bell-icon{width:15px;height:17px}.city-carousel{margin-top:18px}.city-carousel-viewport{touch-action:pan-y;overflow:hidden}.city-carousel-track{transform:translateX(calc(var(--city-carousel-index) * -100%));gap:0;margin:0;transition:transform .18s ease-out;display:flex}.city-carousel-track li{flex:0 0 100%;min-height:116px}}.urgency-filter{margin-top:10px}.tag-chip,.deed-badge,.urgency-pill,.announcement-status,.announcement-tags span{--tag-fill:var(--tag-bg);--tag-border:transparent;--tag-ink:var(--ink);border:1px solid var(--tag-border);background:var(--tag-fill);color:var(--tag-ink)}.tag-chip-food,.deed-badge-еда{--tag-fill:#f3e8c5;--tag-border:#dfc979;--tag-ink:#514520}.tag-chip-things,.deed-badge-вещи{--tag-fill:#eadbd1;--tag-border:#cda891;--tag-ink:#594033}.tag-chip-volunteering,.deed-badge-волонтерство,.tag-chip-planned,.urgency-pill-planned,.announcement-status-active{--tag-fill:#dce9df;--tag-border:#a9c6b2;--tag-ink:#274a3b}.tag-chip-events,.deed-badge-события{--tag-fill:#dce4e5;--tag-border:#a9bec1;--tag-ink:#31484c}.tag-chip-urgent,.urgency-pill-urgent{--tag-fill:#ead7d3;--tag-border:#c9968e;--tag-ink:#613b35}.tag-chip-week,.urgency-pill-week,.announcement-status-draft{--tag-fill:#efe2bd;--tag-border:#d7bd6d;--tag-ink:#51451d}.tag-chip-all,.announcement-status-archived{--tag-fill:color-mix(in oklch, var(--paper-strong), var(--accent-strong) 5%);--tag-border:var(--border);--tag-ink:var(--muted)}.tag-chip.chip-active{border-color:color-mix(in oklch, var(--tag-border), var(--tag-ink) 18%);background:color-mix(in oklch, var(--tag-fill), var(--tag-border) 28%);color:var(--tag-ink);box-shadow:inset 0 0 0 1px color-mix(in oklch, var(--tag-border), transparent 35%)}.tag-chip.chip-active.tag-chip-all{background:var(--accent-strong);color:#fefcf7}[data-theme=dark] .tag-chip,[data-theme=dark] .deed-badge,[data-theme=dark] .urgency-pill,[data-theme=dark] .announcement-status,[data-theme=dark] .announcement-tags span{background:var(--tag-fill);border-color:var(--tag-border);color:var(--tag-ink);box-shadow:none}[data-theme=dark] .tag-chip.chip-active{background:color-mix(in oklch, var(--tag-fill), var(--tag-border) 28%);color:var(--tag-ink);box-shadow:inset 0 0 0 1px color-mix(in oklch, var(--tag-border), transparent 35%)}[data-theme=dark] .tag-chip.chip-active.tag-chip-all{background:var(--accent-strong);color:#121612}@media (width<=820px){.announcements-page,.announcements-page .hero-panel.announcements-hero{padding-top:0}.announcements-page .announcements-hero .topbar{row-gap:0;min-height:0;margin-top:0;margin-bottom:12px}.announcements-page .announcements-hero .brand{margin:0}.announcements-page .announcements-hero .topbar-actions{row-gap:4px;margin-top:0}}@media (width<=640px){.announcements-page .hero-panel.announcements-hero{padding:0 10px 16px}.announcements-page .announcements-hero .topbar{gap:0;margin-bottom:10px}.announcements-page .announcements-hero .topbar-actions{gap:4px}}@media (width>=641px) and (width<=820px){.announcements-page .announcements-hero .topbar{gap:4px 14px;margin-bottom:14px}}@media (width<=640px){.announcement-detail-page{gap:12px}.announcement-detail-page .announcement-detail-grid{gap:12px;margin-top:0}.announcement-detail-page .announcement-detail-panel,.announcement-detail-page .announcement-author-panel{gap:12px;padding:16px}.announcement-detail-page .section-heading-compact{margin-bottom:10px}.announcement-detail-page .section-heading h2{font-size:1.45rem;line-height:1.14}.announcement-detail-page .announcement-detail-description{margin-bottom:12px;font-size:.98rem;line-height:1.45}.announcement-detail-page .announcement-detail-meta{gap:8px}.announcement-detail-page .announcement-detail-meta div{padding:8px 10px}.announcement-detail-page .profile-card{gap:6px;padding:14px}.announcement-detail-page .announcement-author-actions{gap:8px;margin-top:0}}@media (width<=820px){.announcement-detail-page .announcement-card-head,.announcements-page .announcement-card-head,.profile-page .announcement-card-head,.deed-list-panel .deed-card-top{flex-direction:row;justify-content:space-between;align-items:center;gap:8px}}@media (width<=640px){.deed-carousel-viewport{touch-action:pan-y;overflow:hidden}.deed-list-carousel{transform:translateX(calc(var(--deed-carousel-index) * -100%));align-items:flex-start;gap:0;transition:transform .2s cubic-bezier(.16,1,.3,1);display:flex}.deed-list-carousel .deed-card{flex:0 0 100%;min-width:0;padding:16px}.deed-list-carousel .deed-card h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:8px;font-size:1.1rem;display:-webkit-box;overflow:hidden}.deed-list-carousel .deed-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:12px;font-size:.9rem;line-height:1.42;display:-webkit-box;overflow:hidden}.deed-list-carousel .deed-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px}.deed-list-carousel .deed-meta div{padding:8px 10px}.deed-list-carousel .deed-meta dt{margin-bottom:3px;font-size:.68rem}.deed-list-carousel .deed-meta dd,.deed-list-carousel .deed-impact{font-size:.86rem;line-height:1.35}.map-canvas{min-height:300px}}.map-canvas{padding:0;display:block}.map-canvas .map-point{width:clamp(72px,18vw,132px);min-height:0;padding:9px 10px;position:absolute;transform:translate(-50%,-50%)!important}.map-canvas .map-point strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.78rem;line-height:1.2;display:-webkit-box;overflow:hidden}.map-canvas .map-point span{text-overflow:ellipsis;white-space:nowrap;font-size:.62rem;line-height:1.1;overflow:hidden}.map-canvas .map-empty{position:absolute;inset:auto 20px 20px}.form-grid,.form-grid-three,.profile-edit-panel .form-grid,.profile-inline-edit-panel .form-grid,.drafts-inline-edit-panel .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid .field-control,.form-grid-three .field-control,.profile-edit-panel .form-grid .field-control,.profile-inline-edit-panel .form-grid .field-control,.drafts-inline-edit-panel .form-grid .field-control{height:44px;min-height:44px;padding-inline:12px}.form-grid .field-textarea,.form-grid-three .field-textarea,.profile-edit-panel .form-grid .field-textarea,.profile-inline-edit-panel .form-grid .field-textarea,.drafts-inline-edit-panel .form-grid .field-textarea{height:auto;min-height:120px;padding-block:12px}.add-announcement-panel,.profile-edit-form{gap:14px}.add-announcement-panel .section-heading-compact,.profile-edit-form .section-heading-compact{margin-bottom:0}.add-announcement-panel>.field,.profile-edit-form>.field{gap:6px}.add-announcement-panel>.field .field-control,.profile-edit-form>.field .field-control{height:44px;min-height:44px;padding-inline:12px}.add-announcement-panel>.field .field-textarea,.profile-edit-form>.field .field-textarea{height:auto;min-height:120px;padding-block:12px}@media (width<=640px){.profile-tabs{gap:6px}.profile-tabs .chip{min-height:36px;padding-inline:10px;font-size:.84rem}.form-grid,.form-grid-three,.profile-edit-panel .form-grid,.profile-inline-edit-panel .form-grid,.drafts-inline-edit-panel .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.form-grid .field,.form-grid-three .field,.profile-edit-panel .form-grid .field,.profile-inline-edit-panel .form-grid .field,.drafts-inline-edit-panel .form-grid .field{gap:5px}.add-announcement-panel,.profile-edit-form{gap:12px}.add-announcement-panel>.field .field-control,.profile-edit-form>.field .field-control{height:42px;min-height:42px;padding-inline:10px;font-size:.9rem}.form-grid .field-label,.form-grid-three .field-label,.profile-edit-panel .form-grid .field-label,.profile-inline-edit-panel .form-grid .field-label,.drafts-inline-edit-panel .form-grid .field-label{font-size:.8rem}.form-grid .field-control,.form-grid-three .field-control,.profile-edit-panel .form-grid .field-control,.profile-inline-edit-panel .form-grid .field-control,.drafts-inline-edit-panel .form-grid .field-control{height:42px;min-height:42px;padding-inline:10px;font-size:.9rem}}.primary-action,.secondary-action,.danger-action,.auth-button,.chip,.notification-close,.notification-clear,.scroll-top-button{border:2px solid var(--accent-strong);color:var(--ink);background:0 0;transition:transform .2s cubic-bezier(.16,1,.3,1),background-color .2s cubic-bezier(.16,1,.3,1),border-color .2s cubic-bezier(.16,1,.3,1),color .2s cubic-bezier(.16,1,.3,1)}.hero-panel .auth-button,.hero-panel .theme-toggle,.hero-panel .notification-button{border-color:var(--accent-strong)}.hero-panel .auth-button{color:#edf5f7}.hero-panel .theme-toggle,.hero-panel .notification-button{transition:transform .2s cubic-bezier(.16,1,.3,1),background-color .2s cubic-bezier(.16,1,.3,1),border-color .2s cubic-bezier(.16,1,.3,1),color .2s cubic-bezier(.16,1,.3,1)}.primary-action:hover:not(:disabled),.secondary-action:hover:not(:disabled),.danger-action:hover:not(:disabled),.auth-button:hover:not(:disabled),.chip:hover:not(:disabled),.notification-close:hover:not(:disabled),.notification-clear:hover:not(:disabled),.scroll-top-button:hover:not(:disabled),.theme-toggle:hover:not(:disabled),.notification-button:hover:not(:disabled){border-color:var(--accent-strong);background:var(--accent-strong);color:snow;transform:translateY(-1px)}.primary-action:active:not(:disabled),.secondary-action:active:not(:disabled),.danger-action:active:not(:disabled),.auth-button:active:not(:disabled),.chip:active:not(:disabled),.notification-close:active:not(:disabled),.notification-clear:active:not(:disabled),.scroll-top-button:active:not(:disabled),.theme-toggle:active:not(:disabled),.notification-button:active:not(:disabled){transform:translateY(1px)}.primary-action:after,.secondary-action:after,.danger-action:after,.auth-button:after{content:none;margin-left:0;transition:transform .2s cubic-bezier(.16,1,.3,1)}.primary-action:hover:not(:disabled):after,.secondary-action:hover:not(:disabled):after,.danger-action:hover:not(:disabled):after,.auth-button:hover:not(:disabled):after{transform:translate(4px)}.chip-active{border-color:var(--accent-strong);background:var(--accent-strong);color:snow}
