@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap");:root{color-scheme:dark;--ink:#f0f4fa;--muted:#a7b3c6;--muted-2:#8291a9;--panel:#121b2a;--panel-2:#182438;--page:#080e18;--line:#26344b;--blue:#63c8fa;--blue-dark:#17344b;--amber:#ffbd72;--focus:#95e2ff;--shadow:0 18px 48px rgba(0,0,0,.28)}*{box-sizing:border-box}html{background:var(--page);scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:DM Sans,sans-serif;font-size:15px;line-height:1.55;background:radial-gradient(ellipse at 15% 10%,rgba(31,70,102,.22),transparent 42%),var(--page);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:3px}::selection{background:#b3e9ff;color:#07111c}.app-shell{max-width:1160px;margin:auto;padding:0 42px}.topbar{height:76px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}.brand,.topbar{align-items:center}.brand{display:inline-flex;gap:11px;color:var(--ink);font-family:Manrope,sans-serif;font-weight:800;font-size:16px;letter-spacing:-.035em;text-decoration:none}.brand-icon{width:35px;height:35px;border-radius:11px;object-fit:cover}.privacy-chip{gap:9px;background:#101e2d;color:#c4d4e8;border:1px solid #26384e;border-radius:30px;padding:7px 12px;font-size:11px;font-weight:600}.account-actions,.privacy-chip{display:flex;align-items:center}.account-actions{gap:12px}.account-actions form{margin:0}.sign-out-button{border:1px solid var(--line);border-radius:7px;background:transparent;color:var(--muted);padding:7px 11px;font-size:12px;font-weight:600;cursor:pointer}.sign-out-button:hover{color:var(--ink);background:var(--panel)}.status-dot{width:7px;height:7px;background:#68d7c4;border-radius:50%;box-shadow:0 0 11px #68d7c4}.screen{padding-top:40px;min-height:calc(100vh - 142px)}.entry-screen{max-width:650px;margin:0 auto;display:flex;flex-direction:column;justify-content:center;gap:27px;padding-top:20px;padding-bottom:38px}.entry-copy h1{font-size:36px;margin-bottom:9px}.sign-in-panel{min-height:0;padding:27px 29px}.sign-in-panel h2{width:100%;max-width:100%;font-size:21px;margin-bottom:8px}.sign-in-panel>p{max-width:390px;margin-bottom:0;color:#becde0;font-size:14px}.sign-in-panel form{margin-top:20px}.sign-in-panel .form-error{margin-top:18px}.home-intro{max-width:760px;margin:0 0 43px}.home-intro h1{max-width:740px;font-size:clamp(30px,3.7vw,40px);margin-bottom:11px}.home-intro p{margin:0;color:#becde0;font-size:16px}.home-intro .home-intro-credit{margin-top:5px;color:var(--blue);font-weight:700}.welcome-screen .home-intro{margin-bottom:29px}.welcome-actions{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.welcome-actions .button{width:min(260px,100%);margin-top:0;justify-content:space-between}.instruction-guide{max-width:760px;margin-top:22px;padding:20px 22px;border:1px solid #304159;border-radius:10px;background:#111c2b}.instruction-guide h2{font-size:20px;margin:0 0 6px}.instruction-list section{padding:12px 0;border-top:1px solid var(--line)}.instruction-list h3{margin:0 0 3px;color:#e3edf8;font:700 13px Manrope,sans-serif}.instruction-list p{margin:0;color:#becde0;font-size:12px;line-height:1.55}.screen-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:27px}.screen-heading h2{font-size:24px;margin:0 0 7px}h1,h2,p{margin-top:0}h1,h2{font-family:Manrope,sans-serif;letter-spacing:-.045em}h1{font-size:clamp(32px,4.2vw,44px);line-height:1.12;margin:0 0 10px}h1,h2{font-weight:700}h2{font-size:21px;line-height:1.2;margin-bottom:10px}.lede{color:var(--muted);font-size:14px;margin:0}.home-grid{display:grid;grid-template-columns:1.02fr .98fr;grid-gap:24px;gap:24px;align-items:stretch}.home-tools-only{grid-template-columns:minmax(0,760px);max-width:760px}.primary-panel{position:relative;overflow:hidden;min-height:310px;padding:28px 30px;border:1px solid #24415b;border-radius:12px;background:linear-gradient(135deg,#11243a 2%,#142235 68%,#172337);display:flex;flex-direction:column;align-items:flex-start;box-shadow:var(--shadow)}.primary-panel.sign-in-panel{min-height:0}.primary-panel:after{content:"";position:absolute;width:190px;height:190px;right:-79px;top:-83px;border:1px solid rgba(99,200,250,.25);border-radius:50%;box-shadow:0 0 0 23px rgba(99,200,250,.055),0 0 0 49px rgba(99,200,250,.035)}.panel-mark{width:45px;height:45px;background:#193b53;border:1px solid #2b627e;border-radius:13px;display:grid;place-items:center;margin-bottom:25px;color:var(--blue)}.panel-mark svg{width:27px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.primary-panel h2{font-size:25px;margin-bottom:8px}.primary-panel>p:not(.eyebrow){max-width:355px;margin-bottom:22px;color:#becde0;font-size:14px}.button{min-height:46px;padding:0 18px;border:0;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;gap:15px;text-decoration:none;font-weight:700;cursor:pointer;transition:background .18s ease,transform .18s ease,border-color .18s ease}.button:hover:not(:disabled){transform:translateY(-1px)}.button-primary{background:var(--amber);color:#24170d;box-shadow:0 7px 22px rgba(255,189,114,.15)}.button-primary:hover:not(:disabled){background:#ffd099}.button-primary:disabled{opacity:.68;cursor:wait}.button-secondary{background:#1b2b40;color:#deebf8;border:1px solid #344963;margin-top:18px}.arrow-icon{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.arrow-back{margin-right:5px;vertical-align:middle}.feature-list{padding:3px 0 0}.feature-list>h2{font-size:16px;letter-spacing:-.02em;margin:0 0 7px;padding:0 12px 5px;color:#dce6f4}.feature-row{min-height:57px;display:flex;align-items:center;gap:13px;width:100%;padding:7px 11px;border:0;border-bottom:1px solid var(--line);text-align:left;background:transparent}button.feature-row{cursor:pointer;border-radius:7px}button.feature-row:hover{background:#111c2b}.feature-icon{width:33px;height:33px;flex:0 0 33px;border-radius:10px;display:grid;place-items:center}.feature-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.route-icon{background:#14364c;color:#84d7fa}.contact-icon{background:#33283c;color:#e2b0ee}.map-icon{background:#212b46;color:#b5c3fc}.sos-icon{background:#432c2b;color:#ffae91}.message-icon{background:#443624;color:#ffd18d}.feature-row>span:nth-child(2){min-width:0;display:flex;flex:1 1;flex-direction:column;line-height:1.35}.feature-row strong{font-size:13px}.feature-row small{font-size:11px;color:var(--muted);margin-top:3px}.row-arrow{color:#a6bdd1;display:flex}.feature-paused{opacity:.7}.feature-tag{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#b7c5d6;font-weight:700}.empty-state{min-height:125px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--muted)}.empty-path{width:32px;height:32px;border:1px solid #3a5870;color:var(--blue);background:#102237;border-radius:10px;display:grid;place-items:center;margin-bottom:9px}.empty-path svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.empty-state p{color:#e2eaf4;margin:0 0 3px;font-weight:600;font-size:13px}.empty-state>span:last-child{font-size:12px}.contact-list{list-style:none;margin:0;padding:0}.data-notice{font-size:11px;color:#c2ccda;margin:16px 0 0;padding:11px 13px;background:#111a28;border:1px solid #28364b;border-radius:7px}.app-footer{height:64px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:#95a3b7;font-size:10px}.app-footer span:first-child{font-weight:700;letter-spacing:.12em;color:#c3d0df}.narrow-screen{max-width:650px;margin:0 auto;padding-top:29px}.back-link{display:inline-flex;align-items:center;padding:6px 0;margin:0 0 21px;border:0;background:transparent;color:#a9dfff;font-weight:600;font-size:13px;cursor:pointer}.narrow-screen h1{font-size:38px;margin-bottom:10px}.narrow-screen>.lede{max-width:540px}.walk-form{margin-top:24px;display:grid;grid-gap:9px;gap:9px}.walk-form label{font-size:13px;font-weight:700;margin-top:8px;color:#e0e8f2}.walk-form input,.walk-form select,.walk-form textarea{width:100%;border:1px solid #35445b;border-radius:7px;background:#0e1724;color:var(--ink);padding:12px 13px;min-height:46px}.walk-form textarea{resize:vertical;min-height:91px}.walk-form input::placeholder,.walk-form textarea::placeholder{color:#a1afc2;opacity:1}.field-hint{font-size:11px;color:#b6c1d0;margin-top:-5px}.map-preview-panel{margin:7px 0 13px;padding:15px;border:1px solid #304159;border-radius:10px;background:#111c2b}.map-preview-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.map-preview-heading h2{font-size:15px;margin:0 0 4px}.map-preview-heading p{font-size:11px;color:var(--muted);margin:0}.map-report-note{margin:-5px 0 10px;color:#b6c4d6;font-size:10px;line-height:1.4}.map-action-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:11px}.map-action-row .button{min-height:40px;margin-top:0;padding:0 12px;font-size:11px}.map-route-button{flex:1 1}.map-fallback-message{margin:0 0 11px;padding:10px 11px;border:1px solid #665229;border-radius:7px;background:#272216;color:#f1d89e;font-size:11px;line-height:1.5}.map-place-result{overflow:hidden;border:1px solid #304159;border-radius:7px;background:#0d1724}.google-map-canvas{display:block;width:100%;height:260px;border:0;background:#15263a}.map-canvas-pending{margin-top:10px}.map-place-details{display:flex;flex-direction:column;gap:4px;padding:12px 13px}.map-place-details strong{font-size:13px}.map-place-details span{font-size:11px;line-height:1.45;color:var(--muted)}.map-attribution,.map-issue-link{font-size:10px;color:#a9dfff;text-underline-offset:3px}.route-progress{display:flex;flex-direction:column;gap:7px;padding:12px 13px;border-top:1px solid #304159}.route-progress-copy{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.route-progress-copy strong{font-size:12px}.route-progress small,.route-progress-copy span{font-size:10px;color:#b6c4d6}.route-progress-track{height:6px;overflow:hidden;border-radius:6px;background:#26364b}.route-progress-track span{display:block;height:100%;border-radius:inherit;background:#53c89b;transition:width .3s ease}.route-progress small{line-height:1.4}.map-location-message,.tracking-note{margin:9px 0 0;color:#b6c4d6;font-size:10px;line-height:1.45}.map-location-message{color:#f1d89e}.map-status-label{flex:none;border:1px solid #35506a;border-radius:20px;padding:4px 8px;color:#a9dfff;font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.map-placeholder{min-height:147px;padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px dashed #3b536c;border-radius:7px;text-align:center;color:var(--muted)}.map-placeholder strong{font-size:12px;color:#e2eaf4}.map-placeholder>span:not(.map-pin){font-size:11px;max-width:340px}.map-pin{width:32px;height:32px;margin-bottom:4px;border-radius:50%;display:grid;place-items:center;background:#18374e;color:#8edcff;font-size:22px;line-height:1}.map-destination-card{display:flex;align-items:center;gap:12px;min-height:94px;padding:15px;border-radius:7px;background:#0d1724;border:1px solid #283c54}.map-links{margin-top:10px}.map-links .button{min-height:38px;padding:8px 12px}.map-destination-card .map-pin{flex:none;margin:0}.map-destination-copy{display:flex;min-width:0;flex:1 1;flex-direction:column;gap:3px}.map-destination-copy strong{font-size:13px;overflow-wrap:anywhere}.map-destination-copy span{font-size:11px;color:var(--muted)}.map-links{display:flex;gap:8px;flex-wrap:wrap}.map-links .button{min-height:40px;padding:0 12px;font-size:11px}.map-links .button-secondary{margin-top:0}.submit-button{margin-top:12px;width:max-content;min-width:190px}.form-error,.form-success{font-size:13px;padding:10px 12px;border-radius:7px;margin:5px 0 0}.form-error,.inline-error{background:#3c2225;color:#ffd1cb;border:1px solid #794045}.form-success{background:#18352f;color:#c3f4dc;border:1px solid #2e6656}.active-plan{display:flex;align-items:flex-start;gap:12px;margin-top:24px;padding:15px 16px;border:1px solid #304159;background:#111c2c;border-radius:8px}.active-dot{width:9px;height:9px;margin-top:5px;border-radius:50%;background:#69d6c2;box-shadow:0 0 0 4px #173b3c}.active-plan strong{font-size:13px}.active-plan p{font-size:12px;color:var(--muted);margin:4px 0 0}.narrow-screen>.data-notice{margin-top:21px}.active-walk-heading{margin-bottom:20px}.live-pill{display:inline-flex;align-items:center;gap:8px;margin-bottom:13px;padding:6px 10px;border:1px solid #28514e;border-radius:30px;background:#102b2b;color:#b3ebd6;font-size:9px;font-weight:800;letter-spacing:.08em}.checkin-card{display:flex;align-items:center;justify-content:space-between;min-height:118px;margin:20px 0;padding:18px 20px;border:1px solid #2a4b5e;border-radius:12px;background:linear-gradient(135deg,#10263a,#162538)}.checkin-card>div{display:flex;flex-direction:column;gap:3px}.checkin-label,.dialog-kicker,.route-summary-label,.sos-kicker{font-size:9px;font-weight:800;letter-spacing:.12em;color:#9ab1c8}.countdown{font-family:Manrope,sans-serif;font-size:36px;line-height:1.15;letter-spacing:-.05em}.checkin-caption{font-size:11px;color:var(--muted)}.checkin-clock,.checkin-ping{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#1c3e57;color:#8ddcfb;font-size:25px}.checkin-due{background:#3a2525;border-color:#80504a}.checkin-due .checkin-label,.checkin-due .countdown{color:#ffd0c4}.checkin-ping{background:#633735;color:#ffe1d9;font-weight:800}.checkin-prompt{margin:0 0 18px;padding:17px;border:1px solid #89554e;border-radius:10px;background:#321f22}.checkin-prompt h2{margin-bottom:6px}.checkin-prompt p{margin:0 0 13px;color:#e3bdb7;font-size:12px}.checkin-actions{display:flex;gap:9px;flex-wrap:wrap}.route-summary{display:flex;flex-direction:column;gap:5px;margin:16px 0;padding:15px;border:1px solid #2b3d55;border-radius:9px;background:#111a28}.route-summary strong{font-size:14px}.route-summary p{margin:0;color:#c3ccda;font-size:12px}.route-summary .field-hint{margin-top:3px}.sos-panel{margin:18px 0;padding:17px;border:1px solid #684441;border-radius:11px;background:#2b1c20}.sos-panel h2{margin:3px 0 6px;font-size:20px}.sos-panel p{max-width:480px;margin:0 0 13px;color:#d1b4b2;font-size:12px}.sos-panel .form-error,.sos-panel .form-success{margin-top:12px}.sos-panel-compact{margin-top:23px}.button-danger{background:#c44f43;color:white;box-shadow:0 7px 22px rgba(196,79,67,.16)}.button-danger:hover:not(:disabled){background:#d46052}.sos-contact-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.sos-contact-links .button{min-height:40px;font-size:11px}.end-walk-button{display:block;margin:15px auto 0;padding:8px 12px;border:0;background:transparent;color:#c3ccda;font-size:12px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.walk-contacts-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0;padding:13px;border:1px solid #2b3d55;border-radius:8px;background:#111a28}.walk-contacts-summary strong{font-size:12px}.walk-contacts-summary span{flex:1 1;min-width:150px;font-size:11px;color:var(--muted)}.walk-contacts-summary .button{min-height:38px;padding:0 12px;font-size:11px}.contact-empty{margin-top:20px;border:1px dashed #40516a;border-radius:8px;min-height:220px;background:rgba(18,27,42,.45)}.contact-list{margin-top:24px}.contact-list li{display:flex;align-items:center;gap:12px;min-height:70px;border-bottom:1px solid var(--line)}.contact-avatar{height:36px;width:36px;border-radius:11px;display:grid;place-items:center;background:#21364a;color:#b8e5fa;font-weight:700}.contact-list li>div{display:flex;flex:1 1;flex-direction:column}.contact-list strong{font-size:13px}.contact-list small{font-size:11px;color:var(--muted);margin-top:2px}.saved-label{font-size:10px;color:#a9dfff}.contact-form{display:grid;grid-gap:8px;gap:8px;margin-top:20px;padding:17px;border:1px solid #304159;border-radius:10px;background:#111c2b}.contact-form h2{margin:0 0 3px;font-size:17px}.contact-form label,.message-dialog label{font-size:12px;font-weight:700;color:#e0e8f2}.contact-form input,.message-dialog select,.message-dialog textarea{width:100%;min-height:44px;padding:11px 12px;border:1px solid #35445b;border-radius:7px;background:#0e1724;color:var(--ink);font:inherit}.contact-form input::placeholder,.message-dialog textarea::placeholder{color:#a1afc2;opacity:1}.contact-form .button{margin-top:7px;width:max-content}.quiet-note{margin-top:24px;padding:15px 16px;background:#111b29;border:1px solid #29384d;border-radius:8px}.quiet-note p,.quiet-note strong{font-size:12px}.quiet-note p{margin:4px 0 0;color:#b8c4d4}.contacts-shell{min-height:100vh}.contacts-screen h1{font-size:40px;margin-bottom:9px}.contacts-screen>.lede{color:var(--muted)}.contacts-screen .back-link{color:#a9dfff}.contacts-section-title{font-family:DM Sans,sans-serif;font-size:16px;letter-spacing:-.01em;color:#b6c4d6;margin:28px 0 11px 2px}.contacts-card{background:#101927;border:1px solid #29394e;border-radius:13px;padding:5px 15px;box-shadow:var(--shadow)}.contacts-screen .contact-list{margin:0;padding:0}.contacts-screen .contact-list li{min-height:78px;gap:13px;border-color:#26344b}.contacts-screen .contact-list li:last-child{border-bottom:0}.contacts-screen .contact-avatar{height:42px;width:42px;flex:0 0 42px;border-radius:12px;background:#183b53;color:#c1eaff;font-size:15px}.contacts-screen .contact-list strong{color:var(--ink);font-size:14px}.contacts-screen .contact-list small{color:#aab7c8;font-size:11px}.contacts-screen .saved-label{color:#9edfff;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.contacts-screen .contact-empty{min-height:180px;border:0;background:transparent}.contacts-screen .contact-empty .empty-path{background:#14324a;border-color:#31536a;color:#8edcff;border-radius:12px}.contacts-shell .quiet-note{background:#111b29;border:1px solid #29384d;border-radius:9px}.contacts-shell .quiet-note p{color:#b8c4d4}.contacts-shell .data-notice{background:#111a28;border:1px solid #28364b;color:#c2ccda;border-radius:7px;font-size:11px}.dialog-backdrop{position:fixed;z-index:20;inset:0;display:grid;place-items:center;padding:18px;background:rgba(3,8,15,.78);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.message-dialog{position:relative;width:min(100%,430px);height:min(820px,calc(100dvh - 36px));overflow:auto;padding:24px 22px;border:1px solid #344863;border-radius:15px;background:var(--panel);color:var(--ink);box-shadow:0 24px 70px rgba(0,0,0,.48)}.dialog-close{position:absolute;top:13px;left:14px;width:34px;height:34px;border:1px solid #3b4b60;border-radius:50%;background:#1b293b;color:#dce7f4;font-size:22px;cursor:pointer}.messages-status{display:flex;align-items:center;justify-content:center;gap:7px;width:max-content;margin:4px 0 38px auto;padding:8px 12px;border:1px solid #26384e;border-radius:30px;background:#101e2d;color:#c4d4e8;font-size:11px;font-weight:600}.messages-status span{color:#68d7c4;font-size:8px}.message-dialog .messages-title{margin:0 0 17px;color:var(--ink);font-size:30px;line-height:1.1;letter-spacing:-.035em}.simulated-contact-list{border-top:1px solid var(--line)}.simulated-contact-row{display:flex;align-items:center;gap:12px;width:100%;min-height:70px;padding:9px 2px;border:0;border-bottom:1px solid var(--line);border-radius:7px;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.simulated-contact-row:hover{background:#182438}.messages-back:focus-visible,.simulated-chat-header button:focus-visible,.simulated-contact-row:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.simulated-avatar{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;border-radius:12px;background:#14364c;color:#84d7fa;font-size:19px;font-weight:700}.simulated-avatar-1{background:#443624;color:#ffd18d}.simulated-avatar-2{background:#33283c;color:#e2b0ee}.simulated-avatar-3{background:#212b46;color:#b5c3fc}.simulated-avatar-4{background:#432c2b;color:#ffae91}.simulated-contact-copy{display:flex;flex:1 1;min-width:0;flex-direction:column;gap:2px}.simulated-contact-copy strong{font-size:13px}.simulated-contact-copy small{overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.simulated-contact-trailing{display:flex;flex:0 0 auto;align-items:center;gap:8px;color:var(--muted)}.simulated-contact-trailing time{font-size:10px}.simulated-contact-trailing>span{color:#a6bdd1;font-size:24px;line-height:1}.simulated-call{position:relative;min-height:520px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:1px solid var(--line);border-radius:12px;background:#0e1724}.messages-back{position:absolute;top:12px;left:0;width:42px;height:42px;border:1px solid #3b4b60;border-radius:50%;background:#1b293b;color:#dce7f4;font-size:30px;line-height:1;cursor:pointer}.simulated-call-state,.simulated-chat-time{color:var(--muted);font-size:11px;font-weight:600}.simulated-call-avatar{width:82px;height:82px;display:grid;place-items:center;margin-top:12px;border-radius:13px;background:#14364c;color:#84d7fa;font-size:27px;font-weight:700}.simulated-call>strong{font-size:22px}.simulated-call-caption{color:var(--muted);font-size:12px}.simulated-call-actions{display:flex;gap:18px;margin-top:25px}.simulated-call-actions button{min-height:44px;padding:0 16px;border:1px solid #3b506a;border-radius:8px;color:#fff;font-weight:700;cursor:pointer}.simulated-call-decline,.simulated-call-end{background:#693a3a}.simulated-call-answer{background:#17344b}.simulated-chat{height:100%;min-height:520px;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;background:#0e1724}.simulated-chat-header{position:relative;display:flex;align-items:center;justify-content:center;min-height:54px;border-bottom:1px solid var(--line)}.simulated-chat-header>button{position:absolute;left:8px;border:1px solid #3b4b60;border-radius:8px;background:#1b293b;color:#dce7f4;font-size:25px;line-height:1;cursor:pointer}.simulated-chat-header>strong{font-size:14px}.simulated-chat-header .simulated-avatar{position:absolute;right:9px;width:32px;height:32px;flex-basis:32px;font-size:13px}.simulated-chat-body{flex:1 1;min-height:0;display:flex;flex-direction:column;gap:14px;overflow:auto;padding:22px 12px 14px}.simulated-message-group{display:flex;flex-direction:column;gap:4px}.simulated-message-group.incoming{align-items:flex-start}.simulated-message-group.outgoing{align-items:flex-end}.simulated-bubble{max-width:88%;margin:0;padding:10px 13px;border:1px solid #344963;border-radius:12px;background:#182438;color:#edf3fb;font-size:13px;line-height:1.45}.simulated-message-group.incoming .simulated-bubble{border-bottom-left-radius:4px}.simulated-message-group.outgoing .simulated-bubble{border-color:#285575;background:#17344b;color:#e4f1ff;border-bottom-right-radius:4px}.simulated-chat-time{font-size:10px}.simulated-composer{position:relative;display:grid;grid-template-columns:1fr 38px;align-items:center;grid-gap:8px;gap:8px;margin:8px 10px 10px;padding:11px;border:1px solid var(--line);border-radius:10px;background:#111c2b}.simulated-composer input{width:100%;height:40px;padding:0 12px;border:1px solid #35445b;border-radius:7px;background:#0e1724;color:var(--muted);font:inherit}.simulated-composer input::placeholder{color:#a1afc2}.simulated-composer button{width:36px;height:36px;display:grid;place-items:center;border:1px solid #344963;border-radius:8px;background:#1b2b40}.simulated-composer button:disabled{cursor:not-allowed;opacity:.65}.simulated-composer button svg{width:21px;height:21px;fill:none;stroke:#c3d0df;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.simulated-composer small{grid-column:1/-1;text-align:center;color:var(--muted);font-size:10px}.simulated-chat-header{display:grid;grid-template-columns:38px 1fr 38px;grid-gap:8px;gap:8px;padding:8px 10px}.simulated-chat-header>button{position:static;left:auto;width:34px;height:34px}.simulated-chat-header .simulated-avatar{position:static;justify-self:center;width:34px;height:34px;flex-basis:34px;border-radius:9px;font-size:14px}.simulated-facetime-button{width:34px!important;height:34px!important;display:grid;place-items:center;border-color:#344963!important;background:#1b2b40!important;color:var(--blue)!important}.simulated-facetime-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.simulated-video-call{min-height:520px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;border:1px solid var(--line);border-radius:12px;background:#0e1724}.simulated-video-avatar{width:100px;height:100px;flex-basis:100px;display:grid;place-items:center;border-radius:18px;font-size:30px}.simulated-video-call>strong{font-size:20px}.simulated-video-call>span:not(.simulated-avatar){color:var(--muted);font-size:12px}.simulated-video-call .button{margin-top:14px}.home-sos-button{width:62px;height:56px;display:grid;place-items:center;margin:18px 0 0 auto;border:1px solid #ff6672;border-radius:14px;background:#e00019;color:#fff;font-size:16px;font-weight:800;letter-spacing:.03em;box-shadow:0 10px 28px rgba(224,0,25,.28);cursor:pointer}.home-sos-button:hover{background:#f0182e}.home-sos-button:focus-visible{outline:3px solid #fff;outline-offset:3px}.global-sos-button{position:fixed;z-index:25;right:24px;bottom:calc(20px + env(safe-area-inset-bottom));width:62px;height:56px;display:grid;place-items:center;border:1px solid #ff6672;border-radius:14px;background:#e00019;color:#fff;font-size:16px;font-weight:800;letter-spacing:.03em;box-shadow:0 10px 28px rgba(224,0,25,.36);cursor:pointer}.global-sos-button:hover{background:#f0182e}.global-sos-button:focus-visible{outline:3px solid #fff;outline-offset:3px}.global-sos-button.in-message-dialog{top:16px;right:max(18px,calc((100vw - 430px)/2 + 16px));bottom:auto;width:56px;height:38px;border-radius:8px;font-size:13px}.messages-status{margin-top:52px;margin-bottom:16px}.sos-demo-overlay{position:fixed;z-index:40;inset:0;display:flex;flex-direction:column;overflow:auto;padding:18px 24px max(22px,env(safe-area-inset-bottom));background:#e60018;color:#fff}.sos-demo-status{align-self:flex-end;display:flex;align-items:center;gap:8px;margin:0 0 20px;padding:9px 14px;border:1px solid rgba(255,255,255,.45);border-radius:25px;background:#ffd7d5;color:#087a50;font-size:11px;font-weight:800;letter-spacing:.035em}.sos-demo-status span{color:#00bd65;font-size:9px}.sos-demo-content{width:min(100%,600px);display:flex;flex-direction:column;align-items:center;gap:17px;margin:auto;text-align:center}.sos-demo-icon{width:112px;height:112px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.2)}.sos-demo-icon svg{width:58px;height:58px;fill:#fff;stroke:none}.sos-demo-icon .sos-alert-mark{fill:none;stroke:#e60018;stroke-width:4;stroke-linecap:round}.sos-demo-content h1{margin:0;color:#fff;font-size:32px;letter-spacing:-.025em}.sos-demo-content>p{max-width:520px;margin:0 0 2px;color:#fff;font-size:16px;line-height:1.4}.sos-demo-card{width:100%;display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:20px;background:#f2f1f6;color:#101116;text-align:left}.sos-demo-location>span{width:32px;height:32px;display:grid;place-items:center;color:#0784ff}.sos-demo-location svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.sos-demo-card>div{display:flex;flex-direction:column;gap:1px}.sos-demo-card strong{font-size:14px}.sos-demo-card small{color:#85858c;font-size:12px;line-height:1.35}.sos-demo-contacts{display:flex;flex-direction:column;align-items:stretch;gap:11px}.sos-demo-contacts>strong{margin-bottom:1px}.sos-demo-contact{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:15px;text-align:left}.sos-demo-contact>span{flex:1 1}.sos-demo-contact small{color:#7d8b87}.sos-demo-profile{min-height:82px}.sos-profile-icon{width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;border-radius:14px;background:#ffd8dc;color:#e00019}.sos-profile-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.sos-profile-chevron{margin-left:auto;color:#888;font-size:27px}.sos-demo-end{width:100%;min-height:58px;display:flex;align-items:center;justify-content:center;gap:10px;margin-top:4px;padding:10px 16px;border:0;border-radius:30px;background:#c90018;color:#fff;font-size:16px;font-weight:700;cursor:pointer}.sos-demo-end:hover{background:#bd0017}.sos-demo-end svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}@media(max-width:760px){.app-shell{padding:0 25px}.home-grid{grid-template-columns:1fr;gap:18px}.primary-panel{min-height:270px}.feature-list{padding-top:2px}.screen{padding-top:32px}}@media(max-width:440px){.app-shell{padding:0 19px}.topbar{height:68px}.brand{gap:9px;font-size:14px}.brand-icon{width:32px;height:32px}.privacy-chip{font-size:10px;padding:7px 9px}.account-actions{gap:7px}.sign-out-button{padding:6px 8px;font-size:11px}.screen{padding-top:27px}.entry-screen{padding-top:28px;gap:21px}.entry-copy h1{font-size:31px}.sign-in-panel{padding:22px 21px}.sign-in-panel h2{font-size:20px}.screen-heading{margin-bottom:20px}h1{font-size:32px}.lede{font-size:13px}.primary-panel{padding:22px 21px;min-height:254px}.primary-panel h2{font-size:23px}.sign-in-panel{min-height:0}.feature-row{gap:10px;padding-left:7px;padding-right:7px}.narrow-screen h1{font-size:34px}.app-footer{font-size:9px;gap:10px}.data-notice{font-size:10.5px}.contacts-screen h1{font-size:36px}.contacts-section-title{margin-top:25px}.contacts-card{padding:4px 13px}.contacts-screen .contact-list li{min-height:76px}.contacts-screen .data-notice{font-size:11px}.checkin-card{min-height:102px;padding:15px}.countdown{font-size:31px}.checkin-prompt{padding:14px}.map-action-row{flex-direction:column}.map-route-button{flex:none}.google-map-canvas{height:230px}.route-progress-copy{align-items:flex-start;flex-direction:column;gap:3px}.map-links{width:100%}.map-links .button{flex:1 1}.map-destination-card{flex-wrap:wrap}.map-destination-copy{max-width:calc(100% - 45px)}.message-dialog{padding:21px}.sos-panel{padding:14px}.welcome-screen .home-intro{margin-bottom:25px}.welcome-actions{align-items:stretch}.welcome-actions .button{width:100%}}@media(prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition:none!important}}.school-screen{max-width:760px;margin:0 auto}.school-copy{max-width:620px;margin-bottom:25px}.school-copy h1{max-width:600px}.school-search-form{display:grid;grid-gap:8px;gap:8px}.school-search-form label{font-size:12px;font-weight:700;color:#dce6f4}.school-search-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px}.school-search-controls input{width:100%;min-width:0;min-height:48px;padding:11px 14px;border:1px solid #35445b;border-radius:7px;background:#0e1724;color:var(--ink);font:inherit}.school-search-controls input::placeholder{color:#a7b3c6;opacity:1}.school-search-controls .button{min-height:48px}.school-search-message{margin:13px 0 0;padding:11px 13px;border:1px solid #344963;border-radius:7px;background:#111c2b;color:#dce6f4;font-size:13px}.school-results{display:flex;flex-direction:column;margin-top:18px;border-top:1px solid var(--line)}.school-result{display:grid;grid-template-columns:40px minmax(0,1fr) 20px;align-items:center;grid-gap:12px;gap:12px;width:100%;min-height:72px;padding:10px 4px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;cursor:pointer}.school-result:hover{background:#111c2b}.school-result>span:nth-child(2){display:flex;min-width:0;flex-direction:column;gap:2px}.school-result strong{font-size:13px}.school-result small{overflow:hidden;color:#becde0;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.school-result-pin{width:36px;height:36px;display:grid;place-items:center;border:1px solid #2b536b;border-radius:10px;background:#14364c;color:#84d7fa}.school-result-pin svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.school-result-arrow{color:#a6bdd1;font-size:25px}.school-search-credit{margin:17px 0 0;color:#becde0;font-size:11px}.school-screen .back-link{margin-bottom:18px}.home-school-map-card{max-width:760px;margin:0 0 26px;padding:17px;border:1px solid #304159;border-radius:10px;background:#111c2b}.home-school-map-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:13px}.home-school-map-heading h1{margin:0 0 3px;font-size:clamp(23px,3vw,30px);overflow-wrap:anywhere}.change-school-button{min-height:38px;margin:0;padding:0 12px;font-size:11px;white-space:nowrap}.selected-school-map{width:100%;height:245px;border:1px solid #26344b;border-radius:7px;background:#15263a}.selected-school-map-details{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 1px 0}.selected-school-map-details>div{display:flex;min-width:0;flex-direction:column;gap:3px}.selected-school-map-details strong{font-size:13px}.selected-school-map-details span{overflow:hidden;color:#becde0;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.school-map-credit a,.selected-school-map-details>a{color:#9edfff;text-decoration:underline;text-underline-offset:3px}.selected-school-map-details>a{flex:none;font-size:11px;font-weight:700}.school-map-credit{margin:8px 0 0;color:#becde0;font-size:10px}.school-map-credit a{color:#becde0}.home-screen>.home-grid{max-width:760px}@media(max-width:560px){.school-search-controls{grid-template-columns:1fr}.school-search-controls .button{width:100%}.home-school-map-card{padding:13px}.home-school-map-heading{align-items:flex-start;flex-direction:column}.change-school-button{width:100%;justify-content:center}.selected-school-map{height:220px}.selected-school-map-details{align-items:flex-start;flex-direction:column;gap:5px}.selected-school-map-details span{white-space:normal}}.sos-demo-location small{width:max-content;padding:2px 7px;border-radius:4px;background:#485161;color:#fff}.dialog-backdrop{z-index:1000}.global-sos-button.in-message-dialog{z-index:1001}.sos-demo-overlay{z-index:1100}