/* Applio: shared homepage background, with existing catalog and account accents. */
body.applio, body.applio-public {
  --ink: #292738;
  --muted: #7c7088;
  --applio-button: linear-gradient(115deg, #c5b1ef, #e1bedc 56%, #f1c6ac);
  background: var(--background);
  background-attachment: fixed;
  color: var(--ink);
}
.applio .shell { --shell-gutter: 40px; max-width: 1040px; padding: 0 var(--shell-gutter); }
.applio .top { height: 88px; gap: 16px; border: 0; z-index: 3; }
.applio .brand { font-size: 26px; font-weight: 800; letter-spacing: -1.1px; gap: 8px; color: #292738; }
.applio .brand-symbol { width: 32px; height: 32px; border-radius: 0; }
.applio .brand-gradient, .applio-public .gradient { background-image: linear-gradient(100deg, #5355ee, #9a46d0); }
.applio #accountButton { color: #68749e; border: 1px solid #ffffffb3; background: linear-gradient(135deg, #f5f8ff, #fcf1f7); box-shadow: 0 2px 6px #51658c0d; }
.applio .catalog-intro { position: relative; isolation: isolate; display: flow-root; padding-bottom: 25px; }
.applio .catalog-intro:has(#officeWallet[hidden]) { display: none; }
.applio .catalog-intro::before { content: ''; position: absolute; z-index: -1; top: -120px; bottom: 0; left: calc(-1 * var(--shell-gutter)); right: calc(-1 * var(--shell-gutter)); border-bottom: 1px solid #ffffffa6; border-radius: 0 0 36px 36px; background: linear-gradient(120deg, #e1ebfc, #eae6f7 55%, #f5e3ee); pointer-events: none; }
.applio .page-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 14px 0 20px; }
.applio .page-heading h1 { margin: 0; color: #292738; font-size: 32px; line-height: 1.25; font-weight: 800; letter-spacing: -1.1px; }
.applio .page-heading > span { font-size: 11px; color: #7c7088; white-space: nowrap; }
.applio.is-start .page-heading { display: none; }
.applio .office-wallet { display: flex; align-items: center; justify-content: space-between; min-height: 104px; max-width: none; margin: 0; padding: 21px 24px; gap: 20px; border: 1px solid #ffffff40; border-radius: 23px; color: #fff; background: radial-gradient(ellipse at 4% 0, #aac8ff40, transparent 62%), linear-gradient(115deg, #5c7cbe, #8373b0 57%, #b778a1); box-shadow: inset 0 1px 1px #ffffff47, 0 8px 22px #6177ab26; }
.applio .office-wallet::before { content: ''; position: absolute; z-index: 0; width: 450px; height: 260px; right: -120px; bottom: -201px; border-radius: 50%; background: linear-gradient(30deg, #ffffff10, #ffffff38); transform: rotate(-16deg); box-shadow: 0 -1px 0 #ffffff3d; }
.applio .office-wallet::after { content: ''; position: absolute; z-index: 0; width: 370px; height: 205px; right: -72px; top: -158px; border: 1px solid #ffffff30; border-radius: 50%; background: #ffffff0b; transform: rotate(17deg); }
.applio .office-wallet > div { gap: 6px; }
.applio .office-wallet small { color: #edf1ff; font-size: 11px; letter-spacing: 0; line-height: 1.4; }
.applio .office-wallet strong { color: #fff; font-size: 29px; font-weight: 800; line-height: 1.2; letter-spacing: -.8px; margin: 0; }
.applio .office-wallet #officeTopup { display: flex; width: auto; max-width: none; min-height: 44px; margin: 0; padding: 11px 16px; gap: 7px; border: 1px solid #ffffffc4; border-radius: 14px; background: linear-gradient(135deg, #f4f7ff, #faedf6); color: #53638b; box-shadow: inset 0 1px 1px #fff, 0 3px 7px #3f4b7821; font-size: 12px; font-weight: 750; white-space: nowrap; }
.applio #officeTopup::before { content: '+'; font-size: 20px; font-weight: 400; line-height: 1; }
.applio #officeTopup:disabled { opacity: .6; white-space: normal; }
.applio.is-start .office-wallet #officeTopup { display: none; }
.applio .catalog-heading, .applio .catalog-banner { display: none; }
.applio .catalog-discovery { display: grid; grid-template-columns: minmax(0, 1fr) 49px; gap: 11px 8px; margin: 20px 0 5px; padding: 0; border: 0; background: none; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
.applio .catalog-toolbar { grid-column: 1; grid-row: 1; width: 100%; max-width: none; margin: 0; }
.applio .catalog-discovery .search { width: 100%; min-height: 49px; gap: 10px; padding: 0 13px; border: 1px solid #eae4f0; border-radius: 15px; background: linear-gradient(135deg, #faf8ff, #f6f1f4); box-shadow: inset 0 1px 0 #fff, 0 3px 8px #1d122515; color: #7d6895; }
.applio .catalog-discovery .search input { height: 47px; min-height: 47px; color: #343043; font-size: 14px; }
.applio .catalog-discovery .search input::placeholder { font-size: 13px; color: #787083; }
.applio .discovery-controls { display: contents; }
.applio .catalog-segments { grid-column: 1 / -1; grid-row: 2; justify-content: flex-start; gap: 6px; padding: 0; background: transparent; }
.applio .catalog-segments button { flex: none; min-height: 40px; padding: 9px 12px; border: 0; border-radius: 11px; background: transparent; color: #756982; font-size: 11px; font-weight: 650; }
.applio .catalog-segments button.active { color: #594176; background: linear-gradient(135deg, #f3edff, #f4e8ec); box-shadow: inset 0 1px 0 #fff; }
.applio .catalog-segments [data-license=all] svg { display: none; }
.applio .catalog-filter { grid-column: 2; grid-row: 1; }
.applio .catalog-filter > summary { width: 49px; min-height: 49px; padding: 13px; border: 1px solid #eae4f0; border-radius: 15px; background: linear-gradient(135deg, #faf8ff, #f6f1f4); color: #7d6895; box-shadow: inset 0 1px 0 #fff, 0 3px 8px #1d122515; }
.applio .catalog-filter > summary > span { display: none; }
.applio .catalog-filter > summary > svg { width: 21px; height: 21px; }
.applio .catalog-filter.is-filtered > summary, .applio .catalog-filter[open] > summary { background: #e8dcf6; color: #61428d; }
.applio .filter-options { background: #faf7ff; color: #67567b; }
.applio .catalog-check { border-color: #ffffff80; background: #ffffff70; color: #635a79; border-radius: 16px; }
.applio .catalog-check p { color: #796e88; }
.applio .catalog-check[data-status=idle] { background: transparent; border-color: transparent; }
.applio .catalog-check[data-status=idle] strong { color: #716b85; }
.applio .catalog-check button { color: #735090; }
.applio .section-title { margin: 4px 0 10px; min-height: 40px; gap: 8px; align-items: center; }
.applio .section-title h2 { color: #292738; font-size: 17px; letter-spacing: -.4px; }
.applio .section-title #appCount { color: #7c7088; background: transparent; font-size: 11px; padding: 0; }
.applio .custom-app-summary { color: #735090; }
.applio .app-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; border: 0; border-radius: 0; background: none; box-shadow: none; overflow: visible; }
.applio #appGrid .app-card { position: relative; isolation: isolate; display: flex; flex-direction: row; align-items: center; min-width: 0; min-height: 0; gap: 16px; padding: 20px; border: 1px solid #eae4f0; border-radius: 27px; color: #292738; background: radial-gradient(ellipse at 0 0, #e4dafa7a, transparent 65%), radial-gradient(ellipse at 100% 100%, #f4d9c940, transparent 60%), linear-gradient(135deg, #fcfbff, #f4f1f6); box-shadow: inset 0 1px 1px #fff, inset 0 -1px 1px #88769b26, 0 5px 16px #140a2221; }
.applio .app-card::after { content: ''; position: absolute; inset: 3px; border: 1px solid #ffffff85; border-radius: 23px; pointer-events: none; }
.applio .app-card .app-main { display: flex; flex-direction: row; align-items: center; flex: 1; width: auto; min-width: 0; min-height: 64px; padding: 0; gap: 16px; text-align: left; }
.applio .app-card .app-info { min-width: 0; flex: 1; }
.applio .app-card .app-info strong { color: #302c41; font-size: 15px; line-height: 1.4; letter-spacing: -.25px; font-weight: 750; }
.applio .app-card .app-popular, .applio .app-card .app-info small, .applio .app-card .card-facts, .applio .app-card .license-badge { display: none; }
.applio .app-main .app-icon, .applio .app-icon { display: grid; place-items: center; width: 64px; height: 64px; flex: none; padding: 0; border: 0; border-radius: 16px; box-shadow: none; overflow: hidden; background: var(--color, #e4e9fb); }
.applio .app-icon img { padding: 0; border: 0; filter: none; box-shadow: none; }
.applio .app-icon::before, .applio .app-icon::after { content: none; }
.applio .app-icon:has(img) > svg { display: none; }
.applio .app-card .card-actions { width: 114px; flex: none; padding: 0; margin: 0; border: 0; }
.applio .app-card .get { display: flex; align-items: center; justify-content: center; width: 100%; min-width: 0; min-height: 45px; padding: 8px 10px; gap: 7px; border: 1px solid #ffffffe0; border-radius: 15px; background: linear-gradient(180deg, #ffffff2e, transparent 60%), var(--applio-button); color: #4a355d; box-shadow: inset 0 1px 1px #fff, inset 0 -1px 1px #70538438, 0 3px 8px #6d527e20; font-size: 11px; font-weight: 750; }
.applio .get-icon { display: grid; place-items: center; flex: none; width: 23px; height: 23px; border: 1px solid #ffffff80; border-radius: 8px; background: #ffffff4d; }
.applio .get-icon svg { width: 14px; height: 14px; }
.applio .get.soon { background: #eeeaf2; color: #80768b; }
.applio .app-card .favorite { position: absolute; top: 3px; right: 4px; width: 30px; min-width: 30px; height: 30px; min-height: 30px; padding: 7px; color: #a092b0; }
.applio .app-card .favorite svg { width: 16px; height: 16px; }
.applio .app-card .favorite.is-favorite { color: #8050bd; }
.applio .bottom-nav { left: 50%; bottom: calc(14px + env(safe-area-inset-bottom)); transform: translateX(-50%); display: flex; gap: 5px; width: calc(100% - 40px); max-width: 420px; padding: 6px; border: 1px solid #ffffffe0; border-radius: 24px; background: linear-gradient(135deg, #f3eefbf0, #f7ece6f0); box-shadow: inset 0 1px 1px #fff, 0 8px 30px #170b2b45; backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); }
.applio .bottom-nav button { flex: 1; min-width: 0; min-height: 51px; padding: 7px 4px; gap: 4px; border-radius: 18px; color: #7b6b89; font-size: 10px; }
.applio .bottom-nav button svg { width: 20px; height: 20px; }
.applio .bottom-nav button.selected { color: #63447d; background: linear-gradient(120deg, #dccbf8, #ebd8dd); box-shadow: inset 0 1px 0 #ffffffc4; }
.applio dialog { color: #302b40; background: linear-gradient(140deg, #fcfaff, #fbf4ef); box-shadow: inset 0 1px 0 #fff, 0 24px 80px #11061f70; }
.applio dialog::backdrop { background: #160c2b80; }
.applio #officePayment { position: fixed; inset: 0; margin: auto; width: min(430px, calc(100% - 24px)); max-width: none; height: fit-content; max-height: calc(100svh - 24px); padding: 24px; overflow: auto; border: 1px solid #ffffffc4; border-radius: 26px; }
.applio #officePayForm h2 { font-size: 24px; letter-spacing: -.7px; }
.applio #officePayForm p { font-size: 12px; line-height: 1.7; }
.applio #officePayForm p.tiny { font-size: 10px; }
.applio #officePayForm label { font-size: 12px; }
.applio #officePayForm input { border-color: #e8e0ee; border-radius: 13px; background: #fff; }
.applio .primary { color: #4a355d; background: var(--applio-button); border: 1px solid #ffffffb3; box-shadow: inset 0 1px 0 #fff, 0 4px 9px #6d527e17; }
.applio .auth-card, .applio .account-box { background: linear-gradient(140deg, #fcfaff, #fbf4ef); }
.applio .catalog-note, .applio .site-foot, .applio .site-legal { color: #71687d; }
.applio-public .preview-window, .applio-public .price-card { background: linear-gradient(130deg, #f7f5ff, #fff1f6); }
@media (hover: hover) { .applio #appGrid .app-card:hover { transform: translateY(-1px); box-shadow: inset 0 1px 1px #fff, 0 8px 20px #140a2233; } }
@media (max-width: 860px) {
  .applio #appGrid .app-card { flex-direction: column; align-items: stretch; padding: 14px; gap: 12px; border-radius: 23px; }
  .applio .app-card::after { border-radius: 19px; }
  .applio .app-card .app-main { gap: 9px; min-height: 52px; padding-right: 14px; }
  .applio .app-card .app-info strong { font-size: 14px; }
  .applio .app-main .app-icon { width: 52px; height: 52px; border-radius: 14px; }
  .applio .app-card .card-actions { width: 100%; }
  .applio .app-grid { gap: 12px; }
}
@media (max-width: 760px) {
  .applio .shell { --shell-gutter: 17px; }
  .applio .top { height: 68px; }
  .applio .brand { font-size: 25px; }
  .applio .catalog-intro { padding-bottom: 23px; }
  .applio .catalog-intro::before { border-radius: 0 0 30px 30px; }
  .applio .page-heading { margin: 10px 0 17px; }
  .applio .page-heading h1 { font-size: 25px; letter-spacing: -.9px; }
  .applio .page-heading > span { font-size: 10px; }
  .applio .office-wallet { min-height: 98px; padding: 19px 20px; border-radius: 22px; }
  .applio .office-wallet small { font-size: 10px; }
  .applio .office-wallet strong { font-size: 27px; }
  .applio .office-wallet #officeTopup { min-height: 43px; padding: 10px 13px; font-size: 11px; gap: 6px; }
  .applio .section-title h2 { font-size: 16px; }
}
@media (max-width: 400px) {
  .applio .app-grid { gap: 10px; }
  .applio #appGrid .app-card { padding: 11px; gap: 10px; border-radius: 20px; }
  .applio .app-card::after { border-radius: 16px; }
  .applio .app-card .app-main { gap: 8px; min-height: 46px; }
  .applio .app-card .app-info strong { font-size: 12px; }
  .applio .app-main .app-icon { width: 44px; height: 44px; border-radius: 12px; }
  .applio .app-card .get { padding-inline: 8px; gap: 5px; border-radius: 13px; }
}
@media (max-width: 350px) {
  .applio .shell { --shell-gutter: 12px; }
  .applio .page-heading h1 { font-size: 22px; }
  .applio .page-heading > span { display: none; }
  .applio .office-wallet { padding: 17px 16px; gap: 10px; }
  .applio .office-wallet strong { font-size: 23px; }
  .applio .office-wallet #officeTopup { padding: 10px; font-size: 10px; }
  .applio #appGrid .app-card { padding: 9px; gap: 9px; }
  .applio .app-card .app-main { gap: 7px; padding-right: 10px; }
  .applio .app-card .app-info strong { font-size: 11px; }
  .applio .app-main .app-icon { width: 36px; height: 36px; border-radius: 10px; }
  .applio .app-card .get { font-size: 10px; gap: 4px; }
}
@media (prefers-reduced-motion: reduce) { .applio #appGrid .app-card:hover { transform: none; } }
@media (prefers-reduced-transparency: reduce) { .applio .bottom-nav { background: #f7f1fa; backdrop-filter: none; -webkit-backdrop-filter: none; } }
