/* Material 3: semantic color roles, compact-first layout and 48px touch targets.
   600px: medium, 840px: expanded, 1200px: large. No external fonts or UI runtime. */
:root {
  --md-primary:#3858b8; --md-on-primary:#fff; --md-primary-container:#dfe6ff;
  --md-on-primary-container:#10275d; --md-secondary-container:#e6e9f4;
  --md-on-secondary-container:#303d59; --md-tertiary-container:#d5eddf;
  --md-surface:#f9f9ff; --md-surface-low:#f1f3fb; --md-surface-high:#e9ecf6;
  --md-surface-lowest:#fff; --md-on-surface:#1c2538; --md-on-surface-variant:#505b70;
  --md-outline:#758097; --md-outline-variant:#d7dce8;
  --blue:var(--md-primary); --navy:var(--md-on-surface); --muted:var(--md-on-surface-variant);
  --line:var(--md-outline-variant);
}
body {background:var(--md-surface);color:var(--md-on-surface);font-size:16px;line-height:1.5}
.ui-icon {display:inline-block;width:24px;height:24px;flex:0 0 24px;vertical-align:middle}
.btn {min-height:48px;border-radius:999px;font-size:14px;line-height:20px;padding:12px 24px;gap:10px;box-shadow:none;transition:background .18s,box-shadow .18s}
.btn:hover {transform:none;box-shadow:none}.btn.primary:hover {background:#2b469b}.btn:active {transform:none}
.btn.primary {background:var(--md-primary);color:var(--md-on-primary)}
.btn.tonal {background:var(--md-primary-container);color:var(--md-on-primary-container)}
.btn.tonal:hover {background:#d0dbff}.btn.outline {border-color:var(--md-outline-variant);background:transparent;color:var(--md-primary)}
.site-header {height:72px;min-height:72px;padding:0 16px;gap:12px;background:var(--md-surface);border-bottom:0;z-index:1200}
.site-header .brand {font-size:25px;letter-spacing:-1.1px;white-space:nowrap;line-height:1}
.brandmark {display:grid;place-items:center;width:36px;height:40px;border-radius:13px;background:var(--md-primary-container);margin-right:8px;color:var(--md-primary)}
.brandmark .ui-icon {width:22px;height:22px}.site-header .header-actions {gap:0;flex-wrap:nowrap}
.site-header .header-actions>.btn {min-height:48px;padding:12px 14px;font-size:14px;border:0;background:var(--md-surface-high)}
.site-header .header-actions>.btn .ui-icon {width:20px;height:20px;flex-basis:20px}
.account-menu {position:relative;border:0;padding:0}.account-menu>summary {display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border-radius:24px;background:var(--md-surface-high);padding:12px 16px;font-size:14px;list-style:none}
.account-menu>summary:after {display:none}.account-menu>summary::-webkit-details-marker {display:none}
.account-menu-panel {position:absolute;right:0;top:calc(100% + 8px);width:min(280px,calc(100vw - 32px));padding:8px;background:var(--md-surface-low);border:1px solid var(--md-outline-variant);border-radius:20px;box-shadow:0 8px 24px #1c253826}
.account-menu-panel p {font-size:12px;color:var(--muted);margin:8px 12px;overflow-wrap:anywhere}
.account-menu-panel a,.account-menu-panel button {display:flex;align-items:center;width:100%;min-height:48px;padding:12px;font-size:14px;border:0;border-radius:12px;background:transparent;text-align:left}
.account-menu-panel a:hover,.account-menu-panel button:hover {background:var(--md-primary-container)}
.account-menu-panel form {margin:0}
:where(a,button,input,select,summary):focus-visible {outline:3px solid var(--md-primary);outline-offset:3px}
/* Compact: one content pane, concise hero, actions on the same visual level. */
.home-screen .wrap {width:calc(100% - 32px);max-width:1240px}
.home-screen .home-intro {display:block;padding:24px 0 28px;margin:0 auto;background:transparent}
.home-screen .home-intro-copy {min-width:0;max-width:650px}
.home-screen .home-context {display:flex;align-items:center;gap:7px;margin:0 0 14px;color:var(--md-primary);font-size:12px;line-height:20px;font-weight:600;letter-spacing:.2px}
.home-screen .home-context .ui-icon {width:18px;height:18px;flex-basis:18px}.home-screen .home-context span {font-size:10px;letter-spacing:.5px}
.home-screen .home-intro h1 {display:flex;flex-wrap:wrap;column-gap:.24em;row-gap:0;font-size:32px;line-height:38px;letter-spacing:-1px;font-weight:700;margin:0 0 14px}
.home-screen .home-intro h1 span {display:inline;color:inherit;white-space:nowrap}
.home-screen .home-intro h1 span:last-child {color:var(--md-primary)}
.home-screen .home-intro-copy>p:not(.home-context):not(.home-reassurance) {font-size:15px;line-height:24px;color:var(--md-on-surface-variant);margin:0;max-width:460px}
.home-screen .desktop-break {display:none}
.home-screen .home-actions {display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px;padding:0;margin:22px 0 14px;border:0;border-radius:0;background:transparent;box-shadow:none;width:auto}
.home-screen .home-actions .btn {flex:1 1 auto;font-size:14px;padding:14px 16px;min-height:52px;white-space:nowrap;justify-content:center}
.home-screen .home-actions .btn .ui-icon {width:20px;height:20px;flex-basis:20px}
.home-screen .home-reassurance {font-size:12px;line-height:20px;color:var(--md-on-surface-variant);margin:0}
.home-screen .home-reassurance a {color:var(--md-primary);display:inline-block;text-decoration:underline;text-underline-offset:3px;margin-left:5px;padding:4px 0}
.home-screen .home-explorer {padding:24px 0 40px;border:0;border-top:1px solid var(--md-outline-variant);border-radius:0;background:transparent}
.home-screen .place-heading {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin:0 0 20px;min-width:0}
.home-screen .place-heading>div:first-child {min-width:0;flex:1 1 160px}
.home-screen .home-eyebrow {font-size:10px;line-height:16px;font-weight:700;letter-spacing:1.4px;color:var(--muted);margin:0 0 4px}
.home-screen .place-heading h2 {font-size:24px;line-height:32px;font-weight:600;letter-spacing:-.6px;overflow-wrap:anywhere;margin:0}
.home-screen .view-switch {display:inline-flex;align-self:center;flex:0 0 auto;gap:0;padding:0;border:1px solid var(--md-outline);border-radius:999px;background:transparent;overflow:hidden}
.home-screen .view-switch[hidden] {display:none}
.home-screen .view-switch button {display:flex;align-items:center;justify-content:center;gap:6px;min-width:72px;min-height:48px;padding:10px 12px;border:0;border-radius:0;color:var(--md-on-surface);background:transparent;font-size:13px;font-weight:600}
.home-screen .view-switch button+button {border-left:1px solid var(--md-outline)}
.home-screen .view-switch button[aria-pressed=true] {background:var(--md-primary-container);color:var(--md-on-primary-container);box-shadow:none}
.home-screen .view-switch .ui-icon {width:18px;height:18px;flex-basis:18px}
.home-screen .discovery-search {display:flex;align-items:flex-start;gap:8px;margin:0 0 32px;min-width:0;position:relative;z-index:1001}
#homeSearchControls {min-width:0;flex:1}#homeLocationControl {flex:0 0 auto}
.home-screen .map-search-control {width:100%;max-width:none;flex:none;position:relative;background:var(--md-surface-high);border:0;border-radius:16px;overflow:visible;box-shadow:none;margin:0}
.home-screen .map-search-form {padding:4px;gap:0;border-radius:16px;background:transparent;margin:0}
.home-screen .map-search-form input {font-size:16px;line-height:24px;min-height:48px;margin:0;padding:12px 4px 12px 16px;border:0;background:transparent;border-radius:24px;min-width:0;width:100%;max-width:100%}
.home-screen .map-search-form button {display:flex;align-items:center;justify-content:center;width:48px;min-width:48px;height:48px;min-height:48px;padding:12px;border-radius:50%;background:transparent;color:var(--md-primary);font-size:20px}
.home-screen .map-search-form button:hover {background:var(--md-primary-container)}
.home-screen .map-search-results {position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:1100;max-height:280px;overflow:auto;background:var(--md-surface-lowest);border:1px solid var(--md-outline-variant);border-radius:20px;box-shadow:0 8px 24px #1c25381f}
.home-screen .map-place-result {min-height:56px;background:transparent;padding:14px 16px;font-size:14px;border-bottom-color:var(--md-outline-variant);line-height:22px}
.home-screen .map-place-result:hover {background:var(--md-primary-container)}
.home-screen .map-search-status {font-size:12px;line-height:18px;padding:0;margin:0;color:var(--muted);background:transparent;position:absolute;top:calc(100% + 5px);left:16px;right:0}
.home-screen #homeLocationControl button {display:flex;align-items:center;justify-content:center;gap:8px;width:56px;min-width:56px;height:56px;border:1px solid var(--md-outline-variant);background:var(--md-surface-lowest);border-radius:50%;color:var(--md-primary);padding:16px;font-size:14px;font-weight:600}
.home-screen #homeLocationControl button .control-label {display:none}
.home-screen .discovery-workspace {display:block;position:relative;min-width:0}
.home-screen .map-panel {position:relative;min-width:0;background:transparent;border-radius:0;padding:0;margin:0 0 20px}
.home-screen .home-explorer.has-view-switch:not(.show-map) .map-panel:not(.map-expanded) {position:absolute;top:0;left:0;right:0;visibility:hidden;pointer-events:none}
.home-screen .home-explorer.has-view-switch.show-map .feed-panel {display:none}
.home-screen .home-explorer .map-panel>.map-wrap {display:block;position:relative;visibility:visible;pointer-events:auto;border-radius:16px;overflow:hidden;left:auto;right:auto}
.home-screen .home-explorer #map {height:380px;height:clamp(320px,54svh,520px);background:#e5e9e5}
.home-screen .map-toolbar {display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px;border:0;background:transparent;padding:0 0 12px;margin:0}
.home-screen .map-toolbar .leaflet-control-zoom {display:flex;order:0;border:0;border-radius:12px;background:var(--md-surface-low);box-shadow:none;overflow:hidden}
.home-screen .map-toolbar .leaflet-control-zoom a {width:48px!important;height:48px!important;line-height:48px!important;border:0;font-size:22px;color:var(--md-primary)}
.home-screen .map-toolbar .map-navigation {display:flex;order:1;background:transparent;border:0!important;box-shadow:none!important;gap:8px;overflow:visible;margin-left:auto}
.home-screen .map-toolbar .map-navigation button {display:flex;align-items:center;justify-content:center;min-width:48px;width:48px;height:48px;padding:12px;border:0;border-radius:12px;background:var(--md-surface-low);color:var(--md-primary);gap:8px}
.home-screen .map-navigation .control-label {display:none}
.home-screen .map-view-options {display:block;order:2;padding:0;margin:0;background:transparent;border:0;border-radius:24px}
.home-screen .map-view-options>summary {display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px 16px;font-size:12px;line-height:20px;border-radius:12px;background:var(--md-surface-low);gap:6px}
.home-screen .map-view-options>summary:after {font-size:18px}.home-screen .map-view-options[open] {flex-basis:100%}
.home-screen .map-view-options .leaflet-control-layers {padding:8px!important;background:transparent;box-shadow:none!important;border:0!important}
.home-screen .leaflet-control-layers label {min-height:48px;font-size:13px}.home-screen .leaflet-control-layers input {width:20px;height:20px;accent-color:var(--md-primary)}
.home-screen .map-panel>.map-key {display:flex;position:static;max-width:none;flex-wrap:wrap;gap:8px 14px;font-size:11px;line-height:16px;background:transparent;margin:14px 4px 0;padding:0;box-shadow:none}
.home-screen .map-key>span {display:flex;align-items:center;gap:5px}.home-screen .dot {display:inline-block;border-radius:50%;width:8px;height:8px;flex:0 0 8px}
.home-screen .map-location-help {font-size:11px;line-height:18px;margin:12px 4px 2px;color:var(--muted)}
.home-screen .feed-panel {min-width:0}
.home-screen .feed-heading {display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:0 0 16px}
.home-screen .feed-heading h2 {font-size:18px;line-height:24px;font-weight:600;letter-spacing:-.3px;margin:0;min-width:0}
.home-screen .feed-heading>span {font-size:12px;line-height:20px;color:var(--muted);flex-shrink:0;padding:0;white-space:normal}
.home-screen .feed-controls {display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 16px;padding:0;border:0;min-width:0}
.home-screen .type-filters {display:flex;flex:1 1 auto;flex-wrap:nowrap;gap:4px;padding:0;margin:0;background:transparent;border-radius:0;min-width:0}
.home-screen .type-filters button {flex:0 1 auto;display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 14px;font-size:13px;line-height:20px;font-weight:600;color:var(--md-on-surface-variant);border:1px solid var(--md-outline-variant);border-radius:14px;background:transparent;white-space:nowrap}
.home-screen .type-filters button.active {background:var(--md-secondary-container);border-color:transparent;color:var(--md-on-secondary-container);box-shadow:none}
.home-screen .status-select {display:block;margin:0;font-size:13px;flex:0 1 130px;min-width:112px}
.home-screen .status-select select {display:block;min-height:48px;height:48px;margin:0;padding:10px 22px 10px 12px;max-width:100%;width:100%;background:transparent;border:1px solid var(--md-outline-variant);border-radius:14px;color:var(--md-on-surface-variant);font-size:13px}
.home-screen .reset-filters {min-height:48px;margin:0;padding:10px;border:0;background:transparent;color:var(--md-primary);font-size:13px;text-decoration:none}
.home-screen .reset-filters[hidden] {display:none}
.home-screen .ticket-grid {display:flex;flex-direction:column;gap:12px;padding:0}
.home-screen .ticket-row,.home-screen .ticket-row:hover {display:flex;flex-wrap:wrap;align-items:flex-start;gap:0;border:1px solid var(--md-outline-variant)!important;border-left:5px solid var(--ticket-color,var(--md-outline-variant))!important;border-radius:16px!important;padding:20px!important;background:var(--md-surface-lowest)!important;box-shadow:none;transform:none;overflow:hidden}
.home-screen .ticket-row:hover {border-color:#aebad2!important;border-left-color:var(--ticket-color,var(--md-outline-variant))!important;box-shadow:0 3px 12px #1c253808}
.home-screen .ticket-row .ticket-content {flex:1 1 100%;min-width:0;width:100%;padding:0}
.home-screen .ticket-photo {flex:1 1 100%;width:100%;height:160px;border-radius:12px;margin:0 0 16px;background:var(--md-surface-low)}
.home-screen .ticket-heading {display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;margin:0 0 8px;line-height:18px}
.home-screen .category-label {font-size:11px;line-height:18px;font-weight:600;letter-spacing:0;color:var(--md-primary);background:var(--md-primary-container);padding:3px 8px;border-radius:6px}
.home-screen .idea-ticket .category-label {background:#ede4fa;color:#64507b}
.home-screen .ticket-location {width:100%;font-size:11px;line-height:18px;color:var(--muted);overflow-wrap:anywhere}
.home-screen .ticket-title {font-family:inherit;font-size:20px;line-height:26px;letter-spacing:-.3px;font-weight:650;margin:0 0 10px;overflow-wrap:anywhere;min-height:26px}
.home-screen .ticket-title:hover {color:var(--md-primary)}
.home-screen .ticket-status {display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;line-height:20px}
.home-screen .ticket-status .status {font-size:12px;line-height:18px;padding:4px 8px;border-radius:7px;background:var(--md-surface-low);white-space:normal;font-weight:600}
.home-screen .status-age {font-size:11px;line-height:18px;color:var(--muted)}
.home-screen .ticket-excerpt {display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:14px;line-height:22px;color:var(--md-on-surface-variant);margin:12px 0 8px;max-width:100%}
.home-screen .ticket-social {display:flex;align-items:center;gap:12px;min-height:48px}
.home-screen .comment-count {display:inline-flex;align-items:center;min-height:48px;font-size:12px;color:var(--muted);padding:8px 0}
.home-screen .vote-wrap {margin:0 0 0 auto!important;padding:0;align-self:flex-end;flex:0 0 auto}
.home-screen .vote {display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:6px;min-height:48px;width:auto;padding:10px 14px;border:1px solid var(--md-outline-variant)!important;border-radius:24px;background:transparent;color:var(--md-on-surface-variant)}
.home-screen .vote:hover,.home-screen .vote.voted {background:var(--md-primary-container);color:var(--md-on-primary-container)}
.home-screen .vote strong {font-size:14px;line-height:20px}.home-screen .vote>span:first-child {font-size:18px;line-height:20px}.home-screen .vote>span:last-child {flex-basis:auto;font-size:12px;line-height:20px}
.home-screen .home-empty {background:var(--md-surface-low);border:1px dashed #b6c0d3;border-radius:20px;padding:32px 24px;text-align:left;color:var(--muted)}
.home-screen .home-empty h3 {font-size:22px;line-height:28px;letter-spacing:-.3px;margin:0 0 8px}.home-screen .home-empty p {font-size:14px;margin:0 0 16px}
.home-screen .home-empty a {display:inline-flex;align-items:center;min-height:48px;margin:0 16px 0 0;color:var(--md-primary);font-size:14px;text-decoration:underline}
.home-screen .home-explorer>.map-note {font-size:12px;line-height:20px;max-width:760px;margin:28px 0 0;padding:0;color:var(--muted)}
.home-screen .load-more {align-self:center;margin:12px 0}
.home-screen .map-panel.map-expanded {background:var(--md-surface);position:fixed!important;inset:8px!important;visibility:visible!important;pointer-events:auto!important;z-index:2000!important;margin:0!important;border-radius:24px!important;padding:12px;width:auto!important;display:flex;flex-direction:column;max-height:none;overflow:auto}
.home-screen .map-panel.map-expanded .map-wrap {display:block;flex:1;min-height:140px;height:auto}
.home-screen .map-panel.map-expanded #map {height:100%!important;min-height:140px}.home-screen .map-panel.map-expanded .map-toolbar {flex:0 0 auto}
footer.site-footer {padding:32px 0 20px;background:var(--md-surface-low);border:0;color:var(--md-on-surface)}
.site-footer .footer-grid {grid-template-columns:1fr 1fr;gap:24px 16px}.site-footer .footer-identity {grid-column:1/-1}
.site-footer .footer-column a {min-height:44px;display:flex;align-items:center;padding:8px 0;font-size:13px}
.site-footer .footer-column {gap:0}.site-footer .footer-column h2 {font-size:10px;margin:0 0 8px;line-height:16px}
.site-footer .footer-identity p {font-size:12px;line-height:20px;margin:8px 0}.site-footer .footer-identity .footer-claim {font-size:16px;max-width:none}
.site-footer .footer-bottom {flex-direction:column;align-items:flex-start;gap:8px;margin-top:24px;padding-top:16px}
.site-footer .footer-bottom nav {display:flex;gap:20px}.site-footer .footer-bottom nav a {min-height:44px;display:flex;align-items:center}
@media(min-width:600px) {
  .site-header {padding:0 32px;height:80px}.home-screen .wrap {width:calc(100% - 64px)}
  .home-screen .home-intro {padding:28px 0}.home-screen .home-intro h1 {font-size:40px;line-height:48px;letter-spacing:-1.4px}
  .home-screen .home-intro-copy>p:not(.home-context):not(.home-reassurance) {font-size:16px;line-height:26px}
  .home-screen .home-actions {flex-wrap:nowrap;max-width:440px}.home-screen .home-actions .btn {padding:16px 24px;min-height:56px;font-size:15px}
  .home-screen .place-heading h2 {font-size:28px;line-height:36px}.home-screen .view-switch button {padding:10px 20px;min-width:96px}
  .home-screen #homeLocationControl button {border-radius:28px;width:auto;padding:16px 24px}.home-screen #homeLocationControl button .control-label {display:inline}
  .home-screen .status-select {flex-basis:150px}.home-screen .type-filters button {padding:10px 18px}
  .home-screen .map-toolbar .map-navigation .control-label {display:none}
}
@media(min-width:840px) {
  .home-screen .home-intro {display:block;padding:28px 0}
  .home-screen .home-intro-copy {display:block;max-width:none}
  .home-screen .home-intro-copy>p:not(.home-context):not(.home-reassurance) {font-size:16px;line-height:26px;max-width:640px}
  .home-screen .home-actions {margin:20px 0 10px;max-width:none;width:fit-content;gap:12px}
  .home-screen .home-actions .btn {flex:0 0 auto;min-height:48px;padding:12px 24px;font-size:14px}
  .home-screen .home-reassurance {margin-top:0}
  .home-screen .home-intro h1 {font-size:42px;line-height:50px;letter-spacing:-1.6px}.home-screen .desktop-break {display:block}
  .home-screen .home-explorer {padding-top:28px}.home-screen .view-switch {display:none}
  .home-screen .discovery-search {max-width:760px;margin-bottom:32px}
  .home-screen .discovery-workspace {display:block}
  .home-screen .home-explorer.has-view-switch:not(.show-map) .map-panel:not(.map-expanded) {position:relative;top:auto;left:auto;right:auto;visibility:visible;pointer-events:auto}
  .home-screen .map-panel {position:relative;top:auto;margin:0 0 32px;min-width:0}
  .home-screen .home-explorer.has-view-switch.show-map .feed-panel {display:block}
  .home-screen .home-explorer #map {height:clamp(380px,58vh,640px)}
  .home-screen .map-panel>.map-key {font-size:11px;gap:8px 12px}
  .home-screen .ticket-row,.home-screen .ticket-row:hover {padding:22px!important}
  .home-screen .feed-heading h2 {font-size:20px;line-height:28px}
  .site-footer .footer-grid {grid-template-columns:1.5fr 1fr 1fr 1fr;gap:32px}.site-footer .footer-identity {grid-column:auto}
  .site-footer .footer-bottom {flex-direction:row;align-items:center;justify-content:space-between}
}
@media(min-width:1200px) {
  .site-header {padding:0 max(48px,calc((100% - 1240px)/2))}
  .home-screen .wrap {width:calc(100% - 96px)}.home-screen .home-intro {padding:28px 0}
  .home-screen .home-intro h1 {font-size:44px;line-height:52px;letter-spacing:-1.6px}
  .home-screen .map-panel {margin-bottom:40px}
  .home-screen .map-toolbar .map-navigation button {width:auto;padding:12px 16px;border-radius:12px}.home-screen .map-toolbar .map-navigation button .control-label {display:inline;font-size:12px}
}
@media(prefers-reduced-motion:reduce) {html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
.home-screen .home-explorer.has-view-switch:not(.show-map) .map-panel:not(.map-expanded) .map-wrap {visibility:hidden}
.dot.submitted{background:#7353b7}.dot.discussion{background:#447ccb}.dot.review{background:#ae801e}.dot.planned{background:#376c98}.dot.implemented{background:#258265}.dot.not_feasible{background:#855f6e}
@media(min-width:840px){.home-screen .home-explorer.has-view-switch:not(.show-map) .map-panel:not(.map-expanded) .map-wrap{visibility:visible}}
.site-header .brandmark{display:grid}
.home-screen .ticket-social{max-width:calc(100% - 150px)}
.home-screen .vote-wrap{margin:-48px 0 0 auto!important}
@media(max-width:359px){
 .home-screen .home-intro h1{font-size:32px;line-height:36px}
 .home-screen .home-actions .btn{flex-basis:100%}
 .home-screen .place-heading>div:first-child{flex-basis:100%}
 .home-screen .status-select{flex-basis:100%;width:100%}
 .home-screen .map-toolbar{justify-content:flex-start}
 .home-screen .map-view-options{flex-basis:100%}
 .home-screen .map-view-options>summary{justify-content:space-between}
 .home-screen .ticket-row,.home-screen .ticket-row:hover{padding:16px!important}
}
/* Shared forms keep the same legible type and comfortable input sizing. */
.form-stack input:not([type=checkbox]):not([type=radio]),.form-stack select{min-height:56px;font-size:16px;border-radius:12px;border-color:var(--md-outline)}
.form-stack textarea{font-size:16px;line-height:24px;border-radius:12px;padding:16px;border-color:var(--md-outline)}
.form-stack label{font-size:14px;line-height:20px}.form-stack .btn{min-height:48px}
.site-footer .wrap{width:calc(100% - 32px);max-width:1240px}
@media(min-width:600px){.site-footer .wrap{width:calc(100% - 64px)}}
@media(min-width:1200px){.site-footer .wrap{width:calc(100% - 96px)}}
@media(max-width:359px){
 .site-header .brand{font-size:22px}
 .site-header .brandmark{width:32px;height:36px;margin-right:6px}
 .site-header .header-actions>.btn .ui-icon,.account-menu>summary>span{display:none}
 .account-menu>summary{width:48px;padding:12px}
}

/* Expanded screens: full-width map followed by easily scanned report rows. */
@media(min-width:840px){
 .home-screen .ticket-row,.home-screen .ticket-row:hover{flex-wrap:nowrap;align-items:center;gap:24px}
 .home-screen .ticket-row .ticket-content{flex:1 1 0;width:auto}
 .home-screen .ticket-photo{flex:0 0 164px;width:164px;height:136px;margin:0}
 .home-screen .ticket-location{width:auto}
 .home-screen .ticket-social{max-width:none}
 .home-screen .vote-wrap{margin:0!important;align-self:center}
 .home-screen .ticket-excerpt{max-width:800px}
}

/* Open, centered introduction with illustrated everyday examples. */
.home-screen .home-intro {display:flex;flex-direction:column;gap:20px;align-items:center;padding:28px 0 32px;text-align:center}
.home-screen .home-intro-copy {max-width:none;width:100%}
.home-screen .home-context {justify-content:center}
.home-screen .home-intro h1 {display:block;max-width:none;margin:0 0 14px}
.home-screen .home-intro h1 span {display:inline;white-space:normal}
.home-screen .home-intro-copy>p:not(.home-context):not(.home-reassurance) {max-width:none;margin:0 auto}
.home-screen .home-actions {justify-content:center;margin:0 auto 8px;width:fit-content;max-width:100%}
.home-intro-bottom {width:100%}
.home-examples {width:100%;min-width:0}
.example-panels {overflow:hidden;touch-action:pan-y pinch-zoom}
.example-panel {animation:example-enter .65s ease both}
.example-panel[hidden],.example-options[hidden] {display:none}
.example-art {position:relative;padding-top:6px}
.example-art>svg {display:block;width:100%;height:auto;min-height:150px;max-height:290px;margin:0 auto;overflow:visible;mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent)}
.example-badge {display:block;font-size:11px;font-weight:600;letter-spacing:.3px;color:var(--md-on-surface-variant);margin-bottom:6px}
.example-copy {padding:14px 12px 4px}
.home-screen .example-copy h2 {font-size:24px;line-height:1.25;letter-spacing:-.5px;margin:0 0 6px}
.example-copy p {font-size:14px;line-height:22px;color:var(--md-on-surface-variant);margin:0;min-height:22px}
.example-options {display:flex;justify-content:center;align-items:center;gap:4px;flex-wrap:wrap;margin-top:4px}
.example-options button {display:grid;place-items:center;border:0;background:transparent;border-radius:50%;padding:0;width:36px;height:36px;cursor:pointer;color:var(--md-on-surface-variant)}
.example-dot {width:6px;height:6px;background:#bac2d9;border-radius:50%;transition:transform .2s,background .2s}
.example-options button[aria-pressed="true"] .example-dot {background:var(--md-primary);transform:scale(1.4)}
.example-options button:hover {background:#edf0fa}
.example-options button:focus-visible {outline:2px solid var(--md-primary);outline-offset:3px}
.example-playback svg {width:15px;height:15px;stroke:currentColor;stroke-width:2.5;fill:none;stroke-linecap:round;stroke-linejoin:round}
.example-play-icon {display:none}
.example-playback[aria-pressed="true"] .example-play-icon {display:block}
.example-playback[aria-pressed="true"] .example-pause-icon {display:none}
.example-pin {transform:translateY(74px);animation:example-pin-hop 5.5s linear infinite}
.home-examples[data-paused="true"] .example-pin {animation-play-state:paused}
@keyframes example-pin-hop {
 0% {transform:translateY(-110px);opacity:0;animation-timing-function:cubic-bezier(.4,0,1,1)}
 4% {opacity:1}
 20% {transform:translateY(74px);opacity:1;animation-timing-function:cubic-bezier(0,0,.3,1)}
 32% {transform:translateY(7px);animation-timing-function:cubic-bezier(.5,0,1,1)}
 44% {transform:translateY(74px);animation-timing-function:cubic-bezier(0,0,.3,1)}
 53% {transform:translateY(42px);animation-timing-function:cubic-bezier(.5,0,1,1)}
 62% {transform:translateY(74px);animation-timing-function:cubic-bezier(0,0,.3,1)}
 68% {transform:translateY(61px);animation-timing-function:cubic-bezier(.5,0,1,1)}
 74% {transform:translateY(74px);animation-timing-function:cubic-bezier(0,0,.3,1)}
 78% {transform:translateY(70px);animation-timing-function:cubic-bezier(.5,0,1,1)}
 82%,100% {transform:translateY(74px);opacity:1}
}
@keyframes example-enter {from {opacity:0;transform:translateX(28px)}to {opacity:1;transform:translateX(0)}}
@media(min-width:960px) {
 .home-screen .home-intro {padding:32px 0 36px;gap:16px}
 .home-screen .home-intro h1 {font-size:46px;line-height:1.15;letter-spacing:-1.6px}
}
@media(max-width:420px) {
 .home-screen .home-intro h1 {font-size:32px;line-height:1.18}
 .home-screen .home-actions {width:100%;gap:8px}
 .home-screen .home-actions .btn {flex:1 1 auto;padding:12px;font-size:13px}


}
@media(prefers-reduced-motion:reduce) {
 .example-panel,.example-pin {animation:none}
}
.home-browse {margin:22px 0 12px}
.home-browse a {display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;color:var(--md-primary);font-size:14px;font-weight:600;text-underline-offset:4px}
.home-browse .ui-icon {width:18px;height:18px}
.home-screen .place-heading h1 {font-size:28px;line-height:36px;letter-spacing:-.7px;margin:0}

/* The public header separates from content only when needed. */
.home-screen .site-header {position:sticky;top:0;background:var(--md-surface);border-bottom:1px solid transparent;box-shadow:none;transition:background-color .2s,border-color .2s}
.home-screen .site-header.is-scrolled,.explore-screen .site-header {background:rgba(249,249,255,.94);border-bottom-color:transparent}
@supports ((backdrop-filter:blur(12px)) or (-webkit-backdrop-filter:blur(12px))) {
 .home-screen .site-header.is-scrolled,.explore-screen .site-header {background:rgba(249,249,255,.84);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
}
.explore-screen .home-explorer {border-top:0}
@media(prefers-reduced-motion:reduce) {.home-screen .site-header {transition:none}}

/* Use the supplied wordmark at its original proportions. */
.brand .brand-logo {display:block;width:184px;height:auto;max-width:100%}
.site-header .brand {flex-shrink:0}
.footer-identity .brand-logo {width:172px}
@media(max-width:599px) {.site-header .brand-logo {width:158px}}
@media(max-width:359px) {.site-header .brand-logo {width:140px}}

.site-header {justify-content:flex-end}
