/* Android launch: shared controls, quiet in-product announcements, branded landing. */
.android-landing,.android-home,.android-card {
    --ap-ink:#24264d; --ap-muted:#616680; --ap-purple:#7345d6;
    --ap-surface:#fff; --ap-line:#e5dff2; --ap-soft:#f4efff;
    box-sizing:border-box; color:var(--ap-ink); font-family:Nunito,system-ui,sans-serif;
}
[data-chat-mode="dark"] :is(.android-landing,.android-home,.android-card) {
    --ap-ink:#f4f0ff; --ap-muted:#bdbbd5; --ap-purple:#c0a3ff;
    --ap-surface:#222139; --ap-line:#423d5b; --ap-soft:#302942;
}
:is(.android-landing,.android-home,.android-card) * { box-sizing:border-box; }
:is(.android-landing,.android-home,.android-card) a { text-decoration:none; }
:is(.android-landing,.android-home,.android-card) :is(a,button,summary):focus-visible { outline:3px solid #9371e8; outline-offset:4px; }
[data-android-promo][hidden] { display:none!important; }
.android-icon { flex-shrink:0; border-radius:14px; object-fit:contain; background:#fff; }
.android-store { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:60px; padding:11px 22px; border:1px solid #45414d; border-radius:13px; background:#18151e; color:#fff!important; text-align:start; transition:background .18s; }
.android-store:hover { background:#332b43; }
[data-chat-mode="dark"] .android-store { border-color:#9d8db5; }
.android-store span { display:flex; flex-direction:column; gap:2px; }
.android-store small { font-size:12px; line-height:1.2; font-weight:600; color:#ede8f5; }
.android-store strong { font:800 21px/1.2 Nunito,system-ui,sans-serif; white-space:nowrap; }
.android-text-link { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; color:var(--ap-purple)!important; font-size:14px; font-weight:800; }
.android-text-link:hover { text-decoration:underline!important; text-underline-offset:4px; }
.android-qr { display:flex; align-items:center; gap:14px; text-align:start; }
/* 90px content = exactly two screen pixels per QR module, including its quiet zone. */
.android-qr>img { width:96px; height:96px; flex-shrink:0; border:3px solid #fff; border-radius:9px; background:#fff; }
.android-qr>span { display:flex; flex-direction:column; gap:4px; max-width:135px; }
.android-qr strong { font-size:13px; font-weight:800; line-height:1.4; }
.android-qr small { font-size:12px; line-height:1.5; color:var(--ap-muted); }

/* One invitation on the homepage: existing chat art plus an attached app row. */
.home-chat-promo-group { width:100%; min-width:0; margin:24px auto; }
html .home-chat-promo-group>.home-chat-promo { margin:0; border-bottom:0; border-radius:24px 24px 0 0; box-shadow:none; }
.android-home { display:flex; align-items:center; gap:14px; padding:16px 28px; margin:0; border:1px solid var(--ap-line); border-top:1px solid var(--ap-line); border-radius:0 0 24px 24px; background:var(--ap-surface); }
.android-home__copy { flex:1; min-width:0; }
.android-home h2 { margin:0 0 2px; color:var(--ap-ink); font-size:17px; line-height:1.4; font-weight:900; }
.android-home p { margin:0; font-size:13px; color:var(--ap-muted); line-height:1.4; }
.android-home__actions { display:flex; align-items:center; gap:20px; }
.android-home .android-store { min-height:48px; padding:8px 16px; gap:9px; border-radius:11px; }
.android-home .android-store small { font-size:10px; }
.android-home .android-store strong { font-size:17px; }
.android-home .android-store svg { width:22px; height:24px; }
.android-qr-menu { position:relative; margin:0; padding:0; overflow:visible; background:none; border:0; border-radius:0; box-shadow:none; backdrop-filter:none; }
.android-qr-menu summary { display:grid; place-items:center; min-height:44px; min-width:44px; padding:0; list-style:none; background:var(--ap-soft); border-radius:10px; font-size:12px; color:var(--ap-purple); font-weight:900; cursor:pointer; }
.android-qr-menu summary::before,.android-qr-menu summary::after { content:none; }
.android-qr-menu summary::-webkit-details-marker { display:none; }
.android-home .android-qr-menu>div { position:absolute; top:calc(100% + 10px); inset-inline-end:0; z-index:12; width:280px; margin:0; padding:14px; max-height:none; opacity:1; overflow:visible; background:var(--ap-surface); border:1px solid var(--ap-line); border-radius:16px; box-shadow:0 14px 40px #2c20542b; }

/* Fits naturally above room search, without taking over the room list. */
.android-card { position:relative; margin:10px; padding:13px; flex-shrink:0; border:1px solid var(--ap-line); border-radius:14px; background:linear-gradient(120deg,var(--ap-soft),var(--ap-surface)); text-align:start; }
.android-dismiss { position:absolute; top:2px; inset-inline-end:2px; display:grid; place-items:center; width:32px; height:32px; border:0; border-radius:50%; background:transparent; color:var(--ap-muted); font:23px/1 system-ui; cursor:pointer; }
.android-dismiss:hover { background:var(--ap-line); }
.android-card__heading { display:flex; align-items:center; gap:10px; padding-inline-end:14px; }
.android-card__heading .android-icon { width:40px; height:40px; border-radius:11px; }
.android-card h2 { margin:0 0 3px!important; color:var(--ap-ink); font-size:14px!important; line-height:1.3; font-weight:900; }
.android-card p { margin:0; color:var(--ap-muted); font-size:12px; line-height:1.4; }
.android-card__actions { display:flex; align-items:center; gap:12px; margin-top:11px; flex-wrap:wrap; }
.android-install { display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:8px 13px; min-height:38px; border-radius:9px; background:#7550d8; color:#fff!important; font-size:12px; font-weight:800; }
.android-install:hover { background:#613fc0; }
.android-card .android-text-link { min-height:38px; font-size:12px; }

/* Use the main site's header, wallpaper and footer; content shares its card style. */
.android-landing { -webkit-font-smoothing:antialiased; text-align:start; }
.android-landing img { display:block; max-width:100%; }
.android-page { width:100%; min-width:0; margin:24px 0; display:grid; gap:24px; }
.android-page :is(h1,h2) { color:var(--ap-ink); font-family:'Promo Nunito',Nunito,system-ui,sans-serif; }
.android-page>section { border:1px solid var(--ap-line); border-radius:24px; background:var(--ap-surface); box-shadow:0 8px 24px #7361b014; }
.android-page>.android-hero { position:relative; isolation:isolate; display:grid; grid-template-columns:1.05fr 1fr; align-items:center; min-height:650px; gap:10px; padding:38px 44px; overflow:hidden; background:radial-gradient(ellipse at 95% 0%,#f3e8ff 0,transparent 55%),radial-gradient(ellipse at 0% 100%,#e0f3ff 0,transparent 55%),#faf8ff; }
[data-chat-mode="dark"] .android-hero { border-color:var(--ap-line); background:radial-gradient(ellipse at 95% 0%,#55345e 0,transparent 60%),radial-gradient(ellipse at 0% 100%,#233d60 0,transparent 65%),#30274b; }
.android-hero__copy { position:relative; z-index:3; }
.android-pill { display:inline-flex; align-items:center; gap:8px; padding:8px 13px; border-radius:100px; background:#ffffffb3; color:#7345d6; font-size:13px; font-weight:900; }
[data-chat-mode="dark"] .android-pill { color:#e2ceff; background:#ffffff16; }
.android-hero h1 { margin:23px 0 20px; font-size:clamp(44px,4.6vw,64px); line-height:1.08; letter-spacing:-.035em; font-weight:1000; }
.android-hero h1 em { display:block; font-style:normal; color:var(--ap-purple); background:linear-gradient(100deg,#dc48d9 7%,#9563dc 54%,#299bd0 95%); background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.android-lead { max-width:420px; margin:0 0 30px; color:var(--ap-muted); font-size:18px; font-weight:600; line-height:1.65; }
.android-download { display:flex; align-items:flex-start; gap:20px; }
.android-hero__actions { display:flex; flex-direction:column; align-items:stretch; }
.android-download>.android-qr { padding-inline-start:20px; border-inline-start:1px solid #b8a2d552; }
.android-download .android-qr>span { display:none; }
.android-stage { position:relative; min-width:0; height:590px; }
.android-stage::before { content:''; position:absolute; inset:17% -20% 2% 8%; border-radius:50%; background:#ffffff69; }
[data-chat-mode="dark"] .android-stage::before { background:#ffffff0c; }
.android-phone { position:relative; width:260px; padding:7px; flex-shrink:0; border:1px solid #ada4c7; border-radius:35px; background:#fff; box-shadow:0 20px 36px #46377720,0 3px 5px #46377716; }
.android-phone__screen { position:relative; width:100%; aspect-ratio:374/835; overflow:hidden; border-radius:28px; background:#e6f1ff; }
.android-phone__screen>img { position:absolute; width:160.428%; max-width:none; height:auto; left:-30.214%; top:-22.994%; }
.android-stage>.android-phone { position:absolute; top:0; right:20px; width:264px; }
.android-stage__mascot { position:absolute; z-index:2; width:min(250px,calc(100% - 267px)); height:auto; bottom:18px; left:-25px; filter:drop-shadow(0 15px 12px #7569b125); }
.android-stage__bubble { position:absolute; width:90px; height:90px; object-fit:contain; top:68px; left:0; transform:rotate(-12deg); }
.android-stage__spark { position:absolute; z-index:2; font-size:40px; color:#a183df; }
.android-stage__spark--one { top:18px; left:30px; }
.android-stage__spark--two { right:-20px; bottom:50px; color:#f4b840; }
.android-features { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; padding:30px 36px; }
.android-feature { display:flex; align-items:flex-start; gap:14px; }
.android-feature__icon { width:52px; height:52px; flex-shrink:0; object-fit:contain; }
.android-feature h2 { margin:2px 0 7px; font-size:18px; line-height:1.35; font-weight:900; letter-spacing:-.02em; }
.android-feature p { margin:0; color:var(--ap-muted); font-size:14px; line-height:1.65; }
.android-tour { display:grid; grid-template-columns:.75fr 1.25fr; align-items:center; gap:40px; padding:38px 36px 54px; border-block:1px solid var(--ap-line); }
.android-kicker { display:block; color:var(--ap-purple); font-size:12px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.android-tour h2,.android-faq h2 { margin:16px 0 20px; font-size:42px; font-weight:1000; line-height:1.12; letter-spacing:-.04em; }
.android-tour__intro>p { color:var(--ap-muted); font-size:17px; line-height:1.8; }
.android-gallery { display:flex; align-items:center; justify-content:center; gap:22px; padding-block:10px; }
.android-gallery .android-phone { width:47%; max-width:250px; padding:6px; border-radius:28px; }
.android-gallery .android-phone__screen { border-radius:22px; }
.android-faq { display:grid; grid-template-columns:.85fr 1.15fr; align-items:start; gap:60px; padding:44px 36px; }
.android-faq h2 { max-width:300px; margin-top:15px; font-size:32px; }
.android-faq details { margin:0; padding:0; border:0; border-bottom:1px solid var(--ap-line); border-radius:0; background:none; box-shadow:none; backdrop-filter:none; }
.android-faq summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:21px 0; cursor:pointer; list-style:none; background:transparent; color:var(--ap-ink); font-size:16px; line-height:1.5; font-weight:800; }
.android-faq summary::-webkit-details-marker { display:none; }
.android-faq summary::before { content:none; }
.android-faq summary::after { content:'+'; position:static; flex-shrink:0; color:var(--ap-purple); font-size:24px; transform:none; }
.android-faq details[open] summary::after { content:'−'; transform:none; }
.android-faq details>p,.android-faq details[open]>p { color:var(--ap-muted); font-size:15px; line-height:1.75; margin:0 0 22px; max-height:none; opacity:1; overflow:visible; padding:0; }
.android-closing { display:flex; align-items:center; gap:20px; padding:30px 36px; border-radius:26px; background:#eae3fc; }
[data-chat-mode="dark"] .android-closing { background:#342b4b; }
.android-closing>div { flex:1; }
.android-closing h2 { font-size:25px; font-weight:1000; line-height:1.25; letter-spacing:-.025em; margin:0 0 7px; }
.android-closing p { margin:0; font-size:15px; color:var(--ap-muted); }
@media(max-width:1050px) {
    .android-page>.android-hero { padding:32px; }
    .android-stage>.android-phone { width:244px; right:0; top:20px; }
    .android-stage__mascot { width:min(205px,calc(100% - 256px)); left:-12px; bottom:20px; }
    .android-stage__bubble { width:70px; left:0; top:30px; }
    .android-stage__spark--one { display:none; }
    .android-tour,.android-faq { gap:30px; padding-inline:15px; }
    .android-features { gap:20px; }
    .android-feature { display:block; }
    .android-feature__icon { margin-bottom:10px; }
    .android-home__actions { gap:12px; }
}
@media(max-width:900px) {
    .android-page { gap:20px; }
    .android-page>.android-hero { grid-template-columns:1fr; min-height:0; gap:15px; padding:28px 24px 22px; }
    .android-hero h1 { margin-top:20px; font-size:48px; line-height:1.08; max-width:520px; }
    .android-lead { font-size:16px; margin-bottom:22px; max-width:450px; }
    .android-download { gap:0; }
    .android-download>.android-qr { display:none; }
    .android-hero__actions { flex-direction:row; gap:18px; align-items:center; flex-wrap:wrap; }
    .android-hero .android-store { min-height:54px; padding:10px 17px; }
    .android-hero .android-store strong { font-size:19px; }
    .android-stage { height:500px; width:100%; max-width:440px; margin:12px auto 0; }
    .android-stage>.android-phone { width:216px; right:14px; top:0; padding:6px; border-radius:29px; }
    .android-stage .android-phone__screen { border-radius:23px; }
    .android-stage__mascot { width:100px; left:-28px; bottom:5px; }
    .android-stage__bubble { width:62px; height:62px; left:0; top:45px; }
    .android-stage__spark--two { right:0; bottom:10px; }
    .android-features { grid-template-columns:1fr; gap:23px; padding:28px 24px; }
    .android-feature { display:flex; gap:16px; }
    .android-feature__icon { width:48px; height:48px; margin:0; }
    .android-feature h2 { font-size:18px; margin-top:0; }
    .android-feature p { font-size:14px; }
    .android-tour { grid-template-columns:1fr; gap:14px; padding:28px 24px; }
    .android-tour h2 { font-size:34px; max-width:400px; margin:12px 0; }
    .android-tour__intro>p { font-size:16px; margin:0; }
    .android-gallery { gap:14px; }
    .android-gallery .android-phone { width:47%; padding:4px; border-radius:23px; }
    .android-gallery .android-phone__screen { border-radius:18px; }
    .android-faq { grid-template-columns:1fr; gap:0; padding:25px 24px 32px; }
    .android-faq h2 { font-size:28px; max-width:none; margin-bottom:10px; }
    .android-faq summary { font-size:15px; padding:18px 0; }
    .android-closing { flex-wrap:wrap; padding:24px 22px; gap:16px; border-radius:22px; }
    .android-closing>.android-icon { width:50px; height:50px; }
    .android-closing h2 { font-size:21px; }
    .android-closing p { font-size:13px; }
    .android-closing .android-store { margin-inline-start:66px; }
    .android-home { padding:15px 18px; gap:10px; flex-wrap:wrap; }
    .android-home h2 { font-size:16px; }
    .android-home p { font-size:12px; }
    .android-home__actions { width:100%; justify-content:space-between; gap:12px; }
    .android-home .android-text-link { font-size:13px; }
    .android-qr-menu { display:none; }
    .android-card { margin:8px 10px; padding-block:11px; padding-inline:12px 35px; }
    .android-card__heading { padding:0; }
    .android-card__heading .android-icon { width:36px; height:36px; }
    .android-card__actions { gap:16px; margin-top:8px; }
}
@media(max-width:380px) {
    .android-page>.android-hero { padding-inline:20px; }
    .android-hero h1 { font-size:44px; }
    .android-hero__actions { flex-direction:column; align-items:flex-start; gap:0; }
    .android-stage { height:450px; }
    .android-stage>.android-phone { width:192px; right:0; }
    .android-stage__mascot { width:86px; left:-22px; }
    .android-stage__bubble { width:54px; }
    .android-closing .android-store { margin-inline-start:0; }
}
@media(prefers-reduced-motion:reduce) { .android-store { transition:none; } }
