:root {
  color-scheme:light;
  --bg:#f5f5ef;
  --surface:#fff;
  --raised:#edeee7;
  --text:#22271f;
  --muted:#697063;
  --line:#dbded3;
  --accent:#446523;
  --lime:#c2f970;
  --header:rgba(245,245,239,.92);
  --shadow:0 24px 90px #17200d25;
}
:root.dark {
  color-scheme:dark;
  --bg:#111311;
  --surface:#191c18;
  --raised:#22261f;
  --text:#f3f4ec;
  --muted:#a2ab9b;
  --line:#30362b;
  --accent:#c2f970;
  --header:rgba(17,19,17,.92);
  --shadow:0 24px 90px #0007;
}
* {
  box-sizing:border-box;
}
body {
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:Inter,sans-serif;
  font-size:15px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,p {
  margin:0;
}
h1,h2,h3 {
  font-family:Manrope,Inter,sans-serif;
  line-height:1.2;
}
a {
  color:inherit;
  text-decoration:none;
}
button,input {
  font:inherit;
  color:inherit;
}
button {
  cursor:pointer;
  border:0;
  background:none;
}
img {
  display:block;
  max-width:100%;
  object-fit:cover;
}
svg {
  width:22px;
  height:22px;
  flex-shrink:0;
}
button,a,input {
  -webkit-tap-highlight-color:transparent;
}
button:focus-visible,a:focus-visible,input:focus-visible {
  outline:2px solid var(--accent);
  outline-offset:4px;
}
[hidden] {
  display:none!important;
}
.skip-link {
  position:fixed;
  top:-80px;
  left:20px;
  z-index:100;
  background:var(--lime);
  color:#142008;
  padding:12px 20px;
  border-radius:12px;
}
.skip-link:focus {
  top:12px;
}
.site-header {
  position:sticky;
  top:0;
  z-index:20;
  background:var(--header);
  backdrop-filter:blur(20px);
  border-bottom:1px solid var(--line);
}
.header-inner {
  max-width:1360px;
  margin:auto;
  min-height:88px;
  padding:0 40px;
  display:flex;
  align-items:center;
  gap:48px;
}
.brand {
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:Manrope,sans-serif;
  font-size:24px;
  font-weight:800;
  letter-spacing:-1px;
  white-space:nowrap;
}
.brand-period {
  color:var(--accent);
}
.desktop-nav {
  display:flex;
  gap:6px;
  margin:auto;
}
.desktop-nav a {
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 16px;
  border-radius:30px;
  color:var(--muted);
  font-size:13px;
  font-weight:600;
}
.desktop-nav svg {
  display:none;
}
.desktop-nav a[aria-current=page] {
  background:var(--raised);
  color:var(--text);
}
.header-actions {
  display:flex;
  align-items:center;
  gap:10px;
}
.search-trigger {
  display:flex;
  align-items:center;
  gap:12px;
  color:var(--muted);
  min-height:44px;
  padding:0 14px;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:24px;
  font-size:12px;
}
.search-trigger kbd {
  font:10px Inter;
  padding:3px 5px;
  border:1px solid var(--line);
  border-radius:4px;
}
.icon-button {
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:50%;
  font-size:28px;
  color:var(--muted);
}
.icon-button:hover {
  background:var(--raised);
  color:var(--text);
}
.mobile-nav {
  display:none;
}
.main-shell {
  max-width:1360px;
  margin:auto;
  padding:0 40px 64px;
}
.home-intro {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  padding:54px 0 38px;
  gap:24px;
}
.eyebrow {
  font-size:10px;
  font-weight:700;
  letter-spacing:1.8px;
  line-height:1.6;
  color:var(--muted);
}
.home-intro .eyebrow {
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:16px;
}
.live-dot {
  height:6px;
  width:6px;
  background:var(--accent);
  border-radius:50%;
}
h1 {
  font-size:clamp(40px,4.4vw,64px);
  font-weight:600;
  letter-spacing:-3px;
  line-height:1.06;
}
h1 span {
  color:var(--muted);
}
.intro-note {
  padding:0 0 4px;
  max-width:290px;
}
.intro-note p {
  font-size:13px;
  color:var(--muted);
  line-height:1.7;
  margin-bottom:14px;
}
.intro-line {
  display:block;
  width:40px;
  height:1px;
  background:var(--accent);
  margin-bottom:16px;
}
.text-link {
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:12px;
  font-weight:600;
  min-height:44px;
}
.text-link svg {
  width:17px;
  height:17px;
}
.text-link:hover {
  color:var(--accent);
}
.feature-layout {
  display:grid;
  grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);
  gap:24px;
}
.feature-main {
  min-width:0;
  position:relative;
}
.featuredSwiper {
  border-radius:22px;
  background:#182319;
}
.feature-card {
  height:440px;
  display:block;
  position:relative;
  overflow:hidden;
  color:#fff;
}
.feature-art,.feature-shade {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.feature-art {
  object-position:center;
}
.feature-shade {
  background:linear-gradient(0deg,#080f0cf5 0%,#08100b3d 70%,#08100b55 100%);
}
.feature-top {
  position:relative;
  display:flex;
  justify-content:space-between;
  padding:26px 30px;
  align-items:center;
}
.feature-label,.feature-rating {
  font-size:10px;
  font-weight:600;
  letter-spacing:1.5px;
}
.feature-rating {
  letter-spacing:0;
  font-size:12px;
  background:#10181155;
  border:1px solid #ffffff45;
  border-radius:20px;
  padding:5px 10px;
  backdrop-filter:blur(8px);
}
.feature-copy {
  position:absolute;
  bottom:32px;
  left:32px;
  right:32px;
}
.feature-copy>p {
  font-size:11px;
  color:#cbd6c8;
  margin-bottom:12px;
}
.feature-copy h2 {
  font-size:clamp(30px,3.4vw,46px);
  letter-spacing:-1.7px;
  font-weight:600;
  line-height:1.08;
  margin-bottom:24px;
}
.feature-app {
  display:flex;
  align-items:center;
  gap:12px;
  font-size:13px;
  font-weight:600;
}
.feature-app img {
  border-radius:11px;
  border:1px solid #ffffff30;
}
.feature-app small {
  display:block;
  font-size:10px;
  font-weight:400;
  color:#c4cfc0;
  margin-top:3px;
}
.feature-open {
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border-radius:50%;
  background:var(--lime);
  color:#203011;
  margin-left:auto;
}
.feature-controls {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:12px 2px 0;
  height:48px;
}
.feature-pagination {
  display:flex;
  gap:3px;
  width:auto!important;
}
.feature-pagination .swiper-pagination-bullet {
  height:5px;
  width:5px;
  background:var(--muted);
  opacity:.35;
}
.feature-pagination .swiper-pagination-bullet-active {
  width:24px;
  border-radius:5px;
  background:var(--accent);
  opacity:1;
}
.slider-buttons {
  display:flex;
  gap:4px;
}
.slider-buttons button {
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  color:var(--muted);
  border-radius:50%;
}
.slider-buttons button:hover {
  background:var(--raised);
  color:var(--text);
}
.slider-buttons button:first-child svg {
  transform:rotate(180deg);
}
.spotlight-card {
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:22px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  margin-bottom:48px;
}
.spotlight-image {
  height:208px;
  position:relative;
  overflow:hidden;
  background:#213626;
}
.spotlight-image img {
  width:100%;
  height:100%;
  transition:transform .5s;
}
.spotlight-card:hover .spotlight-image img {
  transform:scale(1.04);
}
.spotlight-tag {
  position:absolute;
  top:22px;
  left:24px;
  background:#f0f5e5;
  color:#263a1a;
  padding:6px 10px;
  border-radius:6px;
  font-size:9px;
  font-weight:700;
  letter-spacing:1px;
}
.spotlight-copy {
  padding:24px;
  flex:1;
  display:flex;
  flex-direction:column;
}
.spotlight-copy .eyebrow {
  font-size:9px;
}
.spotlight-copy h2 {
  font-size:29px;
  letter-spacing:-1px;
  margin:12px 0 18px;
  font-weight:600;
}
.spotlight-bottom {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top:auto;
  font-size:12px;
  color:var(--muted);
}
.round-arrow {
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  height:34px;
  width:34px;
  border-radius:50%;
  color:var(--text);
}
.round-arrow svg {
  width:17px;
}
.section-heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  margin-bottom:24px;
}
.section-heading .eyebrow {
  margin-bottom:9px;
}
.section-heading h2 {
  font-size:27px;
  letter-spacing:-1px;
  font-weight:600;
}
.trending-section {
  padding:34px 0 36px;
  border-bottom:1px solid var(--line);
}
.trend-card {
  display:flex;
  gap:12px;
  align-items:center;
  padding:14px 0;
}
.trend-rank {
  font-family:Manrope;
  font-size:13px;
  color:var(--muted);
}
.trend-card img {
  border-radius:16px;
  width:60px;
  height:60px;
}
.trend-card>div {
  min-width:0;
}
.trend-card h3 {
  font-size:13px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:180px;
}
.trend-card p {
  color:var(--muted);
  font-size:11px;
  margin-top:6px;
  display:flex;
  gap:12px;
}
.trend-card p span {
  color:var(--accent);
}
.trend-arrow {
  margin-left:auto;
  color:var(--muted);
}
.trend-arrow svg {
  width:17px;
}
.collection-note {
  display:flex;
  align-items:center;
  gap:14px;
  margin:36px 0 46px;
}
.note-mark {
  font-size:29px;
  color:var(--accent);
}
.collection-note p {
  font-family:Manrope;
  font-size:19px;
  letter-spacing:-.5px;
}
.collection-note>span:last-child {
  margin-left:auto;
  font-size:11px;
  color:var(--muted);
}
.collection-section {
  margin-bottom:54px;
}
.catalog-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.catalog-card {
  border:1px solid var(--line);
  background:var(--surface);
  border-radius:18px;
  padding:20px;
  transition:background .2s,transform .2s,border-color .2s;
}
.catalog-card:hover {
  background:var(--raised);
  transform:translateY(-3px);
  border-color:var(--muted);
}
.card-top {
  display:flex;
  align-items:center;
  gap:14px;
}
.card-top img {
  width:64px;
  height:64px;
  border-radius:16px;
}
.card-top>div {
  min-width:0;
}
.card-category {
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:1px;
  color:var(--muted);
}
.card-top h3 {
  font-size:13px;
  letter-spacing:-.3px;
  margin:5px 0;
  overflow-wrap:anywhere;
}
.card-edition {
  font-size:10px;
  color:var(--muted);
}
.card-bottom {
  display:flex;
  align-items:center;
  gap:12px;
  border-top:1px solid var(--line);
  padding-top:14px;
  margin-top:18px;
  font-size:11px;
}
.card-rating span {
  color:var(--accent);
}
.card-version {
  color:var(--muted);
}
.card-arrow {
  margin-left:auto;
  color:var(--muted);
  height:20px;
}
.card-arrow svg {
  width:18px;
  height:18px;
}
.catalog-intro {
  padding:60px 0 44px;
}
.catalog-intro h1 {
  margin:16px 0 24px;
}
.catalog-intro>p:last-child {
  color:var(--muted);
}
.catalog-count {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:24px;
}
.catalog-count h2 {
  font-size:22px;
}
.catalog-count span {
  font-size:12px;
  color:var(--muted);
}
.site-footer {
  border-top:1px solid var(--line);
  max-width:1280px;
  margin:auto;
  padding:32px 0 24px;
}
.footer-top,.footer-bottom {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.footer-top .brand {
  font-size:21px;
}
.footer-top>p {
  font-family:Manrope;
  font-size:16px;
  color:var(--muted);
}
.footer-bottom {
  margin-top:32px;
  padding-top:24px;
  border-top:1px solid var(--line);
  font-size:10px;
  color:var(--muted);
}
.noscript-note {
  text-align:center;
  padding:24px;
}
/* Accessible, spacious app sheets. */
body.modal-open {
  overflow:hidden;
}
dialog {
  color:var(--text);
  background:var(--surface);
  border:1px solid var(--line);
  padding:0;
  box-shadow:var(--shadow);
  max-height:calc(100dvh - 64px);
  border-radius:26px;
}
dialog::backdrop {
  background:#050805b3;
  backdrop-filter:blur(12px);
}
.site-dialog {
  width:min(760px,calc(100% - 48px));
}
.detail-dialog {
  overflow:hidden;
}
.detail-content {
  overflow:auto;
  max-height:calc(100dvh - 66px);
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:var(--line) transparent;
}
.detail-close,.download-close {
  position:absolute;
  right:16px;
  top:16px;
  z-index:3;
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  font-size:28px;
  line-height:1;
  color:var(--text);
  border:1px solid var(--line);
  border-radius:50%;
  background:var(--surface);
}
.detail-close:hover,.download-close:hover {
  background:var(--raised);
}
.detail-hero {
  padding:64px 36px 28px;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:var(--raised);
}
.detail-backdrop {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  filter:blur(40px);
  opacity:.12;
  z-index:-1;
  transform:scale(1.1);
}
.detail-app-head {
  display:flex;
  gap:24px;
  align-items:center;
}
.detail-icon-wrap {
  position:relative;
  flex-shrink:0;
}
.detail-app-icon {
  width:108px;
  height:108px;
  border-radius:25px;
  box-shadow:0 8px 24px #0003;
  border:1px solid #ffffff20;
}
.detail-mod {
  display:inline-block;
  border-radius:6px;
  background:var(--lime);
  color:#233717;
  padding:3px 7px;
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.4px;
  line-height:1.4;
}
.detail-icon-wrap>.detail-mod {
  position:absolute;
  right:-5px;
  top:-6px;
}
.detail-app-summary {
  min-width:0;
}
.detail-app-summary h2 {
  font-size:30px;
  letter-spacing:-1px;
  overflow-wrap:anywhere;
  font-weight:700;
}
.detail-category {
  font-size:14px;
  color:var(--muted);
  margin:7px 0 12px;
}
.detail-meta {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:18px;
  font-size:13px;
  color:var(--muted);
}
.detail-rating {
  color:var(--text);
  font-weight:600;
}
.detail-rating>span {
  color:var(--accent);
}
.detail-downloads>span {
  font-size:18px;
}
.download-button {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  width:100%;
  height:54px;
  background:var(--lime);
  color:#233319;
  border-radius:14px;
  font-weight:700;
  font-size:16px;
  margin-top:28px;
}
.download-button:hover,.verification-button:hover {
  background:#d3ff93;
}
.download-button>span {
  font-size:24px;
  line-height:1;
}
.detail-section {
  padding:28px 36px;
  border-bottom:1px solid var(--line);
}
.detail-section:last-child {
  border:0;
}
.detail-section h3 {
  font-size:18px;
  font-weight:700;
  letter-spacing:-.4px;
  margin-bottom:16px;
}
.detail-section p {
  font-size:15px;
  line-height:1.85;
  color:var(--muted);
}
.detail-section-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.detail-section-heading h3 {
  margin:0;
}
.detail-section-heading>span {
  font-size:12px;
  color:var(--muted);
}
.description-excerpt {
  max-height:112px;
  overflow:hidden;
  mask-image:linear-gradient(#000 50%,transparent);
}
.description-excerpt.expanded {
  max-height:none;
  mask-image:none;
}
.read-more {
  padding:10px 0;
  min-height:44px;
  color:var(--accent);
  font-size:14px;
  font-weight:600;
  margin-top:8px;
}
.detail-information dl {
  margin:0;
}
.detail-information dl>div {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:9px 0;
  font-size:14px;
}
.detail-information dt {
  color:var(--muted);
}
.detail-information dd {
  margin:0;
  font-weight:600;
}
.detail-stars {
  letter-spacing:2px;
  color:var(--accent);
  font-size:13px;
  margin-right:8px;
}
.detail-stars>span {
  color:var(--muted);
  opacity:.4;
}
.related-grid {
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:148px;
  gap:16px;
  overflow:auto;
  padding:3px 1px 12px;
  scrollbar-width:thin;
  scrollbar-color:var(--line) transparent;
}
.related-card {
  text-align:left;
  background:var(--raised);
  padding:12px;
  border:1px solid var(--line);
  border-radius:18px;
  display:flex;
  flex-direction:column;
}
.related-card:hover {
  border-color:var(--muted);
}
.related-icon {
  position:relative;
  display:block;
}
.related-icon>img {
  width:122px;
  height:122px;
  border-radius:12px;
}
.related-icon>.detail-mod {
  position:absolute;
  top:-4px;
  right:-4px;
}
.related-name {
  display:block;
  font-size:12px;
  line-height:1.4;
  font-weight:700;
  margin:14px 0 20px;
  overflow-wrap:anywhere;
}
.related-footer {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-top:auto;
  gap:4px;
}
.related-rating {
  font-size:11px;
}
.related-rating>span {
  color:var(--accent);
}
.related-get {
  background:var(--lime);
  color:#223515;
  border-radius:20px;
  font-size:9px;
  font-weight:800;
  padding:6px 9px;
  display:inline-flex;
  gap:5px;
  align-items:center;
}
.search-dialog {
  width:min(660px,calc(100% - 48px));
}
.search-head {
  padding:28px;
  border-bottom:1px solid var(--line);
}
.dialog-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:18px;
}
.dialog-heading h2 {
  font-size:26px;
  letter-spacing:-1px;
}
.search-filters {
  display:flex;
  gap:8px;
  margin-bottom:20px;
}
.search-filters button {
  min-height:44px;
  padding:8px 20px;
  border-radius:24px;
  background:var(--raised);
  font-size:13px;
}
.search-filters button[aria-pressed=true] {
  background:var(--lime);
  color:#213319;
  font-weight:600;
}
.search-field {
  display:flex;
  align-items:center;
  gap:12px;
  background:var(--bg);
  border:1px solid var(--line);
  border-radius:14px;
  padding:0 16px;
  height:58px;
  color:var(--muted);
}
.search-field input {
  border:0;
  outline:none;
  background:none;
  width:100%;
  min-width:0;
  height:100%;
  font-size:16px;
}
.search-field kbd {
  font:10px Inter;
}
.search-results {
  padding:12px 20px 20px;
  overflow:auto;
  max-height:50dvh;
}
.search-empty {
  padding:48px 12px;
  text-align:center;
}
.search-empty h3 {
  font-size:20px;
  margin-bottom:12px;
}
.search-empty p {
  font-size:14px;
  color:var(--muted);
}
.result-row {
  display:flex;
  align-items:center;
  gap:16px;
  width:100%;
  text-align:left;
  padding:12px;
  border-radius:16px;
}
.result-row:hover {
  background:var(--raised);
}
.result-row img {
  border-radius:15px;
  width:60px;
  height:60px;
}
.result-row>div {
  min-width:0;
}
.result-row h3 {
  font-size:15px;
  overflow-wrap:anywhere;
}
.result-row p {
  font-size:12px;
  color:var(--muted);
  margin-top:6px;
}
.result-rating {
  margin-left:auto;
  font-size:13px;
  color:var(--accent);
  white-space:nowrap;
}
/* Independent one-second orbit;
progress and stage timing remain data driven. */
.download-dialog {
  width:min(500px,calc(100% - 40px));
  overflow:auto;
}
.download-header {
  position:relative;
  display:flex;
  align-items:center;
  gap:14px;
  padding:28px 68px 24px 24px;
  border-bottom:1px solid var(--line);
}
#downloadAppIcon {
  width:56px;
  height:56px;
  border-radius:14px;
  flex-shrink:0;
}
.download-app-info {
  min-width:0;
  display:flex;
  flex-direction:column-reverse;
  gap:8px;
}
.download-app-info h2 {
  font-size:20px;
  letter-spacing:-.5px;
  overflow-wrap:anywhere;
}
.download-meta {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px 10px;
  font-size:10px;
  color:var(--muted);
}
.download-badge {
  font-size:8px;
  padding:1px 6px;
  border:1px solid var(--accent);
  border-radius:5px;
  color:var(--accent);
}
.meta-symbol {
  color:#a398ff;
}
.meta-divider {
  display:none;
}
#downloadsMeta {
  display:flex;
  gap:3px;
}
.download-close {
  top:20px;
  right:16px;
}
.download-body {
  padding:32px 24px 36px;
  text-align:center;
}
.progress-orbit {
  position:relative;
  width:236px;
  height:236px;
  margin:0 auto;
}
.orbit-track {
  position:absolute;
  inset:6px;
  border:1px solid var(--line);
  border-radius:50%;
}
.orbit-rotor {
  position:absolute;
  inset:6px;
  border-radius:50%;
  animation:orbitSpin 1s linear infinite;
}
.orbit-trail {
  position:absolute;
  inset:0;
  border-radius:50%;
  background:conic-gradient(from 0deg,transparent 0deg 140deg,#7965ff08 170deg,#7965ff55 220deg,#7965ffcc 290deg,#9684fff0 315deg,#7965ff60 345deg,transparent 360deg);
  mask-image:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 2px));
}
.orbit-dot {
  position:absolute;
  width:8px;
  height:8px;
  top:-3.5px;
  left:calc(50% - 4px);
  background:#9684ff;
  border-radius:50%;
  box-shadow:0 0 14px 3px #7965ff65;
}
.progress-copy {
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  pointer-events:none;
}
.progress-copy p {
  font-size:14px;
  color:var(--muted);
}
#progressNumber {
  font-family:Manrope,sans-serif;
  font-size:56px;
  font-weight:400;
  letter-spacing:-3px;
  line-height:1.4;
}
#downloadSize {
  font-size:13px;
  color:var(--muted);
  margin-top:4px;
}
.download-status {
  font-size:15px;
  font-weight:500;
  line-height:1.6;
  margin:26px auto 0;
  min-height:48px;
  max-width:340px;
}
.verification-stage {
  padding:6px 0;
}
.verification-symbol {
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  border:1px solid var(--accent);
  color:var(--accent);
  border-radius:50%;
  font-size:28px;
  font-family:Manrope;
  margin:0 auto 22px;
}
.verification-stage h3 {
  font-size:24px;
  letter-spacing:-.7px;
  line-height:1.25;
}
.verification-stage>p {
  font-size:15px;
  line-height:1.75;
  color:var(--muted);
  margin:16px 0 24px;
}
.verification-button {
  width:100%;
  min-height:52px;
  border-radius:14px;
  background:var(--lime);
  color:#213319;
  font-size:15px;
  font-weight:700;
}
.locker-status {
  font-size:14px;
  color:var(--muted);
}
#locker-appblaster {
  margin-top:20px;
  max-width:100%;
  text-align:left;
  overflow-wrap:anywhere;
}
#locker-appblaster iframe {
  max-width:100%;
}
@keyframes orbitSpin {
  from {
    transform:rotate(-60deg);
  }
  to {
    transform:rotate(300deg);
  }
}
@media(min-width:1450px) {
  .home-intro {
    padding-top:64px;
  }
  .feature-card {
    height:480px;
  }
  .spotlight-image {
    height:232px;
  }
}
@media(max-width:1100px) {
  .header-inner {
    gap:20px;
    padding:0 28px;
  }
  .search-trigger span,.search-trigger kbd {
    display:none;
  }
  .search-trigger {
    width:44px;
    padding:0;
    justify-content:center;
    border:0;
    background:none;
  }
  .main-shell {
    padding:0 28px 48px;
  }
  .catalog-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .site-footer {
    margin:0 28px;
  }
  .feature-layout {
    grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);
  }
  .feature-card {
    height:410px;
  }
  .spotlight-image {
    height:180px;
  }
  .spotlight-copy {
    padding:22px;
  }
  .spotlight-copy h2 {
    font-size:25px;
  }
  .card-top img {
    width:54px;
    height:54px;
  }
  .catalog-card {
    padding:16px;
  }
}
@media(max-width:760px) {
  .header-inner {
    min-height:76px;
    padding:0 20px;
    gap:12px;
  }
  .brand {
    font-size:22px;
  }
  .brand img {
    width:32px;
    height:32px;
  }
  .desktop-nav {
    display:none;
  }
  .header-actions {
    margin-left:auto;
    gap:0;
  }
  .main-shell {
    padding:0 20px 28px;
  }
  .home-intro {
    padding:36px 0 28px;
    display:block;
  }
  .home-intro .eyebrow {
    font-size:9px;
    margin-bottom:14px;
  }
  .home-intro h1 {
    font-size:46px;
    letter-spacing:-2.5px;
  }
  .intro-note {
    margin-top:20px;
    max-width:none;
  }
  .intro-line,.intro-note .text-link {
    display:none;
  }
  .intro-note p {
    font-size:13px;
    margin:0;
  }
  .intro-note br {
    display:none;
  }
  .feature-layout {
    display:block;
  }
  .feature-card {
    height:400px;
  }
  .feature-top {
    padding:22px;
  }
  .feature-copy {
    bottom:26px;
    left:24px;
    right:24px;
  }
  .feature-copy h2 {
    font-size:36px;
    letter-spacing:-1.6px;
  }
  .featuredSwiper {
    border-radius:20px;
  }
  .spotlight-card {
    margin:18px 0 0;
    display:grid;
    grid-template-columns:42% 1fr;
    border-radius:18px;
    min-height:210px;
  }
  .spotlight-image {
    height:100%;
    min-height:210px;
  }
  .spotlight-image img {
    object-position:center;
  }
  .spotlight-tag {
    top:12px;
    left:12px;
    font-size:7px;
    letter-spacing:.7px;
    padding:5px 7px;
  }
  .spotlight-copy {
    padding:20px;
  }
  .spotlight-copy .eyebrow {
    font-size:8px;
    letter-spacing:1px;
  }
  .spotlight-copy h2 {
    font-size:25px;
    line-height:1.18;
    margin:12px 0 18px;
  }
  .spotlight-bottom {
    font-size:11px;
    gap:10px;
  }
  .round-arrow {
    height:30px;
    width:30px;
    flex-shrink:0;
  }
  .section-heading h2 {
    font-size:24px;
    letter-spacing:-1px;
  }
  .section-heading .eyebrow {
    font-size:8px;
    letter-spacing:1.3px;
  }
  .section-heading {
    gap:16px;
    margin-bottom:18px;
  }
  .section-heading>.text-link {
    font-size:0;
    gap:0;
    width:40px;
    justify-content:flex-end;
    flex-shrink:0;
  }
  .section-heading>.text-link svg {
    width:22px;
    height:22px;
  }
  .trending-section {
    padding:38px 0 24px;
  }
  .trend-card h3 {
    font-size:14px;
  }
  .trend-card p {
    font-size:12px;
  }
  .trend-card img {
    width:60px;
    height:60px;
  }
  .trend-rank {
    font-size:12px;
  }
  .collection-note {
    margin:28px 0 34px;
    flex-wrap:wrap;
    gap:4px 12px;
  }
  .collection-note p {
    font-size:17px;
  }
  .collection-note>span:last-child {
    width:100%;
    margin:0 0 0 35px;
    font-size:11px;
  }
  .note-mark {
    font-size:25px;
  }
  .catalog-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }
  .catalog-card {
    padding:16px;
    border-radius:17px;
  }
  .card-top {
    display:block;
  }
  .card-top img {
    width:64px;
    height:64px;
    border-radius:16px;
    margin-bottom:12px;
  }
  .card-category {
    font-size:9px;
  }
  .card-top h3 {
    font-size:14px;
    line-height:1.35;
    min-height:38px;
    margin:5px 0;
  }
  .card-edition {
    font-size:10px;
  }
  .card-bottom {
    padding-top:12px;
    margin-top:14px;
    font-size:11px;
    gap:6px;
  }
  .card-version {
    font-size:10px;
  }
  .collection-section {
    margin-bottom:38px;
  }
  .catalog-intro {
    padding:38px 0 36px;
  }
  .catalog-intro h1 {
    font-size:43px;
    letter-spacing:-2px;
  }
  .catalog-intro>p:last-child {
    font-size:14px;
  }
  .catalog-count h2 {
    font-size:20px;
  }
  .site-footer {
    margin:0 20px;
    padding:28px 0 110px;
  }
  .footer-top {
    flex-wrap:wrap;
    gap:16px;
  }
  .footer-top .brand {
    font-size:20px;
  }
  .footer-top>p {
    width:100%;
    font-size:14px;
    order:3;
  }
  .footer-top>.text-link {
    font-size:10px;
    min-height:44px;
  }
  .footer-bottom {
    align-items:flex-start;
    flex-direction:column;
    gap:12px;
    font-size:10px;
    margin-top:24px;
  }
  .mobile-nav {
    display:flex;
    position:fixed;
    left:16px;
    right:16px;
    bottom:max(14px,env(safe-area-inset-bottom));
    max-width:460px;
    margin:auto;
    z-index:25;
    justify-content:space-around;
    padding:8px;
    border:1px solid var(--line);
    border-radius:24px;
    background:var(--header);
    backdrop-filter:blur(20px);
    box-shadow:0 8px 30px #0003;
  }
  .mobile-nav a {
    display:flex;
    flex:1;
    align-items:center;
    justify-content:center;
    gap:8px;
    font-size:11px;
    min-height:44px;
    color:var(--muted);
    border-radius:17px;
    font-weight:600;
  }
  .mobile-nav a[aria-current=page] {
    background:var(--lime);
    color:#203317;
  }
  .mobile-nav svg {
    width:19px;
    height:19px;
  }
  .site-dialog {
    width:calc(100% - 20px);
    max-height:calc(100dvh - 24px);
    border-radius:22px;
  }
  .detail-content {
    max-height:calc(100dvh - 26px);
  }
  .detail-hero {
    padding:66px 22px 24px;
  }
  .detail-app-head {
    gap:20px;
    align-items:center;
  }
  .detail-app-icon {
    width:88px;
    height:88px;
    border-radius:21px;
  }
  .detail-app-summary h2 {
    font-size:24px;
    line-height:1.15;
    letter-spacing:-.7px;
  }
  .detail-category {
    font-size:14px;
    margin:8px 0 10px;
  }
  .detail-meta {
    font-size:12px;
    gap:8px 14px;
  }
  .detail-icon-wrap>.detail-mod {
    font-size:9px;
    padding:4px 7px;
  }
  .download-button {
    margin-top:26px;
    height:56px;
    font-size:16px;
  }
  .detail-section {
    padding:26px 22px;
  }
  .detail-section h3 {
    font-size:19px;
    margin-bottom:16px;
  }
  .detail-section p {
    font-size:15px;
    line-height:1.85;
  }
  .detail-section-heading {
    align-items:baseline;
  }
  .detail-section-heading h3 {
    margin:0;
  }
  .detail-section-heading>span {
    font-size:11px;
    white-space:nowrap;
  }
  .detail-information dl>div {
    font-size:15px;
    padding:11px 0;
  }
  .detail-stars {
    font-size:11px;
    letter-spacing:1px;
    margin-right:5px;
  }
  .read-more {
    font-size:15px;
    min-height:48px;
  }
  .description-excerpt {
    max-height:138px;
  }
  .related-grid {
    grid-auto-columns:150px;
    gap:14px;
  }
  .related-card {
    padding:12px;
  }
  .related-icon>img {
    width:124px;
    height:124px;
  }
  .related-name {
    font-size:13px;
    min-height:36px;
    margin-bottom:16px;
  }
  .related-rating {
    font-size:12px;
  }
  .related-get {
    font-size:10px;
  }
  .search-head {
    padding:22px;
  }
  .search-results {
    padding:12px;
    max-height:55dvh;
  }
  .search-empty {
    padding:36px 12px;
  }
  .search-field {
    padding:0 12px;
    gap:10px;
  }
  .search-field kbd {
    display:none;
  }
  .result-row {
    gap:12px;
  }
  .result-row h3 {
    font-size:14px;
  }
  .download-dialog {
    width:calc(100% - 24px);
    max-height:calc(100dvh - 32px);
    border-radius:22px;
  }
  .download-header {
    padding:26px 62px 22px 22px;
    gap:12px;
  }
  #downloadAppIcon {
    width:52px;
    height:52px;
    border-radius:13px;
  }
  .download-app-info h2 {
    font-size:18px;
  }
  .download-meta {
    font-size:10px;
    gap:5px 8px;
  }
  .download-close {
    right:10px;
    top:16px;
  }
  .download-body {
    padding:30px 22px 32px;
  }
  .download-status {
    font-size:15px;
  }
  .verification-stage h3 {
    font-size:24px;
  }
}
@media(max-width:359px) {
  .header-inner {
    padding:0 16px;
  }
  .brand {
    font-size:20px;
    gap:8px;
  }
  .main-shell {
    padding-left:16px;
    padding-right:16px;
  }
  .home-intro h1 {
    font-size:42px;
  }
  .feature-card {
    height:380px;
  }
  .feature-copy h2 {
    font-size:32px;
  }
  .spotlight-copy {
    padding:16px;
  }
  .spotlight-copy h2 {
    font-size:22px;
  }
  .catalog-card {
    padding:14px;
  }
  .card-top h3 {
    font-size:13px;
  }
  .detail-app-head {
    gap:14px;
  }
  .detail-app-icon {
    width:76px;
    height:76px;
  }
  .detail-app-summary h2 {
    font-size:22px;
  }
  .detail-hero,.detail-section {
    padding-left:20px;
    padding-right:20px;
  }
  .detail-meta {
    font-size:11px;
    gap:7px 10px;
  }
  .detail-section-heading {
    display:block;
  }
  .detail-section-heading>span {
    display:block;
    margin-top:8px;
  }
  .detail-section p {
    font-size:15px;
  }
  .download-header {
    padding-left:18px;
    gap:10px;
  }
  #downloadAppIcon {
    width:44px;
    height:44px;
  }
  .download-app-info h2 {
    font-size:17px;
  }
  .download-body {
    padding-left:18px;
    padding-right:18px;
  }
  .progress-orbit {
    width:224px;
    height:224px;
  }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {
    scroll-behavior:auto!important;
    transition:none!important;
  }
  .orbit-rotor {
    animation:none;
  }
}
.device-notice { display: none; }
.empty-collection { color: var(--muted); padding: 24px 0; grid-column: 1 / -1; }
/* A single discovery feature fills the row when its companion is disabled. */
.feature-layout--single { grid-template-columns:minmax(0,1fr); }
@media(min-width:761px) {
  .feature-layout--spotlight-only .spotlight-card { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .feature-layout--spotlight-only .spotlight-image { height:100%; min-height:280px; }
  .feature-layout--spotlight-only .spotlight-copy { padding:32px; }
}
