/* QAQA's own light-green, iPhone-inspired interface. The dock is a body child,
   so no animated ancestor can make its fixed position scroll with the page. */
:root {
  --mint:#f0f8f2;
  --ink:#15271d;
  --muted:#63776a;
  --card:#fff;
  --glass:rgba(248,255,250,.84);
  --line:#d8eadc;
  --accent:#23844e;
  --soft:#e1f4e6;
}
:root[data-theme=dark] {
  --mint:#101a14;
  --ink:#eff8ef;
  --muted:#adc3af;
  --card:#1b2b20;
  --glass:rgba(24,42,30,.88);
  --line:#34543a;
  --accent:#9ce7aa;
  --soft:#294631;
}
html{background:var(--mint)}
body:has(#page-home:not([hidden])){background:linear-gradient(180deg,#a8e6b5 0,#d8f6df 260px,var(--mint) 520px,var(--mint) 100%)}
:root[data-theme=dark] body:has(#page-home:not([hidden])){background:linear-gradient(180deg,#285e38 0,#1c3826 250px,var(--mint) 510px,var(--mint) 100%)}
.app-shell{animation:none;min-height:100dvh;padding-bottom:calc(116px + env(safe-area-inset-bottom,0px))}
.agent-hero{padding:17px 8px 13px}
.hero-frog{width:126px;height:126px;filter:drop-shadow(0 12px 14px #246c3540)}
.agent-hero h1{font-size:clamp(27px,7vw,34px)}
.agent-hero>p:not(.eyebrow){font-size:13px;line-height:1.4;max-width:320px;color:var(--muted);margin:5px auto 0}
.feature-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:12px 0 21px}
.feature-strip button{display:flex;min-width:0;min-height:132px;flex-direction:column;align-items:flex-start;justify-content:flex-end;position:relative;padding:11px;border:1px solid #b9dfc2;border-radius:20px;background:linear-gradient(150deg,#fafffb,#e4f6e7);color:var(--ink);text-align:left;box-shadow:0 9px 22px #387e4b18;overflow:hidden;transition:transform .18s,box-shadow .18s}
.feature-strip button:active{transform:scale(.97)}
.feature-strip button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.feature-symbol{width:47px;height:47px;display:grid;place-items:center;position:absolute;top:12px;right:12px;border-radius:15px;background:linear-gradient(145deg,#dcf7df,#b8edc2);color:#2b8c4c;box-shadow:inset 0 1px #fff,0 6px 15px #44995a26}
.feature-symbol svg{width:26px;height:26px}
.feature-strip strong{font-size:12px;line-height:1.12;position:relative;z-index:1}
.feature-strip small{font-size:10px;line-height:1.2;color:var(--muted);margin-top:4px;position:relative;z-index:1}
.tools-feature-strip{margin:0 0 16px}
:root[data-theme=dark] .feature-strip button{background:linear-gradient(145deg,#2b4732,#1c2e22);border-color:#42644b}
.return-chat#openChatButton{background:linear-gradient(105deg,#3bac63,#22854b);box-shadow:0 9px 24px #2587483a}
.discovery-list,.settings-list,.tool-grid{box-shadow:0 8px 28px #345e3a0c}
.bottom-nav{position:fixed!important;z-index:100;bottom:0!important;left:50%;transform:translateX(-50%);width:min(700px,100%);height:calc(76px + env(safe-area-inset-bottom,0px));padding:5px 10px calc(5px + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;border:1px solid var(--line);border-bottom:0;border-radius:24px 24px 0 0;background:var(--glass);box-shadow:0 -7px 27px #295d3830;backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%)}
.bottom-nav[hidden]{display:none!important}
.bottom-nav button{min-width:0;min-height:58px;gap:3px;border-radius:16px;color:var(--muted)}
.bottom-nav button.active{background:var(--soft);color:var(--accent)}
.bottom-nav button small{font-size:10px;font-weight:680;white-space:nowrap}
.bottom-nav .create-nav span,.bottom-nav .create-nav.active span{width:58px;height:33px;border-radius:13px;background:linear-gradient(115deg,#c9ffd0,#63d987);color:#19532d;box-shadow:inset 0 1px 1px #fff9,0 3px 9px #49ab6560}
.bottom-nav .create-nav span svg{width:20px;height:20px}
.bottom-nav .create-nav.active{background:transparent;color:var(--accent)}
.bottom-nav .create-nav.active span{outline:2px solid #349f5b}
.bottom-nav button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.creation-launch-grid{align-items:stretch}
.creation-launch,.creation-launch.featured{min-height:166px;padding:13px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
.creation-icon{width:50px;height:50px;position:absolute;top:14px;left:13px;border-radius:15px;background:linear-gradient(145deg,#e2f7e5,#bcecc5);box-shadow:inset 0 1px #fff,0 5px 13px #43935a23}
.creation-launch>div{position:relative;z-index:1;max-width:90%}
.creation-launch>b{z-index:2}
.model-popover{position:fixed;inset:auto 0 0;left:50%;top:auto;transform:translateX(-50%);width:min(700px,100vw);max-width:none;box-sizing:border-box;max-height:min(88dvh,850px);margin:0;padding:18px 17px calc(18px + env(safe-area-inset-bottom,0px));border-radius:24px 24px 0 0;border:1px solid var(--line);border-bottom:0;background:var(--card);box-shadow:0 -15px 45px #122d1a40}
.model-popover::backdrop{background:#071d0d85;backdrop-filter:blur(2px)}
.model-popover-head{margin-bottom:10px}.model-popover-head h2{font-size:20px}.model-popover-head>button{width:38px;height:38px;border-radius:50%}
.model-search{height:44px;min-height:44px;border:1px solid var(--line);background:var(--soft)}
.model-hint{font-size:11px;line-height:1.45;margin:9px 0 13px}
.model-list{max-height:calc(min(88dvh,850px) - 165px);overflow-y:auto;overscroll-behavior:contain;padding-bottom:8px}
.model-group{margin-bottom:11px}.model-group h3{position:sticky;top:0;padding:8px 3px;background:var(--card);z-index:2;color:var(--ink);font-size:12px}
.model-option{min-height:59px;padding:7px;grid-template-columns:39px minmax(0,1fr) auto;border-bottom:1px solid var(--line);border-radius:12px}
.model-option .model-symbol{width:36px;height:36px}.model-option strong{font-size:13px}.model-option small{font-size:11px;line-height:1.3}
.model-option .tier-badge{font-size:10px}
.model-popover[open]{animation:model-sheet-rise .38s cubic-bezier(.2,.82,.24,1) both;overflow:hidden}
.model-popover[open]::backdrop{animation:model-backdrop-in .3s ease both}
@keyframes model-sheet-rise{from{transform:translate(-50%,105%);opacity:.78}to{transform:translate(-50%,0);opacity:1}}
@keyframes model-backdrop-in{from{opacity:0}to{opacity:1}}
.model-sheet-handle{display:block;width:39px;height:5px;margin:-6px auto 13px;border-radius:99px;background:color-mix(in srgb,var(--muted) 37%,transparent)}
.model-popover-head{align-items:center}.model-popover-head small{color:var(--muted)}
.model-popover-head>button{background:var(--soft);color:var(--ink)}
.model-search{margin:9px 0}.model-search input{color:var(--ink);font-size:16px}
.model-hint{display:flex;gap:8px;align-items:center;margin:10px 0 13px;padding:0;flex-wrap:wrap}
.tier-legend{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border:1px solid var(--line);border-radius:99px;color:var(--muted);font-weight:750;font-size:10px}
.tier-marker{width:26px;height:26px;flex:none;display:grid;place-items:center;position:relative;box-sizing:border-box;border:1px solid;border-radius:9px;background:var(--soft);color:var(--accent)}
.tier-marker i{width:10px;height:10px;display:block;transform:rotate(45deg);border-radius:2px;background:currentColor}
.tier-marker.free{background:#e6f8e9;border-color:#9bd5a8;color:#19804b}
.tier-marker.lite{background:#e8f0ff;border-color:#b3c7ef;color:#4872c6}
.tier-marker.pro{background:#f1eaff;border-color:#d5b8fa;color:#8b4dd2}
.tier-legend .tier-marker{width:16px;height:16px;border-radius:5px}.tier-legend .tier-marker i{width:6px;height:6px;border-radius:1px}
.model-list{scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.model-group{gap:3px;margin-bottom:14px}
.model-group h3{display:flex;align-items:center;justify-content:space-between;padding:10px 3px 7px;margin:0;letter-spacing:0;text-transform:none;font-size:14px}
.model-group h3 small{font-size:10px;font-weight:650;color:var(--muted)}
.model-option{min-height:63px;grid-template-columns:38px minmax(0,1fr) 48px;gap:10px;margin-bottom:3px;padding:7px 9px;border:1px solid transparent;background:transparent;color:var(--ink);transition:background .18s,transform .18s,border-color .18s,box-shadow .18s}
.model-option:hover{background:var(--soft)}.model-option:active{transform:scale(.985)}
.model-option:focus-visible{outline:2px solid var(--accent);outline-offset:0}
.model-option.selected{background:var(--soft);border-color:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 28%,transparent)}
.model-option.locked{opacity:.7}.model-option.locked:hover{opacity:1}
.model-option .model-symbol{width:37px;height:37px;background:var(--soft)}
.model-option-copy{min-width:0}.model-option strong{font-size:13px;color:var(--ink)}
.model-option .model-option-copy small{font-size:10px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;white-space:normal}
.model-option .tier-access{width:45px;display:flex;flex-direction:column;align-items:center;gap:2px;position:relative}
.model-option .tier-access small{font-size:9px;font-weight:850;color:var(--muted);margin:0}
.selected-check{position:absolute;top:-3px;right:1px;width:14px;height:14px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:var(--card);font-size:10px;line-height:1}
:root[data-theme=dark] .tier-marker.free{background:#244634;border-color:#478b5d;color:#a5edb8}
:root[data-theme=dark] .tier-marker.lite{background:#233553;border-color:#5375b0;color:#b9cdf4}
:root[data-theme=dark] .tier-marker.pro{background:#3c2a52;border-color:#8056ad;color:#d5b4f5}
.reward-balance{background:linear-gradient(130deg,#39a95a,#237d47);margin-bottom:17px}
.reward-intro{display:flex;align-items:center;gap:12px;margin:0 0 13px;padding:4px 2px}
.reward-intro>span{width:42px;height:42px;flex:none;display:grid;place-items:center;border-radius:13px;background:var(--soft);color:var(--accent)}
.reward-intro svg,.reward-icon svg{width:22px;height:22px}
.reward-intro h3{margin:0 0 4px;font-size:16px}.reward-intro p{margin:0;color:var(--muted);font-size:11px;line-height:1.4}
.reward-item{display:flex;align-items:center;gap:9px;padding:12px;margin:7px 0;border:1px solid var(--line);background:var(--card);border-radius:16px}
.reward-item .reward-icon{width:32px;height:32px;flex:none;display:grid;place-items:center;border-radius:10px;background:var(--soft);color:var(--accent)}
.reward-item strong{font-size:12px}.reward-item p{font-size:10px;line-height:1.35;margin-top:3px}
.reward-item button{font-size:10px;min-width:72px;padding:9px 6px}
.image-reward-link{display:flex;align-items:center;gap:10px;width:100%;margin:12px 0 18px;padding:13px;border:1px solid #b9dfc2;border-radius:16px;background:linear-gradient(115deg,#e4f7e8,#f8fefa);color:var(--ink);text-align:left}
.image-reward-link>span:first-child{width:37px;height:37px;flex:none;display:grid;place-items:center;border-radius:11px;background:#c8edcf;color:#28894c}
.image-reward-link svg{width:21px;height:21px}.image-reward-link>span:nth-child(2){flex:1}.image-reward-link strong{display:block;font-size:12px}.image-reward-link small{display:block;margin-top:3px;color:var(--muted);font-size:10px;line-height:1.3}.image-reward-link b{color:var(--muted)}
:root[data-theme=dark] .image-reward-link{background:linear-gradient(115deg,#294632,#1e3124);border-color:#42644b}
@media(max-width:350px){.feature-strip{gap:6px}.feature-strip button{padding:8px;min-height:128px}.feature-symbol{width:39px;height:39px;top:8px;right:8px}.feature-symbol svg{width:23px;height:23px}.feature-strip strong{font-size:10px}.feature-strip small{font-size:9px}.bottom-nav{padding-left:4px;padding-right:4px}.bottom-nav button small{font-size:9px}}
@media(prefers-reduced-motion:reduce){.feature-strip button,.model-option{transition:none}.model-popover[open],.model-popover[open]::backdrop{animation:none}}
.skill-presets{display:grid;gap:7px;margin:13px 0 18px}.skill-presets>strong,#skillsList>h3{font-size:13px;color:var(--ink)}
.skill-presets button{width:100%;display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:15px;background:var(--soft);color:var(--ink);text-align:left}
.skill-presets button>span:first-child{width:32px;height:32px;flex:none;display:grid;place-items:center;border-radius:10px;background:var(--card);color:var(--accent)}.skill-presets svg{width:19px;height:19px}
.skill-presets button>span:nth-child(2){flex:1;min-width:0}.skill-presets b,.skill-presets small{display:block}.skill-presets b{font-size:12px}.skill-presets small{font-size:10px;color:var(--muted);margin-top:2px}.skill-presets em{font-size:10px;font-style:normal;color:var(--accent)}
#skillsList{margin-top:18px}.skill-card{border:1px solid var(--line);border-radius:16px;background:var(--card);padding:13px;margin:8px 0}.skill-card strong,.skill-card small{display:block}.skill-card strong{font-size:14px}.skill-card small{font-size:11px;color:var(--accent);margin-top:4px}.skill-card p{font-size:11px;color:var(--muted);line-height:1.45;margin:8px 0 12px;white-space:pre-wrap}.skill-actions{display:flex;gap:8px}.skill-actions button{font-size:11px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:var(--soft);color:var(--ink)}.skill-actions .danger-text{color:#c64848}
.upgrade-button.subscription-entry,.compact-upgrade{border:1px solid #c8a8f2;background:linear-gradient(120deg,#e9d8ff 0%,#a873ec 54%,#8150ce 100%);color:#291542;box-shadow:0 7px 18px #6844a833}
.upgrade-button.subscription-entry span{color:#402064}.upgrade-button.subscription-entry:hover,.compact-upgrade:hover{filter:brightness(1.05)}
.subscription-row{background:linear-gradient(100deg,#f8f2ff,#efe5fc)!important}.subscription-row>span:first-child{background:#e9d8fb!important;color:#7543b8!important}.subscription-row strong,.subscription-row em{color:#6634a4}
.plan-card.pro{border-color:#bb93ea;background:linear-gradient(145deg,#f8f0ff,#efe3ff)}.plan-card.lite{border-color:#d6bff2;background:#fbf7ff}.plan-card.pro h3,.plan-card.lite h3{color:#65339e}
:root[data-theme=dark] .upgrade-button.subscription-entry,:root[data-theme=dark] .compact-upgrade{border-color:#a582dc;background:linear-gradient(120deg,#a67cde,#70419d);color:#fff}
:root[data-theme=dark] .upgrade-button.subscription-entry span{color:#fff}:root[data-theme=dark] .subscription-row{background:linear-gradient(100deg,#31233f,#3c2852)!important}:root[data-theme=dark] .subscription-row strong,:root[data-theme=dark] .subscription-row em{color:#dfbfff}
:root[data-theme=dark] .plan-card.pro{background:linear-gradient(145deg,#3b294b,#2b2238);border-color:#8458ad}:root[data-theme=dark] .plan-card.lite{background:#30273b;border-color:#654786}:root[data-theme=dark] .plan-card.pro h3,:root[data-theme=dark] .plan-card.lite h3{color:#e6c8ff}
.semantic-icon{display:inline-block;flex:none;width:22px;height:22px;background:currentColor;-webkit-mask-image:var(--icon);mask-image:var(--icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;mask-mode:alpha}
.tool-icon .semantic-icon,.row-icon .semantic-icon{width:23px;height:23px}
.feature-symbol .semantic-icon,.creation-icon .semantic-icon{width:26px;height:26px}
.bottom-nav button .semantic-icon{width:20px;height:20px;border-radius:0;background:currentColor;box-shadow:none}
.bottom-nav .create-nav>span .semantic-icon,.bottom-nav .create-nav.active>span .semantic-icon{width:20px;height:20px;border-radius:0;background:currentColor;box-shadow:none;outline:none}
.settings-list .semantic-icon{width:19px;height:19px}
.reward-intro .semantic-icon,.reward-icon .semantic-icon{width:22px;height:22px}
.image-reward-link .semantic-icon{width:21px;height:21px}
.skill-presets .semantic-icon{width:19px;height:19px}
@media(max-width:350px){.feature-symbol .semantic-icon{width:23px;height:23px}}

/* A short, branded launch sequence: mascot first, then an app-shaped skeleton. */
.loading-screen{isolation:isolate;display:block;overflow:hidden;background:radial-gradient(circle at 50% 31%,#e4ffea 0,#f5fff7 37%,#fff 78%);color:#163821;transition:opacity .35s ease,transform .35s ease}
.loading-screen::before{content:"";position:absolute;inset:-20%;z-index:-1;background:radial-gradient(circle at 30% 75%,#b1edbd80,transparent 35%),radial-gradient(circle at 83% 8%,#82d99c5e,transparent 32%);animation:launch-light-drift 4s ease-in-out infinite alternate}
.launch-splash{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 25px calc(50px + var(--safe-bottom));transition:opacity .28s ease,transform .34s ease}
.launch-mascot{position:relative;z-index:2;width:132px;height:132px;display:grid;place-items:center;border-radius:42px;background:linear-gradient(145deg,#fafffa,#d6f7df);border:1px solid #ffffffee;box-shadow:0 24px 65px #2d99544a,inset 0 2px 3px #fff;animation:launch-frog-arrive .6s cubic-bezier(.2,1.35,.4,1) both,launch-frog-float 2.2s ease-in-out .6s infinite}
.launch-mascot img{width:104px;height:104px;object-fit:contain;animation:none;filter:drop-shadow(0 7px 8px #2d8c4050)}
.launch-halo{position:absolute;left:50%;top:calc(50% - 39px);border:1px solid #64c17d56;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;animation:launch-halo-bloom 2.2s ease-out infinite}
.launch-halo-inner{width:190px;height:190px}.launch-halo-outer{width:276px;height:276px;animation-delay:.35s}
.launch-splash strong{z-index:2;margin:21px 0 5px;font-size:34px;letter-spacing:-.075em;line-height:1.1;animation:launch-copy-in .55s ease .18s both}
.launch-splash>span{z-index:2;color:#648673;font-size:13px;font-weight:580;animation:launch-copy-in .55s ease .28s both}
.launch-progress{z-index:2;width:110px;height:4px;margin-top:27px;overflow:hidden;border-radius:99px;background:#b9e7c5;animation:launch-copy-in .4s ease .3s both}
.launch-progress i{display:block;width:38%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#269655,#90df9f);animation:launch-progress-sweep 1.4s ease-in-out infinite}
.launch-preview{position:absolute;inset:0;width:min(700px,100%);margin:auto;padding:calc(18px + var(--safe-top)) 17px calc(93px + var(--safe-bottom));opacity:0;transform:translateY(13px);transition:opacity .28s ease,transform .34s ease;pointer-events:none}
.launch-preview-top{height:56px;display:flex;justify-content:space-between;gap:16px}.launch-preview-top i{height:48px;border-radius:17px;background:#d5f0dd;display:block;position:relative;overflow:hidden}.launch-preview-top i:first-child{width:57%}.launch-preview-top i:last-child{width:31%;background:#e5f6e9}
.launch-preview-card{height:min(42vh,320px);min-height:220px;margin-top:18px;border-radius:30px;background:#ffffffdb;border:1px solid #fff;box-shadow:0 16px 45px #3678491c;display:flex;align-items:center;flex-direction:column;padding:27px 22px;gap:14px}
.launch-preview-card i{height:14px;border-radius:99px;background:#e2f1e5;display:block;overflow:hidden;position:relative}.launch-preview-card .launch-preview-avatar{width:100px;height:100px;border-radius:30px;background:#caeed2;margin-bottom:9px}.launch-preview-card i:nth-child(2){width:62%;height:19px}.launch-preview-card i:nth-child(3){width:85%}.launch-preview-card i:nth-child(4){width:68%}
.launch-preview-row{display:flex;gap:9px;margin-top:19px}.launch-preview-row i{width:33.33%;height:114px;border-radius:20px;background:#e2f5e8;position:relative;overflow:hidden}
.launch-preview-dock{position:absolute;bottom:calc(7px + var(--safe-bottom));left:12px;right:12px;display:flex;justify-content:space-around;align-items:center;height:69px;border:1px solid #d8eadc;border-radius:23px;background:#f8fffaed;box-shadow:0 -8px 28px #35764a20}.launch-preview-dock i{width:34px;height:34px;border-radius:12px;background:#d8eedf}.launch-preview-dock i:nth-child(3){width:57px;background:#ade6bd}
.launch-preview-top i::after,.launch-preview-card i::after,.launch-preview-row i::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 10%,#ffffffa8 48%,transparent 80%);transform:translateX(-130%);animation:launch-skeleton-shine 1.55s ease-in-out infinite}
.loading-screen.is-preparing .launch-splash{opacity:0;transform:translateY(-16px) scale(.94)}.loading-screen.is-preparing .launch-preview{opacity:1;transform:none}
.loading-screen.is-leaving{opacity:0;transform:scale(1.025);pointer-events:none}
.app-shell.is-entering{animation:launch-content-in .42s ease both}.bottom-nav.is-entering{animation:launch-dock-in .42s ease both}
.loading-screen.is-error{display:flex;gap:10px;padding:24px;text-align:center}.loading-screen.is-error img{width:100px;height:100px}.loading-screen.is-error strong{font-size:24px}.loading-screen.is-error span{max-width:350px;line-height:1.5}.loading-screen.is-error button{margin-top:10px}
:root[data-theme=dark] .loading-screen{background:radial-gradient(circle at 50% 30%,#295d38,#14271b 57%,#0f1a13);color:#eff9ef}
:root[data-theme=dark] .loading-screen::before{opacity:.3}:root[data-theme=dark] .launch-mascot{background:linear-gradient(145deg,#31583b,#193823);border-color:#54795d;box-shadow:0 22px 55px #0007,inset 0 1px #ffffff32}
:root[data-theme=dark] .launch-splash>span{color:#bbd7c3}:root[data-theme=dark] .launch-progress{background:#426d4d}
:root[data-theme=dark] .launch-preview-top i,:root[data-theme=dark] .launch-preview-card i,:root[data-theme=dark] .launch-preview-row i,:root[data-theme=dark] .launch-preview-dock i{background:#355c40}
:root[data-theme=dark] .launch-preview-card,:root[data-theme=dark] .launch-preview-dock{background:#203c29;border-color:#3f6349}
@keyframes launch-frog-arrive{from{opacity:0;transform:translateY(22px) scale(.73) rotate(-7deg)}to{opacity:1;transform:none}}
@keyframes launch-frog-float{50%{transform:translateY(-5px)}}
@keyframes launch-halo-bloom{0%{opacity:0;scale:.72}35%{opacity:.8}100%{opacity:0;scale:1.15}}
@keyframes launch-copy-in{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
@keyframes launch-progress-sweep{from{transform:translateX(-120%)}to{transform:translateX(360%)}}
@keyframes launch-skeleton-shine{to{transform:translateX(130%)}}
@keyframes launch-light-drift{to{transform:translate(4%,-3%)}}
@keyframes launch-content-in{from{opacity:.45;transform:translateY(11px)}to{opacity:1;transform:none}}
@keyframes launch-dock-in{from{opacity:.3;translate:0 18px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){.loading-screen,.launch-splash,.launch-preview{transition:none!important}.loading-screen::before,.launch-mascot,.launch-halo,.launch-splash strong,.launch-splash>span,.launch-progress,.launch-progress i,.launch-preview i::after,.app-shell.is-entering,.bottom-nav.is-entering{animation:none!important}}

/* Model picker is a scrollable left drawer; actions use labels, not chevrons. */
.model-selector{display:flex;align-items:center;gap:8px;width:auto;max-width:calc(100% - 98px);height:38px;padding:0 6px 0 12px;text-align:left}
.model-selector-copy{flex:1;min-width:0}.model-selector-copy small{display:none}.model-selector-copy strong{font-size:12px;line-height:1.1}
.model-selector-action{flex:none;display:inline-flex;align-items:center;justify-content:center;min-height:27px;padding:0 9px;border-radius:99px;background:var(--soft);color:var(--accent);font-size:10px;font-weight:800}
.model-selector:focus-visible,.discovery-list>button:focus-visible,.settings-list>button:focus-visible,.settings-list>a:focus-visible,.tool-card:focus-visible,.creation-launch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.row-action{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:57px;min-height:27px;padding:5px 8px;border-radius:9px;background:var(--soft);color:var(--accent);font-size:10px!important;font-weight:760!important;line-height:1.1;white-space:nowrap}
.discovery-list>button>span:nth-child(2),.settings-list>button>div,.settings-list>a>div,.tool-card .tool-copy{min-width:0;flex:1}
.discovery-list .row-action,.tool-card .row-action,.settings-list .row-action{font-size:10px;color:var(--accent);background:var(--soft)}
.reward-banner .row-action{color:#fff;background:#ffffff2c;border:1px solid #ffffff40}
.studio-balance .row-action{color:var(--accent);background:var(--soft);margin-left:auto}
.creation-launch .row-action,.creation-launch.featured .row-action{position:absolute;top:13px;right:13px;min-width:0;padding:5px 7px;background:var(--soft);color:var(--accent);font-size:9px!important}
.settings-list #profileModelName{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.subscription-row .row-action{background:#e9d8fb;color:#6634a4}
:root[data-theme=dark] .subscription-row .row-action{background:#50376b;color:#ead0ff}
.image-reward-link .row-action{color:var(--accent);background:var(--soft)}
.model-popover{position:fixed;inset:0 auto 0 0;top:0;left:0;right:auto;bottom:0;transform:none;width:min(72vw,780px);min-width:min(272px,calc(100vw - 12px));max-width:none;height:100dvh;max-height:100dvh;margin:0;padding:calc(20px + var(--safe-top)) 14px calc(14px + var(--safe-bottom));border:1px solid var(--line);border-left:0;border-radius:0 26px 26px 0;background:var(--card);color:var(--ink);box-shadow:18px 0 48px #061c1040;overflow:hidden}
.model-popover:not([open]){display:none}.model-popover[open]{display:flex;flex-direction:column;animation:model-drawer-slide .34s cubic-bezier(.2,.85,.26,1) both}
body:has(#modelSheet[open]){overflow:hidden}
.model-popover::backdrop{background:#0a211786;backdrop-filter:blur(3px)}.model-popover[open]::backdrop{animation:model-backdrop-in .28s ease both}
.model-popover-head{flex:none;align-items:center;gap:8px;margin:0 0 12px}.model-popover-head>div{min-width:0}.model-popover-head small{font-size:9px;color:var(--accent);font-weight:800}.model-popover-head h2{font-size:20px;line-height:1.1;letter-spacing:-.04em;margin:4px 0 0}
.model-popover-head>button{flex:none;width:36px;height:36px;border-radius:12px;background:var(--soft);color:var(--ink)}
.model-search{flex:none;width:100%;height:44px;min-height:44px;margin:0 0 10px;background:var(--soft);border-color:var(--line)}
.model-hint{flex:none;gap:5px;margin:0 0 10px}.tier-legend{padding:4px 6px;font-size:9px}
.model-list{flex:1;min-height:0;max-height:none;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:1px 3px 20px 0;scrollbar-width:thin}
.model-group{margin-bottom:14px;gap:5px}.model-group h3{top:0;margin:0;padding:9px 4px;background:var(--card);color:var(--ink);font-size:14px;z-index:2}.model-group h3 small{font-size:9px}
.model-option{width:100%;min-height:80px;grid-template-columns:33px minmax(0,1fr) 30px;align-items:start;gap:8px;padding:9px 7px;margin-bottom:4px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--card) 82%,var(--soft));box-shadow:none}
.model-option:hover{background:var(--soft)}.model-option.selected{border:1px solid var(--accent);background:var(--soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 15%,transparent)}
.model-option .model-symbol{width:33px;height:33px;border-radius:9px}.model-option .model-symbol img{max-width:23px;max-height:23px}
.model-option-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start}.model-option strong{max-width:100%;font-size:12px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.model-option .model-option-copy small{max-width:100%;font-size:10px;line-height:1.25;margin:3px 0 7px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.model-option-action{display:inline-flex;align-items:center;justify-content:center;min-height:23px;padding:3px 8px;border-radius:8px;background:var(--soft);color:var(--accent);font-size:10px;font-weight:800}
.model-option.selected .model-option-action{background:var(--accent);color:var(--card)}.model-option.locked .model-option-action{background:var(--line);color:var(--muted)}
.model-option .tier-access{width:30px;gap:2px}.model-option .tier-access small{font-size:8px;white-space:nowrap}.model-option .tier-marker{width:25px;height:25px;border-radius:8px}.model-option .tier-marker i{width:9px;height:9px}
.model-option.locked{opacity:.68}.model-option.locked:hover{opacity:1}
@keyframes model-drawer-slide{from{opacity:.8;transform:translateX(-105%)}to{opacity:1;transform:translateX(0)}}
@media(max-width:350px){.model-selector{max-width:calc(100% - 91px);padding-left:9px;gap:4px}.model-selector-action{padding:0 6px;font-size:9px}.model-option{gap:5px;padding:8px 5px}}
@media(prefers-reduced-motion:reduce){.model-popover[open],.model-popover[open]::backdrop{animation:none}}

/* Immediate, lightweight motion for taps and navigation. No artificial loading delay. */
.app-shell{overflow-x:clip}
:where(.app-shell button,.bottom-nav button,dialog button,.app-shell a[href]){position:relative;transition:scale .19s cubic-bezier(.2,.85,.24,1),filter .19s ease,background-color .24s ease,box-shadow .24s ease}
:where(.app-shell button,.bottom-nav button,dialog button,.app-shell a[href]).qaqa-pressing{scale:.96;filter:brightness(1.045)}
.qaqa-tap-wave{position:absolute;z-index:3;display:block;pointer-events:none;border-radius:50%;background:radial-gradient(circle,#adf3bf83 0%,#adf3bf40 42%,transparent 72%);animation:qaqa-tap-ripple .52s ease-out forwards}
:root[data-theme=dark] .qaqa-tap-wave{background:radial-gradient(circle,#a8edb262 0%,#a8edb229 42%,transparent 72%)}
.page.page-switch-forward{animation:qaqa-page-forward .33s cubic-bezier(.2,.82,.25,1) both}
.page.page-switch-back{animation:qaqa-page-back .33s cubic-bezier(.2,.82,.25,1) both}
.bottom-nav button{transition:scale .19s cubic-bezier(.2,.85,.24,1),background-color .27s ease,color .27s ease,box-shadow .27s ease}
.bottom-nav button.nav-just-activated>span{animation:qaqa-nav-pop .38s cubic-bezier(.17,1.3,.3,1) both}
.bottom-nav button.nav-just-activated>small{animation:qaqa-nav-label .32s ease both}
.filter-chip,.row-action,.model-selector-action{transition:scale .19s ease,background-color .22s ease,color .22s ease,box-shadow .22s ease}
.sheet[open],.onboarding[open]{animation:qaqa-dialog-in .32s cubic-bezier(.2,.85,.24,1) both}
.sheet[open]::backdrop,.onboarding[open]::backdrop{animation:model-backdrop-in .26s ease both}
@keyframes qaqa-tap-ripple{from{opacity:.95;scale:.15}to{opacity:0;scale:2.2}}
@keyframes qaqa-page-forward{from{opacity:.52;transform:translate3d(16px,0,0) scale(.988)}to{opacity:1;transform:none}}
@keyframes qaqa-page-back{from{opacity:.52;transform:translate3d(-16px,0,0) scale(.988)}to{opacity:1;transform:none}}
@keyframes qaqa-nav-pop{from{opacity:.72;scale:.79}60%{opacity:1;scale:1.12}to{scale:1}}
@keyframes qaqa-nav-label{from{opacity:.5;translate:0 3px}to{opacity:1;translate:0 0}}
@keyframes qaqa-dialog-in{from{opacity:.75;transform:translateY(16px) scale(.985)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.page.page-switch-forward,.page.page-switch-back,.bottom-nav button.nav-just-activated>span,.bottom-nav button.nav-just-activated>small,.sheet[open],.onboarding[open],.sheet[open]::backdrop,.onboarding[open]::backdrop{animation:none!important}.qaqa-tap-wave{display:none!important}:where(.app-shell button,.bottom-nav button,dialog button,.app-shell a[href]),.bottom-nav button,.filter-chip,.row-action,.model-selector-action{transition:none!important}}

/* Each Yandex integration uses its own service mark, never the generic Yandex glyph. */
.tool-icon.brand-yandex-service,.row-icon.brand-yandex-service{background:#fff;border:1px solid var(--line);color:var(--ink)}
.tool-icon.brand-yandex-mail,.row-icon.brand-yandex-mail{background:#fff6e8}
.tool-icon.brand-yandex-disk,.row-icon.brand-yandex-disk{background:#edf3ff}
.tool-icon.brand-yandex-metrica,.row-icon.brand-yandex-metrica{background:#eff0ff}
.tool-icon.brand-yandex-webmaster,.row-icon.brand-yandex-webmaster{background:#fff0e5}
.service-logo.yandex-service-logo,:root[data-theme=dark] .service-logo.yandex-service-logo{width:29px;height:29px;object-fit:contain;filter:none!important}
:root[data-theme=dark] .tool-icon.brand-yandex-service,:root[data-theme=dark] .row-icon.brand-yandex-service{border-color:#56675c}
:root[data-theme=dark] .tool-icon.brand-yandex-mail,:root[data-theme=dark] .row-icon.brand-yandex-mail{background:#4a3827}
:root[data-theme=dark] .tool-icon.brand-yandex-disk,:root[data-theme=dark] .row-icon.brand-yandex-disk{background:#263a5b}
:root[data-theme=dark] .tool-icon.brand-yandex-metrica,:root[data-theme=dark] .row-icon.brand-yandex-metrica{background:#303752}
:root[data-theme=dark] .tool-icon.brand-yandex-webmaster,:root[data-theme=dark] .row-icon.brand-yandex-webmaster{background:#493b30}

/* Mira-inspired soft geometry throughout QAQA, without changing the green identity. */
.bottom-nav{bottom:calc(9px + env(safe-area-inset-bottom,0px))!important;width:min(520px,calc(100% - 20px));height:68px;padding:5px;border:1px solid var(--line);border-radius:999px;box-shadow:0 10px 34px #17382330}
.bottom-nav button,.bottom-nav button.active,.bottom-nav .create-nav,.bottom-nav .create-nav.active{min-height:56px;border-radius:999px}
.bottom-nav .create-nav>span,.bottom-nav .create-nav.active>span{width:57px;height:34px;border-radius:999px}
.bottom-nav .create-nav.active{background:var(--soft)}
.bottom-nav .create-nav.active>span{outline:0;box-shadow:inset 0 1px 1px #fff9,0 3px 9px #49ab6560}
.bottom-nav .create-nav>span .semantic-icon,.bottom-nav .create-nav.active>span .semantic-icon{width:20px;height:20px;border-radius:0;background:currentColor;box-shadow:none}
.discovery-list,.settings-list,.tool-grid{border-radius:27px}
.feature-strip button,.creation-launch,.creation-launch.featured,.template-tile,.conversation-example,.profile-hero,.balance-card,.reward-banner,.invite-card,.telegram-only-note{border-radius:26px}
.feature-symbol,.creation-icon,.tool-icon,.row-icon,.settings-list>button>span,.settings-list>a>span,.settings-list>.theme-setting>span{border-radius:16px}
.search-box,.model-selector,.upgrade-button,.compact-upgrade,.return-chat#openChatButton,.studio-balance,.filter-chip,.primary-button,.light-button,.row-action,.model-selector-action,.button-pair>button,.reward-item button,.plan-card button,.template-actions>button{border-radius:999px}
.empty-state,.info-card,.list-row,.reward-item,.note-card,.plan-card,.request-example,.availability-note,.action-preview{border-radius:22px}
.sheet-form input,.sheet-form select,.sheet-form textarea,.theme-setting select,.invite-card input,.interest-grid button{border-radius:18px}
.sheet-head>button,.model-popover-head>button{border-radius:50%}
.model-popover{border-radius:0 32px 32px 0}
.model-option{border-radius:19px}
.model-option .model-symbol,.model-option .tier-marker{border-radius:12px}
.model-option-action{border-radius:999px}
.model-search{border-radius:999px}
.sheet{border-radius:30px 30px 0 0}.onboarding{border-radius:32px}
.toast{border-radius:22px}
@media(max-width:350px){.bottom-nav{width:calc(100% - 12px);padding:4px}.bottom-nav .create-nav>span,.bottom-nav .create-nav.active>span{width:50px;height:32px}}

/* Small editorial labels on gallery previews. */
.template-tile .template-badge{position:absolute;z-index:2;top:10px;bottom:auto;left:10px;right:auto;display:inline-flex;align-items:center;width:max-content;max-width:calc(100% - 20px);min-height:24px;box-sizing:border-box;padding:4px 9px;border:1px solid #ffffffa6;border-radius:999px;background:#e7f8e8ed;color:#245b34;font-size:10px;font-weight:800;line-height:1.1;letter-spacing:.01em;text-shadow:none;box-shadow:0 3px 10px #081a1240;backdrop-filter:blur(8px)}
.template-tile .template-badge.choice{background:#f0eaffee;color:#583a83}
.template-tile .template-title{z-index:2}
