@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Fraunces:opsz,wght@9..144,500;9..144,700&family=Nunito:wght@400;600;700;800&display=swap');
/* Friendly app skin */
.route-pigeon{width:42px!important;height:42px!important;border-radius:50%!important;background:#fff!important;border:3px solid #fff!important;box-shadow:0 5px 16px #23315855!important;overflow:hidden!important}.route-pigeon img{display:block!important;width:36px!important;height:36px!important;object-fit:contain!important;margin:0!important}.chat-title{display:grid;gap:5px;min-width:0}.chat-title .route-button{justify-self:start!important}.profile-button .avatar{width:30px!important;height:30px!important}.profile-button .avatar-fallback{background:#6674df!important;color:#fff!important}@media(max-width:720px){header{padding:0 10px!important}.wordmark{min-width:0!important}.wordmark img{width:23px;height:23px}.identity{gap:6px!important}.install-app,.profile-button,.icon-button{width:38px!important;height:38px!important;min-width:38px!important;display:grid!important;place-items:center!important;border-radius:12px!important}.install-app{font-size:17px!important}.profile-button{padding:3px!important}.profile-button .avatar{width:30px!important;height:30px!important}.conversation-header{grid-template-columns:34px minmax(0,1fr)!important;padding:14px 16px 12px!important}.chat-title .route-button{margin:0!important;padding:7px 9px!important;min-height:32px!important}.chat-title h2{margin:0!important}#message-form{padding:12px 14px calc(20px + env(safe-area-inset-bottom))!important}}
.wordmark::before,.empty-state::before{display:none!important}.wordmark img{width:26px;height:26px;object-fit:contain;vertical-align:-6px;margin-right:7px}.empty-state>img{display:block;width:58px;height:58px;object-fit:contain;margin:0 auto 16px}.leaflet-marker-icon.flight-marker,#route-dialog #map .flight-marker{width:42px!important;height:42px!important;background:#fff!important}.flight-marker img{width:36px!important;height:36px!important;display:block!important}
.profile-button .avatar-fallback{color:#fff!important}.install-app{color:#5d4fb2!important;background:#fff!important;border:1px solid #d7d1f7!important}.profile-button{color:#6674df!important;background:#fff!important;border:1px solid #d7d1f7!important}.identity{gap:8px!important}
.profile-dialog-title p{margin:8px 0;color:#6674df;font:11px 'DM Mono',monospace}.outbound-button{border:0;border-radius:10px;background:#ede8ff;color:#5d4fb2;padding:9px 12px;font:800 12px Nunito,sans-serif;cursor:pointer}.flight-marker{background:#fff!important}.flight-marker img{width:34px!important;height:34px!important;object-fit:contain!important;transition:transform .2s}.wordmark::before,.empty-state::before{background-image:url('pigeon.png')!important}@media(max-width:720px){.conversation-header{grid-template-columns:34px 1fr!important;align-items:start!important}.conversation-header .route-button{grid-column:2;justify-self:start;margin-top:-5px}.conversation-header h2{white-space:normal!important;overflow:visible!important}.profile{display:none!important}}
#route-dialog #map .flight-marker{width:36px!important;height:36px!important;background:#fff url('pigeon.png') center/29px no-repeat!important}.flight-marker span{visibility:hidden!important}
.wordmark::before,.empty-state::before{background-image:url('pigeon.png')!important}.leaflet-marker-icon.flight-marker,#map .flight-marker{width:36px!important;height:36px!important;background:#fff url('pigeon.png') center/29px no-repeat!important}.leaflet-marker-icon.flight-marker span,#map .flight-marker span{visibility:hidden!important}
#friend-form.add-friend button{background:#6674df!important;color:#fff!important}#friend-form.add-friend button:hover{background:#5764c5!important}.messages .message.in-flight{background:linear-gradient(135deg,#e9e7ff,#f4f1ff)!important;border:1px solid #c9c2f4!important;box-shadow:0 8px 18px #6674df17!important}.messages .message.in-flight small::before{background:#6674df!important;box-shadow:0 0 0 4px #6674df24!important}.wordmark::before,.empty-state::before{content:""!important;background:url('app-icon.svg') center/contain no-repeat!important;display:inline-block!important;width:27px!important;height:27px!important;vertical-align:-6px!important;margin:0 7px 0 0!important}.empty-state::before{display:block!important;width:56px!important;height:56px!important;margin:0 auto 16px!important;vertical-align:initial!important}.leaflet-marker-icon.flight-marker,#map .flight-marker{background:#fff url('app-icon.svg') center/32px no-repeat!important}.leaflet-marker-icon.flight-marker span,#map .flight-marker span{visibility:hidden!important}
.location-step{animation:locationStep .28s ease both}.location-step[hidden]{display:none!important}
.flight-marker{background:#fff url('https://cdn.jsdelivr.net/gh/twitter/twemoji@latest/assets/72x72/1f54a.png') center/32px no-repeat!important}.flight-marker span{visibility:hidden}
.profile-location{display:grid;gap:14px;margin-top:8px}.profile-location>.eyebrow{margin-top:4px}.profile-city,.profile-suburb,.profile-street{animation:locationStep .28s ease both}.profile-city[hidden],.profile-suburb[hidden],.profile-street[hidden]{display:none!important}@keyframes locationStep{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}.friend-meta{margin-left:auto;display:flex!important;align-items:center!important;gap:6px!important}.friend-meta b{min-width:19px;height:19px;display:grid;place-items:center;border-radius:50%;background:#ff637d;color:#fff;font-size:10px}.flight-dot{font-style:normal;font-size:14px}.receipt{margin-left:5px;font-style:normal;font-size:13px;color:#71809e;letter-spacing:-3px}.receipt.read{color:#3688df}.in-flight{background:linear-gradient(135deg,#e9e7ff,#f4f1ff)!important;border-color:#c9c2f4!important;box-shadow:0 8px 18px #6674df17!important}.in-flight small::before{background:#6674df!important;box-shadow:0 0 0 4px #6674df24!important}.flight-marker{width:42px!important;height:42px!important;border-radius:50%!important;display:grid!important;place-items:center!important;background:#fff!important;border:3px solid #fff!important;box-shadow:0 5px 16px #23315855!important;transform:none!important;overflow:hidden!important}.flight-marker img{width:32px;height:32px;object-fit:contain}.app-grid #friends-list button{position:relative}.app-grid #friends-list button .friend-copy{flex:1;min-width:0}.app-grid #friends-list button .friend-meta{flex:0 0 auto}@media(max-width:720px){html,body{height:100%;overflow:hidden}#app-view{height:100%;overflow:hidden}#app-view.chat-open .app-grid,#app-view.chat-open .conversation,#conversation-content{height:calc(100vh - 64px)!important;min-height:0!important;overflow:hidden!important}.app-grid #friends-list button{flex:0 0 210px!important}.app-grid #friends-list button strong{font-size:14px!important}.app-grid #friends-list button small{font-size:11px!important}.messages{overflow-y:auto!important;-webkit-overflow-scrolling:touch}.profile-location{gap:12px}.profile-dialog form{overflow-y:auto;max-height:calc(100vh - 90px)}}
.install-app,.profile-button,.back-to-contacts{border:0;font-family:Nunito,sans-serif;font-weight:800;cursor:pointer}.install-app{display:inline-flex;align-items:center;gap:5px;border-radius:10px;background:#ede8ff;color:#5d4fb2;padding:8px 11px;font-size:12px}.profile-button{display:inline-flex;align-items:center;gap:7px;border-radius:20px;background:#f4f5fe;color:#6674df;padding:4px 10px 4px 5px;font-family:'DM Mono',monospace;font-size:10px}.avatar{display:inline-grid;place-items:center;flex:0 0 auto;border-radius:50%;object-fit:cover;background:#6674df;color:#fff;font-family:Nunito,sans-serif;font-weight:800}.header-avatar{width:28px;height:28px;font-size:10px}.friend-avatar{width:34px;height:34px;font-size:11px}.profile-dialog{width:min(420px,92vw);border:0;border-radius:20px;padding:0;background:#fff;box-shadow:0 20px 60px #23315844}.profile-dialog::backdrop{background:#23315888}.profile-dialog-title{padding:25px 28px 10px}.profile-dialog-title h2{margin:6px 0 0;font-family:Nunito,sans-serif;font-size:25px;color:#233158}.profile-dialog form{padding:18px 28px 28px}.avatar-upload input{position:absolute;width:1px;height:1px;opacity:0}.avatar-upload .file-choice{display:flex;align-items:center;justify-content:center;min-height:46px;border:2px dashed #cfc9fa;border-radius:12px;background:#f5f4ff;color:#5d4fb2;font-size:13px;font-weight:800;cursor:pointer}.avatar-upload:focus-within .file-choice{border-color:#6674df;box-shadow:0 0 0 4px #6674df24}.profile-preview{display:grid;place-items:center;min-height:66px}.profile-avatar{width:62px;height:62px;border-radius:50%;object-fit:cover;background:#6674df;color:#fff;display:grid;place-items:center;font-family:Nunito,sans-serif;font-weight:800}.back-to-contacts{display:none;background:#f1f2fb;color:#5d4fb2;width:34px;height:34px;border-radius:50%;font-size:18px}.app-grid #friends-list button{display:flex!important;align-items:center!important;gap:10px!important}.app-grid #friends-list button>span{display:grid;gap:4px;min-width:0}.app-grid #friends-list button strong,.app-grid #friends-list button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:720px){header{height:64px!important;padding:0 14px!important}.wordmark{font-size:21px!important}.install-app{padding:7px 9px!important}.install-app span{display:none}.profile-button{padding:4px!important}.profile-button #member-id{display:none}.app-grid{min-height:calc(100vh - 64px)!important}#app-view:not(.chat-open) .conversation{display:none!important}#app-view.chat-open .app-grid aside{display:none!important}#app-view.chat-open .conversation{display:flex!important;min-height:calc(100vh - 64px)!important}.back-to-contacts{display:inline-grid;place-items:center!important;flex:0 0 auto}.conversation-header{display:grid!important;grid-template-columns:34px minmax(0,1fr) auto!important;gap:10px!important}.conversation-header h2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.route-button{padding:9px 10px!important;font-size:10px!important}.profile-dialog{width:100vw;max-width:none;min-height:100vh;margin:0;border-radius:0}.profile-dialog-title{padding-top:72px}.profile-dialog .close{top:20px}.profile-dialog form{padding-bottom:calc(30px + env(safe-area-inset-bottom))}}
.message p{margin:0 0 9px;font-size:14px}.message-actions{display:flex;gap:7px;margin-top:10px}.track-letter,.cancel-letter{border:0;border-radius:9px;padding:7px 10px;font-family:Nunito,sans-serif;font-size:11px;font-weight:800;cursor:pointer}.track-letter{background:#e8e7ff;color:#5d4fb2}.track-letter:hover{background:#d9d4ff}.cancel-letter{margin-top:0!important}.in-flight{background:linear-gradient(135deg,#fff8db,#fff0c0)!important;border:1px solid #ffe18a!important;box-shadow:0 8px 18px #c9983014!important}.in-flight small{display:flex;align-items:center;gap:5px}.in-flight small::before{content:"";width:7px;height:7px;border-radius:50%;background:#e3a124;box-shadow:0 0 0 4px #ffdf7744}.leaflet-container{font-family:Nunito,sans-serif!important;background:#eef0f5}.flight-marker{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#233158;color:#fff;border:3px solid #fff;box-shadow:0 4px 13px #23315866;font-size:19px;transform:rotate(-25deg)}.leaflet-popup-content-wrapper{border-radius:14px!important;box-shadow:0 10px 28px #2331582b!important}.leaflet-popup-content{margin:14px 16px!important;color:#233158!important}.leaflet-popup-content p{margin:7px 0;line-height:1.45}.leaflet-popup-content small{color:#71809e;font-weight:800}#message-form textarea{height:52px!important;min-height:52px!important;resize:none!important}#message-form button{height:52px!important;min-height:52px!important;padding:0 19px!important;display:flex!important;align-items:center!important;justify-content:center!important}@media(max-width:720px){#message-form textarea,#message-form button{height:48px!important;min-height:48px!important}.message-actions{flex-wrap:wrap}.track-letter,.cancel-letter{min-height:34px}.leaflet-popup-content{max-width:210px}.route-title{padding:20px!important}}
#friend-form #friend-id{border-top-right-radius:0!important;border-bottom-right-radius:0!important;border-right:0!important}
.location-picker{position:relative!important}.location-results{position:absolute;z-index:10;top:100%;left:0;right:0;max-height:220px;overflow-y:auto;margin-top:6px;padding:6px;border:1px solid #e3e7f6;border-radius:13px;background:#fff;box-shadow:0 12px 28px #35416922}.location-results[hidden]{display:none!important}.location-results button{display:block;width:100%;border:0;border-radius:8px;background:transparent;color:#233158;padding:10px 11px;text-align:left;font-family:Nunito,sans-serif;font-size:13px;font-weight:700;cursor:pointer}.location-results button:hover{background:#ede8ff;color:#5d4fb2}.location-results::-webkit-scrollbar{width:8px}.location-results::-webkit-scrollbar-thumb{background:#d7d1f7;border-radius:8px}@media(max-width:720px){.app-grid{display:flex!important;flex-direction:column!important;min-height:calc(100vh - 76px)!important;height:auto!important}.app-grid aside{order:0!important;max-height:none!important;overflow:visible!important;padding:10px 12px 8px!important;border-bottom:1px solid #e8ebf7!important}.app-grid .profile{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:12px 14px!important}.profile small{display:none!important}.add-friend,.search{padding-top:9px!important}.friends-head{padding-top:14px!important}.app-grid #friends-list{display:flex!important;gap:8px!important;overflow-x:auto!important;padding-bottom:4px!important}.app-grid #friends-list button{flex:0 0 174px!important;min-height:58px!important}.conversation{order:1!important;display:flex!important;flex:1!important;min-height:58vh!important}.conversation-header{min-height:74px!important;padding:15px 16px!important}.messages{padding:16px!important}.message{max-width:88%!important}#message-form{position:sticky!important;bottom:0!important;padding:11px 14px calc(11px + env(safe-area-inset-bottom))!important;grid-template-columns:1fr auto!important;gap:8px!important;box-shadow:0 -7px 18px #3541690d!important}#message-form textarea{min-height:46px!important;padding:11px!important}#message-form button{padding:11px 13px!important;min-height:46px!important}.empty-state{padding:42px 26px!important;text-align:center!important}.location-results{position:fixed;left:18px;right:18px;top:auto;max-height:40vh}}
.empty-state{padding:56px 64px!important}.cancel-letter{margin-top:10px;border:0;border-radius:9px;background:#fff0f2;color:#cf4160;padding:7px 10px;font-family:Nunito,sans-serif;font-size:11px;font-weight:800;cursor:pointer}.cancel-letter:hover{background:#ffdce2}@media(max-width:720px){.empty-state{padding:46px 30px!important}}
#conversation-content[hidden],#conversation-empty[hidden]{display:none!important}.conversation:has(#conversation-content[hidden]){display:flex!important;align-items:center!important;justify-content:center!important}.conversation:has(#conversation-content[hidden]) .empty-state{margin:auto!important}.add-friend input{border-radius:10px 0 0 10px!important;border-right:0!important}.add-friend button{min-width:42px;border-radius:0 10px 10px 0!important}.swal2-popup{border-radius:18px!important;font-family:Nunito,sans-serif!important}.swal2-title{color:#233158!important}.swal2-html-container{color:#71809e!important}
.app-grid{background:#f5f7ff!important}.app-grid aside{margin:14px 0 14px 14px!important;border-radius:20px!important;box-shadow:0 8px 24px #35416912!important}.app-grid .profile{margin:0!important;border-radius:15px!important}.add-friend,.search{padding-left:5px!important;padding-right:5px!important}.add-friend>div{gap:0!important}.friends-head{align-items:center!important}.conversation{margin:14px!important;border-radius:20px!important;overflow:hidden!important;box-shadow:0 8px 24px #3541690d!important}.conversation-header{min-height:88px!important;align-items:center!important;border-bottom:1px solid #eef0f8!important}.empty-state{background:#fff!important;border-radius:20px!important;box-shadow:0 9px 28px #3541690c!important}.identity{display:flex!important;align-items:center!important}.identity span{font-family:'DM Mono',monospace!important;color:#6674df!important}.route-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:42px!important}.messages{gap:13px!important}#message-form{border-top:1px solid #eef0f8!important;align-items:end!important}.message{line-height:1.55!important}@media(max-width:720px){.app-grid aside{margin:0!important;border-radius:0!important;box-shadow:none!important}.conversation{margin:0!important;border-radius:0!important;box-shadow:none!important}.empty-state{border-radius:0!important;box-shadow:none!important}}
.auth-shell[hidden],#app-view[hidden]{display:none!important}.auth-exit{animation:authOut .28s ease-in forwards}#app-view{opacity:0}#app-view.app-ready{animation:workspaceIn .48s cubic-bezier(.2,.75,.25,1) forwards}@keyframes authOut{to{opacity:0;transform:scale(.985)}}@keyframes workspaceIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.demo-login{margin-top:4px;color:#71809e;font-size:12px;font-weight:800}.demo-login>span{display:block;margin:3px 0 10px}.demo-login ul{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;list-style:none!important;margin:0!important;padding:0!important}.demo-login li{margin:0!important}.demo-login button{position:relative;width:100%;min-height:76px;text-align:left;background:linear-gradient(135deg,#f4f5fe,#fff)!important;color:#233158!important;border:1px solid #e3e7f6!important;border-radius:14px!important;padding:12px 12px 11px 42px!important;font-family:Nunito,sans-serif!important;font-weight:800!important;font-size:13px!important;box-shadow:0 4px 11px #3541690d!important;transition:transform .16s,box-shadow .16s,border-color .16s!important}.demo-login button::before{content:"✦";position:absolute;left:13px;top:22px;width:21px;height:21px;border-radius:50%;display:grid;place-items:center;background:#ffd65a;color:#725a00;font-size:13px}.demo-login li:nth-child(2) button::before{content:"✧";background:#dff7eb;color:#26734d}.demo-login button:hover{transform:translateY(-2px)!important;background:#fff!important;border-color:#bfb5f5!important;box-shadow:0 8px 18px #3541691c!important}.demo-login small{display:block;color:#71809e;font-size:10px;font-weight:700;margin-top:4px}@media(max-width:420px){.demo-login ul{grid-template-columns:1fr!important}}
:root{--ink:#233158;--rust:#ff637d;--paper:#f7f8ff;--sun:#ffd65a;--line:#e3e7f6;--muted:#71809e;--mint:#dff7eb;--lavender:#ede8ff}body{font-family:Nunito,sans-serif!important;font-size:15px!important;background:linear-gradient(145deg,#f7f8ff,#fff7f5)!important}.auth-shell{grid-template-columns:minmax(0,1.12fr) minmax(420px,.88fr)!important;background:#f7f8ff!important}.brand-panel{position:relative!important;overflow:hidden!important;background:linear-gradient(135deg,#5667d1,#8c65db)!important;padding:clamp(40px,8vw,124px)!important;isolation:isolate}.brand-panel::before,.brand-panel::after{content:"";position:absolute;border-radius:50%;z-index:-1}.brand-panel::before{width:440px;height:440px;right:-175px;top:-128px;background:#ffd65a}.brand-panel::after{width:320px;height:320px;left:-100px;bottom:-160px;background:#ff8da0}.eyebrow,.friends-head{font-size:10px!important;color:var(--rust)!important}.brand-panel .eyebrow{color:#fff2b8!important;background:#ffffff29;padding:7px 10px;border-radius:20px}.brand-panel h1{font-family:Nunito,sans-serif!important;font-weight:800!important;font-size:clamp(61px,8vw,122px)!important;line-height:.86!important;letter-spacing:-.04em!important;margin:25px 0 28px!important;text-shadow:0 4px 0 #4551b5!important;color:#fff!important}.brand-panel h1::after{content:" ✦";color:#ffd65a;font-size:.42em;vertical-align:top;text-shadow:none}.brand-panel p:last-child{font-size:17px!important;font-weight:600!important;line-height:1.6!important;color:#fff!important}.auth-panel{max-width:475px!important;padding:48px!important}.tabs{gap:8px!important;border:0!important;margin-bottom:30px!important;background:#e9edfb!important;border-radius:14px!important;padding:5px!important}.tab{font-weight:800!important;flex:1;border:0!important;border-radius:10px!important;padding:11px!important;margin:0!important}.tab.active{background:#fff!important;box-shadow:0 3px 10px #35416917!important}label{font-weight:700!important;font-size:13px!important;color:var(--ink)!important}input,textarea{border:2px solid var(--line)!important;border-radius:12px!important;background:white!important;padding:13px 14px!important}input:focus,textarea:focus{border-color:#8c80e9!important;box-shadow:0 0 0 4px #8c80e924!important}form>button,.route-button{background:linear-gradient(135deg,#ff637d,#ff7d5d)!important;font-weight:800!important;border-radius:12px!important;padding:14px 18px!important;box-shadow:0 5px 0 #d94c66!important}header{height:76px!important;background:#fff!important;border-bottom:0!important;box-shadow:0 2px 14px #3541690d!important}.wordmark{font-family:Nunito,sans-serif!important;font-size:24px!important}.wordmark::before{content:"🕊";margin-right:7px}.app-grid{height:calc(100vh - 76px)!important;grid-template-columns:325px 1fr!important}aside{background:#fff!important;border-right:0!important;padding:14px!important;box-shadow:5px 0 18px #35416908!important}.profile{border:0!important;border-radius:16px!important;background:linear-gradient(135deg,#ece9ff,#dff7eb)!important;padding:20px!important}.add-friend,.search{padding:16px 5px 0!important}.add-friend input,.search input{border-width:1px!important;border-radius:10px!important;padding:10px!important}.add-friend button{border-radius:0 10px 10px 0!important;background:var(--sun)!important;color:var(--ink)!important}.friends-head{padding:24px 7px 8px!important}#friends-list button{border:0!important;border-radius:12px!important;padding:12px 13px!important;margin:2px 0!important}#friends-list button.active{background:var(--lavender)!important;color:#5d4fb2!important}.conversation{background:linear-gradient(180deg,#f7f8ff,#fff9f7)!important}.conversation-header{padding:24px clamp(20px,4vw,44px)!important;border:0!important;background:#fff!important}.conversation h2,.route-title h2{font-family:Nunito,sans-serif!important;font-weight:800!important}.messages{padding:30px max(24px,8%)!important}.message{border:0!important;border-radius:16px 16px 16px 4px!important;box-shadow:0 4px 14px #3541690b!important}.message.self{border-radius:16px 16px 4px 16px!important;background:var(--mint)!important}.message.in-flight{background:#fff4c9!important}.empty-state::before{content:"🕊";font-size:54px;display:block;margin-bottom:15px}#message-form{padding:18px clamp(18px,4vw,44px) 24px!important;border:0!important;background:#fff!important}.route-title{background:var(--lavender)!important;border-bottom:0!important}dialog{border-radius:20px!important}@media(max-width:720px){.auth-shell{display:block!important;min-height:100vh}.brand-panel{min-height:31vh!important;padding:32px 26px!important}.brand-panel::before{width:220px;height:220px;right:-72px;top:-74px}.brand-panel h1{font-size:61px!important;margin:18px 0 12px!important}.brand-panel p:last-child{font-size:14px!important;margin:0!important}.auth-panel{padding:26px 21px!important}.app-grid{height:auto!important;min-height:calc(100vh - 76px)!important}aside{padding:10px!important;max-height:44vh!important}.profile{padding:15px!important}.conversation{min-height:56vh!important}.conversation-header{padding:18px 16px!important}.messages{padding:18px 15px!important}#message-form{padding:14px!important}.message{max-width:90%!important}}
:root{--ink:#173f3d;--rust:#c95a38;--paper:#f5f0e6;--sun:#e8c85f;--line:#d8d0c1;--muted:#6b766e}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Mono',monospace;font-size:14px}button,input,textarea{font:inherit}button{cursor:pointer}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr}.brand-panel{background:var(--ink);color:var(--paper);padding:clamp(38px,9vw,150px);display:flex;flex-direction:column;justify-content:center;background-image:linear-gradient(135deg,transparent 45%,rgba(232,200,95,.1) 45%,rgba(232,200,95,.1) 48%,transparent 48%)}.eyebrow,.friends-head{font-size:11px;letter-spacing:.11em;color:var(--rust);font-weight:500}.brand-panel h1{font-family:Fraunces,serif;font-size:clamp(70px,11vw,160px);line-height:.8;letter-spacing:-.04em;margin:24px 0 34px}.brand-panel p:last-child{line-height:1.7;max-width:280px;color:#d5dbce}.auth-panel{display:flex;flex-direction:column;justify-content:center;max-width:420px;width:100%;margin:auto;padding:32px}.tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:28px}.tab{border:0;background:none;color:var(--muted);padding:12px 0;margin-right:30px}.tab.active{color:var(--ink);border-bottom:2px solid var(--rust)}form{display:grid;gap:16px}label{display:grid;gap:7px;color:var(--muted);font-size:12px}input,textarea{border:1px solid var(--line);border-radius:2px;background:#fffdf7;padding:12px;color:var(--ink);outline-color:var(--rust)}form>button,.route-button{border:0;background:var(--rust);color:white;padding:13px 18px;border-radius:2px}.form-error{color:#b13422;margin:0}.location-hint{font-size:11px;color:var(--muted);line-height:1.5;margin:0}header{height:68px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:#fffdf7}.wordmark{font-family:Fraunces,serif;font-weight:700;color:var(--ink);font-size:22px;text-decoration:none}.identity{display:flex;align-items:center;gap:12px}.identity span{color:var(--muted);font-size:11px}.icon-button,.close{border:0;background:none;font-size:21px;color:var(--ink)}.app-grid{display:grid;grid-template-columns:310px 1fr;height:calc(100vh - 68px)}aside{border-right:1px solid var(--line);overflow:auto;background:#fbf8f0}.profile{padding:24px;border-bottom:1px solid var(--line);display:grid;gap:8px}.profile strong{font-size:18px}.profile small{color:var(--muted);line-height:1.5}.add-friend,.search{padding:18px 20px 0}.add-friend>div{display:flex}.add-friend input{min-width:0;width:100%;padding:9px}.add-friend button{border:0;background:var(--sun);padding:0 12px;font-size:20px}.search input{width:100%;padding:9px}.friends-head{padding:26px 20px 8px;display:flex;justify-content:space-between;color:var(--muted)}#friends-list button{width:100%;border:0;border-left:3px solid transparent;background:none;text-align:left;padding:13px 20px;display:grid;gap:4px;color:var(--ink)}#friends-list button small{color:var(--muted)}#friends-list button.active{background:#f0e8d8;border-left-color:var(--rust)}#search-results{background:#fffdf7}.search-result{border:0;border-bottom:1px solid var(--line);background:none;width:100%;padding:9px;text-align:left;color:var(--ink)}.conversation{display:flex;min-width:0}.empty-state{margin:auto;text-align:center;color:var(--muted)}.empty-state h2,.conversation h2,.route-title h2{font-family:Fraunces,serif;margin:6px 0;font-size:28px;color:var(--ink)}#conversation-content{display:flex;flex-direction:column;width:100%;min-height:0}.conversation-header{padding:24px 32px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.route-button{font-size:12px}.messages{padding:30px max(32px,8%);overflow:auto;flex:1;display:flex;flex-direction:column;gap:16px}.message{max-width:min(560px,82%);padding:14px 16px;border:1px solid var(--line);background:#fffdf7;line-height:1.55}.message.self{align-self:flex-end;background:#d9e9db;border-color:#b8d0bb}.message small{display:block;color:var(--muted);font-size:10px;margin-top:8px}.message.in-flight{border-color:var(--sun);background:#fff5c8}#message-form{padding:18px 32px 26px;border-top:1px solid var(--line);grid-template-columns:1fr auto}#message-form textarea{resize:none}dialog{border:0;padding:0;width:min(900px,94vw);max-width:none;background:#fffdf7;color:var(--ink);position:relative;box-shadow:0 20px 70px #173f3d66}dialog::backdrop{background:#173f3dbb}.close{position:absolute;z-index:2;right:12px;top:10px;font-size:28px}.route-title{padding:22px 28px;border-bottom:1px solid var(--line)}.route-title p{margin:8px 0 0;color:var(--muted)}#map{height:min(65vh,580px)}.pigeon-marker{font-size:29px;filter:drop-shadow(1px 2px 2px #173f3d77)}@media(max-width:720px){.auth-shell{grid-template-columns:1fr}.brand-panel{min-height:39vh;padding:36px}.brand-panel h1{font-size:74px}.auth-panel{padding:30px 24px}.app-grid{grid-template-columns:1fr;height:auto;min-height:calc(100vh - 68px)}aside{border-right:0;border-bottom:1px solid var(--line);max-height:46vh}.conversation{min-height:54vh}.conversation-header{padding:18px}.messages{padding:20px}.route-button{padding:10px}#message-form{padding:14px;grid-template-columns:1fr}.identity span{display:none}}