/* First visit: Ely’s conversation, connected Light → optional Dark. */
body.messages-theme[data-scene=landing]:has(.landing[data-home-intro]) .app-shell{padding:0;max-width:none}
body.messages-theme[data-scene=landing] .landing[data-home-intro]{width:100%;max-width:520px;height:100dvh;min-height:0;max-height:none;margin:auto;padding:0;border:0;border-radius:0}
body.messages-theme .landing[data-home-intro] .welcome-conversation{background:#fff;transition:background 1s,color 1s}
body.messages-theme .landing[data-home-intro] .welcome-header{height:112px;min-height:112px;background:#f8f8fa;border-bottom:1px solid #0000000b;backdrop-filter:none;-webkit-backdrop-filter:none}
body.messages-theme .landing[data-home-intro] .welcome-contact{flex-direction:column;gap:4px}
body.messages-theme .landing[data-home-intro] .glass-avatar{width:52px;height:52px;border:0;box-shadow:none;background:#e6f1ef}
body.messages-theme .landing[data-home-intro] .glass-caption{font-size:16px;padding:0;border:0;background:none;box-shadow:none;color:inherit}
body.messages-theme .landing[data-home-intro] .welcome-account.shell-menu{top:14px;left:12px;background:none;box-shadow:none;border:0;color:#636366}
body.messages-theme .landing[data-home-intro] .welcome-thread{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:24px 22px 20px}
body.messages-theme .landing[data-home-intro] .landing-copy{display:block;max-width:none;gap:0}
body.messages-theme .landing[data-home-intro] [data-welcome-row]{width:100%;margin:0}
body.messages-theme .landing[data-home-intro] :is(.welcome-light,.welcome-dark){margin-top:23px}
body.messages-theme .landing[data-home-intro] :where(#landingTitle,#landingIntro,.welcome-question){width:fit-content;max-width:90%;margin:0;padding:13px 16px;border-radius:20px 20px 20px 5px;background:#e9e9eb;color:#1c1c1e;font:400 17px/1.55 var(--font);letter-spacing:-.4px;white-space:pre-line;text-align:left;transition:background 1s,color 1s}
/* Legacy .intro is translucent; incoming messages all use full opacity. */
body.messages-theme .landing[data-home-intro] #landingIntro{opacity:1}
body.messages-theme .landing[data-home-intro] #landingTitle{font-size:20px;font-weight:500;line-height:1.45;letter-spacing:-.7px}
body.messages-theme [data-welcome-only][hidden],body.messages-theme [data-welcome-row][hidden]{display:none!important}
body.messages-theme .welcome-typing{display:none;width:65px;height:39px;align-items:center;justify-content:center;gap:5px;background:#e9e9eb;border-radius:19px 19px 19px 5px}
body.messages-theme .welcome-typing i{width:7px;height:7px;border-radius:50%;background:#929299;animation:welcome-dot 1s infinite ease-in-out}
body.messages-theme .welcome-typing i:nth-child(2){animation-delay:.13s}
body.messages-theme .welcome-typing i:nth-child(3){animation-delay:.26s}
body.messages-theme .landing[data-home-intro] [data-message-state=pending]{display:none}
body.messages-theme .landing[data-home-intro] [data-message-state=typing]>:is(h1,.intro,.welcome-question){display:none}
body.messages-theme .landing[data-home-intro] [data-message-state=typing]>.welcome-typing{display:flex}
body.messages-theme .welcome-arrived>:is(h1,.intro,.welcome-question){animation:welcome-arrive .2s cubic-bezier(.16,.8,.24,1.15) both;transform-origin:bottom left}
body.messages-theme .landing[data-welcome-running=false] :is(.welcome-typing i,.welcome-arrived>h1,.welcome-arrived>.intro,.welcome-arrived>.welcome-question){animation-play-state:paused}
body.messages-theme .landing[data-home-intro] .welcome-conversation>.landing-actions{display:none}
body.messages-theme .landing[data-home-intro] #landingCTA{min-height:44px;min-width:0;width:fit-content;max-width:100%;padding:10px 16px;border-radius:20px 20px 5px 20px;font-size:17px;line-height:1.45;font-weight:400;letter-spacing:-.3px;gap:0;background:#006de6}
body.messages-theme .landing[data-home-intro] #landingCTA::before,body.messages-theme .landing[data-home-intro] #landingCTA::after{display:none}
body.messages-theme .landing[data-home-intro] #landingCTA.welcome-sending{animation:welcome-send .32s ease-in both;pointer-events:none}
body.messages-theme #landingCTA:focus-visible{outline:3px solid #479aff;outline-offset:4px}
body.messages-theme:has(.landing[data-home-intro]){transition:background 1s,color 1s}
/* A selected reply: small outgoing bubble, clear arrow and a finite invitation shimmer. */
body.messages-theme .landing[data-home-intro] #landingCTA{display:none}
body.messages-theme .welcome-composer{position:relative;isolation:isolate;overflow:hidden;box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:12px;width:fit-content;max-width:100%;min-height:50px;margin:20px 0 0 auto;padding:12px 18px;border:0;border-radius:22px 22px 6px 22px;background:#006de6;color:#fff;font:400 17px/24px var(--font);letter-spacing:-.3px;text-align:left;cursor:pointer;box-shadow:0 3px 10px #007aff1a;transition:background .15s,transform .15s,box-shadow .15s}
body.messages-theme .welcome-composer:hover{background:#005fcb;box-shadow:0 4px 16px #007aff30}
body.messages-theme .welcome-composer:active{transform:scale(.97)}
body.messages-theme .welcome-composer:focus-visible{outline:3px solid #479aff;outline-offset:4px}
body.messages-theme .welcome-composer:disabled{cursor:default;opacity:.65}
body.messages-theme .welcome-composer::after{content:"";pointer-events:none;position:absolute;inset:0;background:linear-gradient(110deg,transparent 24%,#ffffff15 38%,#ffffff80 49%,#ffffff15 60%,transparent 74%);transform:translateX(-120%)}
body.messages-theme .landing[data-home-intro][data-welcome-complete=true] .welcome-composer:not(:disabled)::after{animation:welcome-shimmer 2.6s .15s 3 ease-in-out}
body.messages-theme .landing[data-home-intro][data-welcome-complete=true] .welcome-composer:not(:disabled){animation:welcome-invite-glow 2.6s .15s 3 ease-in-out}
body.messages-theme .landing[data-home-intro][data-welcome-complete=true] .welcome-composer:not(:disabled) .welcome-send{animation:welcome-invite-arrow 2.6s .15s 3 ease-in-out}
body.messages-theme .welcome-send{display:grid;place-items:center;flex:none;width:20px;height:24px;color:inherit}
body.messages-theme .welcome-send svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
body.messages-theme .welcome-ely{position:relative;isolation:isolate;transition:background 1s,box-shadow 1s,transform 1s}
body.messages-theme .welcome-ely>img{transition:opacity 1s,transform 1s cubic-bezier(.2,.8,.2,1)}
body.messages-theme .welcome-ely>img.welcome-devil{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;opacity:0;transform:scale(.8) rotate(-8deg)}
body.messages-theme[data-home-dark] .landing[data-home-intro] .welcome-ely{background:#34263f;box-shadow:0 0 18px #b077e036;transform:scale(1.1)}
body.messages-theme[data-home-dark] .welcome-ely>img:not(.welcome-devil){opacity:0;transform:scale(.85)}
body.messages-theme[data-home-dark] .welcome-ely>img.welcome-devil{opacity:1;transform:scale(1) rotate(0deg)}
@keyframes welcome-shimmer{0%,8%{transform:translateX(-120%)}42%,100%{transform:translateX(120%)}}
@keyframes welcome-invite-glow{0%,70%,100%{box-shadow:0 3px 10px #007aff1a}28%{box-shadow:0 0 0 5px #007aff12,0 4px 22px #007aff55}48%{box-shadow:0 0 0 9px #007aff00,0 4px 16px #007aff20}}
@keyframes welcome-invite-arrow{0%,18%,52%,100%{transform:translateX(0)}30%{transform:translateX(4px)}40%{transform:translateX(0)}}
body.messages-theme .landing[data-home-intro] .welcome-sent{width:fit-content;max-width:85%;margin:20px 0 0 auto;padding:10px 16px;border-radius:20px 20px 5px 20px;background:#006de6;color:#fff;font:400 17px/1.45 var(--font);letter-spacing:-.3px;white-space:pre-wrap;overflow-wrap:anywhere;text-align:left}
body.messages-theme .welcome-sent[hidden]{display:none!important}
body.messages-theme .landing[data-home-intro]:has(.welcome-sent:not([hidden])) .welcome-composer{display:none}
body.messages-theme .welcome-sent.is-arriving{animation:welcome-arrive .2s cubic-bezier(.16,.8,.24,1.15) both;transform-origin:bottom right}
@media(max-width:680px){body.messages-theme[data-scene=landing] .landing[data-home-intro]{height:var(--welcome-viewport-height,100dvh)}}
/* Dark covers the page as well as the centered conversation, only during the intro. */
html:has(body.messages-theme[data-scene=landing] .landing[data-home-intro]){transition:background 1s,color 1s}
body.messages-theme .landing[data-home-intro] :is(.welcome-header,.welcome-account.shell-menu,.welcome-typing){transition:background 1s,color 1s,border-color 1s}
html:has(body.messages-theme[data-scene=landing][data-home-dark]),body.messages-theme[data-scene=landing][data-home-dark]{background:#151518;color:#f5f5f7;transition:background 1s,color 1s}
body.messages-theme[data-scene=landing][data-home-dark] .welcome-conversation{background:#151518;color:#f5f5f7}
body.messages-theme[data-home-dark] .landing[data-home-intro] .welcome-header{background:#202024;border-color:#ffffff0c}
body.messages-theme[data-home-dark] .landing[data-home-intro] .landing-actions{background:#151518ed;border-color:#ffffff0c}
body.messages-theme[data-home-dark] .landing[data-home-intro] :is(#landingTitle,#landingIntro,.welcome-question,.welcome-typing){background:#303034;color:#e6e6eb}
body.messages-theme[data-home-dark] .landing[data-home-intro] .welcome-account.shell-menu{color:#64a9ff}
/* Contextual entries retain the account/invitation content and original navigation. */
body.messages-theme .landing:not([data-home-intro]) .welcome-conversation>.landing-actions{width:100%;max-width:none;align-self:stretch;margin:18px 0 0;padding:14px 32px max(16px,env(safe-area-inset-bottom))}
@media(max-width:680px){body.messages-theme .landing:not([data-home-intro]) .welcome-conversation>.landing-actions{padding-inline:20px}}
@media(min-width:600px){body.messages-theme .landing[data-home-intro] .welcome-thread{padding-inline:32px}body.messages-theme .landing[data-home-intro] .welcome-conversation>.landing-actions{padding-inline:32px}}
@media(max-height:740px){
 body.messages-theme .landing[data-home-intro] .welcome-header{height:90px;min-height:90px}
 body.messages-theme .landing[data-home-intro] .glass-avatar{width:42px;height:42px}
 body.messages-theme .landing[data-home-intro] .welcome-thread{padding-top:10px;padding-bottom:14px}
 body.messages-theme .landing[data-home-intro] :is(.welcome-light,.welcome-dark){margin-top:17px}
 body.messages-theme .landing[data-home-intro] :where(#landingTitle,#landingIntro,.welcome-question){padding:11px 14px;font-size:16px}
 body.messages-theme .landing[data-home-intro] #landingTitle{font-size:19px}
 body.messages-theme .landing[data-home-intro] .welcome-conversation>.landing-actions{padding-top:12px;padding-bottom:12px}
}
@media(max-width:360px){body.messages-theme .landing[data-home-intro] .welcome-thread{padding-inline:17px}body.messages-theme .landing[data-home-intro] :where(#landingTitle,#landingIntro,.welcome-question){max-width:96%;font-size:16px}body.messages-theme .landing[data-home-intro] #landingTitle{font-size:18px}body.messages-theme .landing[data-home-intro] .welcome-conversation>.landing-actions{padding-inline:17px}body.messages-theme .landing[data-home-intro] #landingCTA{font-size:16px}}
@media(prefers-reduced-motion:reduce){html:has(body.messages-theme[data-scene=landing] .landing[data-home-intro]),body.messages-theme .landing[data-home-intro] *,body.messages-theme .landing[data-home-intro] *::after,body.messages-theme[data-home-dark]{animation:none!important;transition:none!important}}
@keyframes welcome-dot{0%,60%,100%{transform:translateY(0);opacity:.55}30%{transform:translateY(-4px);opacity:1}}
@keyframes welcome-arrive{from{opacity:.2;transform:translateY(8px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes welcome-send{to{transform:translateY(-28px) scale(.97);opacity:.25}}

/* Dark preview: one reading hierarchy and one unlock decision. */
body.messages-theme dialog.reading-experience .reading-dark-preview{width:100%;max-width:520px;margin:0 auto;padding:24px 24px max(28px,env(safe-area-inset-bottom));text-align:left;line-height:1.5}
body.messages-theme dialog.reading-experience .reading-dark-preview h3{margin:0;font:600 28px/1.2 var(--font);letter-spacing:-.8px;text-wrap:balance;color:var(--reader-ink)}
body.messages-theme dialog.reading-experience .reading-dark-preview .reading-preview-description{max-width:38ch;margin:12px 0 24px;color:var(--reader-muted);font:400 15px/1.5 var(--font);letter-spacing:-.2px}
body.messages-theme dialog.reading-experience .reading-preview-topics{list-style:none;counter-reset:dark-topic;padding:0;margin:0 0 20px;border:1px solid color-mix(in srgb,var(--reader-line) 55%,transparent);border-radius:16px;background:color-mix(in srgb,var(--reader-ink) 4%,var(--reader-bg));overflow:hidden}
body.messages-theme dialog.reading-experience .reading-preview-topics li{counter-increment:dark-topic;display:flex;align-items:center;gap:13px;min-height:49px;margin:0;padding:12px 15px;color:var(--reader-ink);font:400 15px/1.45 var(--font);letter-spacing:-.2px}
body.messages-theme dialog.reading-experience .reading-preview-topics li+li{border-top:1px solid color-mix(in srgb,var(--reader-line) 38%,transparent)}
body.messages-theme dialog.reading-experience .reading-preview-topics li::before{content:counter(dark-topic,decimal-leading-zero);flex:none;color:var(--reader-muted);opacity:.7;font:400 11px/1 var(--font);font-variant-numeric:tabular-nums}
body.messages-theme dialog.reading-experience .reading-dark-preview .primary{min-height:52px;margin:0;padding:14px 18px;border-radius:15px;font:500 16px/1.5 var(--font);background:#006de6}
.reading-dark-preview .reading-secondary-action{display:block;min-height:44px;margin:12px auto 0;padding:10px 16px;border:0;background:transparent;color:var(--reader-ink);font:inherit;cursor:pointer}
.reading-experience button:focus-visible{outline:3px solid #549cff;outline-offset:4px}
@media(max-width:360px){body.messages-theme dialog.reading-experience .reading-dark-preview{padding-inline:20px}body.messages-theme dialog.reading-experience .reading-dark-preview h3{font-size:26px}}

.reading-return-notice{grid-column:1/-1;margin:4px 0 0;padding:10px 14px;border-radius:12px;background:var(--reader-panel,#eef5ff);color:var(--reader-ink);font-size:13px;line-height:1.45;text-align:center}
.reading-experience[data-reading-side=dark] .reading-return-notice{background:#383d4c}

/* Short windows keep the reply in reach; the conversation scrolls above it. */
@media(max-height:600px){
 body.messages-theme[data-scene=landing] .landing{min-height:0;height:calc(100dvh - 24px)}
 body.messages-theme .welcome-header{height:64px;padding-block:4px}
 body.messages-theme .welcome-contact{flex-direction:row;gap:8px}
 body.messages-theme .welcome-contact .glass-avatar{width:44px;height:44px}
 body.messages-theme .welcome-conversation>.landing-actions{padding-top:8px;padding-bottom:max(8px,env(safe-area-inset-bottom))}
 body.messages-theme .welcome-thread{padding-top:14px;padding-bottom:14px}
}
@media(max-height:600px) and (max-width:680px){
 body.messages-theme[data-scene=landing] .landing{height:100dvh}
}

/* White 17px action text has 4.85:1 contrast on this Messages-blue shade. */
body.messages-theme .welcome-conversation #landingCTA,
body.messages-theme dialog.reading-experience .reading-dark-preview .primary{background:#006de6}

body.messages-theme #birthWelcomeReply{white-space:pre-wrap}

.report-local-sample{padding:10px 12px;border-radius:10px;background:#edf4ff;color:#335b87;font-size:12px;line-height:1.6}.report-local-sample a{color:inherit;text-decoration:underline;text-underline-offset:3px}dialog[data-reading-side=dark] .report-local-sample{background:#293448;color:#c1d7f7}

/* The guest receives one real paragraph; blurred continuation contains no report text. */
body.messages-theme dialog.reading-experience .report-reader-body:has(.report-light-gate) .report-cover{padding-bottom:16px}
.report-light-gate{position:relative;isolation:isolate;min-height:285px;padding:8px 0 28px}
.report-blurred-preview{user-select:none;pointer-events:none;filter:blur(4px);opacity:.38;mask-image:linear-gradient(#000 0%,#0008 42%,transparent 90%);-webkit-mask-image:linear-gradient(#000 0%,#0008 42%,transparent 90%)}
.report-blurred-paragraph{display:grid;gap:11px;margin:0 0 28px}
.report-blurred-paragraph span{display:block;height:10px;background:var(--reader-muted);border-radius:5px}
.report-blurred-paragraph span:nth-child(2){width:94%}.report-blurred-paragraph span:nth-child(4){width:62%}
.report-light-invitation{position:absolute;z-index:1;top:74px;inset-inline:0;padding:28px 12px 12px;background:linear-gradient(transparent,var(--reader-bg) 26%);text-align:center}
body.messages-theme dialog.reading-experience .report-light-invitation h3{margin:0;font:600 24px/1.3 var(--font);letter-spacing:-.6px;color:var(--reader-ink)}
body.messages-theme dialog.reading-experience .report-light-invitation p{margin:10px auto 20px;max-width:34ch;font:400 14px/1.6 var(--font);color:var(--reader-muted)}
body.messages-theme dialog.reading-experience .report-light-sign-in{display:block;width:100%;max-width:340px;min-height:52px;margin:auto;padding:14px 18px;border:0;border-radius:15px;background:#006de6;color:#fff;font:500 16px/1.5 var(--font);cursor:pointer}
body.messages-theme dialog.reading-experience .report-light-sign-in:focus-visible{outline:3px solid #549cff;outline-offset:4px}

.report-light-login-status:empty{display:none}body.messages-theme dialog.reading-experience .report-light-sign-in:disabled{opacity:.65;cursor:wait}

/* A lock communicates access while keeping the Dark preview available. */
.reading-mode-switch button{display:inline-flex;align-items:center;justify-content:center;gap:6px}
.reading-mode-lock{display:inline-block;flex:none;width:12px;height:14px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 18'%3E%3Cg fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='8' width='12' height='8' rx='2'/%3E%3Cpath d='M4.5 8V5a3.5 3.5 0 0 1 7 0v3M8 11.5v1.5'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;opacity:.8}
body.messages-theme dialog.reading-experience .reading-mode-switch button[data-locked=true]{color:var(--reader-ink)}

/* The next connection is offered in the shared bottom-sheet presentation. */
body.messages-theme dialog.reading-experience .report-open-connection{display:block;width:100%;max-width:340px;min-height:52px;margin:28px auto 12px;padding:14px 20px;border:0;border-radius:15px;background:#006de6;color:#fff;font:500 16px/1.5 var(--font);cursor:pointer}
body.messages-theme dialog.report-connection-sheet[data-presentation=sheet]{padding:54px 24px max(20px,env(safe-area-inset-bottom));text-align:center;background:#fff}
.report-connection-sheet::before{content:'';position:absolute;top:10px;left:calc(50% - 18px);width:36px;height:4px;border-radius:3px;background:#c7c7cc}
.report-connection-sheet .report-ely-pair{display:flex;justify-content:center;gap:14px;margin:0 0 18px}
.report-connection-sheet .report-ely-pair img{display:block;width:72px;height:72px;object-fit:contain}
body.messages-theme dialog.report-connection-sheet[data-presentation=sheet]>h2{margin:0 auto 16px;max-width:26ch;font:600 26px/1.25 var(--font);letter-spacing:-.7px;white-space:pre-line;word-break:keep-all;text-wrap:balance}
.report-connection-sheet .report-connection-copy{max-width:40ch;margin:0 auto 16px;color:var(--surface-ink);font:400 16px/1.6 var(--font);white-space:pre-line;word-break:keep-all;text-wrap:pretty}
.report-connection-sheet .report-note{margin:0 auto 22px;max-width:42ch;color:var(--surface-muted);font:400 13px/1.6 var(--font)}
body.messages-theme .report-connection-sheet .report-find-people{display:block;width:100%;max-width:380px;min-height:52px;margin:0 auto;padding:14px 18px;border:0;border-radius:15px;background:#006de6;color:#fff;font:500 16px/1.5 var(--font);cursor:pointer}
.report-connection-sheet .report-ely-dismiss{display:block;min-height:44px;margin:8px auto 0;padding:10px 16px;border:0;background:none;color:var(--surface-muted);font:400 15px/1.5 var(--font);cursor:pointer}
body.messages-theme dialog.report-connection-sheet[data-reading-side=dark]{--surface-ink:#f5f6fa;--surface-muted:#c1c5d1;background:#252833;color:#f5f6fa}
body.messages-theme dialog.report-connection-sheet[data-reading-side=dark] .dialog-close{background:#393d4b;color:#f5f6fa;border-color:#555b6a;box-shadow:none}
@media(min-width:760px){body.messages-theme dialog.report-connection-sheet[data-presentation=sheet]{inset:auto 0 0;margin:0 auto;width:min(560px,100%);max-height:calc(var(--presentation-height,100dvh) - 24px);border-radius:28px 28px 0 0;animation:surface-rise 240ms cubic-bezier(.16,1,.3,1)}}
@media(prefers-reduced-motion:reduce){body.messages-theme dialog.report-connection-sheet[data-presentation=sheet]{animation:none}}

/* Development-only connection handoff prototype; actual account flows are untouched. */
.local-connection-flow{max-width:480px;margin:0 auto;padding:0 24px 48px;color:#1c1c1e;font:17px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;animation:local-connection-arrive .22s ease-out}
.local-connection-nav{height:64px;display:flex;align-items:center;justify-content:center;position:relative;font-size:15px;font-weight:600;margin-bottom:28px;border-bottom:1px solid #f0f0f2}
.local-connection-back{position:absolute;left:-12px;min-width:44px;min-height:44px;border:0;background:none;color:#007aff;font-size:36px;line-height:1;cursor:pointer}
.local-connection-flow h1{margin:0;font-size:30px;font-weight:700;line-height:1.2;letter-spacing:-.7px;outline:none}
.local-connection-intro{color:#6c6c70;font-size:16px;line-height:1.6;margin:14px 0 30px}
.local-connection-list{border:1px solid #e7e7ec;border-radius:20px;overflow:hidden;background:#fff}
.local-connection-row{display:flex;align-items:center;gap:14px;text-align:left;width:100%;padding:20px 16px;border:0;background:none;font:inherit;cursor:pointer;color:inherit;min-height:90px}
.local-connection-row+.local-connection-row{border-top:1px solid #eeeef1}
.local-connection-row:hover{background:#f5f7fb}.local-connection-row:active{background:#eaf2ff}
.local-connection-icon{width:46px;height:46px;flex:0 0 46px;display:grid;place-items:center;border-radius:50%;background:#eff3ff;color:#3478ed;font-size:23px;font-weight:500}
.local-connection-row:first-child .local-connection-icon{background:#e6f5ee;color:#45836a}
.local-connection-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.local-connection-copy strong{font-size:17px;font-weight:600}.local-connection-copy small{font-size:13px;color:#77777e;line-height:1.45}
.local-connection-chevron{color:#aeaeb5;font-size:27px;font-weight:300}
.local-connection-fixture{font-size:12px;line-height:1.6;color:#85858b;margin:18px 0}
.local-connection-invite{margin:32px 0;padding:24px;border-radius:20px 20px 6px 20px;background:#007aff;color:#fff;font-size:22px;font-weight:500}
.local-connection-invite small{display:block;margin-top:16px;font-size:13px;font-weight:400;color:#fff}
.local-connection-primary{width:100%;min-height:52px;border:0;border-radius:28px;background:#007aff;color:#fff;font:inherit;cursor:pointer;padding:12px 20px}
.local-connection-flow button:focus-visible,.local-connection-flow input:focus-visible{outline:3px solid #007aff;outline-offset:3px}
.local-connection-form{margin-top:30px;display:grid;gap:22px}.local-connection-form label{display:grid;gap:8px;font-size:14px;font-weight:500}.local-connection-form input{min-width:0;width:100%;padding:14px;border:1px solid #d8d8df;border-radius:12px;font:inherit;font-size:17px;color:#1c1c1e;background:#fff}.local-connection-form .local-connection-fixture{margin:0}
@keyframes local-connection-arrive{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.local-connection-flow{animation:none}}

/* Ely types while a reading takes shape; all motion remains indeterminate. */
.ely-report-loading{--loading-ink:#1c1c1e;--loading-muted:#73737a;--loading-bubble:#e9e9eb;--loading-card:#fff;--loading-line:#e9ebef;--loading-edge:#e3e5eb;--loading-accent:#007aff;--loading-wash:#dceaff;display:flex;flex-direction:column;align-items:stretch;width:min(100%,360px);min-height:430px;margin:0 auto;padding:30px 12px 36px;text-align:left;color:var(--loading-ink);box-sizing:border-box}
.ely-report-loading[data-side=dark]{--loading-ink:#f5f5f7;--loading-muted:#aaaab7;--loading-bubble:#393b47;--loading-card:#2c2f3b;--loading-line:#454958;--loading-edge:#454856;--loading-accent:#a99bff;--loading-wash:#62578a}
.ely-loading-contact{display:flex;align-items:center;gap:7px;margin:0 0 12px 2px;font-size:14px;font-weight:600;color:var(--loading-muted)}
.ely-loading-face{width:48px;height:48px;object-fit:contain;display:block}
.ely-loading-message{align-self:flex-start;max-width:100%;padding:17px 20px 15px;border-radius:22px 22px 22px 6px;background:var(--loading-bubble)}
body.messages-theme .ely-report-loading h2{margin:0;color:var(--loading-ink);font:500 18px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.3px;max-width:280px}
.ely-loading-typing{display:flex;align-items:center;gap:5px;height:17px;margin-top:13px}
.ely-loading-typing i{display:block;width:6px;height:6px;border-radius:50%;background:var(--loading-muted);animation:ely-writing-dot 1.4s ease-in-out infinite}
.ely-loading-typing i:nth-child(2){animation-delay:.16s}.ely-loading-typing i:nth-child(3){animation-delay:.32s}
.ely-loading-card{position:relative;isolation:isolate;overflow:hidden;margin:22px 10px 24px 30px;padding:20px 22px 24px;border:1px solid var(--loading-edge);border-radius:18px;background:var(--loading-card);box-shadow:0 6px 24px #00000004}
.ely-loading-card::after{content:'';pointer-events:none;position:absolute;inset:0;background:linear-gradient(115deg,transparent 20%,color-mix(in srgb,var(--loading-wash) 45%,transparent) 45%,transparent 70%);transform:translateX(-120%);animation:ely-story-sheen 3.6s ease-in-out infinite}
.ely-loading-card-head{display:flex;align-items:center;gap:8px;color:var(--loading-accent);font-size:13px;font-weight:600;line-height:22px;margin-bottom:18px}
.ely-loading-card-mark{font-size:20px;font-weight:400}
.ely-loading-lines{display:flex;flex-direction:column;gap:9px}
.ely-loading-lines i{display:block;background:var(--loading-line);border-radius:8px;height:7px;width:100%}
.ely-loading-lines i:first-child{height:12px;width:72%;margin-bottom:8px}.ely-loading-lines i:nth-child(4){width:66%;margin-bottom:7px}.ely-loading-lines i:last-child{width:82%}
body.messages-theme .ely-report-loading .ely-loading-status{margin:0;text-align:center;color:var(--loading-ink);font:500 14px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:0}
body.messages-theme .ely-report-loading .ely-loading-hint{margin:5px 0 0;text-align:center;color:var(--loading-muted);font:400 12px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.ely-report-loading:is([data-stage=ready],[data-stage=pending]) .ely-loading-card::after,.ely-report-loading:is([data-stage=ready],[data-stage=pending]) .ely-loading-typing i{animation:none}
.ely-report-loading[data-stage=ready] .ely-loading-typing{visibility:hidden}
body.messages-theme dialog.reading-experience .reading-dark-preview[data-preparing=true]{padding:8px 16px 32px}
.local-loading-preview{background:#fff;min-height:calc(100dvh - 140px);padding:0 16px 30px}.local-loading-preview[data-side=dark]{background:#252833}
.local-loading-ready{display:block;margin:0 auto;background:none;border:0;color:#007aff;min-height:44px;font:14px/1.5 -apple-system,BlinkMacSystemFont,sans-serif;cursor:pointer}.local-loading-preview[data-side=dark] .local-loading-ready{color:#beb4ff}
@keyframes ely-writing-dot{0%,60%,100%{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
@keyframes ely-story-sheen{0%,12%{transform:translateX(-120%)}65%,100%{transform:translateX(120%)}}
@media(max-width:360px){.ely-report-loading{padding-inline:0}.ely-loading-card{margin-left:18px;margin-right:6px}}
@media(prefers-reduced-motion:reduce){.ely-loading-typing i,.ely-loading-card::after{animation:none}.ely-loading-typing i{opacity:.7}.ely-loading-card::after{display:none}}
/* The reader already has Ely in its fixed header. */
.reading-dark-preview .ely-loading-contact{display:none}
