:root {
  color-scheme: light;
  --bg: #f7f6f2;
  --surface: #fff;
  --surface-soft: #f1f0eb;
  --surface-tint: #eaf1ed;
  --ink: #20221f;
  --muted: #6b6e68;
  --subtle: #92958f;
  --line: #dedfd9;
  --line-strong: #c9ccc5;
  --green: #234d40;
  --green-hover: #193d32;
  --green-soft: #e5efea;
  --logo-accent: #007cba;
  --action-bg: #234d40;
  --action-hover: #193d32;
  --hover: #e9e9e4;
  --floating-surface: rgba(255,255,255,.9);
  --backdrop: rgba(20,22,20,.3);
  --on-solid: #fff;
  --amber-soft: #f7eedc;
  --red: #9a3838;
  --red-soft: #fbefed;
  --shadow-sm: 0 1px 2px rgba(26, 31, 27, .05), 0 8px 24px rgba(26, 31, 27, .05);
  --shadow-md: 0 18px 48px rgba(26, 31, 27, .11);
  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-lg: 24px;
  --control: 44px;
  --sidebar: 260px;
  --sidebar-collapsed: 72px;
  --content: 820px;
  --page-content: 720px;
  --page-gutter: clamp(16px, 4vw, 32px);
  --font-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-serif: Georgia, "Iowan Old Style", "Times New Roman", serif;
  --font-logo: "Avenir Next", Avenir, var(--font-sans);
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --bg: #171a18;
  --surface: #202421;
  --surface-soft: #2a2f2b;
  --surface-tint: #25332d;
  --ink: #f0f1ed;
  --muted: #b5bab4;
  --subtle: #919890;
  --line: #363c37;
  --line-strong: #4a524b;
  --green: #79b09a;
  --green-hover: #82b8a1;
  --green-soft: #263b32;
  --action-bg: #376f5c;
  --action-hover: #407c67;
  --hover: #303531;
  --floating-surface: rgba(32,36,33,.92);
  --backdrop: rgba(0,0,0,.5);
  --on-solid: #fff;
  --amber-soft: #413621;
  --red: #ed9292;
  --red-soft: #462a29;
  --shadow-sm: 0 1px 2px rgba(0,0,0,.22), 0 8px 24px rgba(0,0,0,.18);
  --shadow-md: 0 18px 48px rgba(0,0,0,.38);
}

* { box-sizing: border-box; }
html { background: var(--bg); }
body { color: var(--ink); font-family: var(--font-sans); -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
img, svg, video { max-width: 100%; }
button, input, textarea { font: inherit; }
select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%236b706a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-position: right 11px center;
  background-repeat: no-repeat;
  background-size: 11px 7px;
}
button, a { touch-action: manipulation; }
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, summary:focus-visible {
  outline: 3px solid var(--green);
  outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}


