.profile-view {position:fixed;z-index:700;inset:0;display:flex;flex-direction:column;padding-bottom:var(--nav-space);background:var(--color-ivory,#F5F3E9);color:var(--color-forest,#063B2B);isolation:isolate;--profile-rule:#063B2B2A;--profile-muted:#416455}
.profile-view[hidden] {display:none}
body[data-theme='dark'] .profile-view {background:#063B2B;color:#F5F3E9;--profile-rule:#B8C9BB44;--profile-muted:#B8C9BB}
.profile-open .brand-header,.profile-open #search-launcher,.profile-open #selected-route,.profile-open .map-actions {visibility:hidden}
.profile-header {flex:none;padding:calc(16px + env(safe-area-inset-top)) 20px 20px;background:var(--color-mint,#83E5A4);color:#063B2B}
.profile-header h1 {font:700 30px/36px var(--font-heading,sans-serif);letter-spacing:-.8px;margin:0;overflow-wrap:anywhere}
.profile-header h1:focus {outline:none}
.profile-body {flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:28px 20px;scrollbar-width:none;animation:profile-enter 200ms ease both}
.profile-body::-webkit-scrollbar {display:none}
.profile-identity {display:flex;align-items:center;gap:16px;min-height:64px;margin-bottom:28px}
.profile-avatar {display:grid;place-items:center;flex:none;width:56px;height:56px;border-radius:50%;background:#83E5A4;color:#063B2B;font:600 21px/1 var(--font-body,sans-serif)}
.profile-avatar img {width:28px;height:28px}
.profile-identity-text {min-width:0;flex:1}
.profile-name {font:600 22px/28px var(--font-heading,sans-serif);margin:0;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.profile-muted {font:400 14px/20px var(--font-body,sans-serif);color:var(--profile-muted);margin:4px 0 0}
.profile-max-link {display:inline-flex;align-items:center;min-height:48px;color:inherit;text-underline-offset:4px;margin-top:-16px;margin-bottom:16px}
.profile-stats {display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:0 0 28px;margin:0;border-bottom:1px solid var(--profile-rule)}
.profile-stats dd {font:600 34px/42px var(--font-heading,sans-serif);margin:0 0 4px}
.profile-stats dt {font:400 14px/20px var(--font-body,sans-serif);color:var(--profile-muted);overflow-wrap:anywhere}
.profile-row {display:flex;align-items:center;gap:12px;width:100%;min-height:64px;padding:16px 0;border:0;border-bottom:1px solid var(--profile-rule);background:transparent;color:inherit;text-align:left;cursor:pointer;font:500 16px/24px var(--font-body,sans-serif)}
.profile-row>span:first-child {flex:1;min-width:0;overflow-wrap:anywhere}
.profile-row-value {color:var(--profile-muted);font-size:14px;max-width:45%;overflow-wrap:anywhere}
.profile-row img {flex:none;width:22px;height:22px}
body[data-theme='dark'] .profile-row img {filter:brightness(0) invert(1)}
.profile-help {font:400 14px/22px var(--font-body,sans-serif);color:var(--profile-muted);margin:24px 0}
.profile-error {padding-top:16px;font-size:14px;line-height:22px}
.profile-error[hidden] {display:none}
.profile-error p {margin:0}
.profile-retry {min-height:48px;border:0;padding:8px 0;background:transparent;color:inherit;text-decoration:underline;text-underline-offset:4px;cursor:pointer;font:600 14px/22px var(--font-body,sans-serif)}
.profile-back {display:flex;align-items:center;flex-direction:row-reverse;gap:8px;min-height:48px;padding:0;margin-bottom:8px;border:0;background:transparent;color:inherit;font:600 16px/24px var(--font-body,sans-serif);cursor:pointer}
.profile-about h2 {font:600 22px/28px var(--font-heading,sans-serif);margin:0 0 12px;overflow-wrap:anywhere}
.profile-about p {font:400 16px/26px var(--font-body,sans-serif);margin:0 0 28px}
.profile-placeholder {border-radius:4px;background:#83E5A426;color:transparent!important;min-height:20px;min-width:100px;max-width:80%}
.profile-stats .profile-placeholder {width:72px;min-width:0}
.profile-theme-dialog {position:fixed;inset:auto 0 0;margin:0 auto;width:min(100% - 24px,480px);max-height:85dvh;overflow:auto;box-sizing:border-box;padding:24px 20px calc(20px + env(safe-area-inset-bottom));border:1px solid #063B2B33;border-radius:22px 22px 0 0;background:#F5F3E9;color:#063B2B;font-family:var(--font-body,sans-serif)}
.profile-theme-dialog::backdrop {background:#001F17A8}
body[data-theme='dark'] .profile-theme-dialog {background:#063B2B;color:#F5F3E9;border-color:#B8C9BB55}
.profile-theme-dialog h2 {font:600 24px/32px var(--font-heading,sans-serif);margin:0 0 20px}
.profile-theme-options {padding:0;margin:0;border:0;min-width:0}
.profile-theme-option {display:flex;align-items:center;gap:16px;min-height:56px;cursor:pointer;font-size:16px;line-height:24px}
.profile-theme-option input {width:24px;height:24px;margin:0;accent-color:#267148;flex:none}
.profile-dialog-close {display:block;min-height:48px;width:100%;margin-top:20px;border:1px solid currentColor;border-radius:12px;background:transparent;color:inherit;font:600 16px/24px var(--font-body,sans-serif);cursor:pointer}
.profile-sr-only {position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.profile-view button:focus-visible,.profile-view a:focus-visible,.profile-theme-dialog :focus-visible {outline:3px solid #3E946A;outline-offset:3px}
@keyframes profile-enter {from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media (min-width:768px) {.profile-body {padding:32px max(24px,calc((100% - 680px)/2))}.profile-header {padding-left:max(24px,calc((100% - 680px)/2));padding-right:max(24px,calc((100% - 680px)/2))}}
@media (prefers-reduced-motion:reduce) {.profile-body {animation:none}}

.transport-picker{display:flex;gap:4px;padding:4px;margin:12px 0;background:#e4ebe2;border:1px solid #b8c9bb;border-radius:14px}.transport-picker button{flex:1;min-width:0;min-height:48px;padding:8px 3px;border:1px solid transparent;border-radius:10px;background:transparent;color:#274b3c;font:inherit;font-size:13px}.transport-picker button[aria-pressed="true"]{background:#063b2b;color:#f5f3e9;border-color:#063b2b;font-weight:700}.transport-picker button:focus-visible{outline:3px solid #32785d;outline-offset:2px}body[data-theme="dark"] .transport-picker{background:#183d30;border-color:#638b76}body[data-theme="dark"] .transport-picker button{color:#e0f6e9}body[data-theme="dark"] .transport-picker button[aria-pressed="true"]{background:#83e5a4;color:#063b2b;border-color:#b8f3ca}
