:root { font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color:#f7f8fb; background:#080b10; font-synthesis:none; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { min-width:320px; min-height:100vh; margin:0; background:radial-gradient(circle at 50% 12%, rgba(47,116,255,.19), transparent 40rem), #080b10; } button,a { font:inherit; } button { cursor:pointer; } button:disabled { cursor:wait; opacity:.55; }
.icon-sprite { position:absolute; width:0; height:0; overflow:hidden; }
.device-icon { display:block; width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.portal-shell { width:min(100%,620px); min-height:100vh; margin:auto; padding:22px; background:rgba(12,16,25,.76); }.topbar,.account-chip,.section-heading,.host-topline,.settings-dialog-header { display:flex; align-items:center; }.topbar { justify-content:space-between; }.brand { display:inline-flex; align-items:center; gap:9px; color:#f7f8fb; font-size:19px; font-weight:760; letter-spacing:-.7px; text-decoration:none; }.brand-mark { display:grid; width:30px; height:30px; place-items:center; border-radius:9px; background:#f7f8fb; color:#102035; letter-spacing:0; }.brand-mark .device-icon { width:18px; height:18px; stroke-width:2; }.account-chip { width:44px; height:44px; justify-content:center; padding:0; border:0; border-radius:50%; background:transparent; color:#08101f; }.account-chip img,.avatar-fallback { width:34px; height:34px; border-radius:50%; }.account-chip img { display:block; }.avatar-fallback { display:grid; place-items:center; border:1px solid rgba(255,255,255,.18); background:#f7f8fb; font-size:14px; font-weight:850; }.account-chip:hover { box-shadow:0 0 0 3px rgba(117,167,255,.16); }
.eyebrow { margin:0; color:#91b5ff; font-size:10px; font-weight:800; letter-spacing:1.55px; } h1,h2,p { margin-top:0; } h1 { max-width:530px; margin:0 0 12px; font-size:32px; line-height:1.05; letter-spacing:-1.8px; }.loading { display:inline-flex; align-items:center; margin-top:28px; padding:8px 11px; border:1px solid rgba(145,181,255,.2); border-radius:99px; background:rgba(47,116,255,.08); color:#b6caef; font-size:12px; font-weight:650; }.loading::before { width:7px; height:7px; margin-right:8px; border-radius:50%; background:#75a7ff; box-shadow:0 0 0 3px rgba(117,167,255,.13); content:""; }
.sign-in-card { margin:28px 0 48px; padding:24px; border:1px solid rgba(145,181,255,.22); border-radius:18px; background:rgba(16,20,29,.94); box-shadow:0 1.2rem 3rem rgba(0,0,0,.2); }.sign-in-card h2 { margin:7px 0 10px; font-size:27px; letter-spacing:-1.2px; }.sign-in-card p:not(.eyebrow):not(.privacy) { color:#aeb6c6; font-size:14px; line-height:1.5; }.primary,.secondary { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:47px; padding:12px 14px; border-radius:11px; font-size:13px; font-weight:760; }.primary { border:1px solid #f7f8fb; background:#f7f8fb; color:#08101f; }.primary span { font-size:17px; }.secondary { border:1px solid rgba(145,181,255,.45); background:rgba(47,116,255,.09); color:#dce7ff; }.privacy { margin:13px 0 0; color:#8e98aa; font-size:11px; line-height:1.45; }
.section-block { margin:32px 0 26px; }.section-heading { justify-content:space-between; gap:18px; margin-bottom:14px; } h2 { margin:6px 0 0; color:#f7f8fb; font-size:24px; line-height:1.07; letter-spacing:-1.2px; }.host-stack,.mac-host-list { display:grid; gap:10px; }.host-card { position:relative; display:grid; grid-template-columns:56px minmax(0,1fr); align-items:center; gap:13px; padding:13px; border:1px solid rgba(255,255,255,.11); border-radius:16px; background:rgba(255,255,255,.032); }.mac-card { grid-template-columns:56px minmax(0,1fr) auto; }.cloud-card { background:linear-gradient(130deg, rgba(47,116,255,.09), rgba(255,255,255,.025)); }.cloud-card[data-state="waiting"] { border-color:rgba(242,195,107,.24); background:linear-gradient(130deg,rgba(116,81,24,.13),rgba(255,255,255,.025)); }.cloud-card[data-state="attention"] { border-color:rgba(255,132,145,.25); background:linear-gradient(130deg,rgba(126,45,55,.13),rgba(255,255,255,.025)); }.host-illustration { position:relative; display:grid; width:56px; height:56px; overflow:hidden; place-items:center; border-radius:14px; }.cloud-illustration { background:rgba(117,167,255,.14); color:#8fb3ff; }.host-illustration .device-icon { width:32px; height:32px; }.mac-illustration { background:rgba(255,255,255,.07); color:#98a4b6; }.mac-illustration .device-icon { width:31px; height:31px; }.host-copy { min-width:0; }.host-topline { justify-content:space-between; gap:8px; color:#8e98aa; font-size:9px; font-weight:800; letter-spacing:1px; }.host-topline b { flex:0 0 auto; font-size:9px; letter-spacing:.2px; text-transform:none; }.status-ready { color:#8fb3ff; }.status-waiting { color:#e6bd72; }.status-attention { color:#ff9fa8; }.status-offline { display:inline-flex; align-items:center; gap:4px; color:#8e98aa; }.status-offline i { width:5px; height:5px; border-radius:50%; background:#8e98aa; }.host-copy strong { display:block; margin:5px 0 3px; color:#f7f8fb; font-size:16px; letter-spacing:-.55px; }.host-copy p,.host-message { display:block; margin:0; color:#aeb6c6; font-size:11px; line-height:1.35; }.cloud-usage { display:block; margin-top:9px; padding-top:8px; border-top:1px solid rgba(145,181,255,.15); color:#9ca8bb; font-size:10px; }.cloud-usage b { margin-right:3px; color:#dce7ff; font-size:12px; }.host-menu { position:relative; align-self:start; }.host-menu summary { display:grid; width:38px; height:38px; place-items:center; border:1px solid transparent; border-radius:10px; color:#9ca7b9; font-size:12px; font-weight:850; letter-spacing:2px; list-style:none; cursor:pointer; }.host-menu summary::-webkit-details-marker { display:none; }.host-menu[open] summary { border-color:rgba(145,181,255,.28); background:rgba(117,167,255,.08); color:#dce7ff; }.host-menu-popover { position:absolute; z-index:3; top:42px; right:0; display:grid; min-width:126px; padding:5px; border:1px solid rgba(255,255,255,.14); border-radius:12px; background:#171c27; box-shadow:0 12px 28px rgba(0,0,0,.42); }.host-menu-popover button { min-height:40px; padding:0 10px; border:0; border-radius:8px; background:transparent; color:#d4dbea; font-size:11px; font-weight:720; text-align:left; }.host-menu-popover button:hover { background:rgba(255,255,255,.06); }.host-menu-popover .remove-host { color:#ffadb5; }.link-host-form { display:grid; gap:8px; margin-top:2px; padding:14px; border:1px solid rgba(255,255,255,.1); border-radius:15px; background:rgba(255,255,255,.02); }.link-host-form>label { color:#c8d8f8; font-size:11px; font-weight:750; }.link-host-form>div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }.link-host-form input { min-width:0; min-height:43px; padding:10px; border:1px solid rgba(145,181,255,.35); border-radius:10px; background:rgba(8,11,16,.7); color:#f7f8fb; font:700 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.08em; }.link-host-form .secondary { width:auto; min-height:43px; }.link-host-form p { margin:0; color:#8e98aa; font-size:10px; line-height:1.4; }.link-host-form .host-form-status { color:#b8cfff; }
.tesla-section { margin-bottom:14px; }.tesla-pairing-card { display:grid; grid-template-columns:1.08fr .92fr; gap:22px; padding:20px; border:1px solid rgba(145,181,255,.16); border-radius:16px; background:linear-gradient(115deg, rgba(23,44,86,.42), rgba(11,16,27,.55)); }.tesla-pairing-card h2 { margin-bottom:8px; font-size:24px; }.tesla-pairing-card .connect-copy>p:last-child { margin-bottom:0; color:#b6c0d1; font-size:12px; line-height:1.5; }.connect-actions { display:flex; flex-direction:column; align-self:center; gap:9px; }.pairing-form { display:grid; grid-template-columns:1fr auto; gap:8px; }.pairing-form output { display:grid; min-width:0; min-height:47px; place-items:center; padding:10px; border:1px solid rgba(145,181,255,.45); border-radius:11px; background:rgba(8,11,16,.7); color:#f7f8fb; font:800 18px/1 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing:.2em; text-align:center; }.pairing-status { margin:7px 0 0; color:#b8cfff; font-size:10px; line-height:1.4; }.tesla-url { margin:4px 0 0; color:#aeb6c6; font-size:10px; line-height:1.45; }.tesla-url span { display:inline-grid; width:14px; height:14px; place-items:center; margin-right:4px; border-radius:50%; background:rgba(117,167,255,.18); color:#b9d0ff; font-size:8px; font-weight:800; }.tesla-url a,.pairing-complete a { color:#b8cfff; font-weight:800; text-decoration:none; }.pairing-complete { display:flex; align-items:flex-start; gap:11px; padding:14px; border:1px solid rgba(114,205,158,.28); border-radius:13px; background:rgba(54,139,94,.1); }.pairing-complete>span { display:grid; flex:0 0 auto; width:24px; height:24px; place-items:center; border-radius:50%; background:rgba(114,205,158,.17); color:#9eddbd; font-size:12px; font-weight:850; }.pairing-complete strong { display:block; color:#eaf8f0; font-size:13px; }.pairing-complete p { margin:4px 0 0; color:#aebfb5; font-size:10px; line-height:1.45; }
.setup-panel { margin:0 0 36px; overflow:hidden; border:1px solid rgba(255,255,255,.1); border-radius:16px; background:rgba(255,255,255,.025); }.setup-panel summary { display:flex; align-items:center; gap:12px; padding:14px; list-style:none; cursor:pointer; }.setup-panel summary::-webkit-details-marker { display:none; }.setup-panel summary>span:nth-child(2) { display:grid; flex:1; gap:3px; }.setup-panel summary strong { color:#f7f8fb; font-size:13px; }.setup-panel summary small { color:#8e98aa; font-size:10px; }.setup-icon { display:grid; width:34px; height:34px; place-items:center; border-radius:10px; background:rgba(117,167,255,.13); color:#b8cfff; font-size:20px; }.setup-chevron { color:#8e98aa; transition:transform .18s; }.setup-panel[open] .setup-chevron { transform:rotate(180deg); }.setup-content { padding:0 14px 14px 60px; }.setup-content>p { margin:0 0 12px; color:#aeb6c6; font-size:11px; line-height:1.5; }.profile-form { display:grid; gap:7px; align-content:start; }.profile-form label { color:#c8d8f8; font-size:11px; font-weight:750; }.profile-form>div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }.profile-form input { min-width:0; min-height:43px; padding:10px 11px; border:1px solid rgba(145,181,255,.35); border-radius:10px; background:rgba(8,11,16,.72); color:#f7f8fb; font:700 13px/1.2 Inter,ui-sans-serif,system-ui,sans-serif; }.profile-form .secondary { width:auto; min-height:43px; white-space:nowrap; }.profile-status { margin:0; color:#8e98aa; font-size:10px; line-height:1.4; }.profile-status[data-state="saved"] { color:#9eddbd; }.profile-status[data-state="error"] { color:#ffadb5; }.settings-dialog { width:min(calc(100% - 32px),460px); max-height:calc(100dvh - 32px); margin:auto; padding:22px; overflow:auto; border:1px solid rgba(145,181,255,.24); border-radius:20px; background:#10141d; color:#f7f8fb; box-shadow:0 2rem 6rem rgba(0,0,0,.6); }.settings-dialog::backdrop { background:rgba(2,5,10,.74); backdrop-filter:blur(5px); }.settings-dialog-header { justify-content:space-between; gap:18px; }.settings-dialog-header h2 { margin:5px 0 0; }.dialog-close { display:grid; flex:0 0 auto; width:38px; height:38px; place-items:center; padding:0; border:1px solid rgba(255,255,255,.12); border-radius:50%; background:rgba(255,255,255,.04); color:#cbd3e1; font-size:24px; line-height:1; }.settings-identity { margin:24px 0 20px; padding-bottom:18px; border-bottom:1px solid rgba(255,255,255,.1); }.settings-identity strong { display:block; font-size:20px; letter-spacing:-.55px; }.account-email { margin:5px 0 0; color:#aeb6c6; font-size:12px; }.account-plan { margin:3px 0 0; color:#8e98aa; font-size:10px; text-transform:capitalize; }.settings-profile-form { padding-bottom:22px; border-bottom:1px solid rgba(255,255,255,.1); }.settings-subsection { padding:20px 0; border-bottom:1px solid rgba(255,255,255,.1); }.settings-subsection h3 { margin:0 0 6px; font-size:14px; }.settings-subsection p { margin:0 0 12px; color:#98a4b7; font-size:10px; line-height:1.5; }.settings-subsection .secondary { width:100%; min-height:42px; }.settings-dialog-actions { display:flex; align-items:center; justify-content:space-between; gap:18px; padding-top:18px; }.settings-support { width:auto; min-height:40px; justify-content:center; padding:9px 12px; text-decoration:none; }.settings-dialog-actions .text-button { min-height:40px; }.text-button { padding:0; border:0; background:none; color:#b8cfff; font-size:12px; font-weight:750; }.account-id { color:#8e98aa; font-size:10px; }.error { margin:18px 0 0; color:#ff9fa8; font-size:13px; line-height:1.45; }
.settings-subsection .danger-secondary { width:100%; min-height:42px; margin-top:8px; border:1px solid rgba(255,121,132,.28); border-radius:10px; background:rgba(255,121,132,.06); color:#ffadb5; font-size:11px; font-weight:760; }.danger-settings { border-color:rgba(255,121,132,.18); }.settings-status { min-height:14px; margin:8px 0 0!important; color:#b8cfff!important; }
.mac-authorization-card { margin-bottom:24px; }.authorization-actions { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }.authorization-actions .secondary { width:auto; }.mac-authorization-card .host-form-status { margin:11px 0 0; color:#b8cfff; font-size:12px; }.recovery-link { margin-top:2px; color:#9ba7ba; font-size:11px; }.recovery-link summary { padding:8px 3px; cursor:pointer; font-weight:700; }.recovery-link[open] .link-host-form { margin-top:4px; }
.section-heading h2 { margin:0; }.profile-onboarding { margin:28px 0; padding:24px; border:1px solid rgba(145,181,255,.3); border-radius:18px; background:linear-gradient(135deg,rgba(24,43,82,.95),rgba(15,21,34,.96)); }.profile-onboarding h1 { margin-bottom:10px; font-size:28px; }.profile-onboarding>p { margin-bottom:20px; color:#aeb6c6; font-size:13px; line-height:1.5; }.profile-onboarding .profile-form { gap:10px; }.profile-onboarding .primary { margin-top:2px; }
[hidden] { display:none!important; } button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible { outline:3px solid #76a6ff; outline-offset:3px; } @media (min-width:700px) { .portal-shell { min-height:calc(100vh - 60px); margin-top:30px; margin-bottom:30px; padding:34px 34px 38px; border:1px solid rgba(255,255,255,.12); border-radius:25px; background:rgba(16,20,29,.93); box-shadow:0 2rem 5rem rgba(0,0,0,.36); } } @media (max-width:470px) { .tesla-pairing-card { grid-template-columns:1fr; gap:18px; }.host-card { grid-template-columns:52px minmax(0,1fr); }.mac-card,.tesla-card { grid-template-columns:52px minmax(0,1fr) auto; }.host-illustration { width:52px; height:52px; }.pairing-form,.link-host-form>div,.authorization-actions,.profile-form>div { grid-template-columns:1fr; }.link-host-form .secondary,.authorization-actions .secondary,.profile-form .secondary { width:100%; }.settings-dialog { width:100%; max-height:calc(100dvh - 44px); margin:auto 0 0; padding:20px 18px calc(20px + env(safe-area-inset-bottom)); border-right:0; border-bottom:0; border-left:0; border-radius:22px 22px 0 0; }.settings-dialog-actions { align-items:stretch; flex-direction:column; }.settings-support { width:100%; }.setup-content { padding-left:14px; } }

/* Hosts and paired Teslas */
#portal-content { margin-top:30px; }
.management-card { margin-bottom:16px; padding:16px; border:1px solid rgba(255,255,255,.1); border-radius:19px; background:rgba(16,20,29,.82); }
.billing-card { border-color:rgba(112,217,167,.2); background:linear-gradient(135deg,rgba(32,83,65,.2),rgba(16,20,29,.88)); }
.billing-card>p { margin:0 0 14px; color:#9da9ba; font-size:11px; line-height:1.55; }
.billing-card .primary { width:100%; }
.management-card-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:13px; }
.management-card-heading h2 { margin:4px 0 0; font-size:21px; }
.management-card-heading>p { max-width:210px; margin:0; color:#7f8b9e; font-size:10px; line-height:1.4; text-align:right; }
.management-card .host-stack,.tesla-list { gap:0; overflow:visible; border:1px solid rgba(255,255,255,.085); border-radius:15px; background:rgba(255,255,255,.018); }
.management-card .host-card { border:0; border-radius:0; background:transparent; }
.management-card .cloud-card { border-bottom:1px solid rgba(255,255,255,.075); background:linear-gradient(130deg,rgba(47,116,255,.065),transparent); }
.management-card .mac-host-list,.tesla-list { gap:0; }
.management-card .mac-host-list .host-card+.host-card,.tesla-list .host-card+.host-card { border-top:1px solid rgba(255,255,255,.075); }
.management-card .host-stack>.host-card:first-child { border-radius:14px 14px 0 0; }
.management-card .mac-host-list:last-child .host-card:last-child { border-radius:0 0 14px 14px; }
.tesla-list:empty { display:none; }
.tesla-card { grid-template-columns:56px minmax(0,1fr) auto; }
.tesla-illustration { background:rgba(112,217,167,.09); color:#83c9a8; }
.tesla-illustration .device-icon { width:34px; height:34px; }
.add-device-row { display:flex; align-items:center; gap:11px; width:100%; min-height:54px; margin-top:10px; padding:10px 12px; border:1px solid rgba(145,181,255,.16); border-radius:14px; background:rgba(47,116,255,.035); color:#f7f8fb; text-align:left; }
.add-device-row>span:first-child { display:grid; flex:none; width:30px; height:30px; place-items:center; border-radius:9px; background:rgba(117,167,255,.13); color:#b8cfff; font-size:18px; }
.add-device-row>span:nth-child(2) { display:grid; flex:1; gap:3px; }
.add-device-row strong { font-size:12px; }
.add-device-row small { color:#8e98aa; font-size:9px; }
.add-device-row>span:last-child { color:#758198; font-size:20px; }
.management-card .tesla-pairing-card { margin-top:10px; padding:14px; border-radius:14px; }
.tesla-pairing-card h3 { margin:0 0 6px; font-size:16px; }

/* Mobile account settings */
.settings-dialog { width:min(calc(100% - 28px),420px); padding:18px; border-color:rgba(255,255,255,.11); background:#0e131c; }
.settings-dialog-header h2 { margin:0; font-size:21px; letter-spacing:-.55px; }
.dialog-close { display:block; width:auto; height:auto; padding:7px 2px; border:0; border-radius:7px; background:none; color:#91b5ff; font-size:12px; font-weight:800; line-height:1; }
.dialog-close:focus-visible { outline:0; box-shadow:0 0 0 2px #76a6ff; }
.settings-group { margin-top:17px; }
.settings-group-title { margin:0 0 7px 3px; color:#8794a9; font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.settings-card { overflow:hidden; border:1px solid rgba(255,255,255,.09); border-radius:13px; background:rgba(255,255,255,.025); }
.settings-profile-form { gap:6px; padding:12px; border:0; }
.settings-profile-form label { color:#aeb8c9; font-size:10px; }
.settings-profile-form>div { grid-template-columns:minmax(0,1fr) auto; gap:7px; }
.settings-profile-form input { min-height:40px; padding:9px 10px; border-color:rgba(145,181,255,.25); border-radius:9px; font-size:12px; }
.settings-profile-form .secondary { width:auto; min-height:40px; padding:8px 12px; border-radius:9px; font-size:11px; }
.profile-status:empty,.settings-status:empty { display:none; }
.settings-account-details { margin:0; }
.settings-account-details>div,.settings-row,.connection-help>summary,.danger-settings>summary { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:44px; padding:9px 12px; border-top:1px solid rgba(255,255,255,.07); }
.settings-account-details dt { color:#aeb8c9; font-size:11px; font-weight:700; }
.settings-account-details dd { overflow:hidden; max-width:68%; margin:0; color:#7f8b9e; font-size:10px; text-align:right; text-overflow:ellipsis; white-space:nowrap; }
.account-plan { text-transform:capitalize; }
.settings-row { width:100%; border-right:0; border-bottom:0; border-left:0; background:none; color:#e7ebf3; font:700 12px/1.2 Inter,ui-sans-serif,system-ui,sans-serif; text-align:left; text-decoration:none; }
.settings-list>.settings-row:first-child { border-top:0; }
.settings-row-action { cursor:pointer; }
.settings-row-action>span:first-child { display:flex; align-items:center; gap:9px; }
.settings-row-action b { display:grid; width:22px; height:22px; place-items:center; border-radius:7px; background:rgba(117,167,255,.13); color:#a9c5ff; font-size:15px; }
.settings-row-action>span:last-child { color:#6f7c91; font-size:20px; font-weight:400; }
.settings-state { flex:none; padding:4px 7px; border-radius:999px; background:rgba(112,217,167,.1); color:#91ddb7; font-size:9px; font-weight:800; }
.connection-help { margin:0; border:0; }
.connection-help>summary,.danger-settings>summary { color:#aeb8c9; cursor:pointer; font-size:11px; font-weight:700; list-style:none; }
.connection-help>summary::-webkit-details-marker,.danger-settings>summary::-webkit-details-marker { display:none; }
.connection-help>summary span:last-child { transition:transform .18s ease; }
.connection-help[open]>summary span:last-child { transform:rotate(180deg); }
.connection-help-content,.danger-settings-content { padding:0 12px 12px; border-top:1px solid rgba(255,255,255,.06); }
.connection-help-content p,.danger-settings-content p { margin:10px 0; color:#7f8b9e; font-size:10px; line-height:1.45; }
.connection-help .danger-secondary,.danger-settings .danger-secondary { width:100%; min-height:38px; border:1px solid rgba(255,121,132,.25); border-radius:9px; background:rgba(255,121,132,.06); color:#ffadb5; font-size:10px; font-weight:760; }
.settings-status { margin:7px 3px 0!important; min-height:0; }
.settings-support { min-height:44px; padding:9px 12px; }
.settings-signout { justify-content:flex-start; color:#ffadb5; cursor:pointer; }
.danger-settings { padding:0; color:#98a4b7; }
.danger-settings>summary { color:#ffadb5; }

@media (max-width:470px) {
  .settings-dialog { width:100%; max-width:none; height:100dvh; max-height:none; margin:0; padding:0 15px calc(16px + env(safe-area-inset-bottom)); border:0; border-radius:0; }
  .settings-dialog-header { position:sticky; z-index:2; top:0; margin:0 -15px; padding:calc(14px + env(safe-area-inset-top)) 15px 13px; border-bottom:1px solid rgba(255,255,255,.08); background:rgba(14,19,28,.97); backdrop-filter:blur(16px); }
  .settings-profile-form>div { grid-template-columns:minmax(0,1fr) auto; }
  .settings-profile-form .secondary { width:auto; }
}

/* Public landing page */
body:has(.marketing-site:not([hidden])) { background:radial-gradient(circle at 72% 9%,rgba(47,116,255,.22),transparent 34rem),radial-gradient(circle at 10% 48%,rgba(54,139,94,.12),transparent 30rem),#080b10; }
body:has(.marketing-site:not([hidden])) .portal-shell { width:min(100%,1120px); background:rgba(9,13,20,.72); }
.marketing-site { padding-top:22px; }
.marketing-hero { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr); align-items:center; gap:64px; min-height:560px; padding:54px 22px 72px; }
.marketing-hero h1 { max-width:650px; margin:12px 0 21px; font-size:clamp(52px,7vw,82px); line-height:.92; letter-spacing:-5.2px; }
.marketing-lede { max-width:570px; margin-bottom:25px; color:#b6c0d1; font-size:17px; line-height:1.62; }
.marketing-sign-in { max-width:320px; }
.marketing-hero .privacy { max-width:420px; }
.marketing-preview { position:relative; min-height:390px; }
.preview-browser { position:absolute; z-index:2; top:28px; right:0; width:min(100%,390px); overflow:hidden; border:1px solid rgba(145,181,255,.27); border-radius:21px; background:linear-gradient(150deg,#16233b,#0e141f); box-shadow:0 28px 70px rgba(0,0,0,.48); transform:rotate(2deg); }
.preview-browser-bar { display:flex; align-items:center; gap:5px; height:42px; padding:0 14px; border-bottom:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.025); }
.preview-browser-bar i { width:7px; height:7px; border-radius:50%; background:#586477; }
.preview-browser-bar b { margin-left:auto; color:#78869c; font-size:9px; letter-spacing:.08em; text-transform:uppercase; }
.preview-browser-body { display:flex; align-items:center; min-height:195px; padding:34px; }
.preview-browser-body>strong,.preview-browser-body>small { position:absolute; left:120px; }
.preview-browser-body>strong { top:109px; font-size:22px; letter-spacing:-.8px; }
.preview-browser-body>small { top:141px; color:#91ddb7; font-size:11px; font-weight:750; }
.preview-cloud { position:relative; display:grid; width:68px; height:68px; place-items:center; border-radius:19px; background:rgba(117,167,255,.14); color:#8fb3ff; }
.preview-cloud .device-icon { width:39px; height:39px; }
.preview-route { position:absolute; z-index:1; top:240px; right:117px; width:180px; height:80px; border-right:2px solid rgba(145,181,255,.32); border-bottom:2px solid rgba(145,181,255,.32); border-radius:0 0 45px; }
.preview-route i { position:absolute; bottom:-5px; width:8px; height:8px; border-radius:50%; background:#75a7ff; box-shadow:0 0 0 5px rgba(117,167,255,.12); }
.preview-route i:nth-child(1) { left:0; }.preview-route i:nth-child(2) { left:50%; }.preview-route i:nth-child(3) { right:-5px; }
.preview-tesla { position:absolute; z-index:3; right:30px; bottom:4px; width:220px; height:105px; border:2px solid #778398; border-bottom-width:12px; border-radius:70px 70px 21px 21px; background:linear-gradient(#161c27,#0a0e15); box-shadow:0 22px 35px rgba(0,0,0,.38); }
.preview-tesla::after { position:absolute; right:13px; bottom:-20px; left:13px; height:12px; border-radius:0 0 12px 12px; background:#313947; content:""; }
.preview-screen { position:absolute; inset:24px 52px 15px; display:grid; grid-template-columns:33px 1fr; align-items:center; gap:9px; padding:8px; border:1px solid rgba(145,181,255,.25); border-radius:8px; background:#111a29; }
.preview-screen b { display:grid; width:31px; height:31px; place-items:center; border-radius:8px; background:#f7f8fb; color:#102035; }
.preview-screen small { color:#91ddb7; font-size:9px; font-weight:800; }
.marketing-trust { display:grid; grid-template-columns:repeat(3,1fr); margin:0; padding:0; border-top:1px solid rgba(255,255,255,.1); border-bottom:1px solid rgba(255,255,255,.1); list-style:none; }
.marketing-trust li { display:grid; gap:6px; padding:25px 30px; }
.marketing-trust li+li { border-left:1px solid rgba(255,255,255,.1); }
.marketing-trust b { font-size:13px; }.marketing-trust span { color:#7f8b9e; font-size:10px; line-height:1.45; }
.marketing-section { padding:105px 22px 32px; }
.marketing-section>h2 { max-width:700px; margin:10px 0 35px; font-size:clamp(34px,5vw,56px); line-height:.98; letter-spacing:-3px; }
.marketing-feature-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.marketing-feature-card { position:relative; min-height:330px; padding:29px; overflow:hidden; border:1px solid rgba(255,255,255,.11); border-radius:24px; background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.018)); }
.marketing-feature-card.cloud-feature { background:linear-gradient(145deg,rgba(47,116,255,.15),rgba(255,255,255,.018)); }
.marketing-feature-card .host-illustration { width:70px; height:70px; margin:42px 0 28px; border-radius:19px; transform:scale(1.1); transform-origin:left center; }
.marketing-feature-card h3 { margin:0 0 11px; font-size:25px; letter-spacing:-1.2px; }
.marketing-feature-card p { max-width:430px; margin-bottom:15px; color:#aeb6c6; font-size:13px; line-height:1.62; }
.marketing-feature-card small { color:#78869c; font-size:10px; }
.feature-number { position:absolute; top:24px; right:26px; color:#5f6d82; font:800 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace; }
.marketing-steps ol { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:0; padding:0; list-style:none; }
.marketing-steps li { display:grid; grid-template-columns:36px 1fr; gap:13px; padding:21px; border-top:1px solid rgba(145,181,255,.25); background:rgba(255,255,255,.018); }
.marketing-steps li>span { display:grid; width:32px; height:32px; place-items:center; border-radius:50%; background:rgba(117,167,255,.12); color:#b8cfff; font-size:11px; font-weight:850; }
.marketing-steps strong { display:block; margin:2px 0 8px; font-size:13px; }
.marketing-steps p { margin:0; color:#8894a7; font-size:10px; line-height:1.5; }
.marketing-price-card { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr); align-items:center; gap:60px; margin:104px 22px 42px; padding:42px; border:1px solid rgba(112,217,167,.25); border-radius:26px; background:radial-gradient(circle at 88% 10%,rgba(112,217,167,.15),transparent 17rem),linear-gradient(135deg,rgba(32,83,65,.24),rgba(16,20,29,.92)); }
.marketing-price-card h2 { max-width:570px; margin:10px 0 14px; font-size:clamp(32px,4.5vw,51px); line-height:1; letter-spacing:-2.7px; }
.marketing-price-card>div>p:last-child { margin:0; color:#aeb6c6; font-size:12px; line-height:1.6; }
.marketing-price { display:grid; align-content:center; }
.marketing-price>strong { font-size:45px; line-height:1; letter-spacing:-2px; }.marketing-price>span { margin:4px 0 7px; color:#aeb6c6; font-size:12px; }.marketing-price>small { margin-bottom:17px; color:#91ddb7; font-size:10px; font-weight:750; }
.marketing-price .primary { text-decoration:none; }
.marketing-boundary { display:grid; grid-template-columns:.8fr 1.2fr; gap:50px; margin:0 22px; padding:42px 0; border-top:1px solid rgba(255,255,255,.1); }
.marketing-boundary h2 { margin:7px 0 0; font-size:29px; letter-spacing:-1.6px; }
.marketing-boundary>p { margin:0; color:#8995a8; font-size:11px; line-height:1.75; }
.marketing-footer { display:flex; justify-content:space-between; gap:24px; margin:38px 22px 0; padding:25px 0 8px; border-top:1px solid rgba(255,255,255,.08); color:#697588; font-size:9px; letter-spacing:.03em; }
.marketing-footer a { color:#9eb8ec; text-decoration:none; }

@media (min-width:700px) {
  body:has(.marketing-site:not([hidden])) .portal-shell { padding:34px 42px 38px; }
}
@media (max-width:820px) {
  .marketing-hero { grid-template-columns:1fr; gap:16px; padding-top:64px; }
  .marketing-preview { min-height:360px; }
  .marketing-price-card { gap:32px; }
}
@media (max-width:620px) {
  .marketing-site { padding-top:8px; }
  .marketing-hero { min-height:0; padding:54px 0 62px; }
  .marketing-hero h1 { font-size:clamp(48px,15vw,68px); letter-spacing:-4px; }
  .marketing-lede { font-size:14px; }
  .marketing-preview { min-height:300px; }
  .preview-browser { width:94%; }.preview-browser-body { min-height:170px; padding:26px; }.preview-browser-body>strong,.preview-browser-body>small { left:105px; }.preview-browser-body>strong { top:101px; }.preview-browser-body>small { top:131px; }
  .preview-route { top:215px; right:88px; width:140px; }.preview-tesla { right:4px; width:190px; height:93px; }.preview-screen { inset:21px 43px 13px; }
  .marketing-trust { grid-template-columns:1fr; }.marketing-trust li { padding:18px 3px; }.marketing-trust li+li { border-top:1px solid rgba(255,255,255,.08); border-left:0; }
  .marketing-section { padding:82px 0 20px; }.marketing-section>h2 { font-size:38px; letter-spacing:-2.4px; }
  .marketing-feature-grid,.marketing-steps ol { grid-template-columns:1fr; }
  .marketing-feature-card { min-height:300px; padding:23px; }
  .marketing-price-card { grid-template-columns:1fr; margin:82px 0 32px; padding:27px; }
  .marketing-boundary { grid-template-columns:1fr; gap:19px; margin:0; }.marketing-footer { flex-direction:column; gap:9px; margin-right:0; margin-left:0; }
}