html, body { width: 100%; min-height: 100%; }
body { min-height: 100vh; min-height: 100dvh; margin: 0; background: var(--surface); overflow: hidden; overscroll-behavior: none; }
svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
button { color: inherit; }
.sidebar { position: fixed; inset: 0 auto 0 0; z-index: 40; width: var(--sidebar); max-width: 100vw; display: flex; flex-direction: column; padding: max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom)); border-right: 1px solid var(--line); border-radius: 0 var(--radius-lg) var(--radius-lg) 0; background: var(--bg); }
.sidebar-header { min-height: 48px; display: flex; align-items: center; justify-content: space-between; padding: 0 7px 8px; }
.wordmark { color: var(--ink); font-family: var(--font-logo); font-size: 24px; letter-spacing: -.055em; text-decoration: none; user-select: none; -webkit-user-select: none; }
.wordmark span { color: var(--logo-accent); font-weight: 700; }
.icon-button, .tool-button, .send-button { width: 40px; height: 40px; display: inline-grid; place-items: center; padding: 0; border: 0; border-radius: 12px; background: transparent; cursor: pointer; }
.icon-button:hover, .tool-button:hover { background: var(--hover); }
.nav-close { display: none; }
.sidebar-toggle { flex: none; }
.sidebar-toggle .expand-icon { display: none; }
.nav-open { display: none; position: fixed; top: 10px; left: 12px; z-index: 35; background: var(--floating-surface); }
.new-chat, .settings-nav { width: 100%; min-height: 46px; display: flex; align-items: center; gap: 11px; padding: 10px 12px; border: 0; border-radius: 12px; background: transparent; color: var(--ink); font-size: 14px; font-weight: 600; text-decoration: none; cursor: pointer; }
.new-chat { margin-top: 4px; background: var(--surface); box-shadow: 0 1px 1px rgba(20,24,21,.04); }
.new-chat:hover, .settings-nav:hover { background: var(--hover); }
.project-navigation { padding: 0 12px 4px; }
.project-navigation-heading { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.project-navigation-heading #new-project { width: 28px; height: 28px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 7px; background: var(--surface); color: var(--ink); box-shadow: 0 1px 1px rgba(20,24,21,.04); font-size: 20px; line-height: 1; cursor: pointer; }.project-navigation-heading #new-project[hidden] { display: none; }
.project-navigation-heading button:hover { background: var(--hover); color: var(--ink); }
.project-navigation-heading #new-project:hover, .project-navigation-heading #new-project:focus-visible { background: var(--hover); color: var(--ink); }
.project-link { width: 100%; display: flex; align-items: center; gap: 9px; overflow: hidden; padding: 7px 9px; border: 0; border-radius: 9px; background: transparent; color: var(--muted); text-align: left; white-space: nowrap; cursor: pointer; }
.project-link:hover, .project-link.is-active { background: var(--hover); color: var(--ink); }
.project-folder-icon { width: 20px; height: 20px; flex: none; }
.project-link-label { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.project-nav-group + .project-nav-group { margin-top: 3px; }
.project-chat-row { margin-top: 5px; margin-left: 10px; width: calc(100% - 10px); }
.project-chat-row .history-chat { padding-left: 14px; font-size: 13px; }
.project-chat-row .history-chat::before { margin-right: 7px; color: var(--subtle); content: "↳"; }
.chat-history { min-height: 0; padding: 0 12px 4px; }
.sidebar-primary-section { min-width: 0; display: flex; flex-direction: column; }
.sidebar-section-toggle { min-width: 0; min-height: var(--sidebar-section-height); display: flex; align-items: center; gap: 6px; padding: 4px 2px; border: 0; border-radius: 7px; background: transparent; color: var(--muted); font: inherit; font-size: 12px; font-weight: 650; text-align: left; cursor: pointer; }
.project-navigation-heading .sidebar-section-toggle { width: auto; height: auto; flex: 1; justify-content: flex-start; font-size: 12px; }
.sidebar-section-toggle:hover, .sidebar-section-toggle:focus-visible { background: var(--hover); color: var(--ink); }
.sidebar-section-toggle span { min-width: 0; flex: 1; }
.sidebar-section-count { color: var(--muted); font-size: inherit; font-weight: 500; }.sidebar-section-toggle[aria-expanded="true"] .sidebar-section-count { display: none; }
.sidebar-section-list { padding-top: 5px; }
.sidebar-section-list[hidden] { display: none; }
.sidebar-search-toggle { margin-left: auto; }
.chat-search-panel { display: grid; gap: 8px; padding: 8px 0 12px; }
.chat-search-panel[hidden] { display: none; }
.chat-search-panel > input { width: 100%; min-width: 0; min-height: 40px; padding: 9px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); color: var(--ink); font-size: 14px; }
.chat-search-panel > select { width: 100%; min-width: 0; min-height: 40px; padding: 9px 32px 9px 12px; border: 1px solid var(--line); border-radius: 10px; background-color: var(--surface); color: var(--muted); font: inherit; font-size: 13px; }
.chat-search-panel > label { display: flex; align-items: center; gap: 8px; min-height: 32px; padding: 0 12px; color: var(--muted); font-size: 13px; cursor: pointer; }
.chat-search-panel > label input { flex: none; width: 16px; height: 16px; margin: 0; accent-color: var(--green); }
.chat-search-results { max-height: 210px; overflow-y: auto; padding: 4px 0; }
.chat-search-result, .organized-chat-row { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 7px 8px; border: 0; border-radius: 8px; background: transparent; color: var(--ink); text-align: left; }
.chat-search-result { cursor: pointer; }
.chat-search-result:hover, .chat-search-result:focus-visible { background: var(--hover); }
.chat-search-result strong, .organized-chat-title { min-width: 0; flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.chat-search-result small { flex: none; color: var(--muted); }
.organized-chat-row button { border: 0; background: transparent; color: var(--muted); cursor: pointer; }
.organized-chat-restore { width: 30px; height: 30px; flex: none; display: grid; place-items: center; padding: 0; border-radius: 8px !important; }
.organized-chat-restore:hover, .organized-chat-restore:focus-visible { background: var(--hover); color: var(--ink); }
.organized-chat-restore svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.organized-chat-menu .history-menu-trigger { opacity: .72; }
.organized-chat-menu .history-menu { position: fixed; width: 190px; }
.chat-bubble-icon { width: 20px; height: 20px; flex: none; display: grid; place-items: center; color: var(--muted); }
.chat-bubble-icon svg { width: 20px; height: 20px; }
.chat-lifecycle-navigation { padding-bottom: 4px; }
.archived-projects { flex: none; padding: 0 0 4px; }
.archived-projects[hidden] { display: none; }
.archived-projects-toggle { width: 100%; min-height: var(--sidebar-section-height); display: flex; align-items: center; gap: 11px; padding: 6px 12px; border: 0; border-radius: 12px; background: transparent; color: var(--ink); font-family: inherit; font-size: 14px; font-weight: 600; line-height: normal; text-align: left; cursor: pointer; }
.archived-projects-toggle:hover { background: var(--hover); color: var(--ink); }
.archived-projects-toggle > span { min-width: 0; flex: 1; }
.archived-projects-toggle small { color: var(--muted); font-size: inherit; font-weight: 500; }
.archived-projects-toggle svg { width: 20px; height: 20px; flex: none; }
.archived-projects-toggle .archived-chevron { width: 15px; height: 15px; transition: transform .15s ease; }
.archived-projects-toggle[aria-expanded="true"] .archived-chevron { transform: rotate(90deg); }
.archived-project-list { padding: 3px 12px 2px 39px; }
.archived-project-list[hidden] { display: none; }
.history-label { margin: 0 0 9px; color: var(--subtle); font-size: 12px; font-weight: 650; }
.history-empty { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.45; }
.history-row { position: relative; width: 100%; display: flex; align-items: center; border-radius: 9px; color: var(--muted); }
.history-row:hover, .history-row:focus-within, .history-row.is-active { background: var(--hover); color: var(--ink); }
.history-chat { min-width: 0; flex: 1; display: flex; align-items: center; gap: 9px; overflow: hidden; padding: 8px 9px; border: 0; border-radius: 9px; background: transparent; color: inherit; text-align: left; white-space: nowrap; cursor: pointer; }
.history-chat-label { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.history-menu-wrap { position: relative; flex: none; }
.history-menu-trigger { width: 30px; height: 30px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 7px; background: transparent; color: inherit; cursor: pointer; opacity: 0; }
.history-row:hover .history-menu-trigger, .history-row:focus-within .history-menu-trigger, .history-menu-trigger[aria-expanded="true"] { opacity: .72; }
.history-menu-trigger:hover, .history-menu-trigger:focus-visible { background: var(--surface); color: var(--ink); opacity: 1; }
.history-menu-trigger svg { width: 17px; height: 17px; fill: currentColor; }
.history-menu { position: absolute; z-index: 10; top: calc(100% + 4px); right: 0; width: 146px; display: none; padding: 5px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); box-shadow: var(--shadow-md); }
.history-menu.is-open { display: grid; }
.history-menu-item { width: 100%; min-height: 38px; display: flex; align-items: center; gap: 10px; padding: 7px 9px; border: 0; border-radius: 8px; background: transparent; color: var(--ink); font: inherit; text-align: left; cursor: pointer; }
.history-menu-item:hover, .history-menu-item:focus-visible { background: var(--hover); }
.history-menu-item.is-destructive { color: var(--red); }
.history-menu-item svg { width: 18px; height: 18px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.collapsed-navigation { display: none; }
.settings-nav { border-top: 1px solid var(--line); border-radius: 0; }
.chat-shell { height: 100vh; height: 100dvh; min-height: 0; margin-left: var(--sidebar); display: grid; grid-template-rows: max(56px, env(safe-area-inset-top)) minmax(0, 1fr) auto; background: var(--surface); }
.chat-header { min-width: 0; display: flex; align-items: center; justify-content: center; gap: 4px; padding: max(10px, env(safe-area-inset-top)) 24px 0; color: var(--muted); font-size: 14px; font-weight: 600; }
.chat-header span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.model-select, .project-context-select { min-width: 0; min-height: var(--control); max-width: 240px; padding: 7px 34px 7px 34px; border: 1px solid var(--line); border-radius: 13px; appearance: none; background-color: var(--surface); background-position: left 10px center, right 11px center; background-repeat: no-repeat; background-size: 16px 16px, 11px 7px; color: var(--ink); }
.model-select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 3 1.7 5.3L19 10l-5.3 1.7L12 17l-1.7-5.3L5 10l5.3-1.7L12 3z' fill='none' stroke='%236b706a' stroke-width='1.7' stroke-linejoin='round'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%236b706a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.project-context-select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='7' cy='7' r='2.5' fill='none' stroke='%236b706a' stroke-width='1.7'/%3E%3Ccircle cx='17' cy='7' r='2.5' fill='none' stroke='%236b706a' stroke-width='1.7'/%3E%3Ccircle cx='12' cy='17' r='2.5' fill='none' stroke='%236b706a' stroke-width='1.7'/%3E%3Cpath d='m9 8.5 2 6M15 8.5l-2 6' fill='none' stroke='%236b706a' stroke-width='1.7'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%236b706a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.conversation { position: relative; min-height: 0; overflow: hidden; }
.empty-state { display: none; width: min(680px, calc(100% - (2 * var(--page-gutter)))); padding: 16px 0; text-align: center; }
.chat-is-empty { grid-template-rows: max(56px, env(safe-area-inset-top)) minmax(0, 1fr); }
.chat-is-empty .conversation { display: grid; grid-row: 2; grid-column: 1; place-items: center; overflow: visible; }
.chat-is-empty .empty-state { display: block; transform: translateY(clamp(-94px, -10vh, -58px)); }
.chat-is-empty .transcript { display: none; }
.chat-is-empty .composer { position: relative; top: clamp(30px, 5vh, 58px); grid-row: 2; grid-column: 1; align-self: center; }
h1 { margin: 0; font-size: clamp(28px, 4vw, 38px); font-weight: 600; letter-spacing: -.035em; }
.edit-persona-button { min-height: 38px; display: inline-flex; align-items: center; gap: 7px; padding: 6px 10px; border: 1px solid var(--line-strong); border-radius: 10px; background: var(--surface); color: var(--muted); cursor: pointer; white-space: nowrap; }
.edit-persona-button[hidden] { display: none; }
.edit-persona-button svg { width: 18px; height: 18px; }
.edit-persona-button:hover { background: var(--surface-soft); color: var(--ink); }
.edit-persona-button[aria-expanded="true"] { position: relative; z-index: 21; }
.transcript { height: 100%; overflow-y: auto; overscroll-behavior: contain; scroll-behavior: smooth; padding: 28px var(--page-gutter) 24px; }
.message-list { width: min(760px, 100%); margin: 0 auto; display: flex; flex-direction: column; gap: 22px; }
.message-row { max-width: min(78%, 620px); }
.message-row .message { margin: 0; padding: 11px 15px; border-radius: 19px; font-size: 15px; line-height: 1.5; white-space: pre-wrap; overflow-wrap: anywhere; }
.message-user { align-self: flex-end; }
.message-user .message { background: var(--surface-soft); }
.message-assistant { align-self: flex-start; }
.message-assistant .message { padding: 0; white-space: pre-wrap; }
.message-assistant .message > :first-child { margin-top: 0; }
.message-assistant .message > :last-child { margin-bottom: 0; }
.message-assistant .message p { margin: 0 0 1em; white-space: pre-wrap; }
.message-assistant .message ul, .message-assistant .message ol { margin: .65em 0 1em; padding-left: 1.5em; }
.message-assistant .message li + li { margin-top: .25em; }
.message-assistant .message h1, .message-assistant .message h2, .message-assistant .message h3 { margin: 1em 0 .45em; font-size: 1.08em; }
.message-assistant .message code { padding: .12em .32em; border-radius: 5px; background: var(--surface-soft); font-size: .9em; }
.message-assistant .message pre { max-width: 100%; margin: .75em 0 1em; padding: 12px; overflow-x: auto; border-radius: 10px; background: var(--surface-soft); white-space: pre; }
.message-assistant .message pre code { padding: 0; background: transparent; }
.message-assistant .message blockquote { margin: .75em 0 1em; padding-left: 12px; border-left: 3px solid var(--line-strong); color: var(--muted); white-space: pre-wrap; }.message-assistant .message .markdown-table { max-width: 100%; margin: .75em 0 1em; overflow-x: auto; }.message-assistant .message table { width: 100%; border-collapse: collapse; font-size: .95em; }.message-assistant .message th, .message-assistant .message td { padding: 8px 10px; border: 1px solid var(--line); vertical-align: top; }.message-assistant .message th { background: var(--surface-soft); font-weight: 650; }.message-assistant .message hr { margin: 1.25em 0; border: 0; border-top: 1px solid var(--line); }
.message-thinking { display: inline-flex; align-items: center; gap: 8px; color: var(--muted); }
.message-spinner { width: 14px; height: 14px; border: 2px solid var(--line-strong); border-top-color: var(--muted); border-radius: 50%; animation: message-spin .8s linear infinite; }
@keyframes message-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .message-spinner { animation: none; } }
.response-scroll-tail { flex: none; }
.response-jump { position: absolute; z-index: 8; bottom: 14px; left: 50%; width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--line-strong); border-radius: 50%; background: var(--ink); box-shadow: var(--shadow-md); color: var(--surface); cursor: pointer; transform: translateX(-50%); }
.response-jump[hidden] { display: none; }
.response-jump svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .15s ease; }
.response-jump.is-up svg { transform: rotate(180deg); }
.message-status { display: block; margin-top: 4px; color: var(--subtle); }
.retry-button { margin-top: 7px; padding: 6px 10px; border: 1px solid var(--line-strong); border-radius: 9px; background: var(--surface); cursor: pointer; }
.message-actions-menu { display: block; width: fit-content; pointer-events: none; }
.message-user .message-actions-menu { align-self: flex-end; }
.message-actions { display: flex; align-items: center; gap: 2px; min-height: 35px; opacity: 0; pointer-events: auto; transition: opacity .12s ease; }
.message-row:hover .message-actions, .message-row:focus-within .message-actions { opacity: 1; pointer-events: auto; }
.message-action-button { width: 30px; height: 30px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 8px; background: transparent; color: var(--muted); cursor: pointer; opacity: .72; }
.message-action-button:hover, .message-action-button:focus-visible { background: var(--hover); color: var(--ink); opacity: 1; }
.message-action-button svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
html.touch-actions .message-actions { pointer-events: none; }
html.touch-actions .message-row:hover .message-actions { opacity: 0; }
html.touch-actions .message-row.is-actions-open .message-actions, html.touch-actions .message-row:focus-within .message-actions { opacity: 1; pointer-events: auto; }
.message-user:has(.message-inline-editor) { width: min(78%, 620px); max-width: min(78%, 620px); }
.message-inline-editor { width: 100%; padding: 12px; border-radius: 19px; background: var(--hover); }
.message-inline-editor textarea { width: 100%; min-height: 92px; padding: 4px; border: 0; outline: 0; resize: vertical; background: transparent; color: var(--ink); font: inherit; line-height: 1.5; }
.message-inline-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 8px; }
.message-inline-actions button { padding: 8px 14px; border: 1px solid var(--line); border-radius: 999px; font: inherit; cursor: pointer; }
.message-inline-cancel { background: transparent; color: var(--ink); }
.message-inline-submit { border-color: var(--ink) !important; background: var(--ink); color: var(--surface); }
.branch-navigation { position: relative; display: flex; align-items: center; gap: 6px; margin-top: 6px; color: var(--muted); font-size: 12px; } .branch-announcement { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; } .branch-edit-warning { margin: 0 0 8px; color: var(--muted); font-size: 13px; }
.branch-navigation button { width: 25px; height: 25px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); color: var(--ink); cursor: pointer; }
.branch-navigation .branch-delete-button { margin-left: 3px; border: 0; color: var(--muted); }
.branch-delete-button svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.composer { width: min(760px, calc(100% - (2 * var(--page-gutter)))); margin: 0 auto; padding-bottom: max(12px, env(safe-area-inset-bottom)); transition: transform .28s ease; }
.composer-box { position: relative; padding: 13px 13px 10px; border: 1px solid var(--line-strong); border-radius: 24px; background: var(--surface); box-shadow: 0 8px 30px rgba(26,31,27,.08); transition: border-color .15s, box-shadow .15s; }
textarea { width: 100%; max-height: 200px; display: block; resize: none; overflow-y: auto; padding: 3px 7px 10px; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 16px; line-height: 1.5; }
.composer textarea:focus, .composer textarea:focus-visible { outline: 0; box-shadow: none; }
textarea::placeholder { color: #858983; }
.composer-attachments { display: flex; gap: 6px; overflow-x: auto; padding: 0 7px 9px; scrollbar-width: thin; }.composer-attachments:not(:has(.attachment-list:not([hidden]))) { display: none; }.attachment-list { display: contents; }.attachment-list[hidden] { display: none; }.attachment-chip { min-width: 0; max-width: 190px; flex: none; display: inline-flex; align-items: center; gap: 6px; padding: 6px 9px; border-radius: 9px; background: var(--surface-soft); color: var(--muted); font-size: 12px; white-space: nowrap; }.attachment-chip-icon { width: 16px; height: 16px; flex: none; color: var(--muted); }.attachment-chip-icon.is-pdf { color: #c33; }.attachment-chip-icon.is-image { color: #347a5d; }.attachment-chip-icon.is-audio { color: #7a4bb3; }.attachment-chip-icon.is-video { color: #b25b32; }.attachment-chip-icon.is-spreadsheet { color: #27734d; }.attachment-chip-icon.is-code { color: #39709f; }.attachment-chip-icon.is-archive { color: #936d26; }.attachment-chip-icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }.attachment-chip-label { min-width: 0; overflow: hidden; text-overflow: ellipsis; }.attachment-chip.is-unavailable { text-decoration: line-through; opacity: .65; }.attachment-chip-remove { flex: none; margin-left: 1px; padding: 0; border: 0; background: transparent; color: inherit; cursor: pointer; }
.skill-chip { border: 1px solid var(--line); }.skill-chip .attachment-chip-icon { color: var(--accent); }.skill-menu { position: absolute; z-index: 8; right: 10px; bottom: calc(100% - 8px); left: 10px; max-height: 230px; overflow: auto; padding: 6px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); box-shadow: 0 12px 30px rgb(0 0 0 / 16%); } .skill-menu[hidden] { display: none; }
.skill-menu button { display: grid; width: 100%; padding: 8px 10px; border: 0; border-radius: 8px; background: transparent; color: inherit; text-align: left; cursor: pointer; } .skill-menu button:hover, .skill-menu button:focus { background: var(--surface-soft); outline: none; } .skill-menu small { color: var(--muted); }
.skill-menu .skill-menu-browse { display: block; margin-top: 5px; padding-top: 10px; border-top: 1px solid var(--line); border-radius: 0 0 8px 8px; font-weight: 700; }
.message-skill-badges { display: flex; gap: 5px; margin: 0 0 5px; } .message-skill-badge { padding: 2px 7px; border-radius: 999px; background: var(--surface-soft); color: var(--muted); font-size: 11px; }
.skill-interaction { margin-top: 10px; padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface-soft); } .skill-interaction h3, .skill-interaction p { margin: 0 0 8px; } .skill-choice { display: block; width: 100%; margin-top: 7px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); color: inherit; text-align: left; cursor: pointer; } .skill-choice small { display: block; color: var(--muted); }
.skill-interaction textarea { box-sizing: border-box; width: 100%; margin-top: 8px; resize: vertical; } .skill-interaction-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 8px; }
.message-attachments { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 7px; }
.file-library-picker, .project-files-panel { display: grid; gap: 8px; }
.storage-usage { display: grid; gap: 8px; margin: 18px 0 10px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-soft); }
.storage-usage.is-warning { border-color: var(--red); }
.storage-usage-heading { display: flex; justify-content: space-between; gap: 12px; }
.storage-usage-heading span, .storage-usage p { color: var(--muted); font-size: 12px; }
.storage-usage p { margin: 0; }
.storage-usage-track { height: 7px; overflow: hidden; border-radius: 999px; background: var(--line); }
.storage-usage-fill { height: 100%; display: block; border-radius: inherit; background: var(--green); }
.storage-usage.is-warning .storage-usage-fill { background: var(--red); }
.project-files-panel[hidden] { display: none; }
.file-library-row, .project-file-row { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); color: var(--ink); text-align: left; cursor: pointer; }
.file-library-row small, .project-file-row small { color: var(--muted); }
.project-file-remove { padding: 6px 9px; border: 0; border-radius: 8px; background: transparent; color: var(--red); cursor: pointer; }
.project-files-actions { display: flex; justify-content: space-between; align-items: center; margin: 24px 0 10px; }
.library-navigation { padding: 0 12px 4px; }
.library-link { width: 100%; display: flex; align-items: center; gap: 9px; padding: 7px 9px; border: 0; border-radius: 9px; background: transparent; color: var(--muted); font: inherit; text-align: left; cursor: pointer; }
.library-link:hover, .library-link.is-active { background: var(--surface-soft); color: var(--ink); }
.library-link svg { width: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.file-home { min-height: 0; overflow-y: auto; padding: 24px var(--page-gutter) 40px; }
.file-home[hidden] { display: none; }
.file-home-active { grid-template-rows: max(56px, env(safe-area-inset-top)) minmax(0, 1fr); }
.file-home-active .conversation, .file-home-active > .composer, .file-home-active #project-home { display: none; }
.file-home-active .file-home { display: block; grid-row: 2; }
.file-home-panel { display: grid; gap: 10px; padding-top: 14px; }
.file-manager-controls { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 8px; }
.file-manager-search { min-width: min(280px, 100%); flex: 1; padding: 10px 12px; border: 1px solid var(--line-strong); border-radius: 11px; background: var(--surface); color: var(--ink); }
.file-manager-controls .is-selected { border-color: var(--ink); }
.file-manager-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; }
.file-manager-summary { min-width: 0; display: grid; gap: 3px; }
.file-manager-summary strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.file-manager-summary span { color: var(--muted); font-size: 12px; }
.file-manager-actions { align-self: start; display: flex; flex-wrap: wrap; align-items: flex-start; gap: 6px; }
.file-manager-actions .secondary-button { min-height: 36px; padding: 7px 10px; font-size: 12px; text-decoration: none; } .file-preview { grid-column: 1 / -1; } .file-preview p { margin: 8px 0 0; white-space: pre-wrap; overflow-wrap: anywhere; } .file-preview-image { display: block; max-width: 160px; max-height: 120px; margin-top: 8px; object-fit: contain; }
.file-scopes { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.file-scopes-label { color: var(--muted); font-size: 12px; font-weight: 700; }
.file-scope-chip { padding: 5px 8px; border-radius: 999px; background: var(--surface-soft); color: var(--muted); font-size: 12px; }
.file-scope-chip button { margin-left: 5px; border: 0; background: transparent; color: inherit; cursor: pointer; }
.file-scope-select { min-height: 32px; padding: 5px 8px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); color: var(--ink); }
.composer-tools { position: relative; display: flex; align-items: center; gap: 6px; }
.composer-middle { min-width: 0; flex: 1; display: flex; align-items: center; justify-content: center; gap: 8px; }
.composer-control-scroll { width: 100%; min-width: 0; display: flex; align-items: center; justify-content: safe center; gap: 8px; overflow-x: auto; overscroll-behavior-inline: contain; padding-inline: 4px; scrollbar-width: none; }.composer-control-scroll::-webkit-scrollbar { display: none; }
.composer-chat-controls, .composer-context-group { display: contents; }.composer-chat-controls > *, .composer-context-group > * { flex: none; }
@media (min-width: 821px) {
  .composer-chat-controls .model-select, .composer-chat-controls .project-context-select { flex: 0 1 auto; min-width: 0; max-width: 100%; }
}
.model-select { order: 1; }.edit-persona-button { order: 2; }.project-context-select { order: 3; }.context-inspector-trigger { order: 4; }
.compact-chat-controls { display: none; }
.compact-chat-label { display: none; }
.composer-chat-controls .model-select, .composer-chat-controls .project-context-select { min-height: 38px; padding-block: 5px; border-radius: 10px; }
.composer-chat-controls .model-select, .composer-chat-controls .project-context-select, .edit-persona-button { font-family: var(--font-sans); font-size: 14px; font-weight: 500; line-height: 1.2; }
.composer-chat-controls .model-select { width: 120px; }
.composer-chat-controls .project-context-select { width: 136px; }
.project-context-select[hidden] { display: none; }
.composer-actions { display: flex; align-items: center; gap: 3px; margin-left: auto; }
.tool-button { width: 38px; height: 38px; color: var(--muted); }
.clear-icon { display: none; } #composer[data-plan="free"]:not(.has-composer-text) #voice-clear { display: none; }
.has-composer-text .voice-icon { display: none; }
.has-composer-text .clear-icon { display: block; }
.send-button { width: 38px; height: 38px; border-radius: 50%; background: var(--ink); color: var(--surface); }
.send-button:disabled { background: var(--line-strong); color: var(--surface); cursor: default; }
.send-button.is-stopping svg { display: none; }
.send-button.is-stopping::after { width: 10px; height: 10px; border-radius: 2px; background: currentColor; content: ""; }
.composer-note { margin: 8px 0 0; color: var(--muted); font-size: 11px; text-align: center; }
.composer-note:empty { display: none; }
.composer-error { margin: 6px 0 0; color: var(--red); font-size: 12px; text-align: center; }
.collaborator-picker { position: absolute; z-index: 70; bottom: calc(100% + 12px); left: 50%; width: min(430px, calc(100vw - 48px)); max-height: min(570px, 70vh); display: flex; flex-direction: column; overflow: hidden; padding: 12px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); box-shadow: var(--shadow-md); transform: translateX(-50%); }
.chat-is-empty .collaborator-picker { position: fixed; top: 24px; bottom: auto; height: auto; max-height: calc(100dvh - 48px); }
.project-home-active .collaborator-picker { position: fixed; top: 24px; right: auto; bottom: auto; left: calc((100vw + var(--sidebar)) / 2); height: auto; max-height: calc(100dvh - 180px); transform: translateX(-50%); }
.collaborator-picker[hidden] { display: none; }
.collaborator-search { width: 100%; min-height: 44px; flex: none; padding: 9px 12px; border: 1px solid var(--line-strong); border-radius: 11px; background: var(--surface); color: var(--ink); font-size: 16px; }
.collaborator-results { min-height: 0; flex: 1 1 auto; overflow-y: auto; padding-top: 8px; overscroll-behavior: contain; scrollbar-gutter: stable; }
.collaborator-group { padding: 6px 0; }
.collaborator-group + .collaborator-group { border-top: 1px solid var(--line); }
.collaborator-group h3 { margin: 4px 8px 6px; color: var(--subtle); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
.collaborator-empty { margin: 5px 8px 10px; color: var(--muted); font-size: 13px; line-height: 1.45; }
.collaborator-row { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; padding-bottom: 5px; border-radius: 11px; }
.collaborator-row:hover, .collaborator-row.is-current { background: var(--surface-soft); }
.collaborator-row-main { min-width: 0; flex: 1 0 100%; display: grid; gap: 3px; padding: 10px; border: 0; background: transparent; text-align: left; cursor: pointer; }
.collaborator-row-main:disabled { color: inherit; cursor: default; }
.collaborator-row-meta { display: flex; align-items: center; gap: 6px; }
.collaborator-row-meta strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.collaborator-description { color: var(--muted); line-height: 1.4; white-space: normal; }
.collaborator-badge { padding: 2px 6px; border-radius: 999px; background: var(--green-soft); color: var(--green); font-size: 10px; font-weight: 750; }
.collaborator-row-action { flex: none; margin-right: 7px; padding: 6px 8px; border: 0; border-radius: 8px; background: transparent; color: var(--muted); font-weight: 650; cursor: pointer; }
.collaborator-row-action:hover { background: var(--surface); color: var(--ink); }
.collaborator-row-action.is-destructive { color: var(--red); }
.context-inspector-trigger { padding: 6px 9px; border: 0; border-radius: 9px; background: transparent; color: var(--muted); font-weight: 650; cursor: pointer; }
.context-inspector-trigger:hover { background: var(--surface-soft); color: var(--ink); }
.context-drawer { position: fixed; z-index: 60; top: 0; right: 0; width: min(430px, 100vw); height: 100dvh; overflow-y: auto; padding: 24px; border: 0; border-left: 1px solid var(--line); background: var(--surface); box-shadow: var(--shadow-md); }
.context-drawer[hidden] { display: none; }
.context-drawer-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.context-drawer-header h2, .context-drawer-identity { margin: 0; } .context-drawer-header h2 { font-family: var(--font-serif); font-size: 28px; } .context-drawer-identity { color: var(--muted); font-size: 14px; font-weight: 650; } .context-drawer-identity:empty { display: none; }
.context-drawer-close { min-height: 40px; padding: 7px 10px; border: 1px solid var(--line); border-radius: 10px; background: transparent; color: var(--ink); cursor: pointer; }
.context-tabs { display: flex; gap: 4px; margin: 24px 0 18px; border-bottom: 1px solid var(--line); }
.context-tabs button { padding: 9px 12px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--muted); font-weight: 700; cursor: pointer; }
.context-tabs button.is-active { border-bottom-color: var(--accent); color: var(--ink); }
.context-panel { display: grid; grid-template-columns: minmax(110px, .7fr) minmax(0, 1.3fr); gap: 12px; margin: 0; } .context-panel[hidden] { display: none; }
.context-panel dt { color: var(--muted); font-size: 12px; font-weight: 700; }
.context-panel dd { min-width: 0; margin: 0; overflow-wrap: anywhere; }
.context-confirm { width: 100%; margin-top: 28px; }
.project-home { min-height: 0; overflow-y: auto; padding: 24px var(--page-gutter) 40px; }
.project-home[hidden] { display: none; }
.project-home-header, .project-home-panel { width: min(760px, 100%); margin: 0 auto; }
.project-home-header h1 { font-family: var(--font-serif); font-size: clamp(38px, 6vw, 56px); font-weight: 500; }
.project-home-header > p { max-width: 640px; margin: 12px 0 0; color: var(--muted); font-size: 16px; line-height: 1.55; white-space: pre-wrap; }
.project-home-tabs { display: flex; gap: 4px; margin-top: 24px; border-bottom: 1px solid var(--line); }
.project-home-tabs[hidden] { display: none; }
.project-home-tabs button { padding: 10px 12px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--muted); font-weight: 700; cursor: pointer; }
.project-home-tabs button[aria-selected="true"] { border-bottom-color: var(--accent); color: var(--ink); }
.project-home-guidance { margin: 24px 0 18px; color: var(--muted); text-align: center; }
.project-home-chat-list { display: grid; gap: 5px; margin-top: 28px; }
.project-home-chat-row { width: 100%; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 13px 14px; border: 0; border-radius: 11px; background: transparent; color: var(--ink); text-align: left; cursor: pointer; }
.project-home-chat-row:hover, .project-home-chat-row:focus-visible { background: var(--surface-soft); }
.project-home-chat-row strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .project-home-chat-title { display: grid; min-width: 0; } .project-home-chat-specialist { color: var(--subtle); font-size: 12px; font-weight: 650; } .move-preview { display: grid; gap: 14px; margin: 4px 0 16px; } .move-preview-section h3 { margin: 0; font-size: 13px; } .move-preview-section p, .move-preview-collaborator { margin: 0; color: var(--muted); } .move-preview-section ul { margin: 6px 0 0; padding-left: 18px; }
.project-home-chat-row time { color: var(--subtle); font-size: 12px; white-space: nowrap; }
.project-home-empty { margin: 28px 0 0; color: var(--muted); text-align: center; }
.archived-project-summary { padding-top: 24px; }
.archived-status { width: max-content; margin: 0 0 18px; padding: 5px 9px; border-radius: 999px; background: var(--surface-soft); color: var(--muted); font-size: 12px; font-weight: 700; }
.archived-project-meta { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 11px 18px; margin: 0; }
.archived-project-meta dt { color: var(--muted); font-size: 13px; font-weight: 700; }
.archived-project-meta dd { margin: 0; }
.archived-summary-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 24px 0 34px; }
.archived-project-summary h2 { margin: 0 0 10px; font-size: 18px; }
.archived-summary-chats { display: grid; gap: 3px; }
.archived-summary-chat { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; padding: 12px 14px; border-radius: 10px; background: var(--surface-soft); }
.archived-summary-chat strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.archived-summary-chat time { color: var(--subtle); font-size: 12px; }
.project-settings-panel { padding-top: 4px; }
.project-home-active { grid-template-rows: max(56px, env(safe-area-inset-top)) minmax(0, 1fr); }
.project-home-active .conversation { display: none; }
.project-home-active .project-home { display: block; grid-row: 2; }
.project-home-active .composer { display: none; }
.project-home-status[hidden] { display: none; }
.archived-project-active > .composer { display: none; }
.project-home-active:not(.project-settings-active) .project-home-chat-list { padding-bottom: 18px; }
.project-dialog-backdrop { position: fixed; inset: 0; z-index: 58; display: grid; place-items: center; padding: 20px; background: var(--backdrop); }
.project-dialog-backdrop[hidden] { display: none; }
.project-dialog { width: min(520px, 100%); max-height: min(760px, calc(100dvh - 40px)); overflow-y: auto; padding: 24px; border: 1px solid var(--line); border-radius: 20px; background: var(--surface); box-shadow: var(--shadow-md); }
.project-dialog h2 { margin: 0; font-family: var(--font-serif); font-size: 30px; font-weight: 500; }
.project-form { display: grid; gap: 16px; margin-top: 22px; }
.project-field { display: grid; gap: 7px; color: var(--muted); font-size: 13px; font-weight: 700; }
.project-field input, .project-field textarea, .project-field select, .move-project-select { width: 100%; min-height: 44px; padding: 9px 11px; border: 1px solid var(--line-strong); border-radius: 10px; background-color: var(--surface); color: var(--ink); font-family: inherit; font-size: 16px; font-weight: 400; }
.project-field textarea { min-height: 84px; resize: vertical; }
.project-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.project-danger { color: var(--red); }
.project-chat-list { display: grid; gap: 6px; }
.project-chat-list button { padding: 10px 11px; border: 0; border-radius: 9px; background: var(--surface-soft); color: var(--ink); text-align: left; cursor: pointer; }
.project-empty { color: var(--muted); line-height: 1.5; }
.project-placeholder { padding: 14px; border: 1px dashed var(--line-strong); border-radius: 12px; color: var(--muted); }
.chat-event { align-self: center; margin: 0; padding: 5px 10px; border-radius: 999px; background: var(--surface-soft); color: var(--subtle); font-size: 12px; text-align: center; }.compaction-marker { align-self: center; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 4px 9px; margin: 2px 0; padding: 5px 10px; border-radius: 999px; background: var(--surface-soft); color: var(--subtle); font-size: 12px; text-align: center; }.compaction-inspect { padding: 0; border: 0; background: transparent; color: var(--ink); font: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.response-source-stack-wrap { display: inline-flex; vertical-align: middle; white-space: normal; }
.response-source-stack { display: inline-flex; align-items: center; min-height: 28px; padding: 3px 7px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); color: var(--muted); cursor: pointer; }
.response-source-stack:hover, .response-source-stack:focus-visible, .response-source-stack[aria-expanded="true"] { border-color: var(--line-strong); color: var(--ink); }
.response-source-icon { width: 20px; height: 20px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: var(--surface-soft); }
.response-source-icon + .response-source-icon { margin-left: -5px; }
.response-source-icon.is-unavailable { opacity: .45; }
.response-source-icon svg, .response-source-row-icon svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.response-source-icon.is-chat svg { fill: currentColor; stroke: none; }
.response-source-overflow { min-width: 21px; margin-left: 3px; font-size: 10px; font-weight: 700; text-align: center; }
.response-source-popover { position: fixed; z-index: 40; width: min(320px, calc(100vw - 24px)); max-height: min(420px, calc(100dvh - 24px)); padding: 8px; overflow: auto; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); box-shadow: var(--shadow-md); }
.response-source-heading { display: flex; align-items: center; justify-content: space-between; padding: 5px 7px 8px; }
.response-source-close { width: 28px; height: 28px; padding: 0; border: 0; border-radius: 8px; background: transparent; color: var(--muted); font: inherit; font-size: 20px; cursor: pointer; }
.response-source-close:hover, .response-source-close:focus-visible { background: var(--surface-soft); color: var(--ink); }
.response-source-list { display: grid; gap: 2px; }
.response-source-row { width: 100%; display: flex; align-items: center; gap: 10px; padding: 9px; border: 0; border-radius: 10px; background: transparent; color: var(--ink); font: inherit; text-align: left; text-decoration: none; cursor: pointer; }
.response-source-row:hover, .response-source-row:focus-visible { background: var(--surface-soft); }
.response-source-row.is-unavailable { color: var(--subtle); cursor: default; opacity: .65; }
.response-source-row-icon { width: 30px; height: 30px; flex: none; display: grid; place-items: center; border-radius: 9px; background: var(--surface-soft); }
.response-source-row-icon.is-chat svg { fill: currentColor; stroke: none; }
.response-source-row-text { min-width: 0; display: grid; gap: 1px; }
.response-source-row-text strong { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.response-source-row-text small { color: var(--subtle); font-size: 11px; }
.nav-backdrop { display: none; }
body > .profile { top: 10px; right: 14px; }
.onboarding { position: fixed; inset: 0; z-index: 45; overflow-y: auto; background: var(--bg); }
.onboarding[hidden] { display: none; }
.onboarding-active { overflow: hidden; }
.onboarding-active .sidebar, .onboarding-active .nav-open, .onboarding-active .nav-backdrop, .onboarding-active .chat-shell { display: none; }
.onboarding-header { position: relative; width: min(980px, calc(100% - 40px)); min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 0 auto; border-bottom: 1px solid var(--line); }
.onboarding-logo { color: var(--ink); font-family: var(--font-logo); font-size: 24px; letter-spacing: -.055em; text-decoration: none; }
.onboarding-logo span { color: var(--logo-accent); font-weight: 700; }
.onboarding-progress { position: absolute; left: 50%; transform: translateX(-50%); margin: 0; color: var(--muted); font-size: 13px; font-weight: 700; }
.onboarding-content { width: min(820px, calc(100% - 40px)); margin: 0 auto; padding: clamp(48px, 8vh, 88px) 0 72px; }
.onboarding-eyebrow, .template-category { margin: 0 0 8px; color: var(--green); font-size: 12px; font-weight: 750; letter-spacing: .075em; text-transform: uppercase; }
.onboarding-content > h1, .onboarding-title-row h1 { max-width: 680px; margin: 0; font-family: var(--font-serif); font-size: clamp(38px, 7vw, 60px); font-weight: 500; line-height: 1.02; }
.onboarding-title-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.onboarding-title-row h1 { min-width: 0; }
.onboarding-skip-inline { min-height: 42px; flex: none; padding: 9px 14px; border: 1px solid var(--line-strong); border-radius: 11px; background: var(--surface); color: var(--ink); font: inherit; font-weight: 700; cursor: pointer; }
.onboarding-skip-inline:hover { background: var(--surface-soft); }
.onboarding-intro { max-width: 650px; margin: 16px 0 34px; color: var(--muted); font-size: 17px; line-height: 1.6; }
.onboarding-loading { color: var(--muted); }
.template-search { width: 100%; min-height: 48px; margin-bottom: 12px; padding: 10px 14px; border: 1px solid var(--line-strong); border-radius: 13px; background: var(--surface); color: var(--ink); }
.template-toolbar { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; } .template-filters { min-width: 0; display: flex; flex: 1; gap: 8px; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: none; } .template-filters::-webkit-scrollbar { display: none; } .template-category-filter { position: relative; max-width: 100%; flex: none; } .template-category-trigger { width: 100%; min-height: 38px; padding: 7px 34px 7px 12px; border: 1px solid var(--line-strong); border-radius: 10px; background: var(--surface); color: var(--ink); font: inherit; font-weight: 650; text-align: left; cursor: pointer; } .template-category-trigger:disabled { color: var(--subtle); cursor: default; } .template-category-menu { position: absolute; z-index: 20; top: calc(100% + 6px); right: 0; min-width: max(100%, 220px); overflow-y: auto; overscroll-behavior: contain; border: 1px solid var(--line-strong); border-radius: 10px; background: var(--surface); box-shadow: var(--shadow-md); } .template-category-menu[hidden] { display: none; } .template-category-filter.opens-up .template-category-menu { top: auto; bottom: calc(100% + 6px); } .template-category-option { display: block; width: 100%; min-height: 40px; padding: 8px 12px; border: 0; background: transparent; color: var(--ink); font: inherit; text-align: left; cursor: pointer; } .template-category-option:hover, .template-category-option:focus-visible, .template-category-option[aria-selected="true"] { background: var(--surface-soft); }
.template-filter { min-height: 38px; flex: none; padding: 7px 14px; border: 1px solid var(--line-strong); border-radius: 999px; background: var(--surface); color: var(--muted); font: inherit; font-weight: 700; cursor: pointer; }
.template-filter:hover { background: var(--surface-soft); color: var(--ink); } .template-filter[aria-pressed="true"] { border-color: var(--action-bg); background: var(--action-bg); color: var(--on-solid); }
.template-filter:focus-visible { outline: 3px solid var(--green); outline-offset: 2px; }
.template-results-status { margin: 0 0 12px; color: var(--muted); font-size: 13px; } .template-results-status:focus-visible { outline: 2px solid var(--green); outline-offset: 3px; } .template-pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 7px; margin-top: 22px; } .template-pagination[hidden] { display: none; } .template-page-button { min-width: 42px; min-height: 42px; padding: 7px 11px; border: 1px solid var(--line-strong); border-radius: 10px; background: var(--surface); color: var(--ink); font: inherit; font-weight: 700; cursor: pointer; } .template-page-button:hover:not(:disabled) { background: var(--surface-soft); } .template-page-button[aria-current="page"] { border-color: var(--action-bg); background: var(--action-bg); color: var(--on-solid); } .template-page-button:disabled { color: var(--subtle); cursor: default; } .template-page-gap { min-width: 20px; color: var(--muted); text-align: center; } .template-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.template-card { min-width: 0; display: flex; flex-direction: column; padding: 20px; border: 1px solid var(--line); border-radius: 17px; background: var(--surface); box-shadow: var(--shadow-sm); }
.template-card h2 { margin: 0 0 10px; font-family: var(--font-serif); font-size: 25px; font-weight: 500; line-height: 1.1; }
.template-card p { margin: 0 0 12px; line-height: 1.5; }
.template-card .template-summary { flex: 1; color: var(--muted); font-size: 14px; }
.primary-button, .secondary-button { min-height: 44px; padding: 10px 16px; border: 1px solid var(--action-bg); border-radius: 11px; font-weight: 700; cursor: pointer; }
.primary-button { background: var(--action-bg); color: var(--on-solid); }
.primary-button:hover { background: var(--action-hover); }
.secondary-button { background: var(--surface); color: var(--ink); border-color: var(--line-strong); }
.secondary-button:hover { background: var(--surface-soft); }
.persona-overview { display: grid; gap: 12px; }
.overview-section { padding: 18px 20px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.overview-section h2 { margin: 0 0 6px; font-size: 14px; }
.overview-section p { margin: 0; color: var(--muted); white-space: pre-line; }
.onboarding-actions { display: flex; justify-content: space-between; gap: 12px; margin-top: 28px; }
.persona-form, .save-persona-form { display: grid; gap: 18px; }
.default-persona-name { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 18px 20px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.default-persona-name span { color: var(--muted); font-size: 13px; font-weight: 700; }
.default-persona-name strong { font-family: var(--font-serif); font-size: 24px; font-weight: 500; }
.persona-field { display: grid; gap: 7px; color: var(--muted); font-size: 13px; font-weight: 700; }
.persona-field input, .persona-field textarea { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid var(--line-strong); border-radius: 11px; background: var(--surface); color: var(--ink); font-size: 16px; font-weight: 400; }
.persona-field textarea { min-height: 92px; resize: vertical; }
.context-group { display: grid; gap: 14px; margin: 4px 0; padding: 20px; border: 1px solid var(--line); border-radius: 15px; background: var(--surface); }
.context-group legend { padding: 0 8px; color: var(--ink); font-family: var(--font-serif); font-size: 20px; }
.context-row { display: grid; gap: 12px; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.context-row-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.context-row-actions .secondary-button { min-height: 36px; padding: 7px 10px; font-size: 12px; }
.context-row-actions .secondary-button:last-child { margin-left: auto; color: var(--red); }
.onboarding-error { color: var(--red); }
.field-error { color: var(--red); font-size: 12px; font-weight: 600; }
.persona-field input[aria-invalid="true"], .persona-field textarea[aria-invalid="true"] { border-color: var(--red); }
.onboarding-skip { display: block; min-height: 44px; margin: 24px auto 0; padding: 8px 14px; border: 0; background: transparent; color: var(--muted); font: inherit; font-weight: 650; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.onboarding-skip:hover { color: var(--ink); }
.persona-edit-page .onboarding-header { width: min(var(--page-content), calc(100% - (2 * var(--page-gutter)))); min-height: auto; align-items: baseline; justify-content: flex-start; gap: 8px; padding-top: clamp(64px, 10vh, 92px); border-bottom: 0; }
.persona-edit-page .onboarding-progress { position: static; transform: none; color: var(--muted); font-weight: 400; }
.persona-edit-page .onboarding-progress::before { content: "> "; color: var(--subtle); }
.persona-edit-page .onboarding-content { width: min(var(--page-content), calc(100% - (2 * var(--page-gutter)))); padding: clamp(42px, 8vw, 64px) 0 max(48px, env(safe-area-inset-bottom)); }
.persona-edit-page .onboarding-content > h1, .persona-edit-page .onboarding-title-row h1 { font-size: clamp(36px, 7vw, 54px); }
.persona-edit-page .onboarding-intro { margin-bottom: 24px; }
.persona-edit-page .persona-form { padding: clamp(18px, 4vw, 24px); border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); box-shadow: var(--shadow-sm); }
.persona-edit-page .context-group { background: var(--bg); }

@media (min-width: 821px) {
  .sidebar, .chat-shell { transition: width .2s ease, margin-left .2s ease; }
  .nav-is-collapsed .sidebar { width: var(--sidebar-collapsed); }
  .nav-is-collapsed .chat-shell { margin-left: var(--sidebar-collapsed); }
  .nav-is-collapsed .project-home-active .collaborator-picker { left: calc((100vw + var(--sidebar-collapsed)) / 2); }
  .nav-is-collapsed .sidebar-header { justify-content: center; padding-inline: 0; }
  .nav-is-collapsed .wordmark, .nav-is-collapsed .sidebar-search-toggle, .nav-is-collapsed .chat-search-panel, .nav-is-collapsed .chat-history, .nav-is-collapsed .project-navigation, .nav-is-collapsed .library-navigation, .nav-is-collapsed .archived-projects, .nav-is-collapsed .chat-lifecycle-navigation, .nav-is-collapsed .new-chat span, .nav-is-collapsed .settings-nav span { display: none; }
  .nav-is-collapsed .sidebar-toggle .collapse-icon { display: none; }
  .nav-is-collapsed .sidebar-toggle .expand-icon { display: block; }
  .nav-is-collapsed .new-chat, .nav-is-collapsed .settings-nav { justify-content: center; gap: 0; padding-inline: 0; }
  .nav-is-collapsed .collapsed-navigation { min-height: 0; flex: 1; display: flex; flex-direction: column; padding: 14px 0 8px; }
  .nav-is-collapsed .collapsed-navigation-primary, .nav-is-collapsed .collapsed-navigation-lifecycle { display: grid; gap: 8px; }
  .nav-is-collapsed .collapsed-navigation-lifecycle { margin-top: auto; }
  .collapsed-nav-button { position: relative; width: 46px; height: 46px; display: grid; place-items: center; margin: 0 auto; padding: 0; border: 0; border-radius: 12px; background: transparent; color: var(--muted); cursor: pointer; }
  .collapsed-nav-button[hidden] { display: none; }
  .collapsed-nav-button:hover, .collapsed-nav-button:focus-visible { background: var(--hover); color: var(--ink); }
  .collapsed-nav-button svg { width: 21px; height: 21px; }
  .collapsed-nav-count { position: absolute; top: 2px; right: 1px; min-width: 16px; height: 16px; display: grid; place-items: center; padding: 0 3px; border: 2px solid var(--bg); border-radius: 999px; background: var(--ink); color: var(--surface); font-size: 9px; font-weight: 700; line-height: 1; }
  .collapsed-nav-count:empty { display: none; }
  .nav-is-collapsed .settings-nav { border-top-color: transparent; }
}

@media (max-width: 820px) {
  .response-source-popover { inset: auto 8px max(8px, env(safe-area-inset-bottom)) 8px; width: auto; max-height: min(65dvh, 440px); border-radius: 18px; }
  .context-drawer { top: auto; bottom: 0; width: 100%; height: min(78dvh, 680px); border-top: 1px solid var(--line); border-left: 0; border-radius: 22px 22px 0 0; }
  .project-dialog-backdrop { padding: 0; }
  .project-dialog { width: 100%; height: 100dvh; max-height: none; padding: max(24px, env(safe-area-inset-top)) 18px max(24px, env(safe-area-inset-bottom)); border: 0; border-radius: 0; }
  .project-home { padding-inline: 20px; }
  .sidebar { width: min(320px, 88vw); transform: translateX(-105%); visibility: hidden; transition: transform .2s ease, visibility 0s linear .2s; box-shadow: var(--shadow-md); }
  .history-menu-trigger { display: none; } .organized-chat-menu .history-menu-trigger { display: inline-grid; }
  .nav-is-open .sidebar { transform: translateX(0); visibility: visible; transition-delay: 0s; }
  .sidebar-header { position: relative; }
  .sidebar-header .wordmark { position: absolute; left: 50%; transform: translateX(-50%); }
  .nav-open, .nav-close { display: inline-grid; }
  .sidebar-toggle { display: none; }
  .nav-backdrop { position: fixed; inset: 0; z-index: 39; display: block; border: 0; background: var(--backdrop); }
  .nav-backdrop[hidden] { display: none; }
  .chat-shell { margin-left: 0; }
  .chat-header { padding-right: max(72px, calc(58px + env(safe-area-inset-right))); padding-left: max(64px, calc(52px + env(safe-area-inset-left))); }
  .composer-tools { position: relative; }
  .composer-middle { gap: 0; }
  .composer-control-scroll { display: contents; }.composer-context-group { min-width: 0; display: flex; flex: 1 1 auto; align-items: center; justify-content: flex-start; gap: 4px; }
  .composer-context-group > .compact-chat-controls { flex: 0 0 auto; }
  .compact-chat-controls { position: sticky; left: 0; z-index: 1; width: 44px; min-width: 44px; height: 44px; min-height: 44px; flex: none; display: inline-grid; place-items: center; overflow: visible; padding: 0; border: 0; border-radius: 12px; background: transparent; color: var(--muted); }
  .compact-chat-controls .compact-model-icon { width: 20px; height: 20px; max-width: none; flex: none; fill: currentColor; stroke: none; }
  .compact-chat-controls .compact-project-icon { position: absolute; top: 2px; right: 2px; width: 11px; height: 11px; max-width: none; fill: none; stroke: currentColor; stroke-width: 1.8; }
  .compact-chat-icons { display: inline-flex; line-height: 0; }
  .compact-chat-controls:hover, .compact-chat-controls:focus-visible, .compact-chat-controls[aria-expanded="true"] { background: var(--hover); }
  .composer-chat-controls { position: absolute; z-index: 30; bottom: calc(100% + 10px); left: 0; width: min(310px, calc(100vw - 58px)); display: none; grid-template-columns: 1fr; gap: 10px; padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); box-shadow: var(--shadow-md); }
  .composer-chat-controls.is-open { display: grid; }
  .composer-chat-controls .model-select, .composer-chat-controls .project-context-select { width: 100%; max-width: none; min-height: var(--control); }
  .edit-persona-button { width: 38px; flex: none; justify-content: center; padding: 0; border-color: transparent; }
  .edit-persona-button span { display: none; }
  .collaborator-picker, .chat-is-empty .collaborator-picker, .project-home-active .collaborator-picker { position: fixed; inset: 0; width: 100%; height: 100dvh; max-height: none; padding: max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left)); border-width: 0; border-radius: 0; transform: none; }
  .chat-is-empty .empty-state { transform: translateY(-74px); }
  .nav-is-open { overflow: hidden; }
  .template-grid { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .template-toolbar { align-items: stretch; flex-direction: column; } .template-filters, .template-category-filter { width: 100%; } .context-inspector-trigger { width: 38px; flex: none; overflow: hidden; padding: 0; font-size: 0; white-space: nowrap; }
  .context-inspector-trigger::before { content: "ⓘ"; font-size: 17px; }
  .composer { width: calc(100% - 32px); padding-bottom: max(10px, env(safe-area-inset-bottom)); }
  .composer-box { border-radius: 24px; padding: 10px 6px 8px; }
  .composer-tools { gap: 2px; }.composer-actions { gap: 2px; }.composer-context-group { gap: 2px; }
  .empty-state { width: calc(100% - 32px); }
  body > .profile { right: 8px; }
  .onboarding-header, .onboarding-content { width: calc(100% - 28px); }
  .onboarding-header { min-height: 64px; position: relative; }
  .onboarding-progress { position: absolute; left: 50%; max-width: 100px; overflow: hidden; transform: translateX(-50%); text-overflow: ellipsis; white-space: nowrap; }
  .onboarding-content { padding-top: 40px; }
  .onboarding-actions { position: sticky; bottom: 0; padding: 12px 0 max(12px, env(safe-area-inset-bottom)); background: var(--bg); }
  .onboarding-actions button { flex: 1; }
  .onboarding-title-row { align-items: flex-start; gap: 10px; }
  .onboarding-skip-inline { min-height: 38px; padding: 7px 10px; font-size: 13px; }
  .persona-edit-page .onboarding-header, .persona-edit-page .onboarding-content { width: calc(100% - 24px); }
  .persona-edit-page .onboarding-header { padding-top: max(68px, calc(env(safe-area-inset-top) + 56px)); padding-right: 48px; }
  .persona-edit-page .onboarding-content { padding-top: 40px; }
}
@media (max-height: 620px) {
  .chat-shell { grid-template-rows: 52px minmax(0, 1fr) auto; }
  .chat-is-empty { grid-template-rows: 52px minmax(0, 1fr); }
  .empty-state { padding: 8px 0; }
  .chat-is-empty .empty-state { transform: translateY(-58px); }
  .chat-is-empty .composer { top: 40px; }
  h1 { font-size: clamp(24px, 7vh, 32px); } .composer-note { margin-top: 4px; }
}


.project-connections-panel { padding-top: 26px; }.connections-intro { position: relative; }.connections-intro h2 { margin: 0; font-family: var(--font-serif); font-size: 27px; font-weight: 500; }.connections-intro p { max-width: 610px; margin: 8px 0 0; color: var(--muted); line-height: 1.55; }.connection-account-link { display: inline-block; margin-top: 12px; color: var(--ink); font-weight: 700; }
.project-connection-list { display: grid; gap: 8px; margin-top: 24px; }.project-connection-row { width: 100%; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 14px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface); color: var(--ink); text-align: left; cursor: pointer; }.project-connection-row:hover { background: var(--surface-soft); }.connection-mark { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 10px; background: #202124; color: #fff; font-size: 11px; font-weight: 800; }.connection-mark.is-mcp { background: #5b4bc4; }.project-connection-copy strong, .project-connection-copy small { display: block; }.project-connection-copy small { margin-top: 3px; overflow: hidden; color: var(--muted); text-overflow: ellipsis; white-space: nowrap; }.connection-assignment-status { padding: 5px 8px; border-radius: 999px; background: var(--surface-soft); color: var(--muted); font-size: 12px; }.connection-assignment-status.is-active { color: #207044; }
.context-tools-panel { display: grid; gap: 12px; } .context-tools-panel[hidden] { display: none; }.connector-drawer-intro { margin: 0 0 4px; color: var(--muted); line-height: 1.5; }.connector-assignment-list { display: grid; gap: 9px; }.connector-assignment-card { position: relative; padding: 14px; border: 1px solid var(--line); border-radius: 12px; }.connector-assignment-card.is-unavailable { opacity: .65; }.connector-assignment-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }.connector-assignment-heading span { color: var(--muted); font-size: 12px; }.connector-assignment-card p { margin: 9px 0 5px; }.connector-assignment-card small { color: var(--muted); }.connector-remove { display: block; margin-top: 10px; padding: 0; border: 0; background: transparent; color: var(--danger); cursor: pointer; }.connector-assignment-form { display: grid; gap: 14px; }.connector-drawer-field { display: grid; gap: 6px; font-weight: 700; }.connector-drawer-field select { min-height: 44px; padding: 7px 10px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); color: var(--ink); }.connector-resource-list { max-height: 260px; display: grid; gap: 8px; overflow-y: auto; margin: 0; padding: 12px; border: 1px solid var(--line); border-radius: 10px; }.connector-resource-option { display: flex; align-items: center; gap: 8px; font-weight: 500; }
.response-source-icon.is-connector.is-github, .response-source-row-icon.is-connector { border-radius: 50%; background: #202124; color: #fff; }
.sidebar-connector-list { display: grid; gap: 2px; padding: 0 5px 8px 12px; }.sidebar-connector-row, .sidebar-connectors-manage { width: 100%; min-width: 0; display: flex; align-items: center; gap: 9px; padding: 8px; border: 0; border-radius: 9px; background: transparent; color: var(--ink); font: inherit; text-align: left; cursor: pointer; }.sidebar-connector-row:hover, .sidebar-connectors-manage:hover { background: var(--hover); }.sidebar-connector-icon { width: 27px; height: 27px; display: grid; place-items: center; flex: none; border-radius: 8px; background: #202124; color: #fff; }.sidebar-connector-icon svg { width: 16px; height: 16px; }.sidebar-connector-icon.is-mcp { background: #5b4bc4; }.sidebar-connector-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.sidebar-connectors-manage { margin-top: 3px; color: var(--muted); font-size: 13px; font-weight: 700; }.sidebar-connector-list > .sidebar-connectors-manage { min-height: 46px; padding: 10px 12px; border-radius: 12px; background: var(--surface); box-shadow: 0 1px 1px rgba(20,24,21,.04); color: var(--ink); font-size: 14px; font-weight: 600; }.sidebar-connector-list > .sidebar-connectors-manage:hover { background: var(--hover); }
.sidebar-collaborator-list { display: grid; gap: 2px; padding: 0 5px 8px 12px; }.sidebar-collaborator-row, .sidebar-collaborator-create { width: 100%; min-width: 0; display: flex; align-items: center; gap: 9px; padding: 8px; border: 0; border-radius: 9px; background: transparent; color: var(--ink); font: inherit; text-align: left; cursor: pointer; }.sidebar-collaborator-row:hover, .sidebar-collaborator-create:hover { background: var(--hover); }.sidebar-collaborator-icon { width: 27px; height: 27px; display: grid; place-items: center; flex: none; color: var(--muted); }.sidebar-collaborator-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }.sidebar-collaborator-label { min-width: 0; flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.sidebar-collaborator-default { flex: none; padding: 2px 6px; border-radius: 999px; background: var(--green-soft); color: var(--green); font-size: 10px; font-weight: 750; }.sidebar-collaborator-create { min-height: 46px; margin-top: 3px; padding: 10px 12px; border-radius: 12px; background: var(--surface); box-shadow: 0 1px 1px rgba(20,24,21,.04); color: var(--ink); font-size: 14px; font-weight: 600; }
.connector-rail-flyout { position: fixed; z-index: 90; bottom: 96px; left: 62px; width: min(270px, calc(100vw - 82px)); display: grid; gap: 3px; padding: 12px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); box-shadow: var(--shadow-md); }.connector-rail-title { padding: 5px 8px 8px; }.connector-rail-flyout .sidebar-connectors-manage { border-top: 1px solid var(--line); border-radius: 0; padding-top: 11px; }
.connector-modal-backdrop { position: fixed; z-index: 100; inset: 0; display: grid; place-items: center; padding: 24px; background: rgb(20 22 20 / .5); }.connector-modal { position: relative; width: min(1120px, 100%); height: min(820px, calc(100dvh - 48px)); overflow-y: auto; padding: 40px; border: 1px solid var(--line); border-radius: 24px; background: var(--surface); color: var(--ink); box-shadow: var(--shadow-md); }.connector-modal button { font-family: inherit; cursor: pointer; }
.connector-modal-header { display: flex; align-items: center; gap: 18px; }.connector-modal-header h2 { margin: 0 auto 0 0; font-family: var(--font-serif); font-size: 32px; font-weight: 500; }.connected-summary { color: var(--muted); }.connector-modal-close { width: 44px; height: 44px; margin-left: auto; padding: 0; border: 0; background: transparent; color: var(--ink); font-size: 32px; }.connector-search { width: 100%; min-height: 58px; margin-top: 28px; padding: 0 22px; border: 1px solid var(--line); border-radius: 30px; background: var(--surface); color: var(--ink); font-size: 18px; }
.connector-categories { display: flex; gap: 9px; overflow-x: auto; overscroll-behavior-inline: contain; margin: 20px 0 28px; scrollbar-width: none; }.connector-categories::-webkit-scrollbar { display: none; }.category-chip { flex: none; min-height: 44px; padding: 8px 16px; border: 0; border-radius: 22px; background: var(--surface-soft); color: var(--ink); }.category-chip.is-active { background: var(--ink); color: var(--bg); }.connector-catalog-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 34px; }.catalog-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 14px; align-items: center; min-height: 92px; padding: 12px; border-radius: 16px; }.catalog-card:hover { background: var(--surface-soft); }.connector-logo { width: 42px; height: 42px; display: grid; place-items: center; flex: none; border-radius: 12px; background: #202124; color: #fff; }.connector-logo svg { width: 24px; height: 24px; }.connector-logo.is-mcp { background: #5b4bc4; }.connector-logo.is-google_drive, .connector-logo.is-google_calendar { background: #1a73e8; }.connector-logo.is-gmail { background: #d93025; }.connector-logo.is-notion { background: #111; }.connector-logo.is-slack { background: #611f69; }.connector-logo.is-gmail { background: #d93025; }.connector-logo.is-dropbox { background: #06f; }.connector-logo.is-cloudflare { background: #f48120; }
.catalog-copy strong, .catalog-copy small { display: block; }.catalog-copy small { margin-top: 3px; overflow: hidden; color: var(--muted); text-overflow: ellipsis; white-space: nowrap; }.catalog-add, .catalog-connection { min-height: 44px; padding: 10px 14px; border: 0; border-radius: 20px; background: var(--surface-soft); color: var(--ink); }.catalog-add:disabled { color: var(--subtle); cursor: default; }.catalog-connection { grid-column: 2 / -1; justify-self: start; min-height: 44px; padding-block: 10px; }
.connector-setup { width: min(560px, 100%); display: grid; gap: 18px; margin: 0 auto; }.connector-modal > .connector-modal-close { position: absolute; top: 28px; right: 35px; }.connector-setup h2 { margin: 12px 0; font-family: var(--font-serif); font-size: 34px; font-weight: 500; }.connector-setup-back { width: fit-content; padding: 7px 0; border: 0; background: transparent; color: var(--muted); }.connector-field { display: grid; gap: 7px; font-weight: 700; }.connector-field[hidden], .connector-token-help[hidden], .connector-setup-status[hidden] { display: none; }.connector-field input, .connector-field select { min-height: 46px; padding: 9px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); color: var(--ink); }.connector-token-help { margin-top: -8px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-soft); }.connector-token-help summary { padding: 11px 13px; color: var(--ink); font-weight: 700; cursor: pointer; }.connector-token-help-body { padding: 0 15px 14px; color: var(--muted); font-size: 13px; line-height: 1.5; }.connector-token-help-body p { margin: 4px 0 9px; }.connector-token-help-body ul { margin: 10px 0; padding-left: 20px; }.connector-token-help-body a { color: var(--ink); font-weight: 700; }.connector-token-note { padding-top: 8px; border-top: 1px solid var(--line); }.connector-setup-status { margin: -4px 0; color: var(--danger); font-weight: 650; }.connector-setup .btn { min-height: 44px; border: 0; border-radius: 11px; background: var(--action-bg); color: var(--on-solid); }.connector-setup .btn:disabled { opacity: .65; cursor: wait; }
.connector-detail-identity { display: flex; align-items: center; gap: 15px; margin: 30px 0; }.connector-detail-title h2, .connector-detail-title p { margin: 0; }.connector-detail-title h2 { font-family: var(--font-serif); font-size: 32px; font-weight: 500; }.connector-detail-title p { margin-top: 4px; }.connector-detail-grid { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 10px 24px; padding: 20px; border: 1px solid var(--line); border-radius: 14px; }.connector-detail-grid dt { color: var(--muted); }.connector-detail-grid dd { margin: 0; }.connector-detail-resources { margin-top: 26px; }.connector-detail-resources h3 { margin-bottom: 12px; }.connector-resource-row { display: flex; justify-content: space-between; gap: 20px; padding: 10px 4px; border-bottom: 1px solid var(--line); }.connector-resource-row small { color: var(--muted); }.connector-detail-error { color: var(--danger); }.connector-detail-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }.connector-detail-action { min-height: 40px; padding: 8px 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); color: var(--ink); }.connector-detail-action.is-danger { color: var(--danger); }
.skill-logo, .skill-icon { background: #5647b9; }.skill-logo svg, .skill-icon svg { fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }.skill-catalog-card .catalog-copy { display: grid; gap: 3px; }.skill-category { color: var(--muted); font-size: 12px; }.skill-catalog-card .catalog-add.is-enabled { border: 1px solid var(--line-strong); background: var(--surface); }
.skill-catalog-details { min-width: 0; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; }.skill-catalog-details:focus-visible { outline: 2px solid var(--green); outline-offset: 4px; border-radius: 3px; }.skill-detail-description, .skill-detail-instructions { margin-bottom: 20px; padding: 20px; border: 1px solid var(--line); border-radius: 14px; }.skill-detail-description h3, .skill-detail-instructions h3 { margin: 0 0 10px; }.skill-detail-description p, .skill-detail-instructions-body { max-width: 820px; margin: 0; line-height: 1.6; }.skill-detail-instructions-body p { margin: 0 0 14px; }.skill-detail-instructions-body ul { margin: 0; padding-left: 22px; }.skill-detail-instructions-body li + li { margin-top: 9px; }
.skill-detail-identity .connector-detail-action { margin-left: auto; }
@media (max-width: 700px) { .connector-modal-backdrop { padding: 0; }.connector-modal { height: 100dvh; padding: 22px 16px; border: 0; border-radius: 0; }.connector-modal-header { gap: 8px; min-width: 0; }.connector-modal-header h2, .connector-setup h2 { font-size: 26px; overflow-wrap: anywhere; }.catalog-copy { min-width: 0; }.connector-detail-actions { flex-wrap: wrap; }.connector-catalog-grid { grid-template-columns: 1fr; }.connector-modal > .connector-modal-close { top: 12px; right: 14px; } }
@media (max-width: 560px) { .project-home-tabs { overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: none; }.project-home-tabs::-webkit-scrollbar { display: none; }.project-home-tabs button { flex: none; }.project-connection-row { grid-template-columns: auto minmax(0, 1fr); }.connection-assignment-status { grid-column: 2; justify-self: start; }.connector-detail-grid { grid-template-columns: 1fr; gap: 3px; }.connector-detail-grid dd { margin-bottom: 8px; } }

.connector-call pre { max-width: 100%; white-space: pre-wrap; overflow-wrap: anywhere; font-size: .85rem; }
.connector-call { min-width: 0; }

.connector-field select { min-width: 0; width: 100%; }
.connector-detail-action, .connector-setup-back, .connector-remove, .project-connection-row, .share-resource { min-height: 44px; }
.connector-setup-back { padding-inline: 8px; }
.connector-contract { margin: 0; padding-left: 18px; }
.share-form { display: grid; gap: 12px; margin-top: 18px; }
.share-resource { display: flex; align-items: center; gap: 10px; }
.paid-note { margin: 0 0 12px; color: var(--muted); }

.billing-plans-link { display: inline-flex; align-items: center; justify-content: center; text-align: center; text-decoration: none; }

/* Project settings share the workspace's form controls and section surfaces. */
.project-settings-panel, .project-settings-sections { display: grid; gap: 20px; }
.project-settings-panel { padding-top: 24px; }
.project-settings-panel[hidden] { display: none; }
.project-settings-section { min-width: 0; margin: 0; padding: 0; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); }
.project-settings-section > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 64px; padding: 20px 24px; border-radius: inherit; list-style: none; cursor: pointer; }
.project-settings-section > summary::-webkit-details-marker { display: none; }
.project-settings-section > summary::after { content: ""; flex: none; width: 8px; height: 8px; border-right: 1.5px solid var(--muted); border-bottom: 1.5px solid var(--muted); transform: rotate(-45deg); }
.project-settings-section[open] > summary::after { transform: rotate(45deg); }
.project-settings-section > summary:hover { background: var(--surface-soft); }
.project-settings-section > summary:focus-visible { outline-offset: -3px; }
.project-settings-section-body { padding: 0 24px 24px; }
.project-settings-panel .project-form { min-width: 0; margin-top: 0; }
.project-settings-panel h3, .memory-panel h3 { margin: 0; font-size: 18px; font-weight: 650; line-height: 1.4; }
.project-settings-panel p, .memory-panel p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
.project-settings-panel [role="status"]:empty, .memory-panel [role="status"]:empty { display: none; }
.sharing-panel, .memory-panel, .project-ai-panel { min-width: 0; }
:is(.sharing-panel, .memory-panel, .project-ai-panel, .project-privacy-panel) :is(input:not([type="checkbox"]), select, textarea) { box-sizing: border-box; width: 100%; max-width: 100%; min-width: 0; min-height: 44px; padding: 10px 12px; border: 1px solid var(--line-strong); border-radius: 10px; background-color: var(--surface); color: var(--ink); font: inherit; font-size: 16px; }
:is(.sharing-panel, .project-ai-panel, .project-privacy-panel) select { padding-right: 34px; }
.project-toggle { display: flex; align-items: flex-start; gap: 12px; min-height: 44px; padding: 10px 0; color: var(--ink); font-size: 14px; font-weight: 500; line-height: 1.5; cursor: pointer; }
.project-toggle input[type="checkbox"] { flex: none; width: 18px; height: 18px; min-height: 18px; margin: 2px 0 0; padding: 0; accent-color: var(--green); }
.project-toggle:has(input:disabled) { color: var(--muted); cursor: default; }
.memory-content { display: grid; gap: 12px; }
.memory-entry { display: grid; gap: 8px; padding: 16px 0; border-top: 1px solid var(--line); }
.memory-entry textarea { min-height: 5rem; resize: vertical; }
.memory-entry small { color: var(--muted); font-size: 12px; }
.memory-entry a { width: fit-content; color: var(--green); font-size: 13px; text-underline-offset: 3px; }
.memory-entry .secondary-button, .sharing-panel > button, .project-ai-panel > button { justify-self: start; }
.project-member { align-items: center; padding: 14px 0; border-top: 1px solid var(--line); }
.project-member > span { flex: 1 1 100%; min-width: 0; overflow-wrap: anywhere; font-size: 14px; }
.project-settings-panel .project-danger { color: var(--red); border-color: var(--red); }
.sharing-review { display: grid; gap: 12px; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-soft); }
.sharing-review button { justify-self: start; }
.project-settings-panel .project-invitation-form { grid-template-columns: minmax(0, 1fr) minmax(110px, .45fr); align-items: end; }
.project-invitation-form > button { grid-column: 1 / -1; justify-self: start; }
.project-ai-list { display: grid; gap: 16px; }
.project-ai-list details { min-width: 0; padding-top: 12px; border-top: 1px solid var(--line); }
.project-ai-list summary { min-height: 44px; padding: 10px 0; cursor: pointer; font-weight: 650; }
.project-ai-list .project-form { margin-top: 16px; }
.message-author { display:block;font-size:0.75rem;opacity:0.7; }
@media (max-width: 560px) {
  .project-home-tabs { gap: 0; }
  .project-home-tabs button { padding: 10px 6px; font-size: 13px; }
  .project-settings-section > summary { padding: 16px; }
  .project-settings-section-body { padding: 0 16px 16px; }
  .project-settings-panel .project-invitation-form { grid-template-columns: minmax(0, 1fr); }
  .project-settings-panel form.project-settings-section-body > .project-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .project-settings-panel form.project-settings-section-body > .project-actions > button[type="submit"] { grid-column: 1 / -1; }
}

