@font-face {
  font-family:Inter;
  src:url('./fonts/inter-latin.woff2') format('woff2');
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
}
:root {
  color-scheme:dark;
  --page:#070809;
  --surface:#0c0d0f;
  --surface-raised:#151618;
  --line:#ffffff0d;
  --control-line:#ffffff29;
  --text:#f5f5f6;
  --muted:#969698;
  --subtle:#87878b;
  --accent:#ff565e;
  --radius:12px;
  --max-width:1204px;
  font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-synthesis:none;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:116px; scrollbar-gutter:stable; }
body { margin:0; background:var(--page); color:var(--text); font-size:15px; }
body.overlay-open { overflow:hidden; }
button,input,select { font:inherit; }
button,a,input,select,summary { -webkit-tap-highlight-color:transparent; }
button { color:inherit; cursor:pointer; }
button,a { touch-action:manipulation; }
button { border:0; background:none; }
a { color:inherit; text-decoration:none; }
p,h1,h2,h3 { margin:0; }
p { color:var(--muted); line-height:1.5; }
button:disabled { cursor:default; opacity:.5; }
button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible,[tabindex]:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
input:focus-visible { outline-offset:-2px; }
img,svg { display:block; }
svg { width:20px; height:20px; flex-shrink:0; }
[hidden] { display:none!important; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:fixed; top:8px; left:16px; z-index:100; background:var(--text); color:var(--page); padding:16px; transform:translateY(-150%); }
.skip-link:focus { transform:translateY(0); }
.wrap { width:100%; max-width:var(--max-width); margin-inline:auto; padding-inline:32px; }
.button { min-height:44px; display:inline-flex; justify-content:center; align-items:center; gap:10px; border:1px solid #ffffff30; border-radius:8px; padding:10px 16px; font-weight:500; font-size:14px; background:linear-gradient(#292a2c,#191a1c); box-shadow:inset 0 1px 1px #ffffff12; transition:background-color .2s,border-color .2s,box-shadow .2s; }
.button:hover { border-color:#ffffff59; box-shadow:inset 0 1px 1px #ffffff26,0 0 16px #ffffff08; }
.button-light,.button-primary { background:#ededed; border-color:#fff6; color:#191a1c; box-shadow:0 0 18px #ffffff0f,inset 0 1px 1px #fff; }
.button-light:hover,.button-primary:hover { background:#fff; border-color:#fff; box-shadow:0 0 20px #ffffff20; }
.quiet-button { color:var(--muted); padding:12px 8px; min-height:44px; font-size:14px; }
.quiet-button:hover { color:var(--text); }
.nav-shell { position:fixed; top:max(16px,env(safe-area-inset-top)); left:16px; right:16px; z-index:30; pointer-events:none; }
.site-header { max-width:var(--max-width); margin:auto; padding:0 32px; border:1px solid #ffffff0f; border-radius:16px; background:linear-gradient(137deg,#111214bf 4.87%,#0c0d0fe6 75.88%); box-shadow:inset 0 1px 1px #ffffff26; -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); pointer-events:auto; }
.header-row { display:flex; align-items:center; gap:24px; height:74px; }
.wordmark { display:inline-flex; align-items:center; gap:7px; font-size:17px; font-weight:600; letter-spacing:-.3px; flex-shrink:0; min-height:44px; }
.desktop-nav { display:flex; align-items:center; gap:10px; margin-left:auto; }
.desktop-nav a { font-size:14px; font-weight:500; color:var(--muted); padding:14px 6px; transition:color .2s; }
.desktop-nav a:hover { color:var(--text); }
.desktop-actions { display:flex; align-items:center; gap:22px; margin-left:20px; }
.desktop-actions .button { min-height:36px; padding:8px 12px; }
.menu-toggle { display:none; position:relative; width:44px; height:44px; margin-right:-8px; margin-left:auto; }
.menu-toggle span { position:absolute; left:10px; width:24px; height:1px; background:#dedee0; transition:transform .35s,opacity .25s; }
.menu-toggle span:nth-child(1) { top:15px; }
.menu-toggle span:nth-child(2) { top:22px; }
.menu-toggle span:nth-child(3) { top:29px; }
.menu-toggle[aria-expanded=true] span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.menu-toggle[aria-expanded=true] span:nth-child(2) { opacity:0; }
.menu-toggle[aria-expanded=true] span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
.mobile-navigation { padding-bottom:16px; animation:panel-in .25s ease-out; }
.mobile-links { display:flex; flex-direction:column; gap:2px; padding:32px 0; }
.mobile-links a,.mobile-secondary button { display:flex; align-items:center; min-height:44px; padding:10px 8px; color:#aaa9ac; font-size:16px; text-align:left; }
.mobile-links a:hover,.mobile-secondary button:hover { color:white; }
.mobile-secondary { border-top:1px solid #ffffff21; padding-top:28px; padding-bottom:4px; }
.nav-shell.menu-open { pointer-events:auto; inset:0; padding:max(16px,env(safe-area-inset-top)) 16px 16px; overflow-y:auto; overscroll-behavior:contain; }
.store-hero { position:relative; overflow:hidden; padding-top:540px; }
.hero-art { position:absolute; top:0; left:50%; width:1064px; min-width:470px; max-width:100%; aspect-ratio:1064/560; transform:translateX(-50%); pointer-events:none; }
.hero-background { width:100%; height:auto; animation:background-in 2s .15s both; }
.app-cloud { position:absolute; top:43.6%; left:17.1%; width:65.8%; animation:cloud-in 1.5s .35s both; }
.cloud-row { display:flex; justify-content:center; align-items:center; gap:2.6%; }
.cloud-row + .cloud-row { margin-top:2.5%; }
.cloud-tile { width:18.2%; aspect-ratio:1; display:flex; align-items:center; justify-content:center; border-radius:24%; border:1px solid #ffffff2b; background:linear-gradient(160deg,#0a0809eb,#050607f2); box-shadow:inset 0 1px 1px #ffffff21,0 8px 30px #0007; }
.cloud-tile img { width:62%; height:62%; border-radius:23%; box-shadow:0 6px 20px #0009; }
.cloud-row:first-child .cloud-tile:first-child,.cloud-row:first-child .cloud-tile:last-child { opacity:.3; filter:blur(1.7px); transform:scale(.93) translateY(5%); }
.cloud-row:first-child .cloud-tile:nth-child(2),.cloud-row:first-child .cloud-tile:nth-child(4) { transform:translateY(2%); }
.cloud-row:last-child { -webkit-mask-image:linear-gradient(#000 40%,transparent); mask-image:linear-gradient(#000 40%,transparent); }
.cloud-row:last-child .cloud-tile:first-child,.cloud-row:last-child .cloud-tile:last-child { opacity:.45; filter:blur(1px); }
.hero-content { position:relative; text-align:center; padding:0 24px; margin:0 auto 112px; }
.hero-content h1 { font-size:80px; line-height:1.075; font-weight:600; letter-spacing:1.2px; margin-bottom:20px; }
.hero-content p { max-width:560px; margin:0 auto 16px; font-size:20px; line-height:28px; color:#929295; text-wrap:pretty; }
.search-trigger { display:flex; justify-content:space-between; align-items:center; min-height:52px; padding:14px 16px; border:1px solid #ffffff29; border-radius:12px; background:#0c0d0fcc; color:var(--subtle); text-align:left; transition:border-color .2s,background-color .2s; }
.search-trigger:hover { border-color:#ffffff4a; background:#111214; }
.hero-search { width:min(476px,100%); margin:64px auto 0; }
.search-trigger-icon { display:none; }
.search-shortcut { display:flex; align-items:center; gap:5px; margin-left:16px; }
kbd { font-family:inherit; font-size:11px; line-height:18px; padding:0 4px; min-width:18px; text-align:center; border:1px solid #ffffff0f; border-radius:4px; background:#ffffff05; color:#929295; }
.explore-heading { text-align:center; margin-bottom:32px; }
.explore-heading h2 { font-size:40px; line-height:1.2; font-weight:600; letter-spacing:-1px; margin-bottom:16px; }
.explore-heading p { font-size:20px; }
.section-heading { margin-bottom:32px; }
.section-heading h3,.catalog-heading h2 { font-size:20px; font-weight:600; letter-spacing:-.4px; line-height:28px; margin-bottom:4px; }
.featured-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.featured-card { display:flex; flex-direction:column; align-items:center; text-align:center; padding:32px; min-height:364px; background:#0b0c0e; border:1px solid var(--line); border-radius:10px; box-shadow:inset 0 1px 1px #ffffff07; transition:border-color .25s,background-color .25s; }
.featured-card:hover,.product-card:hover { border-color:#ffffff21; background:#0e0f11; }
.featured-icon { width:96px; height:96px; display:grid; place-items:center; border-radius:21px; background:linear-gradient(145deg,#0f2e3c,#0a1b24); box-shadow:inset 0 0 0 1px #ffffff07,inset 1px 1px 1px #4db6eb21; margin-bottom:22px; }
.app-icon { display:block; flex-shrink:0; width:32px; height:32px; border-radius:22%; }
.featured-icon .app-icon { width:64px; height:64px; }
.featured-card h3 { font-size:20px; line-height:28px; letter-spacing:-.5px; font-weight:600; margin-bottom:6px; }
.featured-card h3 a:hover { color:white; }
.featured-card > p { font-size:15px; line-height:19px; min-height:38px; max-width:290px; }
.studio-credit { display:flex; align-items:center; gap:8px; font-size:13px; color:var(--muted); }
.studio-credit img { width:19px; height:19px; }
.featured-card .studio-credit { margin:26px 0; }
.featured-card .button { margin-top:auto; min-height:36px; padding:7px 12px; }
.catalog { margin-top:144px; }
.catalog-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:48px; }
.browse-tabs { display:flex; align-items:center; padding:5px; border:1px solid #ffffff0b; border-radius:999px; background:#0c0d0f; box-shadow:inset 0 1px 1px #ffffff1a; }
.browse-tabs button { min-height:44px; padding:10px 14px; border-radius:999px; color:var(--muted); font-size:14px; white-space:nowrap; }
.browse-tabs button.active { background:linear-gradient(145deg,#333436,#151618); box-shadow:inset 0 1px 1px #ffffff16,0 0 0 1px #ffffff0f; color:white; }
.browse-tabs button:hover { color:white; }
.toolbar-right { display:flex; align-items:center; gap:8px; }
.platform-tabs { display:flex; padding:4px; border:1px solid var(--control-line); border-radius:12px; background:var(--surface); }
.platform-tabs button { min-width:36px; min-height:36px; padding:8px; display:grid; place-items:center; color:var(--subtle); border-radius:6px; font-size:14px; }
.platform-tabs button.active { background:#242527; color:var(--text); }
.platform-tabs svg { width:17px; height:17px; }
.catalog-search { width:270px; min-height:46px; padding:11px 12px; }
.mobile-platform { display:none; }
.catalog-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:32px; }
.catalog-heading > div:first-child { min-width:0; }
.catalog-heading p { overflow-wrap:anywhere; }
.catalog-selects { display:flex; gap:6px; flex-shrink:0; }
select { max-width:100%; min-height:44px; padding:8px 24px 8px 10px; color:var(--muted); background:var(--surface); border:1px solid var(--line); border-radius:8px; font-size:13px; }
.active-filters { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px; }
.active-filters button { max-width:100%; min-height:44px; padding:8px 12px; background:#151618; border:1px solid #ffffff1a; border-radius:8px; overflow-wrap:anywhere; text-align:left; }
.active-filters .reset { background:none; color:var(--muted); border-color:transparent; }
.product-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.product-card { min-width:0; display:flex; flex-direction:column; min-height:186px; padding:26px 32px 28px; border:1px solid var(--line); border-radius:12px; background:#0b0c0e; box-shadow:inset 0 1px 1px #ffffff09; transition:border-color .25s,background-color .25s; }
.product-top { display:flex; align-items:center; gap:16px; min-height:44px; }
.product-name { display:flex; align-items:center; gap:16px; min-width:0; min-height:44px; }
.product-name h3 { font-size:16px; font-weight:600; letter-spacing:-.35px; overflow-wrap:anywhere; }
.product-action { margin-left:auto; flex-shrink:0; min-height:36px; padding:7px 9px; }
.mobile-action { display:none; }
.product-card > p { margin-top:10px; font-size:15px; line-height:19px; }
.product-meta { margin-top:auto; padding-top:24px; display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; color:var(--muted); font-size:13px; }
.product-price { margin-left:auto; font-size:13px; white-space:nowrap; }
.product-platform { display:inline-flex; align-items:center; gap:6px; font-size:12px; }
.product-platform svg { width:14px; height:14px; }
.demo-note { text-align:center; font-size:13px; margin-top:36px; }
.empty-state { grid-column:1/-1; padding:64px 20px; text-align:center; border:1px solid var(--line); border-radius:12px; }
.empty-state > svg { margin:0 auto 20px; width:28px; height:28px; color:var(--muted); }
.empty-state h3 { margin-bottom:12px; font-size:20px; font-weight:500; }
.empty-state .button { margin-top:24px; }
.faq { margin-top:128px; display:grid; grid-template-columns:1fr 2fr; gap:64px; }
.faq h2 { font-size:28px; line-height:1.3; font-weight:500; letter-spacing:-.7px; }
.faq details { border-bottom:1px solid #ffffff15; }
.faq summary { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 0; min-height:64px; list-style:none; cursor:pointer; font-size:15px; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary svg { width:16px; height:16px; transition:transform .2s; }
.faq details[open] summary svg { transform:rotate(45deg); }
.faq details p { padding:0 32px 24px 0; font-size:14px; }
.site-footer { margin-top:140px; position:relative; overflow:hidden; padding-top:170px; }
.footer-art { position:absolute; top:0; left:50%; transform:translateX(-50%) rotate(180deg); width:850px; max-width:130%; height:360px; background:url('./images/store-background.png') center/cover no-repeat; opacity:.85; -webkit-mask-image:linear-gradient(transparent,#000 60%); mask-image:linear-gradient(transparent,#000 60%); pointer-events:none; }
.footer-inner { position:relative; padding-top:80px; }
.site-footer::before { content:''; position:absolute; top:170px; left:0; right:0; height:1px; background:#ffffff0d; }
.footer-columns { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:32px; padding-bottom:80px; }
.footer-columns h2 { font-size:14px; line-height:20px; font-weight:600; margin-bottom:24px; }
.footer-columns a,.footer-columns button { display:flex; align-items:center; text-align:left; font-size:14px; line-height:20px; color:var(--muted); min-height:40px; padding:8px 0; }
.footer-columns a:hover,.footer-columns button:hover { color:var(--text); }
.footer-bottom { border-top:1px solid #ffffff15; display:flex; justify-content:space-between; align-items:center; gap:24px; padding:32px 0 max(32px,env(safe-area-inset-bottom)); color:var(--muted); font-size:13px; }
.footer-bottom .wordmark { color:var(--text); }
.footer-bottom > a:last-child { padding-block:14px; }
dialog { color:var(--text); background:#0e0f11; border:1px solid #ffffff26; border-radius:18px; width:min(680px,calc(100% - 32px)); max-height:calc(100dvh - 48px); padding:0; overflow:auto; overscroll-behavior:contain; box-shadow:0 24px 100px #000b; }
dialog::backdrop { background:#0009; -webkit-backdrop-filter:blur(7px); backdrop-filter:blur(7px); }
dialog[open] { animation:panel-in .22s ease-out; }
.dialog-content { padding:40px; }
.dialog-close { position:absolute; top:14px; right:14px; width:44px; height:44px; display:grid; place-items:center; border-radius:10px; color:var(--muted); }
.dialog-close:hover { color:white; background:#ffffff0a; }
.dialog-header { display:flex; align-items:center; gap:18px; padding-right:28px; }
.dialog-header .app-icon { width:64px; height:64px; }
.dialog-header h2 { font-size:26px; font-weight:600; letter-spacing:-.7px; }
.dialog-subtitle { margin-top:5px; font-size:13px; }
.demo-tag { font-size:11px; margin-left:8px; border:1px solid #ffffff20; border-radius:4px; padding:2px 5px; }
.detail-art { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:200px; gap:18px; margin-top:28px; background:radial-gradient(ellipse at top,#35121766,transparent 75%),#090a0c; border:1px solid var(--line); border-radius:12px; }
.detail-art .app-icon { width:80px; height:80px; box-shadow:0 12px 30px #0006; }
.detail-art p { color:#cacace; font-size:16px; text-align:center; padding:0 20px; }
.detail-tabs { display:flex; gap:24px; border-bottom:1px solid #ffffff14; margin-top:24px; }
.detail-tabs button { min-height:48px; padding:12px 0; border-bottom:2px solid transparent; font-size:14px; color:var(--muted); }
.detail-tabs [aria-selected=true] { color:white; border-bottom-color:var(--accent); }
.tab-panel { min-height:155px; padding:24px 0; font-size:14px; }
.tab-panel p + p { margin-top:16px; }
.detail-disclaimer { font-size:12px; line-height:1.5; color:var(--muted); }
.feature-list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.feature-list li { display:flex; align-items:flex-start; gap:10px; color:#b8b8bd; }
.feature-list svg { width:16px; height:16px; color:var(--accent); }
.specs { margin:0; display:grid; grid-template-columns:1fr 1fr; gap:16px 24px; }
.specs dt { color:var(--muted); font-size:12px; margin-bottom:5px; }
.specs dd { margin:0; font-size:14px; }
.detail-purchase { display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid #ffffff14; padding:24px 0 16px; }
.detail-purchase strong { font-size:22px; font-weight:500; }
.detail-purchase small { display:block; margin-top:4px; color:var(--muted); font-size:12px; }
.back-button { display:inline-flex; align-items:center; gap:8px; color:var(--muted); min-height:44px; margin-bottom:20px; padding:0; font-size:13px; }
.checkout-heading { font-size:28px; font-weight:500; letter-spacing:-.6px; padding-right:16px; }
.checkout-intro { margin:12px 0 24px; font-size:14px; }
.order-summary { border:1px solid #ffffff17; border-radius:12px; padding:20px; margin-bottom:24px; }
.order-line { display:flex; align-items:center; gap:12px; }
.order-line .app-icon { width:40px; height:40px; }
.order-line p { font-size:12px; margin-top:4px; }
.order-price { margin-left:auto; font-size:14px; white-space:nowrap; }
.checkout-breakdown { border-top:1px solid #ffffff12; margin-top:20px; padding-top:20px; display:flex; justify-content:space-between; gap:12px; font-size:14px; }
.payment-options { border:0; margin:0; padding:0; display:grid; gap:10px; }
.payment-options legend { margin-bottom:16px; font-size:14px; }
.payment-option { display:flex; gap:12px; align-items:center; padding:16px; border:1px solid #ffffff17; border-radius:10px; cursor:pointer; font-size:14px; }
.payment-option:has(input:checked) { border-color:#ff565e88; background:#ff565e06; }
.payment-option input { accent-color:var(--accent); width:18px; height:18px; flex-shrink:0; }
.payment-option small { display:block; color:var(--muted); font-size:12px; margin-top:5px; }
.simulation-note { background:#ffffff04; border:1px solid #ffffff0a; border-radius:8px; padding:14px; font-size:12px; margin-block:20px; }
.checkout-submit { width:100%; }
.success-screen { padding-block:28px 12px; text-align:center; }
.success-icon { width:64px; height:64px; border:1px solid #ffffff30; border-radius:50%; display:grid; place-items:center; margin:0 auto 24px; }
.success-icon svg { width:28px; height:28px; }
.success-screen h2 { font-size:28px; margin-bottom:16px; }
.success-screen > p { font-size:14px; }
.about-dialog { padding-top:12px; }
.about-dialog .wordmark { margin-bottom:32px; }
.about-dialog h2 { font-size:32px; font-weight:500; line-height:1.2; letter-spacing:-1px; margin-bottom:24px; }
.about-dialog p { font-size:14px; margin-bottom:20px; }
.about-dialog .button { margin-top:12px; }
.search-dialog { width:min(600px,calc(100% - 32px)); margin-top:min(20vh,160px); max-height:calc(100dvh - 100px); }
.search-dialog-top { display:flex; align-items:center; padding:10px 12px 10px 20px; gap:12px; border-bottom:1px solid #ffffff17; }
.search-dialog-top > span { color:var(--muted); }
.search-dialog input { color:var(--text); font-size:16px; min-height:44px; min-width:0; width:100%; border:0; background:none; padding:8px 0; outline:none; }
.search-dialog input:focus-visible { outline:2px solid var(--accent); outline-offset:2px; border-radius:4px; }
.search-dialog input::placeholder { color:var(--subtle); }
.search-dialog input::-webkit-search-cancel-button { display:none; }
.search-close,.clear-search { min-width:44px; height:44px; display:grid; place-items:center; border-radius:6px; color:var(--muted); font-size:12px; padding:8px; }
.search-close:hover,.clear-search:hover { background:#ffffff09; color:white; }
.search-results { padding:12px; max-height:min(450px,55dvh); overflow-y:auto; overscroll-behavior:contain; }
.search-group-title { font-size:12px; margin:8px 10px 10px; color:var(--muted); }
.search-result { display:flex; align-items:center; gap:14px; min-height:68px; padding:12px; border-radius:10px; }
.search-result:hover,.search-result:focus-visible { background:#ffffff08; }
.search-result .app-icon { width:38px; height:38px; }
.search-result > span { min-width:0; }
.search-result strong { font-weight:500; font-size:14px; }
.search-result small { display:block; color:var(--muted); font-size:12px; margin-top:4px; }
.search-result > svg { margin-left:auto; color:var(--subtle); width:16px; }
.search-empty { padding:28px 20px; text-align:center; }
.search-empty p { font-size:14px; }
.search-help { display:flex; justify-content:space-between; gap:16px; border-top:1px solid #ffffff12; padding:12px 20px; font-size:11px; color:var(--muted); }
@keyframes background-in { from { opacity:0; transform:scale(1.03); } to { opacity:1; transform:scale(1); } }
@keyframes cloud-in { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:translateY(0); } }
@keyframes panel-in { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
@media (max-width:1150px) {
  .header-row { gap:16px; }
  .desktop-nav { gap:0; }
  .desktop-actions { gap:12px; margin-left:0; }
  .desktop-actions .quiet-button { display:none; }
  .catalog-search { width:210px; }
  .catalog-heading { align-items:flex-start; }
  .catalog-selects { flex-direction:column; }
  .featured-card { padding:28px 20px; }
  .product-meta .product-platform { display:none; }
}
@media (max-width:879px) {
  .desktop-nav,.desktop-actions { display:none; }
  .menu-toggle { display:block; }
  .site-header { padding:0 16px; }
  .header-row { height:56px; }
  .wordmark { font-size:17px; }
  .wrap { padding-inline:24px; }
  .catalog-toolbar { align-items:flex-start; }
  .catalog-search { width:46px; padding:12px; }
  .catalog-search > span:not(.search-trigger-icon) { display:none; }
  .catalog-search .search-trigger-icon { display:block; }
  .search-trigger-icon svg { width:18px; height:18px; }
  .catalog-search .search-shortcut { display:none; }
  .featured-grid { gap:16px; }
  .featured-card h3 { font-size:18px; }
  .featured-card > p { min-height:76px; }
  .product-card { padding:24px; }
  .footer-columns { grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; }
}
@media (max-width:719px) {
  html { scroll-padding-top:106px; scrollbar-gutter:auto; }
  .store-hero { padding-top:236px; }
  .hero-content { margin-bottom:56px; }
  .hero-content h1 { font-size:34px; line-height:1.15; letter-spacing:-.4px; margin-bottom:12px; }
  .hero-content p { font-size:16px; line-height:24px; max-width:370px; }
  .desktop-break { display:none; }
  .hero-search { margin-top:28px; font-size:16px; }
  .search-shortcut { display:none; }
  .explore-heading h2 { font-size:26px; letter-spacing:-.5px; }
  .explore-heading p { font-size:16px; line-height:24px; }
  .explore-heading { margin-bottom:28px; }
  .section-heading { margin-bottom:24px; }
  .section-heading p { font-size:14px; }
  .featured-grid { grid-template-columns:1fr; }
  .featured-card { padding:24px; min-height:0; }
  .featured-card > p { min-height:38px; }
  .featured-card h3 { font-size:20px; }
  .featured-card .button { min-height:44px; }
  .catalog { margin-top:64px; }
  .catalog-toolbar { gap:10px; margin:0 -16px 28px; align-items:center; }
  .browse-tabs { padding:4px; flex-shrink:0; }
  .browse-tabs button { font-size:12px; padding:10px 11px; min-height:44px; }
  .desktop-tab-label { display:none; }
  .mobile-tab-label { display:inline; }
  .toolbar-right { min-width:0; }
  .platform-tabs,.catalog-search { display:none; }
  .mobile-platform { display:block; font-size:16px; min-height:44px; width:132px; padding:10px 8px; border-color:#ffffff1a; border-radius:12px; }
  .catalog-heading { flex-direction:column; gap:16px; margin-bottom:28px; }
  .catalog-heading h2 { font-size:20px; }
  .catalog-heading p { font-size:15px; line-height:20px; }
  .catalog-selects { flex-direction:row; flex-wrap:wrap; }
  .catalog-selects select { font-size:16px; padding-left:0; background:transparent; border-color:transparent; }
  .product-grid { grid-template-columns:1fr; gap:16px; }
  .product-card { padding:22px 22px 24px; min-height:0; }
  .product-top { gap:8px; }
  .product-name { gap:16px; }
  .product-action { background:none; box-shadow:none; border-color:transparent; padding:8px; min-height:44px; width:36px; margin-right:-8px; }
  .desktop-action { display:none; }
  .mobile-action { display:block; color:var(--muted); }
  .product-card > p { margin-top:12px; font-size:15px; line-height:20px; }
  .product-meta { padding-top:22px; gap:8px; }
  .product-price { font-size:13px; }
  .product-meta .studio-credit { font-size:12px; }
  .demo-note { max-width:270px; margin-inline:auto; line-height:20px; }
  .faq { grid-template-columns:1fr; gap:20px; margin-top:64px; }
  .faq h2 { font-size:24px; }
  .site-footer { margin-top:56px; padding-top:96px; }
  .site-footer::before { top:96px; }
  .footer-inner { padding-top:40px; }
  .footer-art { height:200px; }
  .footer-columns { grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px 24px; padding-bottom:40px; }
  .footer-columns h2 { margin-bottom:16px; }
  .footer-columns a,.footer-columns button { min-height:44px; }
  .footer-bottom { flex-wrap:wrap; gap:12px; padding-top:24px; }
  .footer-bottom .wordmark { width:100%; }
  .footer-bottom > span { margin-right:auto; }
  dialog { width:calc(100% - 24px); max-height:calc(100dvh - 32px); border-radius:16px; }
  .dialog-content { padding:28px 24px max(24px,env(safe-area-inset-bottom)); }
  .dialog-header { gap:14px; }
  .dialog-header .app-icon { width:52px; height:52px; }
  .dialog-header h2 { font-size:23px; }
  .dialog-subtitle { font-size:12px; }
  .detail-art { min-height:180px; }
  .feature-list { grid-template-columns:1fr; }
  .detail-purchase { flex-direction:column; align-items:stretch; }
  .detail-purchase strong { font-size:24px; }
  .order-line { flex-wrap:wrap; }
  .order-price { margin-left:52px; }
  .search-dialog { margin-top:72px; }
  .search-dialog-top { padding:8px; gap:4px; }
  .search-dialog-top > span { display:none; }
  .search-dialog input { padding-left:10px; }
  .search-help > span:last-child { display:none; }
  .about-dialog h2 { font-size:28px; }
}
@media (min-width:720px) { .mobile-tab-label { display:none; } }
@media (max-width:359px) {
  .wrap { padding-inline:20px; }
  .hero-content { padding-inline:20px; }
  .catalog-toolbar { flex-wrap:wrap; margin-inline:0; }
  .browse-tabs { width:100%; justify-content:space-between; }
  .mobile-platform { width:100%; }
  .toolbar-right { width:100%; }
  .product-card { padding:24px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none!important; transition:none!important; }
}

/* ── Halaman akun, checkout, pesanan, dan koleksi ──────────────────────────
   Memakai token yang sama dengan toko: latar hitam, aksen merah, Inter lokal.
   Tidak ada warna baru yang diperkenalkan di sini, supaya halaman baru tidak
   terlihat ditempel dari tempat lain. */
.nav-shell-halaman { position:sticky; top:max(16px,env(safe-area-inset-top)); }
.nav-shell-halaman .desktop-nav a[aria-current=page] { color:var(--text); }
.nav-pengguna { font-size:14px; color:var(--muted); max-width:180px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.halaman { width:100%; max-width:900px; margin-inline:auto; padding:120px 32px 96px; }
.halaman-lebar { max-width:1060px; }
.halaman-sempit { max-width:460px; padding-top:132px; }
.halaman-kepala { margin-bottom:32px; }
.halaman-kepala .eyebrow { font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--subtle); margin-bottom:12px; }
.halaman-kepala h1 { font-size:34px; letter-spacing:-.9px; line-height:1.1; }
.halaman-kepala p { margin-top:10px; font-size:15px; }
.kartu { border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); padding:28px; }
.kartu + .kartu { margin-top:20px; }
.kartu h2 { font-size:18px; letter-spacing:-.3px; }
.kartu h3 { font-size:15px; letter-spacing:-.2px; }
.kartu-kepala { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:20px; }
.kartu-kepala p { font-size:13px; margin-top:4px; }
.daftar-kosong { border:1px dashed var(--control-line); border-radius:var(--radius); padding:40px 28px; text-align:center; }
.daftar-kosong h3 { font-size:16px; margin-bottom:8px; }
.daftar-kosong p { font-size:14px; max-width:420px; margin-inline:auto; }
.daftar-kosong .button { margin-top:20px; }
.memuat { color:var(--subtle); font-size:14px; padding:32px 0; text-align:center; grid-column:1/-1; }

/* Borang */
.borang { display:flex; flex-direction:column; gap:18px; }
.medan { display:flex; flex-direction:column; gap:8px; }
.medan label { font-size:13px; font-weight:500; color:var(--text); }
.medan input,.medan select,.medan textarea { width:100%; min-height:46px; padding:12px 14px; border:1px solid var(--control-line); border-radius:8px; background:#0f1012; color:var(--text); font-size:16px; }
.medan textarea { min-height:96px; resize:vertical; }
.medan input::placeholder,.medan textarea::placeholder { color:#66666a; }
.medan input:focus-visible,.medan select:focus-visible,.medan textarea:focus-visible { outline:2px solid var(--accent); outline-offset:-1px; border-color:transparent; }
.medan .bantuan { font-size:12px; color:var(--subtle); }
.borang .button-primary { width:100%; }
.galat-borang { margin:0; padding:12px 14px; border:1px solid #ff565e4d; border-radius:8px; background:#ff565e14; color:#ffb4b7; font-size:13px; line-height:1.5; }
.sukses-borang { margin:0; padding:12px 14px; border:1px solid #52b78840; border-radius:8px; background:#52b78814; color:#8fd8b4; font-size:13px; line-height:1.5; }
.pemberitahuan { margin:0 0 24px; padding:14px 16px; border:1px solid var(--control-line); border-radius:10px; background:var(--surface-raised); font-size:13px; color:var(--muted); line-height:1.55; }
.pemberitahuan strong { color:var(--text); }
.pemberitahuan .button { margin-top:12px; min-height:44px; font-size:14px; }

/* Tab masuk dan daftar */
.tab-akun { display:flex; gap:4px; padding:4px; border:1px solid var(--line); border-radius:10px; background:var(--surface-raised); margin-bottom:24px; }
.tab-akun a { flex:1; text-align:center; padding:10px; border-radius:7px; font-size:14px; font-weight:500; color:var(--muted); min-height:44px; display:flex; align-items:center; justify-content:center; }
.tab-akun a[aria-current=page] { background:#26272a; color:var(--text); }
.tautan-kecil { font-size:13px; color:var(--muted); text-align:center; }
.tautan-kecil a { color:var(--text); text-decoration:underline; text-underline-offset:3px; }

/* Lencana status */
.lencana { display:inline-flex; align-items:center; gap:6px; padding:5px 10px; border-radius:999px; font-size:12px; font-weight:500; border:1px solid var(--control-line); color:var(--muted); white-space:nowrap; }
.lencana::before { content:''; width:6px; height:6px; border-radius:50%; background:currentColor; }
.lencana-lunas,.lencana-terkirim { color:#6fd39b; border-color:#6fd39b40; background:#6fd39b12; }
.lencana-menunggu,.lencana-tertunda_manual { color:#e2b35f; border-color:#e2b35f40; background:#e2b35f12; }
.lencana-gagal,.lencana-kedaluwarsa,.lencana-batal { color:#8d8d92; border-color:var(--control-line); }
.lencana-perlu_tinjau,.lencana-refund { color:#ff8e94; border-color:#ff565e40; background:#ff565e12; }
.jenis-tag { display:inline-block; padding:3px 8px; border:1px solid var(--control-line); border-radius:999px; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--subtle); }

/* Daftar pesanan */
.baris-pesanan { display:flex; align-items:center; gap:16px; padding:18px 0; border-top:1px solid var(--line); }
.baris-pesanan:first-child { border-top:0; }
.baris-pesanan-isi { flex:1; min-width:0; }
.baris-pesanan-isi strong { display:block; font-size:15px; font-weight:600; }
.baris-pesanan-isi span { display:block; font-size:13px; color:var(--subtle); margin-top:3px; }
.baris-pesanan-kanan { display:flex; align-items:center; gap:14px; flex-shrink:0; }
.harga-baris { font-size:15px; font-weight:600; white-space:nowrap; }

/* Checkout */
.pilihan-paket { display:flex; flex-direction:column; gap:12px; }
.pilihan-paket label { display:flex; gap:14px; align-items:flex-start; padding:18px; border:1px solid var(--control-line); border-radius:10px; cursor:pointer; transition:border-color .2s,background-color .2s; }
.pilihan-paket label:hover { border-color:#ffffff4d; }
.pilihan-paket label.terpilih { border-color:var(--accent); background:#ff565e0f; }
.pilihan-paket input { margin-top:3px; width:18px; height:18px; accent-color:var(--accent); flex-shrink:0; }
.paket-isi { flex:1; min-width:0; }
.paket-isi strong { display:block; font-size:15px; font-weight:600; }
.paket-isi small { display:block; font-size:13px; color:var(--subtle); margin-top:4px; line-height:1.5; }
.paket-harga { font-size:17px; font-weight:600; white-space:nowrap; }
.rincian-total { display:flex; align-items:center; justify-content:space-between; padding-top:18px; margin-top:18px; border-top:1px solid var(--line); }
.rincian-total span { font-size:14px; color:var(--muted); }
.rincian-total strong { font-size:22px; letter-spacing:-.4px; }
.ringkas-produk { display:flex; align-items:center; gap:16px; padding-bottom:20px; margin-bottom:20px; border-bottom:1px solid var(--line); }
.ringkas-produk .app-icon { width:48px; height:48px; border-radius:11px; }
.ringkas-produk div { min-width:0; }
.ringkas-produk strong { display:block; font-size:16px; font-weight:600; }
.ringkas-produk span { display:block; font-size:13px; color:var(--subtle); margin-top:3px; }

/* Aplikasi Saya */
.kartu-aplikasi { display:grid; gap:20px; }
.aplikasi-kepala { display:flex; align-items:flex-start; gap:16px; }
.aplikasi-kepala .app-icon { width:52px; height:52px; border-radius:12px; }
.aplikasi-kepala div { flex:1; min-width:0; }
.aplikasi-kepala h2 { font-size:17px; }
.aplikasi-kepala p { font-size:13px; margin-top:4px; }
.daftar-rilis { display:flex; flex-direction:column; gap:12px; }
.baris-rilis { display:flex; align-items:center; gap:14px; padding:14px 16px; border:1px solid var(--line); border-radius:10px; background:var(--surface-raised); }
.baris-rilis-isi { flex:1; min-width:0; }
.baris-rilis-isi strong { font-size:14px; font-weight:600; }
.baris-rilis-isi span { display:block; font-size:12px; color:var(--subtle); margin-top:4px; line-height:1.5; }
.baris-rilis .button { min-height:44px; padding:8px 16px; font-size:14px; flex-shrink:0; }
.kotak-lisensi { border:1px solid var(--control-line); border-radius:10px; padding:18px; }
.kunci-lisensi { display:flex; align-items:center; gap:12px; margin-top:12px; padding:12px 14px; border-radius:8px; background:#0f1012; border:1px solid var(--line); }
.kunci-lisensi code { flex:1; min-width:0; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:14px; letter-spacing:.04em; overflow-wrap:anywhere; }
.kunci-lisensi button { position:relative; min-height:40px; padding:6px 14px; border:1px solid var(--control-line); border-radius:7px; font-size:13px; flex-shrink:0; }
/* Area sentuh minimal 44px tanpa mengubah tinggi visualnya. Tombol 36px di
   ponsel sering meleset, dan yang meleset di sini adalah tombol yang dipakai
   pembeli saat sedang bingung. */
.kunci-lisensi button::after { content:''; position:absolute; inset:-3px -3px; }
.daftar-perangkat { list-style:none; margin:14px 0 0; padding:0; display:flex; flex-direction:column; gap:8px; }
.daftar-perangkat li { display:flex; align-items:center; gap:12px; font-size:13px; color:var(--muted); }
.daftar-perangkat li span { flex:1; min-width:0; }
.daftar-perangkat button { position:relative; font-size:13px; color:#ff8e94; text-decoration:underline; text-underline-offset:3px; min-height:44px; padding-inline:8px; }
.daftar-perangkat button::after { content:''; position:absolute; inset:0 -4px; }

/* Halaman pesanan */
.papan-status { display:flex; align-items:center; gap:16px; padding:22px; border:1px solid var(--control-line); border-radius:12px; background:var(--surface-raised); margin-bottom:24px; }
.papan-status div { flex:1; min-width:0; }
.papan-status strong { display:block; font-size:16px; }
.papan-status p { font-size:13px; margin-top:5px; }
.rincian-daftar { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 24px; margin:0; }
.rincian-daftar div { min-width:0; }
.rincian-daftar dt { font-size:12px; color:var(--subtle); margin-bottom:5px; }
.rincian-daftar dd { margin:0; font-size:14px; word-break:break-word; }
.aksi-baris { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.hitung-mundur { font-variant-numeric:tabular-nums; }

@media (max-width:720px) {
  /* Header halaman ikut alur (sticky), jadi jarak atas cukup sedikit.
     Dulu 104px ditambah tinggi header membuat judul baru muncul di
     sepertiga layar. */
  .halaman { padding:28px 20px 48px; }
  .halaman-sempit { padding-top:32px; }
  .halaman-kepala { margin-bottom:24px; }
  .halaman-kepala .eyebrow { display:none; }
  .halaman-kepala h1 { font-size:26px; letter-spacing:-.6px; }
  .halaman-kepala p { font-size:15px; line-height:1.5; }
  .kartu-kepala { margin-bottom:16px; }
  .kartu { padding:20px; }
  .kartu + .kartu { margin-top:16px; }
  .papan-status { padding:18px; margin-bottom:16px; }
  /* Judul kartu dan tombol di sebelahnya dibuat bisa turun baris.
     Pada 390px, tombol Aplikasi Saya di kartu Riwayat pesanan meluber 9px
     keluar layar dan membuat seluruh halaman bisa digeser ke samping. */
  .kartu-kepala { flex-wrap:wrap; }
  .kartu-kepala > .button { flex-shrink:0; }
  .nav-shell-halaman .desktop-nav { display:flex; gap:12px; overflow-x:auto; scrollbar-width:none; }
  .nav-shell-halaman .desktop-nav::-webkit-scrollbar { display:none; }
  .nav-shell-halaman .header-row { height:56px; padding:0; gap:8px; }
  .nav-shell-halaman .desktop-nav a { padding:14px 6px; white-space:nowrap; }
  .nav-shell-halaman .desktop-actions .button { min-height:40px; }
  .nav-shell-halaman .desktop-actions { margin-left:auto; gap:12px; }
  .nav-pengguna { display:none; }
  .rincian-daftar { grid-template-columns:1fr; gap:16px; }
  .baris-pesanan { flex-wrap:wrap; }
  /* Baris kanan dibuat bisa turun baris sendiri.
     Dengan space-between dan isi yang lebih lebar daripada wadahnya, item
     terakhir MELUBER keluar alih alih dipadatkan, dan tombol Detail menyembul
     9px di luar layar. Lencana seperti "Menunggu pembayaran" cukup panjang
     untuk memicunya. */
  .baris-pesanan-kanan { width:100%; justify-content:flex-start; flex-wrap:wrap; gap:10px; }
  .baris-pesanan-kanan .button { margin-left:auto; }
  .baris-rilis { flex-wrap:wrap; }
  .baris-rilis .button { width:100%; }
  .pilihan-paket label { padding:16px; }
  .paket-harga { font-size:15px; }
}

/* WhatsPop Premium */
.daftar-fitur { list-style:none; margin:12px 0 0; padding:0; display:flex; flex-direction:column; gap:10px; }
.daftar-fitur li { display:flex; gap:10px; align-items:flex-start; font-size:14px; color:var(--muted); line-height:1.6; }
.daftar-fitur svg { width:16px; height:16px; flex-shrink:0; margin-top:3px; color:#6fd39b; }
.banding-paket { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.banding-paket h3 { font-size:14px; letter-spacing:.02em; }
@media (max-width:640px) { .banding-paket { grid-template-columns:1fr; gap:24px; } }

/* Footer halaman dalam hanya berisi hak cipta dan tautan kembali. Hiasan dan
   jarak besar milik footer beranda tidak dipakai di sini, supaya halaman
   pendek seperti Masuk tidak berakhir dengan layar kosong. */
.halaman ~ .site-footer { margin-top:0; padding-top:0; }
.halaman ~ .site-footer::before { display:none; }
.halaman ~ .site-footer .footer-inner { padding-top:0; }
@media (max-width:720px) {
  .halaman ~ .site-footer .footer-bottom .wordmark { display:none; }
  .halaman ~ .site-footer .footer-bottom { flex-wrap:nowrap; padding:16px 0 max(16px,env(safe-area-inset-bottom)); }
}

/* Tombol sekunder tanpa bingkai, untuk tindakan yang jarang dipakai. */
.button-tenang { background:none; border-color:transparent; box-shadow:none; color:var(--muted); padding-inline:8px; }
.button-tenang:hover { color:var(--text); border-color:transparent; box-shadow:none; }
.aksi-tenang { display:flex; flex-wrap:wrap; gap:4px 12px; }
.katalog-ringkas .catalog-toolbar,.katalog-ringkas .catalog-selects { display:none; }
@media (max-width:720px) {
  .papan-status { flex-direction:column; align-items:flex-start; gap:10px; }
  .aksi-baris { flex-direction:column; align-items:stretch; gap:10px; }
  .aksi-baris > .button { width:100%; }
  .aksi-tenang { justify-content:space-between; }
  /* Footer beranda di ponsel: cukup kolom LapakApp. Kolom produk dan
     platform mengulang isi katalog yang baru saja dilihat. */
  .footer-art { display:none; }
  .site-footer { padding-top:0; border-top:1px solid #ffffff0d; }
  .site-footer::before { display:none; }
  .footer-columns > [data-kolom] { display:none!important; }
  .footer-columns { grid-template-columns:repeat(2,minmax(0,1fr)); padding-bottom:24px; }
  .footer-columns > div:not([data-kolom]) { display:contents; }
  .footer-columns > div:not([data-kolom]) h2 { display:none; }
  .nav-shell-halaman .desktop-nav a { min-width:44px; text-align:center; }
  .hero-content { margin-bottom:40px; }
}
@media (max-width:720px) {
  /* Kode WP 24 karakter harus muat satu baris di samping tombol Salin pada
     layar 360px. Terpotong di tengah membuat pembeli salah ketik. */
  .kunci-lisensi { padding:10px 12px; gap:10px; }
  .kunci-lisensi code { font-size:13px; letter-spacing:0; }
  .product-action { width:44px; }
}