.context-used-trigger { min-height: 44px; padding: 0 12px; border: 0; border-radius: 12px; background: transparent; color: var(--ink); font: inherit; cursor: pointer; }
.context-used-trigger:hover, .context-used-trigger:focus-visible { background: var(--hover); }
.context-used-backdrop { position: fixed; inset: 0; z-index: 70; display: grid; place-items: end center; padding: 12px; background: rgba(20, 24, 21, .28); }
.context-used-dialog { width: min(560px, 100%); max-height: min(80dvh, 720px); overflow: auto; padding: 16px; border-radius: 16px; background: var(--bg); color: var(--ink); box-shadow: 0 16px 40px rgba(20, 24, 21, .18); }
.context-used-dialog h2 { margin: 0 0 8px; font-size: 1.1rem; }
.context-used-list { display: grid; gap: 8px; margin: 12px 0 0; padding: 0; list-style: none; }
.context-used-row { display: grid; gap: 4px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 12px; }
.context-used-row strong, .context-used-row small { overflow-wrap: anywhere; }
.context-state { display: inline-flex; min-height: 28px; align-items: center; width: fit-content; padding: 0 8px; border-radius: 999px; background: var(--surface); font-size: .85rem; }
.context-used-actions, .custom-skill-form { display: grid; gap: 10px; }
.custom-skill-form input, .custom-skill-form textarea, .custom-skill-form select, .custom-skill-form button, .context-used-dialog button { min-height: 44px; font: inherit; }
.custom-skill-form textarea { min-height: 96px; }
.custom-skill-error { color: var(--danger, #9b2c2c); }
@media (max-width: 820px) {
  .context-used-backdrop { place-items: stretch; padding: max(8px, env(safe-area-inset-top)) 8px max(8px, env(safe-area-inset-bottom)); }
  .context-used-dialog { width: 100%; max-height: 100%; }
  .composer, .composer-box, .composer-tools { min-width: 0; max-width: 100%; }
  .composer-tools { overflow: visible; }
}
@media (max-width: 560px) {
  .composer-actions { flex: none; }
  .composer-context-group:has(.context-inspector-trigger:not([hidden])) { overflow-x: auto; }
  .composer-context-group:has(.context-inspector-trigger:not([hidden])) > .context-inspector-trigger { flex: 0 0 44px; width: 44px; min-width: 44px; max-width: 44px; height: 44px; padding: 0; }
}

/* Skill library: fixed controls, independently scrolling library and editor. */
.custom-skill-backdrop { z-index: 110; place-items: center; padding: 24px; background: var(--backdrop); }
.custom-skill-dialog { display: flex; flex-direction: column; width: min(1040px, 100%); height: min(820px, calc(100dvh - 48px)); max-height: none; overflow: hidden; padding: 0; border: 1px solid var(--line); border-radius: 22px; box-shadow: var(--shadow-md); }
.custom-skill-header { display: flex; flex: none; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 24px 28px; border-bottom: 1px solid var(--line); }
.custom-skill-dialog .custom-skill-header h2 { margin: 0; font-size: 22px; letter-spacing: -.5px; }
.custom-skill-header p { margin: 6px 0 0; color: var(--muted); font-size: 14px; line-height: 1.5; }
.custom-skill-dialog .custom-skill-close { flex: none; width: 44px; padding: 0; border: 1px solid var(--line); border-radius: 50%; font-size: 26px; line-height: 1; }
.custom-skill-workspace { display: grid; grid-template-columns: 260px minmax(0, 1fr); flex: 1; min-height: 0; }
.custom-skill-library { min-width: 0; overflow: auto; padding: 24px 18px; border-right: 1px solid var(--line); background: var(--surface-soft); }
.custom-skill-library h3 { margin: 0 0 16px; color: var(--muted); font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.custom-skill-library > button, .custom-skill-library > .billing-plans-link { width: 100%; }
.custom-skill-empty { padding: 28px 6px; font-size: 14px; line-height: 1.6; }
.custom-skill-empty strong { font-weight: 600; }
.custom-skill-empty p { margin: 6px 0 0; color: var(--muted); }
.custom-skill-editor { display: flex; flex-direction: column; min-width: 0; min-height: 0; margin: 0; }
.custom-skill-editor-content { align-content: start; gap: 22px; min-height: 0; overflow: auto; padding: 28px; scrollbar-gutter: stable; }
.custom-skill-editor-content h3 { margin: 0; font-size: 20px; letter-spacing: -.4px; }
.custom-skill-editor-content > h3 + p { margin-top: -14px; }
.custom-skill-help { margin: 0; color: var(--muted); font-size: 13px; font-weight: 400; line-height: 1.6; }
.custom-skill-basics { display: grid; gap: 18px; }
.custom-skill-editor .project-field { min-width: 0; gap: 8px; color: var(--ink); font-size: 13px; font-weight: 600; }
.custom-skill-editor .project-field input, .custom-skill-editor .project-field textarea, .custom-skill-editor .project-field select { font-size: 14px; font-weight: 400; line-height: 1.6; }
.custom-skill-editor textarea { min-height: 76px; }
.custom-skill-editor textarea::placeholder, .custom-skill-editor input::placeholder { color: var(--muted); opacity: 1; }
.custom-skill-section { display: grid; gap: 12px; padding-top: 22px; border-top: 1px solid var(--line); }
.custom-skill-section h4 { margin: 0; font-size: 14px; }
.custom-skill-editor .custom-skill-checkbox { display: flex; align-items: center; gap: 10px; font-weight: 400; }
.custom-skill-editor .custom-skill-checkbox input { flex: none; width: 18px; height: 18px; min-height: 18px; margin: 0; accent-color: var(--action-bg); }
.custom-skill-options { border-top: 1px solid var(--line); }
.custom-skill-options summary { min-height: 48px; padding: 16px 0; font-size: 14px; font-weight: 600; cursor: pointer; }
.custom-skill-options > .project-field, .custom-skill-options > p { margin: 0 0 16px; }
.custom-skill-options select[multiple] { min-height: 88px; background-image: none; }
.custom-skill-footer { display: flex; flex: none; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 28px; border-top: 1px solid var(--line); background: var(--surface); }
.custom-skill-footer > .custom-skill-help { flex: 1; }
.custom-skill-footer .custom-skill-error { flex-basis: 100%; margin: 0; font-size: 13px; }
.custom-skill-footer > button { margin-left: auto; }
.custom-skill-card { gap: 6px; margin-top: 14px; padding: 14px; background: var(--surface); }
.custom-skill-card small, .custom-skill-card p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.custom-skill-card-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.custom-skill-card-actions .secondary-button { min-height: 36px; padding: 6px 9px; font-size: 12px; }
@media (max-width: 680px) {
  .custom-skill-backdrop { padding: 8px; }
  .custom-skill-dialog { height: calc(100dvh - 16px); border-radius: 16px; }
  .custom-skill-header { padding: 18px; gap: 12px; }
  .custom-skill-workspace { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); }
  .custom-skill-library { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; max-height: 148px; padding: 12px 18px; border-right: 0; border-bottom: 1px solid var(--line); }
  .custom-skill-library h3 { flex: 1; margin: 0; }
  .custom-skill-library > button, .custom-skill-library > .billing-plans-link { width: auto; }
  .custom-skill-empty { flex-basis: 100%; padding: 0; }
  .custom-skill-empty p { display: none; }
  .custom-skill-card { flex: 1 0 100%; margin: 0; }
  .custom-skill-editor-content { padding: 20px 18px; }
  .custom-skill-footer { padding: 12px 18px; }
  .custom-skill-footer > .custom-skill-help { font-size: 12px; }
}

.maplibregl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0 0 0/0);-webkit-touch-callout:none}.maplibregl-canvas{position:absolute;left:0;top:0}.maplibregl-map:fullscreen{width:100%;height:100%}.maplibregl-ctrl-group button.maplibregl-ctrl-compass{touch-action:none}.maplibregl-canvas-container.maplibregl-interactive,.maplibregl-ctrl-group button.maplibregl-ctrl-compass{cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer{cursor:pointer}.maplibregl-canvas-container.maplibregl-interactive:active,.maplibregl-ctrl-group button.maplibregl-ctrl-compass:active{cursor:grabbing}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-canvas-container.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:pinch-zoom}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:none}.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures,.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{position:absolute;pointer-events:none;z-index:2}.maplibregl-ctrl-top-left{top:0;left:0}.maplibregl-ctrl-top-right{top:0;right:0}.maplibregl-ctrl-bottom-left{bottom:0;left:0}.maplibregl-ctrl-bottom-right{right:0;bottom:0}.maplibregl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.maplibregl-ctrl-top-left .maplibregl-ctrl{margin:10px 0 0 10px;float:left}.maplibregl-ctrl-top-right .maplibregl-ctrl{margin:10px 10px 0 0;float:right}.maplibregl-ctrl-bottom-left .maplibregl-ctrl{margin:0 0 10px 10px;float:left}.maplibregl-ctrl-bottom-right .maplibregl-ctrl{margin:0 10px 10px 0;float:right}.maplibregl-ctrl-group{border-radius:4px;background:#fff}.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px rgba(0,0,0,.1)}.maplibregl-ctrl-group button{width:29px;height:29px;display:block;padding:0;outline:none;border:0;box-sizing:border-box;background-color:transparent;cursor:pointer}.maplibregl-ctrl button{-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}.maplibregl-ctrl button .maplibregl-ctrl-icon{display:block;width:100%;height:100%;background-repeat:no-repeat;background-position:50%}@media(forced-colors:active){.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}.maplibregl-ctrl-icon{background-color:transparent}.maplibregl-ctrl-group button+button{border-top:1px solid buttontext}}.maplibregl-ctrl button::-moz-focus-inner{border:0;padding:0}.maplibregl-ctrl-attrib-button:focus,.maplibregl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl button:disabled{cursor:not-allowed}.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon{opacity:.25}@media(hover:hover){.maplibregl-ctrl button:not(:disabled):hover{background-color:rgba(0,0,0,.05)}}.maplibregl-ctrl button:not(:disabled):active{background-color:rgba(0,0,0,.05)}.maplibregl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.maplibregl-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}.maplibregl-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}.maplibregl-ctrl-group button:focus:only-child{border-radius:inherit}.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29' fill='%23333'%3E %3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E %3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29' fill='%23333'%3E %3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E %3C/svg%3E")}@media(forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29' fill='%23fff'%3E %3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E %3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29' fill='%23fff'%3E %3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E %3C/svg%3E")}}@media(forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29' fill='%23000'%3E %3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E %3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29' fill='%23000'%3E %3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E %3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29' fill='%23333'%3E %3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E %3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E %3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E %3C/svg%3E")}@media(forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29' fill='%23fff'%3E %3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E %3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29' fill='%23fff'%3E %3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E %3C/svg%3E")}}@media(forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29' fill='%23000'%3E %3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E %3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29' fill='%23000'%3E %3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E %3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29' fill='%23333'%3E %3Cpath d='m10.5 14 4-8 4 8z'/%3E %3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E %3C/svg%3E")}@media(forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29' fill='%23fff'%3E %3Cpath d='m10.5 14 4-8 4 8z'/%3E %3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E %3C/svg%3E")}}@media(forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29' fill='%23000'%3E %3Cpath d='m10.5 14 4-8 4 8z'/%3E %3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E %3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-globe .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' viewBox='0 0 22 22' stroke='%23333'%3E %3Ccircle cx='11' cy='11' r='8.5'/%3E %3Cpath d='M17.5 11c0 4.819-3.02 8.5-6.5 8.5S4.5 15.819 4.5 11 7.52 2.5 11 2.5s6.5 3.681 6.5 8.5Z'/%3E %3Cpath d='M13.5 11c0 2.447-.331 4.64-.853 6.206-.262.785-.562 1.384-.872 1.777-.314.399-.58.517-.775.517-.195 0-.461-.118-.775-.517-.31-.393-.61-.992-.872-1.777C8.831 15.64 8.5 13.446 8.5 11c0-2.447.331-4.64.853-6.206.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517.195 0 .461.118.775.517.31.393.61.992.872 1.777.522 1.565.853 3.76.853 6.206Z'/%3E %3Cpath d='M11 7.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.333 1.333 0 0 1-.224-.138c.047-.038.12-.085.224-.138.299-.151.763-.302 1.379-.434C7.378 5.666 9.091 5.5 11 5.5c1.909 0 3.622.166 4.845.428.616.132 1.08.283 1.379.434.105.053.177.1.224.138-.047.038-.12.085-.224.138-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428ZM4.486 6.436ZM11 16.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.33 1.33 0 0 1-.224-.138 1.33 1.33 0 0 1 .224-.138c.299-.151.763-.302 1.379-.434C7.378 14.666 9.091 14.5 11 14.5c1.909 0 3.622.166 4.845.428.616.132 1.08.283 1.379.434.105.053.177.1.224.138a1.33 1.33 0 0 1-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm-6.514-1.064ZM11 12.5c-2.46 0-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.465 1.465 0 0 1-.39-.272.293.293 0 0 1-.047-.064.293.293 0 0 1 .048-.064c.066-.073.189-.167.389-.272.399-.21 1.009-.413 1.805-.59C6.328 9.722 8.54 9.5 11 9.5s4.672.222 6.256.574c.795.177 1.405.38 1.804.59.2.105.323.2.39.272a.33.33 0 0 1 .047.064.293.293 0 0 1-.048.064 1.435 1.435 0 0 1-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002-.002Zm0 .018v.002-.002Zm17.002.002v-.002.002Zm0-.018v-.002.002Z'/%3E %3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-globe-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' viewBox='0 0 22 22' stroke='%2333b5e5'%3E %3Ccircle cx='11' cy='11' r='8.5'/%3E %3Cpath d='M17.5 11c0 4.819-3.02 8.5-6.5 8.5S4.5 15.819 4.5 11 7.52 2.5 11 2.5s6.5 3.681 6.5 8.5Z'/%3E %3Cpath d='M13.5 11c0 2.447-.331 4.64-.853 6.206-.262.785-.562 1.384-.872 1.777-.314.399-.58.517-.775.517-.195 0-.461-.118-.775-.517-.31-.393-.61-.992-.872-1.777C8.831 15.64 8.5 13.446 8.5 11c0-2.447.331-4.64.853-6.206.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517.195 0 .461.118.775.517.31.393.61.992.872 1.777.522 1.565.853 3.76.853 6.206Z'/%3E %3Cpath d='M11 7.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.333 1.333 0 0 1-.224-.138c.047-.038.12-.085.224-.138.299-.151.763-.302 1.379-.434C7.378 5.666 9.091 5.5 11 5.5c1.909 0 3.622.166 4.845.428.616.132 1.08.283 1.379.434.105.053.177.1.224.138-.047.038-.12.085-.224.138-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428ZM4.486 6.436ZM11 16.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.33 1.33 0 0 1-.224-.138 1.33 1.33 0 0 1 .224-.138c.299-.151.763-.302 1.379-.434C7.378 14.666 9.091 14.5 11 14.5c1.909 0 3.622.166 4.845.428.616.132 1.08.283 1.379.434.105.053.177.1.224.138a1.33 1.33 0 0 1-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm-6.514-1.064ZM11 12.5c-2.46 0-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.465 1.465 0 0 1-.39-.272.293.293 0 0 1-.047-.064.293.293 0 0 1 .048-.064c.066-.073.189-.167.389-.272.399-.21 1.009-.413 1.805-.59C6.328 9.722 8.54 9.5 11 9.5s4.672.222 6.256.574c.795.177 1.405.38 1.804.59.2.105.323.2.39.272a.33.33 0 0 1 .047.064.293.293 0 0 1-.048.064 1.435 1.435 0 0 1-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002-.002Zm0 .018v.002-.002Zm17.002.002v-.002.002Zm0-.018v-.002.002Z'/%3E %3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-terrain .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 22 22' fill='%23333'%3E %3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E %3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-terrain-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 22 22' fill='%2333b5e5'%3E %3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E %3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20' fill='%23333'%3E %3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E %3Ccircle id='dot' cx='10' cy='10' r='2'/%3E %3Cpath id='stroke' d='m14 5 1 1-9 9-1-1z' display='none'/%3E %3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20' fill='%23aaa'%3E %3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E %3Ccircle id='dot' cx='10' cy='10' r='2'/%3E %3Cpath id='stroke' d='m14 5 1 1-9 9-1-1z' fill='%23f00'/%3E %3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20' fill='%2333b5e5'%3E %3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E %3Ccircle id='dot' cx='10' cy='10' r='2'/%3E %3Cpath id='stroke' d='m14 5 1 1-9 9-1-1z' display='none'/%3E %3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20' fill='%23e58978'%3E %3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E %3Ccircle id='dot' cx='10' cy='10' r='2'/%3E %3Cpath id='stroke' d='m14 5 1 1-9 9-1-1z' display='none'/%3E %3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20' fill='%2333b5e5'%3E %3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E %3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E %3Cpath id='stroke' d='m14 5 1 1-9 9-1-1z' display='none'/%3E %3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20' fill='%23e54e33'%3E %3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E %3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E %3Cpath id='stroke' d='m14 5 1 1-9 9-1-1z' display='none'/%3E %3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-waiting .maplibregl-ctrl-icon{animation:maplibregl-spin 2s linear infinite}@media(forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20' fill='%23fff'%3E %3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E %3Ccircle id='dot' cx='10' cy='10' r='2'/%3E %3Cpath id='stroke' d='m14 5 1 1-9 9-1-1z' display='none'/%3E %3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20' fill='%23999'%3E %3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E %3Ccircle id='dot' cx='10' cy='10' r='2'/%3E %3Cpath id='stroke' d='m14 5 1 1-9 9-1-1z' fill='%23f00'/%3E %3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20' fill='%2333b5e5'%3E %3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E %3Ccircle id='dot' cx='10' cy='10' r='2'/%3E %3Cpath id='stroke' d='m14 5 1 1-9 9-1-1z' display='none'/%3E %3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20' fill='%23e58978'%3E %3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E %3Ccircle id='dot' cx='10' cy='10' r='2'/%3E %3Cpath id='stroke' d='m14 5 1 1-9 9-1-1z' display='none'/%3E %3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20' fill='%2333b5e5'%3E %3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E %3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E %3Cpath id='stroke' d='m14 5 1 1-9 9-1-1z' display='none'/%3E %3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20' fill='%23e54e33'%3E %3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E %3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E %3Cpath id='stroke' d='m14 5 1 1-9 9-1-1z' display='none'/%3E %3C/svg%3E")}}@media(forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20' fill='%23000'%3E %3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E %3Ccircle id='dot' cx='10' cy='10' r='2'/%3E %3Cpath id='stroke' d='m14 5 1 1-9 9-1-1z' display='none'/%3E %3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20' fill='%23666'%3E %3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E %3Ccircle id='dot' cx='10' cy='10' r='2'/%3E %3Cpath id='stroke' d='m14 5 1 1-9 9-1-1z' fill='%23f00'/%3E %3C/svg%3E")}}@keyframes maplibregl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.maplibregl-ctrl-logo{width:88px;height:23px;margin:0 0 -4px -4px;display:block;background-repeat:no-repeat;cursor:pointer;overflow:hidden;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E %3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E %3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E %3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E %3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E %3Cg style='stroke-width:1.12603545'%3E %3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E %3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E %3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E %3C/g%3E %3C/svg%3E")}a.maplibregl-ctrl-logo.maplibregl-compact{width:14px}@media(forced-colors:active){a.maplibregl-ctrl-logo{background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E %3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E %3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E %3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E %3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E %3Cg style='stroke-width:1.12603545'%3E %3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E %3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E %3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E %3C/g%3E %3C/svg%3E")}}@media(forced-colors:active) and (prefers-color-scheme:light){a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E %3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E %3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E %3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E %3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E %3Cg style='stroke-width:1.12603545'%3E %3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E %3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E %3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E %3C/g%3E %3C/svg%3E")}}.maplibregl-ctrl.maplibregl-ctrl-attrib{padding:0 5px;background-color:hsla(0,0%,100%,.5);margin:0}@media screen{.maplibregl-ctrl-attrib.maplibregl-compact{min-height:20px;padding:2px 24px 2px 0;margin:10px;position:relative;background-color:#fff;color:#000;border-radius:12px;box-sizing:content-box}.maplibregl-ctrl-attrib.maplibregl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact-show,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact-show{padding:2px 8px 2px 28px;border-radius:12px}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{display:none}.maplibregl-ctrl-attrib-button{display:none;cursor:pointer;position:absolute;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E %3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E %3C/svg%3E");background-color:hsla(0,0%,100%,.5);width:24px;height:24px;box-sizing:border-box;border-radius:12px;outline:none;top:0;right:0;border:0}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;list-style:none}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button::-webkit-details-marker{display:none}.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button{left:0}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:block}.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:rgba(0,0,0,.05)}.maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;right:0}.maplibregl-ctrl-top-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{top:0;right:0}.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{top:0;left:0}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;left:0}}@media screen and (forced-colors:active){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20' fill='%23fff'%3E %3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E %3C/svg%3E")}}@media screen and (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E %3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E %3C/svg%3E")}}.maplibregl-ctrl-attrib a{color:rgba(0,0,0,.75);text-decoration:none}.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.maplibregl-attrib-empty{display:none}.maplibregl-ctrl-scale{background-color:hsla(0,0%,100%,.75);font-size:10px;white-space:nowrap;border-color:#333;border-style:none solid solid;border-width:medium 2px 2px;padding:0 5px;color:#333;box-sizing:border-box}.maplibregl-popup{position:absolute;top:0;left:0;display:flex;will-change:transform;pointer-events:none}.maplibregl-popup-anchor-top,.maplibregl-popup-anchor-top-left,.maplibregl-popup-anchor-top-right{flex-direction:column}.maplibregl-popup-anchor-bottom,.maplibregl-popup-anchor-bottom-left,.maplibregl-popup-anchor-bottom-right{flex-direction:column-reverse}.maplibregl-popup-anchor-left{flex-direction:row}.maplibregl-popup-anchor-right,[dir=rtl] .maplibregl-popup-anchor-left{flex-direction:row-reverse}.maplibregl-popup-tip{width:0;height:0;border:10px solid transparent;z-index:1}.maplibregl-popup-anchor-top .maplibregl-popup-tip{align-self:center;border-top:none;border-bottom-color:#fff}.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-start;border-top:none;border-left:none;border-bottom-color:#fff}.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-end;border-top:none;border-right:none;border-bottom-color:#fff}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.maplibregl-popup-anchor-left .maplibregl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.maplibregl-popup-anchor-right .maplibregl-popup-tip{align-self:center;border-right:none;border-left-color:#fff}[dir=rtl] .maplibregl-popup-anchor-right{flex-direction:row}[dir=rtl] .maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-end}[dir=rtl] .maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-start}[dir=rtl] .maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-end}[dir=rtl] .maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-start}.maplibregl-popup-close-button{position:absolute;right:0;top:0;border:0;border-radius:0 3px 0 0;cursor:pointer;background-color:transparent}.maplibregl-popup-close-button:hover{background-color:rgba(0,0,0,.05)}.maplibregl-popup-content{position:relative;background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.1);padding:15px 10px;pointer-events:auto}.maplibregl-popup-anchor-top-left .maplibregl-popup-content{border-top-left-radius:0}.maplibregl-popup-anchor-top-right .maplibregl-popup-content{border-top-right-radius:0}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content{border-bottom-left-radius:0}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content{border-bottom-right-radius:0}.maplibregl-popup-track-pointer{display:none}.maplibregl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-map:hover .maplibregl-popup-track-pointer{display:flex}.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}.maplibregl-marker{position:absolute;top:0;left:0;will-change:transform;transition:opacity .2s}.maplibregl-marker-draggable{cursor:grab}.maplibregl-user-location-dot,.maplibregl-user-location-dot:before{background-color:#1da1f2;width:15px;height:15px;border-radius:50%}.maplibregl-user-location-dot:before{content:"";position:absolute;animation:maplibregl-user-location-dot-pulse 2s infinite}.maplibregl-user-location-dot:after{border-radius:50%;border:2px solid #fff;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px;box-sizing:border-box;box-shadow:0 0 3px rgba(0,0,0,.35)}@media(prefers-reduced-motion:reduce){.maplibregl-user-location-dot:before{animation:none}}@keyframes maplibregl-user-location-dot-pulse{0%{transform:scale(1);opacity:1}70%{transform:scale(3);opacity:0}to{transform:scale(1);opacity:0}}.maplibregl-user-location-dot-stale{background-color:#aaa}.maplibregl-user-location-dot-stale:after{display:none}.maplibregl-user-location-accuracy-circle{background-color:#1da1f233;width:1px;height:1px;border-radius:100%}.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.maplibregl-boxzoom{position:absolute;top:0;left:0;width:0;height:0;background:#fff;border:2px dotted #202020;opacity:.5}.maplibregl-cooperative-gesture-screen{background:rgba(0,0,0,.4);position:absolute;inset:0;display:flex;justify-content:center;align-items:center;color:#fff;padding:1rem;font-size:1.4em;line-height:1.2;opacity:0;pointer-events:none;transition:opacity 1s 1s;z-index:99999}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;transition:opacity .05s}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}@media(hover:none),(pointer:coarse){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}.maplibregl-pseudo-fullscreen{position:fixed!important;width:100%!important;height:100%!important;top:0!important;left:0!important;z-index:99999}
.response-map { margin-block: 12px; min-width: 0; max-width: 100%; }
.map-toggle, .map-controls button, .map-panel > button { border: 1px solid var(--line); background: var(--surface); color: inherit; border-radius: 8px; padding: 10px 14px; min-height: 44px; cursor: pointer; }
.map-panel { margin-block: 10px; border: 1px solid var(--line); border-radius: 12px; padding: 12px; overflow: hidden; }
.map-panel[hidden] { display: none; }
.map-canvas { height: 360px; position: relative; width: 100%; border-radius: 8px; overflow: hidden; color: #202625; }
.map-canvas[hidden] { display: none; }
.map-controls { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; }
.map-marker { width: 34px; height: 34px; border-radius: 50%; border: 2px solid white; background: #24626b; color: white; font-weight: 700; cursor: pointer; box-shadow: 0 2px 5px #0004; }
.map-marker.is-selected { background: #a33f25; outline: 3px solid #edb493; }
.map-source-list { display: grid; gap: 8px; margin-top: 12px; min-width: 0; }
.map-place { text-align: left; font: inherit; color: inherit; background: transparent; border: 1px solid var(--line); padding: 8px 12px; border-radius: 6px; cursor: pointer; min-height: 44px; width: 100%; overflow-wrap: anywhere; }
.map-place.is-selected { border-color: #24626b; background: #24626b18; }
.map-place:disabled { opacity: .65; cursor: default; }
.map-route { display: flex; align-items: flex-start; gap: 8px; padding-block: 8px; overflow-wrap: anywhere; font-size: 13px; }
.map-route input { min-width: 20px; min-height: 20px; }
.map-source { display: grid; gap: 4px; font-size: 12px; overflow-wrap: anywhere; }
.map-credits { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; font-size: 11px; }
.map-status, .map-overhead, .map-coverage { font-size: 12px; overflow-wrap: anywhere; }
.map-status:empty { display: none; }
.map-canvas .map-coverage { position: absolute; bottom: 0; left: 0; right: 0; padding: 6px; margin: 0; background: #fffE; }
.map-panel :focus-visible { outline: 3px solid #3b8094; outline-offset: 2px; }
@media (max-width: 480px) { .map-panel { padding: 8px; } .map-canvas { height: 300px; } }

.map-marker.is-selected, .map-marker:focus-visible { z-index: 2; }

.map-canvas .maplibregl-ctrl-attrib { max-width: 100%; overflow-wrap: anywhere; font-size: 10px; }
.map-canvas .maplibregl-ctrl-bottom-right { max-width: 100%; }

.find-button { width: 44px; height: 44px; min-width: 44px; min-height: 44px; }
.discovery-backdrop { position: fixed; inset: 0; z-index: 40; border: 0; background: rgba(20, 22, 20, .35); }
.discovery-dialog { position: fixed; z-index: 41; left: 12px; right: 12px; bottom: 12px; max-height: min(82vh, 680px); overflow: auto; padding: 16px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); color: var(--ink); box-shadow: 0 16px 40px rgba(20, 22, 20, .18); }
.discovery-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.discovery-heading h2 { margin: 0; font-size: 1.1rem; }
.discovery-close, .discovery-lookup, .discovery-device, .discovery-actions .secondary-button, .discovery-choice, .discovery-field select, .discovery-field input, .discovery-link { min-height: 44px; min-width: 44px; }
.discovery-close { border: 0; border-radius: 12px; background: transparent; color: inherit; font-size: 1.4rem; cursor: pointer; }
.discovery-form { display: grid; gap: 12px; margin-top: 12px; }
.discovery-workflows { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; border: 0; }
.discovery-workflows legend { width: 100%; font-weight: 700; }
.discovery-choice { display: inline-flex; align-items: center; gap: 8px; padding: 0 12px; border: 1px solid var(--line); border-radius: 12px; }
.discovery-field { display: grid; gap: 6px; font-weight: 700; }
.discovery-field input, .discovery-field select { width: 100%; padding: 10px 12px; border: 1px solid var(--line-strong); border-radius: 12px; background: var(--surface); color: inherit; font: inherit; font-weight: 500; }
.discovery-field small, .discovery-status, .discovery-quota, .discovery-disclosure, .discovery-purchase, .discovery-evidence-note, .discovery-external-note { color: var(--muted); font-weight: 500; font-size: .85rem; }
.discovery-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.discovery-lookup, .discovery-device, .discovery-actions .secondary-button { padding: 10px 14px; border-radius: 12px; border: 1px solid var(--line-strong); background: var(--surface); color: inherit; font: inherit; cursor: pointer; }
.discovery-lookup { background: var(--ink); color: var(--surface); border-color: var(--ink); }
.discovery-evidence { display: grid; gap: 8px; margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--line); }
.discovery-hit { display: grid; gap: 2px; }
.discovery-link { display: inline-flex; align-items: center; color: inherit; font-weight: 700; overflow-wrap: anywhere; }
.discovery-location, .discovery-sponsored { margin: 0; }
.discovery-sponsored { font-weight: 700; }
@media (min-width: 800px) {
  .discovery-dialog { left: 50%; right: auto; width: min(480px, calc(100% - 32px)); transform: translateX(-50%); bottom: 88px; }
}
.discovery-evidence, .discovery-hit { min-width: 0; grid-template-columns: minmax(0, 1fr); }
.discovery-evidence p, .discovery-hit strong { min-width: 0; overflow-wrap: anywhere; }

.composer-web-divider { width: 100%; margin: 8px 0; border: 0; border-top: 1px solid var(--line); }
.web-check { margin-left: auto; color: var(--accent, var(--ink)); display: inline-grid; flex: 0 0 22px; place-items: center; width: 22px; height: 22px; }
[aria-checked="true"] > .web-check::before { content: "✓"; }
.web-scope { padding-inline: 10px; }
.web-composer-controls { min-width: 0; max-width: 100%; margin-bottom: 8px; text-align: center; }
.web-composer-controls[hidden], .web-location-tools[hidden], .web-place-results[hidden], .web-place-search[hidden], .web-current-place[hidden] { display: none; }
.web-categories { display: flex; flex-wrap: wrap; justify-content: safe center; box-sizing: border-box; gap: 6px; min-width: 0; max-width: 100%; padding: 4px; margin-bottom: 6px; }
.web-category { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 7px; min-height: 44px; padding: 0 10px; white-space: nowrap; border: 1px solid var(--line); border-radius: 10px; font-size: 14px; cursor: pointer; }
.web-category input { flex: none; width: 16px; height: 16px; margin: 0; accent-color: var(--ink); }
.web-category:focus-within { outline: 2px solid var(--ink); outline-offset: 1px; }
.web-current-place, .web-use-device, .web-history-clear { min-height: 44px; border: 0; background: transparent; color: var(--muted); font: inherit; text-align: left; cursor: pointer; }
.web-current-place { max-width: 100%; overflow-wrap: anywhere; padding: 4px 8px; }
.web-use-device { display: block; width: fit-content; max-width: 100%; margin-left: auto; text-align: right; }
.web-location-tools { min-width: 0; width: min(100%, 620px); margin: 12px auto 0; text-align: left; }
.web-location-chosen { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 4px; }
.web-location-chosen[hidden], .web-use-device[hidden] { display: none; }
.web-location-address { min-width: 0; color: var(--free-blue, #0864ce); font-size: 12px; line-height: 1.6; text-align: center; overflow-wrap: anywhere; }
.web-location-clear { flex: none; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 12px; background: transparent; color: var(--muted); font: inherit; font-size: 22px; cursor: pointer; }
.web-location-clear:hover { background: var(--hover); }
.empty-state { max-width: calc(100% - 32px); }
.web-place-search { position: relative; width: 100%; min-width: 0; }
.web-place-field { position: relative; }
.web-place-field > input { box-sizing: border-box; width: 100%; min-height: 48px; border: 1px solid var(--line); border-radius: 14px; padding: 10px 52px 10px 14px; background: var(--surface); color: var(--ink); font: inherit; font-size: 16px; }
.web-place-field > input::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; }
.web-place-input-clear { position: absolute; top: 2px; right: 4px; display: inline-grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 10px; background: transparent; color: var(--muted); font: inherit; font-size: 22px; cursor: pointer; }
.web-place-input-clear[hidden] { display: none; }
.web-place-input-clear:hover { background: var(--hover); }
.web-place-results { box-sizing: border-box; position: absolute; top: calc(100% + 8px); left: 0; width: 100%; z-index: 80; }
.web-place-panel { box-sizing: border-box; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); box-shadow: var(--shadow-md); }
.web-place-list { overflow-y: auto; overscroll-behavior: contain; }
.conversation:has(.web-place-results:not([hidden])) { z-index: 4; overflow: visible; }
.web-place-row { display: flex; border-bottom: 1px solid var(--line); }
.web-place-row:last-child { border-bottom: 0; }
.web-place-option, .web-place-remove { min-height: 44px; border: 0; padding: 16px 18px; background: transparent; color: var(--ink); font: inherit; text-align: left; cursor: pointer; }
.web-place-option { display: grid; align-content: center; gap: 5px; flex: 1; min-width: 0; overflow-wrap: anywhere; }
.web-place-remove { flex: 0 0 44px; align-self: center; padding: 10px; font-size: 22px; color: var(--muted); }
.web-place-option:hover, .web-place-option[aria-selected="true"] { background: var(--hover); }
.web-place-history-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; font-size: 12px; }
.web-place-credit { color: var(--muted); }
.web-location-status, .web-search-status { margin: 4px 0; color: var(--muted); font-size: 13px; }
.web-location-status:empty, .web-search-status:empty { display: none; }
@media (max-width: 820px) {
  .web-categories { flex-wrap: nowrap; overflow-x: auto; overscroll-behavior-x: contain; scroll-padding-inline: 4px; padding: 4px 4px 8px; -webkit-overflow-scrolling: touch; }
  .web-category { scroll-margin-inline: 4px; }
  .web-location-tools { width: 100%; }
  .web-location-chosen { display: grid; grid-template-columns: 44px minmax(0, 1fr) 44px; align-items: center; }
  .web-location-address { grid-column: 2; white-space: normal; overflow-wrap: anywhere; }
  .web-location-clear { grid-column: 3; }
}

.chat-is-empty.web-local-active .empty-state { transform: translateY(clamp(-190px, -22vh, -150px)); }

.web-place-header { box-sizing: border-box; min-height: 40px; display: flex; align-items: center; gap: 4px; padding: 0 4px 0 14px; border-bottom: 1px solid var(--line); background: var(--surface); }
.web-place-title { flex: 1; min-width: 0; color: var(--muted); font-size: 14px; }
.web-place-header .web-history-clear { flex: none; min-height: 38px; padding: 0 8px; color: var(--accent, var(--ink)); font-size: 14px; }
.web-place-close { display: inline-grid; place-items: center; flex: 0 0 40px; width: 40px; height: 38px; padding: 0; border: 0; border-radius: 8px; background: transparent; color: var(--muted); font: inherit; font-size: 22px; cursor: pointer; }
.web-place-close:hover, .web-place-remove:hover { background: var(--hover); }
.web-place-coordinates { color: var(--muted); font-size: 13px; font-variant-numeric: tabular-nums; }
.web-place-name { overflow-wrap: anywhere; }
.web-place-empty { padding: 18px; color: var(--muted); font-size: 14px; }
.web-place-header [hidden] { display: none; }

@media (max-width: 820px) and (pointer: coarse) {
  .chat-is-empty.web-local-active.place-search-keyboard { position: relative; top: var(--place-viewport-top); height: var(--place-viewport-height); display: flex; flex-direction: column; overflow-y: auto; overscroll-behavior: contain; }
  .place-search-keyboard > header { flex: none; min-height: max(56px, env(safe-area-inset-top)); }
  .chat-is-empty.place-search-keyboard .conversation { display: block; flex: none; overflow: visible; padding-top: 8px; }
  .chat-is-empty.web-local-active.place-search-keyboard .empty-state { margin: 0 auto; transform: none; }
  .chat-is-empty.place-search-keyboard .composer { flex: none; top: 0; align-self: auto; margin-top: 16px; transition: none; }
}

:root[data-theme="dark"] .web-location-address { color: var(--free-blue, #88bdff); }
.collaborator-web-settings [hidden] { display: none; }
.collaborator-web-settings { min-width: 0; padding: 24px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); box-shadow: var(--shadow-sm); }
.collaborator-web-header :is(h2, h3) { margin: 0; color: var(--ink); font-size: 18px; line-height: 1.4; }
.collaborator-web-header p { max-width: 62ch; margin: 8px 0 20px; color: var(--muted); font-size: 14px; line-height: 1.6; }
.collaborator-web-settings .collaborator-web-fields { min-width: 0; margin: 0; padding: 0; border: 0; }
.collaborator-web-enable { display: flex; align-items: center; gap: 10px; min-height: 44px; width: fit-content; color: var(--ink); font-size: 15px; font-weight: 650; cursor: pointer; }
.collaborator-web-settings input[type="checkbox"] { width: 18px; height: 18px; flex: none; margin: 0; accent-color: var(--action-bg); cursor: pointer; }
.collaborator-web-options { display: grid; gap: 20px; margin-top: 16px; padding-top: 20px; border-top: 1px solid var(--line); }
.collaborator-web-scope { width: min(100%, 280px); }
.collaborator-web-label { margin: 0 0 10px; color: var(--muted); font-size: 13px; font-weight: 700; }
.collaborator-web-categories { display: flex; flex-wrap: wrap; gap: 8px; }
.collaborator-web-category { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; padding: 10px 12px; border: 1px solid var(--line-strong); border-radius: 10px; background: var(--surface); color: var(--ink); font-size: 14px; line-height: 1.4; cursor: pointer; }
.collaborator-web-category:has(input:checked) { border-color: var(--green); background: var(--green-soft); }
.collaborator-web-category:hover { border-color: var(--green); }
.collaborator-web-category:focus-within { outline: 2px solid var(--green); outline-offset: 2px; }
.collaborator-web-fields:disabled label, .collaborator-web-fields:disabled input { cursor: wait; }
.collaborator-web-status { min-height: 20px; margin: 16px 0 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.collaborator-web-status:empty { display: none; }
@media (max-width: 520px) {
  .collaborator-web-settings { padding: 18px; }
  .collaborator-web-scope { width: 100%; }
  .collaborator-web-categories { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .collaborator-web-category { padding: 10px; }
}

.composer-tools { flex-wrap: wrap; }
.delegation-backdrop { position: fixed; inset: 0; z-index: 85; display: grid; place-items: center; padding: 24px; background: var(--backdrop); }
.delegation-dialog { display: flex; flex-direction: column; width: min(680px, 100%); max-height: calc(100dvh - 48px); min-height: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 20px; background: var(--surface); color: var(--ink); box-shadow: var(--shadow-md); }
.delegation-header { flex: none; display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 24px; }
.delegation-header > div { min-width: 0; display: grid; gap: 8px; }
.delegation-dialog h2 { margin: 0; font-family: var(--font-serif); font-size: 30px; font-weight: 500; line-height: 1.15; }
.delegation-dialog h3 { margin: 0; font-size: 16px; font-weight: 650; }
.delegation-dialog h4 { margin: 0; font-size: 14px; font-weight: 650; }
.delegation-dialog p { margin: 0; font-size: 14px; line-height: 1.55; overflow-wrap: anywhere; }
.delegation-dialog .delegation-muted { color: var(--muted); font-size: 13px; line-height: 1.55; }
.delegation-close { flex: none; }
.delegation-body { display: grid; gap: 24px; min-height: 0; padding: 0 24px 24px; overflow-y: auto; overscroll-behavior: contain; }
.delegation-notice { padding: 12px 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-soft); }
.delegation-notice:empty { display: none; }
.delegation-notice[role="alert"] { color: var(--red); border-color: var(--red); background: var(--red-soft); }
.delegation-scope { display: grid; gap: 10px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-soft); }
.delegation-state { display: block; width: fit-content; padding: 4px 8px; border-radius: 6px; background: var(--green-soft); color: var(--green); font-size: 12px; font-weight: 650; }
.delegation-scope > p { font-size: 13px; }
.delegation-scope summary { color: var(--muted); font-size: 13px; cursor: pointer; }
.delegation-scope details p { margin-top: 10px; }
.delegation-grid, .delegation-team, .delegation-limits-section { min-width: 0; display: grid; gap: 16px; }
.delegation-grid { gap: 24px; }
.delegation-field { min-width: 0; display: grid; gap: 7px; color: var(--ink); font-size: 13px; font-weight: 650; }
.delegation-field input, .delegation-field select { width: 100%; min-width: 0; min-height: var(--control); padding: 10px 12px; border: 1px solid var(--line-strong); border-radius: 10px; background-color: var(--surface); color: var(--ink); font: inherit; font-size: 16px; font-weight: 400; }
.delegation-field select { padding-right: 34px; }
.delegation-field small { color: var(--muted); font-size: 12px; font-weight: 400; line-height: 1.5; }
.delegation-people { min-width: 0; display: grid; gap: 8px; margin: 0; padding: 0; border: 0; }
.delegation-people legend { margin-bottom: 8px; font-size: 13px; font-weight: 650; }
.delegation-person { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; font-size: 14px; cursor: pointer; }
.delegation-person:has(input:checked) { border-color: var(--green); background: var(--green-soft); }
.delegation-person[hidden] { display: none; }
.delegation-person input { flex: none; width: 18px; height: 18px; min-height: 18px; margin: 0; accent-color: var(--green); }
.delegation-person span { min-width: 0; overflow-wrap: anywhere; }
.delegation-empty { display: grid; gap: 12px; padding: 16px; border: 1px dashed var(--line-strong); border-radius: 12px; }
.delegation-roster { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.delegation-roster li { padding: 5px 8px; border-radius: 6px; background: var(--green-soft); color: var(--green); font-size: 13px; }
.delegation-library { display: grid; gap: 12px; }
.delegation-library .secondary-button { justify-self: start; }
.delegation-library-link { width: fit-content; color: var(--green); font-size: 14px; font-weight: 650; text-underline-offset: 3px; }
.delegation-add, .delegation-advanced { min-width: 0; border: 1px solid var(--line); border-radius: 12px; }
:is(.delegation-add, .delegation-advanced) > summary { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 44px; padding: 12px 14px; list-style: none; font-size: 14px; font-weight: 650; cursor: pointer; }
:is(.delegation-add, .delegation-advanced) > summary::-webkit-details-marker { display: none; }
:is(.delegation-add, .delegation-advanced) > summary::after { content: ""; flex: none; width: 7px; height: 7px; border-right: 1.5px solid var(--muted); border-bottom: 1.5px solid var(--muted); transform: rotate(-45deg); }
:is(.delegation-add, .delegation-advanced)[open] > summary::after { transform: rotate(45deg); }
.delegation-add > .delegation-library, .delegation-advanced > p { padding: 0 14px 14px; }
.delegation-limits { min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; padding: 0 14px 14px; }
.delegation-actions { flex: none; display: flex; flex-wrap: wrap; gap: 10px; padding: 16px 24px; border-top: 1px solid var(--line); background: var(--surface); }
.delegation-actions[hidden] { display: none; }
.delegation-actions .primary-button { margin-left: auto; }
.delegation-run { display: grid; gap: 12px; padding-top: 20px; border-top: 1px solid var(--line); }
.delegation-task { min-width: 0; border: 1px solid var(--line); border-radius: 10px; }
.delegation-task summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px; font-size: 14px; font-weight: 650; cursor: pointer; }
.delegation-task summary small { color: var(--muted); font-size: 12px; font-weight: 400; }
.delegation-task summary::after { content: ""; flex: none; width: 7px; height: 7px; border-right: 1.5px solid var(--muted); border-bottom: 1.5px solid var(--muted); transform: rotate(-45deg); }
.delegation-task[open] summary::after { transform: rotate(45deg); }
.delegation-task-body { display: grid; gap: 10px; padding: 0 12px 12px; }
.delegation-stop { justify-self: start; color: var(--red); }
@media (max-width: 560px) {
  .delegation-backdrop { padding: 12px; }
  .delegation-dialog { max-height: calc(100dvh - 24px); border-radius: 16px; }
  .delegation-header { padding: 16px; }
  .delegation-dialog h2 { font-size: 26px; }
  .delegation-body { padding: 0 16px 16px; }
  .delegation-limits { grid-template-columns: minmax(0, 1fr); }
  .delegation-actions { padding: 12px 16px; }
  .delegation-actions button { flex: 1; min-width: 0; padding-inline: 10px; font-size: 13px; }
}

.schedule-home { display: none; min-height: 0; overflow-y: auto; padding: 24px var(--page-gutter) 40px; }
body.route-schedules .chat-shell { grid-template-rows: max(56px, env(safe-area-inset-top)) minmax(0, 1fr); }
body.route-schedules .schedule-home { display: block; grid-row: 2; }
body.route-schedules #conversation,
body.route-schedules #composer,
body.route-schedules #project-home,
body.route-schedules #file-home { display: none; }
.schedule-panel { display: grid; gap: 20px; }
.schedule-panel p { margin: 0; }
.schedule-panel h2 { margin: 0; font-size: 16px; font-weight: 650; letter-spacing: -.015em; }
.schedule-note { color: var(--muted); font-size: 14px; line-height: 1.55; }
.schedule-form, .schedule-card { min-width: 0; display: grid; gap: 20px; padding: 24px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); }
.schedule-section-heading { display: grid; gap: 6px; }
.schedule-field { min-width: 0; display: grid; gap: 8px; font-size: 14px; font-weight: 650; }
.schedule-form [hidden] { display: none; }
.schedule-field input, .schedule-field textarea, .schedule-field select {
  width: 100%; min-width: 0; min-height: var(--control); padding: 10px 12px; border: 1px solid var(--line-strong); border-radius: var(--radius-sm);
  background-color: var(--surface); color: var(--ink); font: 400 14px/1.4 var(--font-sans);
}
.schedule-field select { padding-right: 34px; }
.schedule-field textarea { min-height: 100px; resize: vertical; }
.schedule-row { min-width: 0; display: grid; gap: 20px; }
.schedule-recovery { min-width: 0; margin: 0; padding: 0; border: 0; }
.schedule-recovery legend { margin-bottom: 8px; padding: 0; font-size: 14px; font-weight: 650; }
.schedule-choice { display: flex; gap: 10px; align-items: center; min-height: var(--control); font-size: 14px; line-height: 1.4; cursor: pointer; }
.schedule-choice input { flex: none; width: 20px; height: 20px; margin: 0; accent-color: var(--green); }
.schedule-actions, .schedule-card-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.schedule-card button, .schedule-link, .schedule-actions button.secondary {
  min-height: var(--control); padding: 10px 16px; border: 1px solid var(--line-strong); border-radius: 11px;
  background: var(--surface); color: var(--ink); font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; text-decoration: none;
}
.schedule-card button:hover, .schedule-actions button.secondary:hover { background: var(--surface-soft); }
.schedule-form button:disabled { opacity: 0.55; cursor: default; }
.schedule-card > button { justify-self: start; }
.schedule-preview { display: grid; gap: 8px; padding: 16px; border-radius: var(--radius-sm); background: var(--surface-soft); font-size: 14px; line-height: 1.55; }
.schedule-preview ul { margin: 0; padding-left: 20px; }
.schedule-status { font-weight: 650; }
.schedule-history { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; font-size: 14px; }
.schedule-history li { min-width: 0; display: grid; gap: 6px; padding-top: 12px; border-top: 1px solid var(--line); overflow-wrap: anywhere; }
.schedule-history button { justify-self: start; }
.schedule-error { color: var(--red); font-size: 14px; line-height: 1.5; }
.schedule-error:empty { display: none; }
.schedule-form :focus-visible, .schedule-card :focus-visible, .schedule-link:focus-visible, #schedule-nav:focus-visible {
  outline: 3px solid var(--green); outline-offset: 2px;
}
@media (min-width: 720px) { .schedule-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
@media (max-width: 640px) {
  .schedule-form, .schedule-card { padding: 18px; }
  .schedule-field input, .schedule-field textarea, .schedule-field select { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) { .schedule-home { scroll-behavior: auto; } }

.composer, .composer-box, .composer-tools { min-width: 0; max-width: 100%; }
.composer-tools { flex-wrap: nowrap; }
@media (max-width: 820px) {
  .composer-middle { flex: 1 1 auto; min-width: 0; max-width: 100%; }
  .composer-context-group { min-width: 0; max-width: 100%; overflow-x: auto; }
}
.composer-dialog { position: fixed; inset: var(--dialog-viewport-top, 0px) 0 calc(100dvh - var(--dialog-viewport-top, 0px) - var(--dialog-viewport-height, 100dvh)); box-sizing: border-box; width: min(560px, calc(100% - 40px)); height: fit-content; max-width: none; max-height: calc(var(--dialog-viewport-height, 100dvh) - 40px); margin: auto; padding: 0; overflow-y: auto; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); color: var(--ink); box-shadow: var(--shadow-md); font: inherit; }
.composer-dialog [hidden] { display: none !important; }
.composer-dialog::backdrop { background: var(--backdrop); }
.composer-dialog-header { position: sticky; top: 0; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 24px 12px; background: var(--surface); }
.composer-dialog-header h2 { margin: 0; font-family: inherit; font-size: 24px; font-weight: 650; line-height: 1.25; }
.composer-dialog-close { flex: none; min-width: 44px; min-height: 44px; color: var(--muted); }
.composer-dialog-body { min-width: 0; padding: 0 24px 24px; }
.composer-dialog-body p { overflow-wrap: anywhere; }
.composer-dialog-status, .media-help, .media-note, .media-estimate { color: var(--muted); font-size: 14px; line-height: 1.55; }
.composer-dialog-status:empty, .media-status:empty { display: none; }
.composer-dialog-status[role="alert"], .media-status[role="alert"] { color: var(--red); }
.composer-dialog-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; padding-top: 8px; }
.composer-dialog :is(input, select, textarea, button) { font-family: inherit; }
.composer-dialog :is(select, textarea, input:not([type="checkbox"]):not([type="radio"])) { box-sizing: border-box; width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid var(--line-strong); border-radius: 11px; background: var(--surface); color: var(--ink); font-size: 16px; }
.composer-dialog :focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
.composer-dialog button:disabled { opacity: .5; cursor: default; }
.composer-dialog .connector-remove { min-height: 44px; color: var(--red); }
.composer-dialog .connection-account-link { width: fit-content; min-height: 44px; margin: 0; padding: 12px 0; }
.media-help, .media-note, .media-estimate, .media-status { margin: 0 0 16px; }
.media-form { display: grid; gap: 16px; }
.media-field, .media-kinds { display: grid; gap: 8px; min-width: 0; font-size: 14px; font-weight: 600; }
.media-kinds { grid-template-columns: repeat(3, minmax(0, 1fr)); border: 0; margin: 0; padding: 0; }
.media-kinds legend { margin-bottom: 8px; }
.media-choice { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 8px; border: 1px solid var(--line); border-radius: 11px; font-weight: 500; cursor: pointer; }
.media-type-icon { display: flex; flex: none; width: 20px; height: 20px; }
.media-type-icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.media-choice:has(:checked) { border-color: var(--ink); background: var(--surface-soft); }
.media-choice:has(:disabled) { opacity: .5; cursor: default; }
.media-choice input { width: 16px; height: 16px; margin: 0; accent-color: var(--ink); }
.media-form textarea { min-height: 104px; resize: vertical; font-weight: 400; }
.media-estimate { margin: 0; padding: 12px; border-radius: 11px; background: var(--surface-soft); }
.media-note { margin: 0; font-size: 12px; }
@media (max-width: 820px) {
  .composer-dialog { inset: auto 0 calc(100dvh - var(--dialog-viewport-top, 0px) - var(--dialog-viewport-height, 100dvh)); width: 100%; max-height: calc(var(--dialog-viewport-height, 100dvh) - max(12px, env(safe-area-inset-top))); margin: 0; border-radius: 22px 22px 0 0; }
  .composer-dialog-header { padding: 16px 18px 12px; }
  .composer-dialog-body { padding: 0 18px max(24px, env(safe-area-inset-bottom)); }
  .media-choice { display: grid; grid-template-columns: auto auto; justify-items: center; gap: 6px; }
  .media-choice-caption { grid-column: 1 / -1; text-align: center; }
}

#composer-add { min-width: 44px; min-height: 44px; }
.composer-add-menu { position: fixed; inset: auto; margin: 0; box-sizing: border-box; width: 260px; max-width: calc(100vw - 24px); overflow-y: auto; padding: 8px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); color: var(--ink); box-shadow: var(--shadow-md); z-index: 70; }
.composer-add-menu:not([open]) { display: none; }
.composer-add-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-left: 10px; }
.composer-add-header h2 { margin: 0; font-size: 16px; }
#composer-add-close { flex: none; width: 44px; height: 44px; border: 0; border-radius: 10px; background: transparent; color: inherit; font: inherit; font-size: 24px; cursor: pointer; }
.composer-add-items { display: grid; gap: 2px; }
.composer-add-item { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 44px; padding: 10px; border: 0; border-radius: 10px; background: transparent; color: inherit; text-align: left; font: inherit; cursor: pointer; }
.composer-add-item svg { flex: none; width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.composer-add-item:hover, #composer-add-close:hover { background: var(--hover); }
.composer-add-item:disabled { opacity: .45; cursor: default; }
.composer-add-menu button:focus-visible { outline: 2px solid var(--ink); outline-offset: -2px; }
@media (max-width: 820px) {
  .composer-add-menu { max-width: none; padding: 12px 12px max(16px, env(safe-area-inset-bottom)); border-radius: 22px 22px 0 0; }
  .composer-add-menu::backdrop { background: var(--backdrop); }
  .composer-add-item { min-height: 48px; }
}

.media-field-help { margin: 8px 0 0; color: var(--muted); font-size: 12px; font-weight: 400; line-height: 1.5; }

.voice-style-fields { display: grid; gap: 12px; min-width: 0; margin: 0; padding: 16px; border: 1px solid var(--line); border-radius: 12px; }
.voice-style-fields legend { font-size: 14px; font-weight: 600; }
.voice-style-fields[hidden] { display: none; }
.voice-style-fields audio { width: 100%; min-width: 0; }
.voice-style-fields [hidden] { display: none; }

.media-mode-chip { display: flex; justify-content: center; align-items: center; width: fit-content; max-width: 100%; margin: 0 auto 10px; border: 1px solid var(--line-strong); border-radius: 12px; background: var(--surface); }
.media-mode-chip[hidden] { display: none; }
.media-mode-edit, .media-mode-remove { min-height: 44px; padding: 8px 12px; border: 0; background: transparent; color: var(--ink); font: inherit; cursor: pointer; }
.media-mode-remove { min-width: 44px; font-size: 22px; }
.media-mode-edit:hover, .media-mode-remove:hover { background: var(--hover); border-radius: 12px; }
.media-job-card { width: min(100%, 620px); box-sizing: border-box; padding: 18px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); }
.media-job-heading { margin: 0 0 8px; font-size: 17px; }
.media-job-status { margin: 8px 0; font-size: 14px; }
.media-job-preview { min-width: 0; }
.media-job-preview img, .media-job-preview video { display: block; max-width: 100%; max-height: 480px; border-radius: 10px; }
.media-job-preview audio { max-width: 100%; }
.media-job-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 12px; }
.media-job-actions [hidden], .media-job-cancellation[hidden] { display: none; }
.media-job-download { color: inherit; }
.media-job-cancellation { display: block; margin-top: 12px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.composer[data-media-mode="true"] > .model-unavailable { display: none; }
@media (max-width: 820px) { .media-job-card { padding: 14px; } }

#composer #create-media { min-width: 44px; min-height: 44px; }

.composer[data-media-mode="true"] .composer-middle, .composer[data-media-mode="true"] #skill-list, .composer[data-media-mode="true"] #skill-menu { display: none !important; }

.media-mode-edit { display: inline-flex; align-items: center; gap: 8px; }

.sidebar > :not(.sidebar-scroll) { flex-shrink: 0; }
.sidebar-scroll { --sidebar-section-height: 36px; flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.sidebar-scroll-content { display: flex; flex-direction: column; padding-top: 12px; }
.sidebar-scroll-content > * { flex-shrink: 0; }
.sidebar-spacer { height: var(--sidebar-spacer-height, 0px); }
.chat-search-panel > input::placeholder { color: var(--muted); opacity: 1; }
.chat-search-panel > input:focus-visible, .chat-search-panel > select:focus-visible { outline: 2px solid var(--green); outline-offset: 2px; }
@media (min-width: 821px) {
  .nav-is-collapsed .sidebar-scroll-content { height: 100%; padding-top: 0; }
  .nav-is-collapsed .sidebar-spacer { display: none; }
}

.chat-list-heading { display: flex; align-items: center; gap: 2px; }
.chat-list-heading .sidebar-section-toggle { flex: 1; min-height: var(--sidebar-section-height); }
.sidebar .chat-list-heading > .chat-list-menu-trigger { width: var(--sidebar-section-height); height: var(--sidebar-section-height); }
.chat-list-menu-trigger { width: 44px; height: 44px; flex: none; display: inline-grid; place-items: center; padding: 0; border: 0; border-radius: 8px; background: transparent; color: inherit; cursor: pointer; }
.chat-list-menu-trigger:hover, .chat-list-menu-trigger:focus-visible, .chat-list-menu-trigger[aria-expanded="true"] { background: var(--hover); color: var(--ink); }
.chat-list-menu-trigger svg { width: 18px; height: 18px; fill: currentColor; }
.project-chats-heading, .chat-group-header { display: flex; align-items: center; min-height: 28px; gap: 4px; color: var(--subtle); font-size: 12px; font-weight: 650; }
.project-chats-heading { padding: 2px 0 2px 38px; }
.new-project-chat { width: calc(100% - 28px); margin: 4px 0 8px 28px; }
.chat-group-header { padding: 4px 2px; }
.project-nav-group .chat-group-header { padding-left: 38px; }
.project-chats-heading > span, .chat-group-header > span { min-width: 0; flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.project-chat-row { margin: 0; width: 100%; }
.project-chat-row .history-chat { padding-left: 38px; font-size: inherit; }
.project-chat-row .history-chat::before { content: none; }
.unread-pill { flex: none; min-width: 18px; height: 18px; margin-left: auto; display: inline-grid; place-items: center; padding: 0 5px; border-radius: 999px; background: var(--action-bg); color: var(--on-solid); font-size: 11px; font-weight: 700; line-height: 1; }
.unread-dot { display: inline-block; width: 8px; height: 8px; flex: none; border-radius: 999px; background: var(--action-bg); }
.unread-dot[hidden] { display: none; }
.sidebar-section-toggle .unread-dot, .project-link .unread-dot { flex: none; }
.sidebar-section-toggle[aria-expanded="true"] .unread-dot, .project-link[aria-expanded="true"] .unread-dot { display: none; }
.collapsed-nav-count.has-unread { background: var(--action-bg); color: var(--on-solid); }
.chat-list-menu { position: fixed; z-index: 80; width: min(280px, calc(100vw - 16px)); max-height: 70vh; overflow: auto; }
.chat-list-menu-label { padding: 6px 9px 2px; color: var(--subtle); font-size: 11px; font-weight: 650; }
.chat-list-menu > [role="group"] + [role="group"] { margin-top: 6px; padding-top: 6px; border-top: 1px solid var(--line); }
.chat-list-menu-separator { height: 1px; margin: 6px 0; background: var(--line); }
.chat-list-menu .history-menu-item[aria-checked] { position: relative; padding-right: 36px; }
.chat-list-menu .history-menu-item[aria-checked="true"]::after { content: ""; position: absolute; right: 15px; top: 50%; width: 6px; height: 11px; border: solid var(--green); border-width: 0 2px 2px 0; transform: translateY(-65%) rotate(45deg); }
.chat-list-menu .history-menu-item:disabled { color: var(--muted); background: transparent; cursor: default; }
.chat-list-menu .history-menu-item[aria-haspopup="menu"]::after { content: ""; flex: none; width: 6px; height: 6px; margin-left: auto; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(-45deg); }
.project-chat-toolbar { display: flex; align-items: flex-end; gap: 12px; margin: 24px 0 0; }
.project-chat-search-field { display: grid; gap: 8px; flex: 1; min-width: 0; max-width: 440px; }
.project-chat-search-field label { color: var(--muted); font-size: 13px; font-weight: 650; }
.project-chat-search-control { position: relative; }
.project-chat-search-control svg { position: absolute; top: 13px; left: 12px; width: 18px; height: 18px; fill: none; stroke: var(--muted); stroke-width: 1.7; stroke-linecap: round; pointer-events: none; }
.project-chat-search { box-sizing: border-box; width: 100%; min-width: 0; min-height: 44px; padding: 8px 10px 8px 38px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); color: var(--ink); font: inherit; }
.project-chat-search::placeholder { color: var(--muted); opacity: 1; }
.project-chat-toolbar > .chat-list-menu-trigger { display: inline-flex; align-items: center; justify-content: center; gap: 6px; width: auto; margin-left: auto; padding: 0 10px; border: 1px solid var(--line); font: inherit; font-size: 13px; font-weight: 650; }
.project-home-group { margin: 8px 0; }
.project-home-chat-item { gap: 8px; }
.project-home-chat-item > .project-home-chat-row { flex: 1; min-width: 0; }
.project-home-group h3, .project-home-group .chat-group-header { margin: 0 0 4px; }
@media (max-width: 820px) {
  .sidebar-scroll { --sidebar-section-height: 44px; }
  .chat-search-panel > input, .chat-search-panel > select { min-height: 44px; font-size: 16px; }
  .chat-search-panel > label { min-height: 44px; font-size: 14px; }
  .history-row .history-menu-trigger { display: inline-grid; opacity: 1; width: 44px; height: 44px; }
  .chat-list-menu .history-menu-item, .history-menu .history-menu-item { min-height: 44px; }
}

.project-home-empty .project-empty-new-chat { color: var(--accent); text-underline-offset: 3px; }

.chat-list-menu.chat-view-menu { padding: 10px; border-radius: 18px; max-height: min(720px, calc(100dvh - 16px)); }
.chat-view-header { padding: 10px 10px 15px; border-bottom: 1px solid var(--line); margin-bottom: 10px; }
.chat-view-header .chat-view-title { margin: 0 0 5px; font-family: var(--font-serif); font-size: 23px; font-weight: 500; line-height: 1.2; letter-spacing: -.025em; }
.chat-view-header .chat-view-summary { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.chat-view-menu .chat-list-menu-label { padding: 6px 12px; color: var(--muted); font-size: 10px; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; }
.chat-view-menu .history-menu-item { gap: 12px; min-height: 42px; padding: 9px 12px; border-radius: 10px; font-size: 13px; line-height: 1.4; }
.chat-view-icon { display: inline-flex; align-items: center; flex: none; color: var(--muted); }
.chat-view-menu .history-menu-item svg { width: 19px; height: 19px; stroke-width: 1.6; }
.chat-view-menu .history-menu-item[aria-checked="true"] { background: var(--surface-tint); color: var(--green); font-weight: 600; }
.chat-view-menu .history-menu-item[aria-checked="true"] .chat-view-icon { color: var(--green); }
.chat-view-menu .history-menu-item:hover { background: var(--hover); }
.chat-view-menu .history-menu-item:focus-visible { outline: 2px solid var(--green); outline-offset: -2px; }
.chat-view-menu .history-menu-item:focus:not(:focus-visible) { outline: none; }
.chat-view-menu > [role="group"] + [role="group"] { margin-top: 10px; padding-top: 10px; }
.chat-view-menu .chat-list-menu-separator { margin: 10px 0; }
.chat-view-menu .chat-view-create { color: var(--green); font-weight: 600; }
.chat-view-menu .chat-view-create .chat-view-icon { color: inherit; }
@media (max-width: 820px) { .chat-view-menu .history-menu-item { min-height: 44px; } }

.chat-list-menu.chat-action-menu { padding: 8px; border-radius: 16px; }
.chat-action-header { margin-bottom: 6px; padding: 10px 12px 14px; border-bottom: 1px solid var(--line); }
.chat-action-header .chat-action-eyebrow { margin: 0 0 6px; color: var(--muted); font-size: 10px; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; }
.chat-action-header .chat-action-title { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; margin: 0; font-family: var(--font-serif); font-size: 21px; font-weight: 500; line-height: 1.3; letter-spacing: -.02em; }
.chat-action-menu .history-menu-item { gap: 12px; min-height: 44px; padding: 10px 12px; border-radius: 10px; font-size: 13px; line-height: 1.5; }
.chat-action-icon { display: inline-flex; flex: none; align-items: center; color: var(--muted); }
.chat-action-menu .history-menu-item svg { width: 19px; height: 19px; stroke-width: 1.6; }
.chat-action-menu .history-menu-item.is-destructive .chat-action-icon { color: inherit; }
.chat-action-menu .history-menu-item.is-destructive:hover { background: var(--red-soft); }
.chat-action-menu .history-menu-item:focus-visible { outline: 2px solid var(--green); outline-offset: -2px; }
.chat-action-menu .history-menu-item:focus:not(:focus-visible) { outline: none; }
.chat-action-menu .chat-list-menu-separator { margin: 7px 4px; }
.chat-action-menu .chat-list-menu-label { padding: 7px 12px 4px; color: var(--muted); font-size: 10px; font-weight: 650; letter-spacing: .07em; text-transform: uppercase; }
.chat-action-menu .history-menu-item[aria-checked="true"] { background: var(--surface-tint); color: var(--green); }
.chat-action-menu .history-menu-item[aria-checked="true"] .chat-action-icon { color: inherit; }

.pinned-chats { height: 100%; min-height: 0; padding: 0 12px; display: flex; flex-direction: column; }
.pinned-chats[hidden] { display: none; }
.pinned-chats > .chat-list-heading { flex: none; }
.pinned-heading { flex: 1; padding: 4px 2px; color: var(--muted); font-size: 12px; font-weight: 650; }
.pinned-chat-list { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior-y: contain; }
.chat-pin { flex: none; width: 30px; height: 30px; display: inline-grid; place-items: center; border: 0; border-radius: 7px; padding: 0; background: transparent; color: inherit; cursor: pointer; opacity: 0; }
.chat-pin svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.chat-pin[aria-pressed="true"] svg { fill: currentColor; }
.history-row:hover .chat-pin, .history-row:focus-within .chat-pin { opacity: .72; }
.chat-pin:hover, .chat-pin:focus-visible { opacity: 1; background: var(--surface); }
.chat-pin:focus-visible { outline: 2px solid var(--green); outline-offset: -2px; }
.chat-pin:disabled { cursor: progress; }
@media (max-width: 820px), (hover: none) { .chat-pin { opacity: 1; width: 44px; height: 44px; } }

/* The visitor page scrolls independently of the authenticated chat grid. */
.visitor-home[hidden] { display: none; }
.visitor-pending .conversation, .visitor-pending #composer { visibility: hidden; }
.visitor-home-active { --visitor-blue: #0864ce; --visitor-violet: #7250c7; --visitor-soft-blue: #eaf3ff; --visitor-soft-violet: #f0ebfc; --visitor-soft-peach: #fff0e5; }
.visitor-home-active .chat-shell { display: block; height: 100dvh; overflow-y: auto; overflow-x: hidden; background: var(--surface); overscroll-behavior-y: contain; }
.visitor-home-active .chat-shell > .conversation, .visitor-home-active .chat-header, .visitor-home-active #profile-button { display: none; }
.visitor-home { min-height: 100%; position: relative; isolation: isolate; padding-bottom: max(32px, env(safe-area-inset-bottom)); }
.visitor-home::before { position: absolute; z-index: -1; inset: 0 0 auto; height: 760px; pointer-events: none; content: ""; background: radial-gradient(ellipse at 22% 24%, #c9eaff50, transparent 45%), radial-gradient(ellipse at 81% 35%, #e7d9ff48, transparent 44%), linear-gradient(180deg, #fafaf8, transparent 80%); }
.visitor-header { max-width: 1250px; height: 80px; padding: 0 40px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.visitor-header .visitor-wordmark { display: inline-block; color: var(--ink); font: 27px var(--font-logo); letter-spacing: -.055em; text-decoration: none; }
.visitor-wordmark span { color: var(--logo-accent); font-weight: 700; }
.visitor-header-actions { display: flex; align-items: center; gap: 10px; }
.visitor-home button, .visitor-location-dialog button { font: inherit; cursor: pointer; }
.visitor-home button:focus-visible, .visitor-home a:focus-visible, .visitor-location-dialog button:focus-visible { outline: 3px solid var(--visitor-blue, #0864ce); outline-offset: 4px; }
.visitor-login { min-height: 44px; padding: 10px 18px; background: transparent; border: 0; border-radius: 12px; font-size: 14px !important; font-weight: 600 !important; }
.visitor-login:hover { background: var(--hover); }
.visitor-primary { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 12px 23px; border: 1px solid transparent; border-radius: 12px; background: var(--visitor-blue); color: #fff; font-size: 14px !important; font-weight: 600 !important; box-shadow: 0 4px 12px #0864ce18; }
.visitor-primary:hover { background: #0758b6; }
.visitor-content { width: min(1120px, calc(100% - 80px)); margin: 0 auto; }
.visitor-hero { padding: clamp(36px, 6vh, 70px) 0 28px; text-align: center; position: relative; }
.visitor-hero::before, .visitor-hero::after { content: ""; width: 190px; height: 105px; border: 1px solid #0864ce14; border-radius: 50%; position: absolute; top: 45%; pointer-events: none; transform: rotate(-30deg); }
.visitor-hero::before { left: -80px; }.visitor-hero::after { right: -80px; transform: rotate(30deg); border-color: #7250c71c; }
.visitor-eyebrow { display: inline-flex; align-items: center; justify-content: center; gap: 8px; margin: 0 0 24px; color: var(--visitor-blue); font-size: 12px; letter-spacing: .03em; font-weight: 600; }
.visitor-eyebrow svg { width: 17px; height: 17px; }
.visitor-heading { max-width: 100%; margin: 0; color: var(--ink); font: 600 clamp(56px, 5.5vw, 72px)/1.08 var(--font-sans); letter-spacing: -.055em; overflow-wrap: anywhere; text-wrap: balance; }
.visitor-city { color: var(--visitor-blue); }
.visitor-location { min-height: 44px; display: inline-block; margin: 0; padding: 8px 4px; color: var(--muted); background: transparent; border: 0; font-size: 12px !important; text-decoration: underline; text-underline-offset: 4px; }
.visitor-location-controls { margin: 10px auto 0; max-width: 780px; color: var(--muted); font-size: 12px; }
.visitor-location-actions, .visitor-location-chosen { display: flex; align-items: center; justify-content: center; gap: 8px; }
.visitor-location-actions[hidden], .visitor-location-chosen[hidden] { display: none; }
.visitor-location-address { min-width: 0; overflow-wrap: anywhere; line-height: 1.6; }
.visitor-location-clear { flex: none; width: 44px; height: 44px; border: 0; border-radius: 12px; background: transparent; color: var(--muted); font-size: 22px !important; }
.visitor-location-clear:hover { background: var(--hover); }
.visitor-location-status { margin: 4px 0 0; line-height: 1.6; }
.visitor-location-status:empty { display: none; }
.visitor-location:disabled { cursor: wait; opacity: .65; }
.visitor-location:hover { color: var(--visitor-blue); }
.visitor-subtitle { margin: 11px auto 0; max-width: 570px; color: var(--muted); font-size: 16px; line-height: 1.6; text-wrap: balance; }
.visitor-composer-slot { position: relative; max-width: 780px; margin: auto; }
.visitor-composer-slot::before { content: ""; position: absolute; inset: -1px; border-radius: 25px; background: linear-gradient(110deg, #67b8ff70, #a290ee70 65%, #ffb7c050); box-shadow: 0 18px 60px #416ab71a; pointer-events: none; }
.visitor-home .composer { width: 100%; padding: 0; margin: 0; position: relative; top: auto; transform: none; }
.visitor-home .composer-box { padding: 20px; border-color: transparent; background: var(--surface); border-radius: 24px; box-shadow: 0 8px 26px #25446709; }
.visitor-home .composer-box:focus-within { box-shadow: 0 0 0 2px var(--visitor-blue), 0 8px 30px #0864ce15; }
.visitor-home #message { min-height: 64px; padding: 0 2px 12px; font-size: 17px; line-height: 1.5; background: transparent; color: var(--ink); }
.visitor-home #message::placeholder { color: var(--muted); opacity: 1; }
.visitor-home .composer-tools { justify-content: flex-end; }
.visitor-home .composer-tools > :not(.composer-actions), .visitor-home #voice-clear, .visitor-home #composer-note { display: none; }
.visitor-home #send { display: inline-flex; align-items: center; justify-content: center; gap: 14px; width: auto; height: auto; min-height: 44px; padding: 12px 18px; border-radius: 12px; background: var(--visitor-blue); color: #fff; font-size: 14px; font-weight: 600; }
.visitor-home #send:hover { background: #0758b6; }
.visitor-home #send svg { width: 18px; height: 18px; }
.visitor-blurb { margin: 14px 0 0; text-align: center; color: var(--muted); font-size: 12px; line-height: 1.6; }
.visitor-storage { max-width: 780px; margin: 8px auto; color: var(--red); font-size: 13px; text-align: center; }
.visitor-storage:empty { display: none; }
.visitor-discard { display: block; margin: 0 auto; min-height: 44px; padding: 8px; border: 0; background: transparent; font-size: 12px !important; color: var(--muted); text-decoration: underline; }
.visitor-discard[hidden] { display: none; }
.visitor-task-intro { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 48px 0 16px; }
.visitor-task-intro h2 { font-size: 14px; font-weight: 600; letter-spacing: -.01em; margin: 0; }
.visitor-task-intro > span { color: var(--muted); font-size: 11px; }
.visitor-tasks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.visitor-task { position: relative; min-width: 0; display: flex; flex-direction: column; align-items: stretch; overflow: hidden; padding: 12px 22px 24px; border: 1px solid #0864ce0a; border-radius: 20px; text-align: left; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.visitor-task-day { background: var(--visitor-soft-blue); color: #2268bd; }.visitor-task-food { background: var(--visitor-soft-violet); color: #7957b5; }.visitor-task-explore { background: var(--visitor-soft-peach); color: #b7602b; }
.visitor-task:hover, .visitor-task:focus-visible { transform: translateY(-4px); border-color: currentColor; box-shadow: 0 12px 30px #2333610d; }
.visitor-task-art { display: block; height: 140px; width: 100%; }
.visitor-art { display: block; width: 100%; height: 100%; fill: none; stroke: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.visitor-task-copy { display: flex; flex-direction: column; gap: 8px; padding-right: 18px; }
.visitor-task-copy strong { color: var(--ink); font-size: 16px; line-height: 1.4; letter-spacing: -.025em; font-weight: 600; overflow-wrap: anywhere; }
.visitor-task-copy > span { color: #505665; font-size: 12px; line-height: 1.6; }
.visitor-task-arrow { position: absolute; right: 17px; bottom: 23px; display: grid; place-items: center; width: 26px; height: 26px; border: 1px solid currentColor; border-radius: 50%; }
.visitor-task-arrow svg { width: 15px; height: 15px; }
.visitor-benefits { margin-top: 58px; padding-top: 42px; border-top: 1px solid var(--line); }
.visitor-benefit-eyebrow { margin: 0 0 12px; color: var(--visitor-blue); font-size: 10px; font-weight: 650; letter-spacing: .16em; }
.visitor-benefits > h2 { margin: 0; font-size: clamp(25px, 3vw, 34px); font-weight: 600; letter-spacing: -.04em; line-height: 1.2; }
.visitor-benefit-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; margin-top: 30px; }
.visitor-benefit-grid article { display: flex; align-items: flex-start; gap: 12px; }
.visitor-benefit-icon { display: grid; place-items: center; width: 36px; height: 36px; flex: none; color: var(--visitor-blue); background: var(--visitor-soft-blue); border-radius: 11px; }
.visitor-benefit-icon svg { width: 20px; height: 20px; }
.visitor-benefit-grid h3 { font-size: 13px; margin: 0 0 9px; font-weight: 600; line-height: 1.5; }
.visitor-benefit-grid p { font-size: 12px; line-height: 1.7; color: var(--muted); margin: 0; }
.visitor-footer { text-align: center; margin-top: 32px; }.visitor-footer p { color: var(--muted); font-size: 11px; margin: 12px 0 0; }
.visitor-location-dialog { width: min(500px, calc(100% - 32px)); max-height: calc(100dvh - 32px); overflow: auto; padding: 24px; border: 1px solid var(--line); border-radius: 24px; background: var(--surface); color: var(--ink); box-shadow: var(--shadow-md); }
.visitor-location-dialog::backdrop { background: var(--backdrop); backdrop-filter: blur(5px); }
.visitor-location-dialog > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.visitor-location-dialog h2 { margin: 0; font-size: 24px; letter-spacing: -.03em; }.visitor-location-dialog > p { font-size: 14px; line-height: 1.6; color: var(--muted); }
.visitor-dialog-close { width: 44px; height: 44px; flex: none; background: var(--surface-soft); border: 0; border-radius: 12px; font-size: 24px !important; }
.visitor-location-dialog .web-place-search { max-width: 100%; }.visitor-location-dialog .web-place-results { position: relative; top: auto; margin-top: 8px; }
@keyframes visitor-enter { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.visitor-hero, .visitor-composer-slot, .visitor-tasks { animation: visitor-enter .4s ease both; }
:root[data-theme="dark"] .visitor-home-active { --visitor-blue: #88bdff; --visitor-soft-blue: #24364b; --visitor-soft-violet: #332c49; --visitor-soft-peach: #433126; }
:root[data-theme="dark"] .visitor-home::before { background: radial-gradient(ellipse at 22% 24%, #386dab22, transparent 45%), radial-gradient(ellipse at 81% 35%, #7755aa22, transparent 44%); }
:root[data-theme="dark"] .visitor-primary, :root[data-theme="dark"] .visitor-home #send { background: #1a64c4; color: #fff; }
:root[data-theme="dark"] .visitor-task-day { color: #9ac8ff; }:root[data-theme="dark"] .visitor-task-food { color: #c2a8ff; }:root[data-theme="dark"] .visitor-task-explore { color: #efb083; }
:root[data-theme="dark"] .visitor-task-copy > span { color: #c4c8d0; }
@media (max-width: 1100px) and (min-width: 821px) { .visitor-task { padding-inline: 16px; }.visitor-task-copy strong { font-size: 15px; }.visitor-task-copy > span { max-width: 95%; }.visitor-hero::before, .visitor-hero::after { display: none; } }
@media (min-width: 821px) {
  .visitor-header[data-signup-paused="true"] .visitor-login { display: none; }
}
@media (max-width: 820px) {
  .visitor-home-active .chat-shell { margin-left: 0; }.visitor-home-active .nav-open { z-index: 35; top: max(6px, env(safe-area-inset-top)); left: 10px; background: transparent; }
  .visitor-header { height: calc(56px + env(safe-area-inset-top)); padding: env(safe-area-inset-top) 12px 0 59px; }
  .visitor-header .visitor-wordmark { font-size: 23px; }.visitor-header-register { display: none; }.visitor-login { padding: 10px 12px; }
  .visitor-content { width: calc(100% - 40px); }.visitor-hero { padding: 36px 0 24px; }
  .visitor-hero::before, .visitor-hero::after { display: none; }.visitor-eyebrow { max-width: 290px; font-size: 10px; line-height: 1.5; gap: 6px; margin-bottom: 20px; }.visitor-eyebrow svg { width: 15px; height: 15px; flex: none; }
  .visitor-heading { font-size: clamp(36px, 8.6vw, 44px); letter-spacing: -.055em; }.visitor-city { display: block; }
  .visitor-location-controls { margin-top: 5px; }.visitor-subtitle { margin-top: 7px; max-width: 330px; font-size: 14px; line-height: 1.6; }
  .visitor-home .composer-box { padding: 18px; border-radius: 22px; }.visitor-home #message { min-height: 112px; font-size: 16px; }
  .visitor-home .composer-actions { width: 100%; }.visitor-home #send { width: 100%; min-height: 46px; }.visitor-home .composer-tools { gap: 0; }
  .visitor-blurb { margin: 13px auto 0; max-width: 290px; font-size: 11px; }.visitor-task-intro { margin-top: 32px; margin-bottom: 14px; }.visitor-task-intro h2 { font-size: 13px; }.visitor-task-intro > span { display: none; }
  .visitor-tasks { grid-template-columns: 1fr; gap: 12px; }.visitor-task { flex-direction: row; align-items: center; min-height: 112px; padding: 14px 34px 14px 4px; border-radius: 17px; }
  .visitor-task-art { width: 94px; height: 78px; flex: none; }.visitor-task-copy { gap: 5px; padding-right: 0; }.visitor-task-copy strong { font-size: 14px; }.visitor-task-copy > span { font-size: 11px; }.visitor-task-arrow { right: 10px; bottom: auto; width: 22px; height: 22px; }.visitor-task-arrow svg { width: 13px; height: 13px; }
  .visitor-benefits { margin-top: 36px; padding-top: 30px; }.visitor-benefit-eyebrow { font-size: 9px; }.visitor-benefits > h2 { max-width: 300px; font-size: 28px; line-height: 1.16; }
  .visitor-benefit-grid { grid-template-columns: 1fr; gap: 23px; margin-top: 26px; }.visitor-benefit-grid h3 { font-size: 14px; margin-bottom: 5px; }.visitor-benefit-grid p { font-size: 12px; }.visitor-benefit-icon { width: 38px; height: 38px; }
  .visitor-footer { margin-top: 28px; }.visitor-footer .visitor-primary { width: 100%; min-height: 46px; }.visitor-home { padding-bottom: max(30px, env(safe-area-inset-bottom)); }
  .visitor-location-dialog { padding: 18px; }.visitor-location-dialog h2 { font-size: 22px; }
}
@media (max-width: 359px) { .visitor-content { width: calc(100% - 32px); }.visitor-hero { padding-top: 24px; }.visitor-eyebrow { font-size: 9px; }.visitor-task-art { width: 78px; }.visitor-task-copy strong { font-size: 13px; } }
@media (prefers-reduced-motion: reduce) { .visitor-hero, .visitor-composer-slot, .visitor-tasks { animation: none; }.visitor-task { transition: none; }.visitor-task:hover { transform: none; } }

/* Free home extends the workspace; the authenticated composer remains intact. */
.free-home-active, .free-home-compact { --free-blue: #0864ce; --free-blue-soft: #eaf3ff; --free-lilac: #f0ebfc; --free-peach: #fff0e5; }
.free-home-active #chat-shell.chat-is-empty { overflow-y: auto; overflow-x: hidden; grid-template-rows: max(56px, env(safe-area-inset-top)) max-content max-content max-content; align-content: start; background-image: radial-gradient(ellipse at 18% 10%, #c9eaff45, transparent 45%), radial-gradient(ellipse at 85% 15%, #e7d9ff40, transparent 45%); background-size: 100% 650px; background-repeat: no-repeat; }
.free-home-active .chat-is-empty .conversation { display: block; grid-row: 2; overflow: visible; }
.free-home-active .chat-is-empty .empty-state { transform: none; padding: clamp(32px, 5vh, 58px) 0 25px; margin: 0 auto; width: min(960px, calc(100% - 64px)); }
.free-home-active #welcome-heading, .free-home-compact #welcome-heading { font-size: clamp(36px, 4vw, 54px); line-height: 1.12; letter-spacing: -.045em; text-wrap: balance; overflow-wrap: anywhere; }
.free-home-active .chat-is-empty .composer { grid-row: 3; top: auto; align-self: start; width: min(780px, calc(100% - 64px)); padding-bottom: 0; }
.free-home-active .composer-box { border-color: #a8c6e8; box-shadow: 0 10px 44px #285aa416; }
.free-home-active .composer-box:focus-within { border-color: var(--free-blue); }
.free-home-marketing { width: min(1120px, calc(100% - 64px)); min-width: 0; grid-column: 1; grid-row: 4; margin: 34px auto 0; padding-bottom: max(32px, env(safe-area-inset-bottom)); }
.free-home-marketing[hidden], .free-home-marketing [hidden], .free-home-interpretation[hidden] { display: none; }
.free-home-section-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.free-home-kicker { margin: 0 0 9px; font-size: 10px; font-weight: 650; letter-spacing: .13em; text-transform: uppercase; color: var(--free-blue); }
.free-home-section-header h2 { margin: 0; font-size: 25px; font-weight: 600; letter-spacing: -.035em; line-height: 1.2; }
.free-home-text-button, .free-home-reopen { min-height: 44px; padding: 8px 4px; flex: none; border: 0; background: transparent; color: var(--muted); font: 12px var(--font-sans); text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.free-home-text-button:hover, .free-home-reopen:hover { color: var(--free-blue); }
.free-home-discovery-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.free-home-collaborator { display: flex; align-items: center; gap: 14px; min-width: 0; min-height: 128px; padding: 16px; text-align: left; color: var(--free-blue); border: 1px solid var(--line); border-radius: 18px; background: var(--surface); cursor: pointer; font: inherit; transition: border-color .18s, transform .18s; }
.free-home-collaborator:hover { border-color: var(--free-blue); transform: translateY(-2px); }
.free-home-collaborator-art { display: block; width: 70px; height: 70px; flex: none; }
.free-home-avatar { display: block; width: 100%; height: 100%; stroke: none; }
.free-home-collaborator-copy { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.free-home-collaborator-copy strong { font-size: 14px; line-height: 1.35; color: var(--ink); font-weight: 600; }
.free-home-collaborator-copy > span { font-size: 11px; line-height: 1.6; color: var(--muted); }
.free-home-collaborator-copy small { color: var(--free-blue); font-size: 10px; font-weight: 600; }
.free-home-paid { margin-top: 36px; padding-top: 30px; border-top: 1px solid var(--line); }
.free-home-discovery[hidden] + .free-home-paid { margin-top: 0; padding-top: 0; border-top: 0; }
.free-home-intro { margin: 12px 0 0; font-size: 13px; line-height: 1.6; color: var(--muted); }
.free-home-paid-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.free-home-paid-card { position: relative; display: flex; flex-direction: column; align-items: stretch; min-width: 0; padding: 12px 22px 26px; border: 1px solid transparent; border-radius: 20px; text-decoration: none; transition: border-color .18s, transform .18s; }
.free-home-paid-card:hover { transform: translateY(-3px); border-color: currentColor; }
.free-home-team { color: #2268bd; background: var(--free-blue-soft); }.free-home-models { color: #7957b5; background: var(--free-lilac); }.free-home-work { color: #b7602b; background: var(--free-peach); }
.free-home-paid-art { height: 130px; display: block; }.free-home-art { display: block; width: 100%; height: 100%; stroke: none; }
.free-home-card-copy { display: flex; flex-direction: column; gap: 9px; padding-right: 14px; }.free-home-card-copy strong { color: var(--ink); font-size: 16px; font-weight: 600; line-height: 1.35; letter-spacing: -.025em; }.free-home-card-copy > span { color: #505665; font-size: 12px; line-height: 1.7; }
.free-home-card-arrow { position: absolute; bottom: 24px; right: 14px; width: 24px; height: 24px; display: grid; place-items: center; border: 1px solid currentColor; border-radius: 50%; }.free-home-card-arrow svg { width: 14px; height: 14px; }
.free-home-primary { min-height: 44px; display: inline-flex; justify-content: center; align-items: center; gap: 14px; padding: 12px 23px; border: 0; border-radius: 12px; background: #0864ce; color: #fff; font: 600 14px var(--font-sans); text-decoration: none; cursor: pointer; }.free-home-primary:hover { background: #0758b6; }.free-home-primary svg { width: 17px; height: 17px; }.free-home-primary:disabled { opacity: .65; cursor: wait; }
.free-home-footer { margin-top: 24px; text-align: center; }
.free-home-reopen { display: block; margin: 6px auto 0; }
.free-home-compact #chat-shell.chat-is-empty { overflow-y: auto; grid-template-rows: max(56px, env(safe-area-inset-top)) minmax(24px, 1fr) max-content max-content max-content minmax(24px, 1fr); }
.free-home-compact .chat-is-empty .conversation { grid-row: 3; display: block; overflow: visible; }
.free-home-compact .chat-is-empty .empty-state { transform: none; margin: 0 auto; padding: 0 0 24px; }
.free-home-compact .chat-is-empty .composer { grid-row: 4; top: 0; align-self: start; }
.free-home-compact .free-home-marketing { position: relative; width: min(760px, calc(100% - 64px)); grid-row: 5; align-self: start; margin: 8px auto 0; padding: 0; }
.free-home-interpretation { max-width: 600px; margin: 12px auto 0; font-size: 11px; line-height: 1.6; font-weight: 400; color: var(--muted); }
.free-home-marketing :is(button, a):focus-visible, .free-home-preview :is(button, a):focus-visible { outline: 3px solid var(--free-blue, #0864ce); outline-offset: 4px; }
.free-home-preview { width: min(540px, calc(100% - 32px)); max-height: calc(100dvh - 32px); overflow-y: auto; padding: 26px; border: 1px solid var(--line); border-radius: 24px; background: var(--surface); color: var(--ink); box-shadow: var(--shadow-md); }
.free-home-preview::backdrop { background: var(--backdrop); backdrop-filter: blur(5px); }.free-home-preview > header { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }.free-home-preview h2 { margin: 5px 0 0; font-size: 26px; font-weight: 600; letter-spacing: -.035em; overflow-wrap: anywhere; }
.free-home-preview-close { min-width: 44px; height: 44px; border: 0; border-radius: 12px; background: var(--surface-soft); color: var(--ink); font-size: 24px; cursor: pointer; }.free-home-preview-art { width: 100px; height: 100px; margin: 22px auto; color: #0864ce; }
.free-home-preview-purpose { font-size: 16px; line-height: 1.6; }.free-home-preview-summary, .free-home-preview li { color: var(--muted); font-size: 13px; line-height: 1.7; }.free-home-preview h3 { font-size: 14px; margin: 24px 0 12px; }.free-home-preview ul { padding-left: 20px; }.free-home-preview li + li { margin-top: 10px; }.free-home-preview > .free-home-primary { width: 100%; margin-top: 18px; }.free-home-preview-error { color: var(--red); font-size: 13px; line-height: 1.6; }.free-home-preview-error:empty { display: none; }
.free-home-preview-replacement { margin: 12px 0 0; color: var(--muted); font-size: 13px; line-height: 1.7; }
:root[data-theme="dark"] :is(.free-home-active, .free-home-compact) { --free-blue: #88bdff; --free-blue-soft: #24364b; --free-lilac: #332c49; --free-peach: #433126; }
:root[data-theme="dark"] .free-home-team { color: #9ac8ff; }:root[data-theme="dark"] .free-home-models { color: #c2a8ff; }:root[data-theme="dark"] .free-home-work { color: #efb083; }:root[data-theme="dark"] .free-home-card-copy > span { color: #c4c8d0; }:root[data-theme="dark"] .free-home-preview-art { color: #88bdff; }
:root[data-theme="dark"] .free-home-active #chat-shell.chat-is-empty { background-image: radial-gradient(ellipse at 18% 10%, #386dab22, transparent 45%), radial-gradient(ellipse at 85% 15%, #7755aa22, transparent 45%); }
@media (max-width: 1100px) and (min-width: 821px) { .free-home-collaborator { padding: 14px 12px; gap: 8px; }.free-home-collaborator-art { width: 46px; height: 46px; }.free-home-collaborator-copy strong { font-size: 13px; }.free-home-paid-card { padding-inline: 16px; } }
@media (max-width: 820px) {
  .free-home-active .chat-is-empty .empty-state { width: calc(100% - 40px); padding: 30px 0 24px; }.free-home-active #welcome-heading, .free-home-compact #welcome-heading { font-size: clamp(32px, 8vw, 42px); }
  .free-home-active .chat-is-empty .composer { width: calc(100% - 40px); }.free-home-active #message { min-height: 80px; }.free-home-marketing { width: calc(100% - 40px); margin-top: 30px; }
  .free-home-section-header { gap: 12px; flex-wrap: wrap; margin-bottom: 16px; }.free-home-section-header h2 { font-size: 24px; }.free-home-kicker { font-size: 9px; }.free-home-text-button { padding: 4px 0; min-height: 44px; }
  .free-home-discovery-grid, .free-home-paid-grid { grid-template-columns: 1fr; gap: 12px; }.free-home-collaborator { min-height: 106px; padding: 14px; gap: 14px; }.free-home-collaborator-art { width: 62px; height: 62px; }.free-home-collaborator-copy strong { font-size: 14px; }
  .free-home-paid { margin-top: 30px; padding-top: 26px; }.free-home-intro { margin-top: 10px; font-size: 13px; }.free-home-paid .free-home-section-header { gap: 4px; }
  .free-home-paid-card { flex-direction: row; align-items: center; min-height: 154px; padding: 17px 32px 17px 4px; }.free-home-paid-art { width: 94px; height: 100px; flex: none; }.free-home-card-copy { padding-right: 0; gap: 8px; }.free-home-card-copy strong { font-size: 15px; }.free-home-card-copy > span { font-size: 12px; line-height: 1.6; }.free-home-card-arrow { bottom: auto; right: 9px; width: 20px; height: 20px; }.free-home-card-arrow svg { width: 12px; height: 12px; }
  .free-home-footer .free-home-primary { width: 100%; }.free-home-footer p { padding-inline: 4px; }.free-home-interpretation { font-size: 10px; }.free-home-compact .free-home-marketing { width: calc(100% - 40px);  }
  .free-home-preview { padding: 20px; }.free-home-preview h2 { font-size: 23px; }
}
@media (max-width: 359px) { .free-home-marketing, .free-home-active .chat-is-empty .composer, .free-home-active .chat-is-empty .empty-state { width: calc(100% - 32px); }.free-home-paid-art { width: 74px; }.free-home-collaborator-art { width: 50px; height: 50px; }.free-home-card-copy strong { font-size: 14px; } }
@media (prefers-reduced-motion: reduce) { .free-home-collaborator, .free-home-paid-card { transition: none; }.free-home-collaborator:hover, .free-home-paid-card:hover { transform: none; } }

/* Reserve the collapsed discovery footprint before account/workspace initialization. */
:root { --home-discovery-button-height: 44px; --home-discovery-button-gap: 6px; --home-discovery-section-gap: 8px; }
#home-discovery-placeholder { display: none; }
body:has(#home-discovery-placeholder):not(:is(.free-home-active, .free-home-compact, .visitor-home-active, .onboarding-active)):not(:has(#composer[data-media-mode="true"])) .chat-is-empty > #home-discovery-placeholder { display: block; grid-column: 1; grid-row: 5; height: calc(var(--home-discovery-button-height) + var(--home-discovery-button-gap)); margin-top: var(--home-discovery-section-gap); pointer-events: none; }
/* Paid discovery has its own layout and preferences; Free remains independent. */
.paid-home-active #chat-shell.chat-is-empty { overflow-y: auto; overflow-x: hidden; grid-template-rows: max(56px, env(safe-area-inset-top)) max-content max-content max-content; align-content: start; background-image: radial-gradient(ellipse at 18% 10%, #c9eaff45, transparent 45%), radial-gradient(ellipse at 85% 15%, #e7d9ff40, transparent 45%); background-size: 100% 650px; background-repeat: no-repeat; }
.paid-home-active .chat-is-empty .conversation { display: block; grid-row: 2; overflow: visible; }
.paid-home-active .chat-is-empty .empty-state { transform: none; padding: clamp(32px, 5vh, 58px) 0 25px; margin: 0 auto; width: min(960px, calc(100% - 64px)); }
:is(.paid-home-active, .paid-home-compact, :where(body:has(#home-discovery-placeholder):not(:is(.free-home-active, .free-home-compact, .visitor-home-active, .onboarding-active)):not(:has(#composer[data-media-mode="true"])))) #welcome-heading { font-size: clamp(36px, 4vw, 54px); line-height: 1.12; letter-spacing: -.045em; text-wrap: balance; overflow-wrap: anywhere; }
.paid-home-active .chat-is-empty .composer { grid-row: 3; top: auto; align-self: start; width: min(780px, calc(100% - 64px)); padding-bottom: 0; }
.paid-home-active .composer-box { border-color: #a8c6e8; box-shadow: 0 10px 44px #285aa416; }
.paid-home { width: min(1120px, calc(100% - 64px)); min-width: 0; grid-column: 1; grid-row: 4; margin: 34px auto 0; padding-bottom: max(32px, env(safe-area-inset-bottom)); }
.paid-home [hidden] { display: none; }
.paid-home-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.paid-home-kicker { margin: 0 0 9px; font-size: 10px; font-weight: 650; letter-spacing: .13em; text-transform: uppercase; color: #0864ce; }
.paid-home-header h2 { margin: 0; font-size: 25px; font-weight: 600; letter-spacing: -.035em; line-height: 1.2; }
.paid-home-intro { margin: 12px 0 0; color: var(--muted); font-size: 13px; line-height: 1.7; }
.paid-home-toggle { min-height: var(--home-discovery-button-height); padding: 8px 4px; flex: none; border: 0; background: transparent; color: var(--muted); font: 12px var(--font-sans); text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.paid-home-reopen { display: block; margin: var(--home-discovery-button-gap) auto 0; }
.paid-home-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.paid-home-card { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; min-width: 0; padding: 22px; text-align: left; border: 1px solid var(--line); border-radius: 20px; background: var(--surface); font: inherit; cursor: pointer; transition: border-color .18s, transform .18s; }
.paid-home-card:hover { border-color: currentColor; transform: translateY(-3px); }
.paid-home-art { display: grid; place-items: center; width: 76px; height: 76px; flex: none; border-radius: 22px; background: #eaf3ff; }
.paid-home-art svg { display: block; width: 56px; height: 56px; }
.paid-home-card-copy { display: flex; flex-direction: column; gap: 9px; }
.paid-home-card-copy strong { color: var(--ink); font-size: 16px; line-height: 1.35; font-weight: 600; }
.paid-home-card-copy > span { color: var(--muted); font-size: 12px; line-height: 1.7; }
:is(.paid-home-collaborators, .paid-home-files, .paid-home-schedules) { color: #2268bd; }
:is(.paid-home-models, .paid-home-connectors, .paid-home-media) { color: #7957b5; }
:is(.paid-home-projects, .paid-home-skills) { color: #b7602b; }
:is(.paid-home-models, .paid-home-connectors, .paid-home-media) .paid-home-art, .paid-home-art:is(.paid-home-models, .paid-home-connectors, .paid-home-media) { background: #f0ebfc; }
:is(.paid-home-projects, .paid-home-skills) .paid-home-art, .paid-home-art:is(.paid-home-projects, .paid-home-skills) { background: #fff0e5; }
:is(.paid-home-compact, :where(body:has(#home-discovery-placeholder):not(:is(.free-home-active, .free-home-compact, .visitor-home-active, .onboarding-active)):not(:has(#composer[data-media-mode="true"])))) #chat-shell.chat-is-empty { overflow-y: auto; grid-template-rows: max(56px, env(safe-area-inset-top)) minmax(24px, 1fr) max-content max-content max-content minmax(24px, 1fr); }
:is(.paid-home-compact, :where(body:has(#home-discovery-placeholder):not(:is(.free-home-active, .free-home-compact, .visitor-home-active, .onboarding-active)):not(:has(#composer[data-media-mode="true"])))) .chat-is-empty .conversation { grid-row: 3; display: block; overflow: visible; }
:is(.paid-home-compact, :where(body:has(#home-discovery-placeholder):not(:is(.free-home-active, .free-home-compact, .visitor-home-active, .onboarding-active)):not(:has(#composer[data-media-mode="true"])))) .chat-is-empty .empty-state { transform: none; margin: 0 auto; padding: 0 0 24px; }
:is(.paid-home-compact, :where(body:has(#home-discovery-placeholder):not(:is(.free-home-active, .free-home-compact, .visitor-home-active, .onboarding-active)):not(:has(#composer[data-media-mode="true"])))) .chat-is-empty .composer { grid-row: 4; top: 0; align-self: start; }
.paid-home-compact .paid-home { width: min(760px, calc(100% - 64px)); grid-row: 5; align-self: start; margin: var(--home-discovery-section-gap) auto 0; padding: 0; }
.paid-home-preview { width: min(540px, calc(100% - 32px)); max-height: calc(100dvh - 32px); overflow-y: auto; padding: 26px; border: 1px solid var(--line); border-radius: 24px; background: var(--surface); color: var(--ink); box-shadow: var(--shadow-md); }
.paid-home-preview::backdrop { background: var(--backdrop); backdrop-filter: blur(5px); }
.paid-home-preview > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.paid-home-preview h2 { margin: 5px 0 0; font-size: 26px; line-height: 1.2; font-weight: 600; letter-spacing: -.035em; overflow-wrap: anywhere; }
.paid-home-close { min-width: 44px; height: 44px; border: 0; border-radius: 12px; background: var(--surface-soft); color: var(--ink); font-size: 24px; cursor: pointer; }
.paid-home-preview > .paid-home-art { margin: 22px auto; }
.paid-home-preview h3 { font-size: 14px; margin: 24px 0 12px; }
.paid-home-explanation { color: var(--muted); font-size: 14px; line-height: 1.75; }
.paid-home-explanation p { margin: 0 0 16px; }
.paid-home-launch { width: 100%; min-height: 44px; margin-top: 18px; padding: 12px 23px; border: 0; border-radius: 12px; background: #0864ce; color: #fff; font: 600 14px var(--font-sans); cursor: pointer; }
:is(.paid-home, .paid-home-preview) button:focus-visible { outline: 3px solid #0864ce; outline-offset: 4px; }
:root[data-theme="dark"] .paid-home-kicker { color: #88bdff; }
:root[data-theme="dark"] .paid-home-art { background: #24364b; }
:root[data-theme="dark"] :is(.paid-home-collaborators, .paid-home-files, .paid-home-schedules) { color: #9ac8ff; }
:root[data-theme="dark"] :is(.paid-home-models, .paid-home-connectors, .paid-home-media) { color: #c2a8ff; }
:root[data-theme="dark"] :is(.paid-home-projects, .paid-home-skills) { color: #efb083; }
:root[data-theme="dark"] :is(.paid-home-models, .paid-home-connectors, .paid-home-media) .paid-home-art, :root[data-theme="dark"] .paid-home-art:is(.paid-home-models, .paid-home-connectors, .paid-home-media) { background: #332c49; }
:root[data-theme="dark"] :is(.paid-home-projects, .paid-home-skills) .paid-home-art, :root[data-theme="dark"] .paid-home-art:is(.paid-home-projects, .paid-home-skills) { background: #433126; }
:root[data-theme="dark"] .paid-home-active #chat-shell.chat-is-empty { background-image: radial-gradient(ellipse at 18% 10%, #386dab22, transparent 45%), radial-gradient(ellipse at 85% 15%, #7755aa22, transparent 45%); }
@media (min-width: 601px) and (max-width: 1100px) { .paid-home-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 820px) {
  .paid-home-active .chat-is-empty .empty-state { width: calc(100% - 40px); padding: 30px 0 24px; }
  .paid-home-active .chat-is-empty .composer { width: calc(100% - 40px); }
  .paid-home, .paid-home-compact .paid-home { width: calc(100% - 40px); }
  .paid-home-header { flex-wrap: wrap; gap: 8px; }
}
@media (max-width: 600px) {
  .paid-home-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .paid-home-card { flex-direction: row; align-items: center; padding: 18px; gap: 14px; }
  .paid-home-art { width: 60px; height: 60px; border-radius: 18px; }.paid-home-art svg { width: 46px; height: 46px; }
  .paid-home-preview { padding: 20px; }
}
@media (prefers-reduced-motion: reduce) { .paid-home-card { transition: none; }.paid-home-card:hover { transform: none; } }

.model-browse { order: 1; min-height: 38px; border: 1px solid var(--line); border-radius: 10px; padding: 6px 10px; background: var(--surface); color: var(--ink); font: 500 14px/1.2 var(--font-sans); cursor: pointer; }
.model-dropdown-trigger { cursor: pointer; text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.model-dropdown { position: fixed; z-index: 60; display: flex; flex-direction: column; box-sizing: border-box; padding: 6px; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); color: var(--ink); box-shadow: var(--shadow-md); font: 500 14px/1.2 var(--font-sans); }
.model-dropdown[hidden] { display: none; }
.model-dropdown-list { min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.model-dropdown-choice, .model-dropdown-browse { width: 100%; min-height: 44px; padding: 10px; border: 0; border-radius: 8px; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.model-dropdown-choice { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.model-dropdown-label { min-width: 0; overflow-wrap: anywhere; }
.model-dropdown-label small { display: block; margin-top: 4px; color: var(--muted); font-size: 12px; font-weight: 400; line-height: 1.4; }
.model-dropdown-check { flex: none; }
.model-dropdown-choice:disabled { color: var(--muted); cursor: default; }
.model-dropdown-choice:not(:disabled):hover, .model-dropdown-browse:hover, .model-dropdown-choice[aria-checked="true"] { background: var(--hover); }
.model-dropdown-browse { flex: none; margin-top: 6px; border-top: 1px solid var(--line); border-radius: 0 0 8px 8px; }
.model-dropdown button:focus-visible { outline: 2px solid var(--ink); outline-offset: -2px; }
.model-dropdown-trigger:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
.model-unavailable { display: block; margin: 8px 0 0; color: var(--ink); font: 500 13px/1.45 var(--font-sans); text-align: start; overflow-wrap: anywhere; }
.model-unavailable strong, .model-unavailable span { display: block; }
.model-notice-action { min-height: 44px; max-width: 100%; padding: 4px 8px; border: 0; background: transparent; color: inherit; font: inherit; text-decoration: underline; cursor: pointer; }
.model-notice-action:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
.model-unavailable strong { font-weight: 500; }
.model-unavailable span { color: var(--muted); font-weight: 400; }
.composer > .model-unavailable { margin: 10px 0 0; text-align: center; }
.composer > .model-unavailable + .composer-note { margin-top: 4px; }
.chat-is-empty:has(.composer:not([data-media-mode="true"]) > .model-unavailable:not([hidden])) { grid-template-rows: max(56px, env(safe-area-inset-top)) minmax(0, 1fr) auto minmax(0, 1fr); }
.chat-is-empty:has(.composer:not([data-media-mode="true"]) > .model-unavailable:not([hidden])) .conversation { place-items: end center; padding-bottom: 16px; }
.chat-is-empty:has(.composer:not([data-media-mode="true"]) > .model-unavailable:not([hidden])) .empty-state { transform: none; }
.chat-is-empty:has(.composer:not([data-media-mode="true"]) > .model-unavailable:not([hidden])) > .composer { grid-row: 3; top: 0; align-self: start; }
.model-unavailable[hidden] { display: none; }
.model-browser { padding: 0; overflow: hidden; }
.model-browser[open] { display: flex; flex-direction: column; }
.model-browser::backdrop { background: var(--backdrop); }
.model-browser-filters { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.model-browser-filters input { grid-column: 1 / -1; }
.model-browser-filters input, .model-browser-filters select { width: 100%; min-width: 0; min-height: 44px; padding: 10px 12px; border: 1px solid var(--line-strong); border-radius: var(--radius-sm); background-color: var(--surface); color: var(--ink); font: inherit; }
.model-browser-filters select { padding-right: 32px; }
.model-browser-list { min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 16px 24px; }
.model-browser-results { display: grid; gap: 10px; }
.model-card { border: 1px solid var(--line); border-radius: var(--radius-md); overflow-wrap: anywhere; }
.model-card:has(.model-choice:hover) { border-color: var(--line-strong); background: var(--surface-soft); }
.model-card.is-selected { border-color: var(--green); background: var(--green-soft); }
.model-choice { display: grid; gap: 6px; width: 100%; min-height: 44px; border: 0; border-radius: var(--radius-md); padding: 16px; text-align: left; background: transparent; color: var(--ink); font: inherit; cursor: pointer; }
.model-choice-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.model-name { font-size: 16px; font-weight: 650; }
.model-selected-label, .model-cost-band { flex: none; padding: 3px 8px; border-radius: 6px; background: var(--surface-soft); color: var(--muted); font-size: 11px; font-weight: 500; }
.model-selected-label { background: var(--surface); color: var(--green); }
.model-description { color: var(--muted); font-size: 13px; line-height: 1.5; }
.model-capabilities { font-size: 12px; color: var(--muted); }
.model-card p, .model-health p { margin: 6px 0; font-size: 13px; line-height: 1.5; }
.model-card .model-auto-note { margin: -2px 16px 16px; color: var(--muted); font-size: 12px; }
.model-card .muted { color: var(--muted); }
.model-health { font-size: 13px; overflow-wrap: anywhere; }
.model-card > .model-health { margin: 0 16px; border-top: 1px solid var(--line); }
.model-health summary { width: fit-content; min-height: 44px; display: list-item; align-content: center; color: var(--muted); cursor: pointer; }
.model-details-body { padding-bottom: 16px; }
.model-slug { display: block; margin-top: 10px; color: var(--muted); }
.model-current:empty { display: none; }
.model-current:not(:empty) { margin-bottom: 12px; padding: 12px 16px; border: 1px solid var(--line); border-radius: var(--radius-md); }
.model-browser-note { flex: none; margin: 0; padding: 14px 24px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; line-height: 1.5; }
.model-browser :focus-visible, .model-browse:focus-visible { outline: 2px solid var(--green); outline-offset: 2px; }
.model-choice:focus-visible { outline-offset: -3px; }
@media (max-width: 600px) {
  .model-browser-list { padding: 12px 18px; }
  .model-browser-note { padding: 12px 18px; }
  .model-browser-filters input, .model-browser-filters select { font-size: 16px; }
}

.recovery-notice { border-left: 3px solid var(--line); padding: 8px 12px; margin: 12px 0; font-size: 14px; overflow-wrap: anywhere; }
.recovery-inspect { width: auto; min-height: 44px; padding: 8px 0; border: 0; background: transparent; color: var(--ink); font: inherit; text-align: left; text-decoration: underline; cursor: pointer; }
.recovery-inspect:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }

/* Shared presentation for Skills, Connectors, Models and Schedules. */
.catalog-dialog { width: min(760px, calc(100vw - 40px)); height: auto; max-height: min(780px, calc(100dvh - 48px)); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); color: var(--ink); box-shadow: var(--shadow-md); font: 14px/1.5 var(--font-sans); }
.connector-modal.catalog-dialog { padding: 24px; }
.connector-modal.catalog-dialog.is-catalog { display: flex; flex-direction: column; overflow: hidden; padding: 0; }
.connector-modal-backdrop { background: var(--backdrop); }
.catalog-header { flex: none; display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 24px 24px 20px; }
.catalog-heading { min-width: 0; }
.catalog-heading :is(h1, h2) { margin: 0; font: 500 30px/1.15 var(--font-serif); overflow-wrap: anywhere; }
.catalog-heading p { margin: 8px 0 0; color: var(--muted); font-size: 14px; line-height: 1.55; }
.catalog-close { flex: none; display: inline-grid; place-items: center; width: 44px; height: 44px; min-height: 44px; margin: 0; padding: 0; border: 0; border-radius: var(--radius-sm); background: transparent; color: var(--muted); cursor: pointer; }
.catalog-close:hover { background: var(--hover); }
.catalog-close svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.catalog-controls { flex: none; min-width: 0; padding: 0 24px 16px; border-bottom: 1px solid var(--line); }
.catalog-controls :is(input, select) { width: 100%; min-width: 0; min-height: var(--control); margin: 0; padding: 10px 12px; border: 1px solid var(--line-strong); border-radius: var(--radius-sm); background-color: var(--surface); color: var(--ink); font: inherit; }
.catalog-controls select { padding-right: 32px; }
.catalog-controls .connector-categories { gap: 8px; margin: 12px 0; }
.catalog-controls .category-chip { min-height: var(--control); padding: 8px 12px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); color: var(--muted); font-size: 13px; }
.catalog-controls .category-chip:hover { background: var(--surface-soft); }
.catalog-controls .category-chip.is-active { border-color: var(--green); background: var(--green-soft); color: var(--green); }
.catalog-summary { margin: 12px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.catalog-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.catalog-toolbar .catalog-summary { margin: 0; }
.catalog-toolbar .secondary-button { min-height: var(--control); padding: 8px 12px; border: 1px solid var(--line-strong); border-radius: var(--radius-sm); background: var(--surface); color: var(--ink); font-size: 13px; font-weight: 500; }
.catalog-results { min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 16px 24px; }
.connector-catalog-grid.catalog-results { grid-template-columns: minmax(0, 1fr); grid-auto-rows: max-content; align-content: start; gap: 10px; }
.catalog-results .catalog-card { min-width: 0; min-height: 100px; padding: 16px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); }
.catalog-results .catalog-card:hover { background: var(--surface-soft); border-color: var(--line-strong); }
.catalog-results .catalog-card.is-active { border-color: var(--green); background: var(--green-soft); }
.catalog-copy { min-width: 0; }
.catalog-results .catalog-copy strong { font-size: 16px; font-weight: 650; }
.catalog-results .catalog-copy small { margin-top: 6px; white-space: normal; overflow-wrap: anywhere; font-size: 13px; line-height: 1.5; }
.catalog-results .catalog-copy .skill-category { font-size: 12px; }
.catalog-results :is(.catalog-add, .catalog-connection) { min-height: var(--control); padding: 8px 12px; border: 1px solid var(--line-strong); border-radius: var(--radius-sm); background: var(--surface); color: var(--ink); font-size: 13px; font-weight: 500; }
.catalog-results :is(.catalog-add, .catalog-connection):hover:not(:disabled) { background: var(--hover); }
.catalog-results .catalog-add:disabled { color: var(--muted); background: var(--surface-soft); }
.catalog-status { flex: none; width: fit-content; padding: 3px 8px; border-radius: 6px; background: var(--surface-soft); color: var(--muted); font-size: 12px; font-weight: 500; }
.catalog-status.is-active { background: var(--green-soft); color: var(--green); }
.catalog-empty { grid-column: 1 / -1; margin: 0; padding: 24px 16px; border: 1px dashed var(--line); border-radius: var(--radius-md); color: var(--muted); font-size: 14px; text-align: center; }
.catalog-dialog :focus-visible { outline: 2px solid var(--green); outline-offset: 2px; }
.catalog-dialog .model-choice:focus-visible { outline-offset: -3px; }
.schedule-panel .catalog-header { padding: 0; }
.schedule-panel .schedule-summary { margin: 0; }
.schedule-card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.schedule-card { gap: 12px; padding: 16px; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.schedule-card button, .schedule-actions button.secondary { border-radius: var(--radius-sm); font-weight: 500; }
.schedule-card .schedule-history { margin-top: 4px; }
.catalog-dialog .connector-field { min-width: 0; font-size: 14px; font-weight: 600; }
.catalog-dialog .connector-field :is(input, select) { min-width: 0; min-height: var(--control); padding: 10px 12px; border-color: var(--line-strong); border-radius: var(--radius-sm); background-color: var(--surface); color: var(--ink); font: 400 14px/1.4 var(--font-sans); }
.catalog-dialog .connector-field select { padding-right: 32px; }
.catalog-dialog :is(.connector-setup h2, .connector-detail-title h2) { font: 500 30px/1.15 var(--font-serif); }
.catalog-dialog .connector-detail-action { min-height: var(--control); border-color: var(--line-strong); border-radius: var(--radius-sm); font-size: 14px; font-weight: 500; }
.catalog-dialog :is(.connector-detail-grid, .skill-detail-description, .skill-detail-instructions) { border-radius: var(--radius-md); }
@media (max-width: 600px) {
  .catalog-dialog, .connector-modal.catalog-dialog { width: calc(100vw - 24px); height: auto; max-height: calc(100dvh - 24px); border: 1px solid var(--line); border-radius: 20px; }
  .connector-modal-backdrop { padding: 12px; }
  .connector-modal.catalog-dialog { padding: 18px; }
  .catalog-header { padding: 18px 18px 16px; }
  .catalog-heading :is(h1, h2) { font-size: 26px; }
  .catalog-controls { padding: 0 18px 12px; }
  .catalog-controls :is(input, select), .catalog-dialog .connector-field :is(input, select) { font-size: 16px; }
  .catalog-dialog :is(.connector-setup h2, .connector-detail-title h2) { font-size: 26px; }
  .catalog-results { padding: 12px 18px; }
  .catalog-results .catalog-card { grid-template-columns: auto minmax(0, 1fr); gap: 12px; }
  .catalog-results .catalog-add { grid-column: 2; justify-self: start; }
  .catalog-results .connector-logo { align-self: start; }
  .connector-detail-identity { flex-wrap: wrap; }
  .connector-detail-title { min-width: 0; overflow-wrap: anywhere; }
}

.document-processing { grid-column: 1 / -1; width: 100%; min-width: 0; padding: 12px; box-sizing: border-box; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-soft); font-size: 13px; }
.document-processing > summary { cursor: pointer; font-weight: 600; }
.document-processing p { line-height: 1.5; overflow-wrap: anywhere; }
.document-job-form { display: flex; flex-wrap: wrap; align-items: end; gap: 10px; margin: 14px 0; }
.document-job-form label { display: grid; gap: 5px; min-width: 0; font-size: 12px; color: var(--muted); }
.document-job-form input, .document-job-form select { box-sizing: border-box; width: 100%; min-height: 38px; max-width: 100%; border: 1px solid var(--line-strong); border-radius: 7px; padding: 7px 9px; color: var(--ink); background: var(--surface); font: inherit; }
.document-job-form input { width: 100px; }
.document-job { padding-block: 10px; border-top: 1px solid var(--line); }
.document-job details { color: var(--muted); font-size: 12px; }
.file-manager-row > .file-description-editor { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px; }
.file-description-editor textarea { box-sizing: border-box; width: 100%; min-height: 64px; resize: vertical; border: 1px solid var(--line); border-radius: 8px; padding: 10px; color: var(--ink); background: var(--surface); font: inherit; }
.project-file-row:has(.document-processing) { flex-wrap: wrap; }
.project-file-row .document-processing { flex-basis: 100%; }
@media (max-width: 820px) {
 .file-manager-row { grid-template-columns: minmax(0, 1fr); }
 .file-manager-actions { width: 100%; }
 .document-job-form label:first-child { flex-basis: 100%; }
 .document-job-form label:not(:first-child) { flex: 1; }
 .document-job-form input { width: 100%; }
 .document-job-form > button { width: 100%; }
}

.analysis-artifacts { display: grid; gap: 8px; margin-block: 16px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-soft); font-size: 13px; }
.analysis-artifacts > p { margin: 0 0 4px; color: var(--muted); }
.analysis-artifact { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-width: 0; }
.analysis-artifact > span { overflow-wrap: anywhere; min-width: 0; }
.analysis-artifact a { font-size: 12px; text-decoration: none; flex: none; }
.analysis-artifacts details { margin-top: 8px; min-width: 0; }
.analysis-artifacts summary { cursor: pointer; }
.analysis-artifacts pre { max-height: 280px; overflow: auto; padding: 10px; background: var(--surface); border-radius: 8px; font-size: 12px; white-space: pre-wrap; overflow-wrap: anywhere; }
.analysis-artifacts small { display: block; overflow-wrap: anywhere; color: var(--muted); }

/* Files and Schedules share the page chrome used by account and settings pages. */
.workspace-page { padding: 24px var(--page-gutter) max(48px, env(safe-area-inset-bottom)); }
.workspace-page-content { width: min(var(--page-content), 100%); margin: 0 auto; }
.workspace-page .breadcrumb-header { position: sticky; top: 0; z-index: 2; padding: 10px 0 12px; background: var(--surface); }
.workspace-page .breadcrumbs { display: flex; align-items: baseline; gap: 8px; min-width: 0; overflow: hidden; color: var(--muted); font-size: 14px; white-space: nowrap; }
.workspace-page .breadcrumbs [aria-current="page"] { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.workspace-page .breadcrumbs .wordmark { flex: none; font-size: 23px; }
.workspace-page .breadcrumb-separator { color: var(--subtle); }
.workspace-page .page-heading { margin: clamp(42px, 8vw, 64px) 0 24px; }
.workspace-page .page-heading h1 { margin: 0 0 8px; font-family: var(--font-serif); font-size: clamp(36px, 7vw, 54px); font-weight: 500; line-height: 1.05; letter-spacing: -.04em; overflow-wrap: anywhere; }
.workspace-page .page-heading h1:focus { outline: none; }
.workspace-page .page-heading p { margin: 0; color: var(--muted); font-size: 16px; line-height: 1.5; }
.workspace-page .file-home-panel { padding-top: 0; }
.workspace-page .storage-usage { margin-top: 0; }
@media (max-width: 640px) {
  .workspace-page { padding-top: 12px; padding-right: 12px; padding-left: 12px; }
  .workspace-page .page-heading { margin-top: 40px; }
  .file-manager-search { min-width: 0; width: 100%; flex-basis: 100%; }
}

.inline-request-progress { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:.5rem; max-width:100%; margin-top:.45rem; color:var(--muted-text,var(--muted,#666)); font-size:.82rem; overflow-wrap:anywhere; }
.inline-progress-stop { min-width:44px; min-height:44px; padding:.4rem .7rem; color:inherit; border:1px solid currentColor; background:transparent; border-radius:.6rem; cursor:pointer; }
.inline-progress-stop:focus-visible { outline:2px solid var(--accent,#536dfe); outline-offset:3px; }
.template-update-dialog { width:min(720px,calc(100vw - 24px)); max-height:85dvh; padding:1.1rem; border:1px solid var(--border,#ccc); border-radius:1rem; background:var(--surface,#fff); color:var(--text,#222); overflow:auto; }
.template-update-dialog::backdrop { background:#0006; }
.template-update-fields { display:grid; gap:1rem; }
.template-update-field { min-width:0; border:1px solid var(--border,#ccc); border-radius:.6rem; padding:.75rem; }
.template-update-field pre { white-space:pre-wrap; overflow-wrap:anywhere; font-size:.8rem; max-height:12rem; overflow:auto; }
.template-update-actions { display:flex; gap:.5rem; flex-wrap:wrap; margin-top:1rem; }
.template-update-actions button,.template-update-field select { min-height:44px; }
.template-update-status { overflow-wrap:anywhere; }

.template-update-dialog [hidden] { display:none !important; }

.template-update-dialog > pre { white-space:pre-wrap; overflow-wrap:anywhere; max-height:40dvh; overflow:auto; font-size:.8rem; }

/* Keep touch controls above Safari's focus-zoom threshold, including landscape
   and tablet layouts. This invariant must survive component font shorthands. */
@media (pointer: coarse) {
  input:not([type="checkbox"], [type="radio"], [type="range"], [type="color"], [type="file"], [type="hidden"], [type="button"], [type="submit"], [type="reset"]),
  textarea, select, [contenteditable="true"] { font-size: max(16px, 1em) !important; }
}
