/* DRS Hub polish layer v2 (loads after main.css). Selectors verified against templates. */
:root{
  --ps-grad:linear-gradient(135deg,#1657d0 0%,#0c7a8c 100%);
  --ps-ease:cubic-bezier(.2,.7,.2,1);
  --ps-shadow:0 1px 2px rgba(16,24,40,.06),0 4px 12px -2px rgba(16,24,40,.08);
  --ps-shadow-lg:0 12px 32px -8px rgba(16,24,40,.22),0 4px 8px -4px rgba(16,24,40,.08);
  --sp-1:8px;--sp-2:16px;--sp-3:24px;--sp-4:32px;--sp-5:48px;
  --ps-text-3:#6b7686;--ps-skel-a:#eef2f7;--ps-skel-b:#f8fafc;
  --ps-glass:rgba(255,255,255,.78);
}
body{background:linear-gradient(180deg,#f7f9fc 0,#fff 420px) fixed;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
h1,h2,h3{letter-spacing:-.02em;font-family:var(--ps-font-display)}
::selection{background:#1657d0;color:#fff}
:focus-visible{outline:3px solid rgba(22,87,208,.45);outline-offset:2px;border-radius:8px}
a,button,.drs-app-card,.drs-featured-card{transition:transform .25s var(--ps-ease),box-shadow .25s var(--ps-ease),background-color .2s,color .2s,border-color .2s,opacity .2s}

/* Header: glass + elevation on scroll */
.drs-site-header{background:var(--ps-glass)!important;backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);border-bottom:1px solid rgba(16,24,40,.06)}
.drs-site-header.is-scrolled{box-shadow:0 8px 24px -14px rgba(16,24,40,.35)}
.drs-header-search input{border-radius:999px;transition:box-shadow .2s,background-color .2s}
.drs-header-search input:focus{box-shadow:0 0 0 3px rgba(22,87,208,.28);outline:none}
.drs-header-action{border-radius:50%}.drs-header-action:hover{background:var(--ps-surface-3)}
.drs-primary-nav__list li.is-active>a{position:relative}

/* Hero: gentle zoom (no overlay: banner art has baked-in text) */
.drs-hero-slider{box-shadow:0 24px 48px -28px rgba(16,24,40,.5)}
.drs-hero-slider__slide img{transform:scale(1.04);transition:transform 7s ease-out}
.drs-hero-slider__slide.is-active img{transform:scale(1)}
.drs-hero-slider__arrow{backdrop-filter:blur(8px);box-shadow:var(--ps-shadow)}
.drs-hero-slider__arrow:hover{transform:translateY(-50%) scale(1.08)}
.drs-hero-slider__dot{transition:width .3s var(--ps-ease),background-color .2s}

/* Section headers */
.drs-section{margin-block:var(--sp-4)}
.drs-section-header__title{font-size:22px;font-weight:800}
.drs-section-header__see-all{font-weight:700;border-radius:999px;padding:6px 14px;background:var(--ps-install-bg);color:var(--ps-install-text)}
.drs-section-header__see-all:hover{background:var(--ps-install-bg-h);text-decoration:none}
.drs-reveal{opacity:0;transform:translateY(14px);transition:opacity .6s var(--ps-ease),transform .6s var(--ps-ease)}
.drs-reveal.is-in{opacity:1;transform:none}

/* App cards */
.drs-app-card,.drs-featured-card{border-radius:20px}
.drs-app-card:hover,.drs-featured-card:hover{transform:translateY(-4px);box-shadow:var(--ps-shadow-lg)}
.drs-app-card__icon img,.drs-app-card__icon .drs-app-icon,.drs-featured-card__app-icon img,.drs-top-charts__icon img{border-radius:22%;box-shadow:0 4px 14px -4px rgba(16,24,40,.3)}
.drs-app-card__name{font-family:var(--ps-font-display);font-weight:700;letter-spacing:-.01em}
.drs-app-card__category,.drs-top-charts__category{text-transform:uppercase;font-size:.7rem;letter-spacing:.08em;opacity:.7}
.drs-featured-card__media{overflow:hidden;border-radius:20px 20px 0 0}
.drs-featured-card__media img{transition:transform .6s var(--ps-ease)}
.drs-featured-card:hover .drs-featured-card__media img{transform:scale(1.04)}
.drs-featured-card__badge{backdrop-filter:blur(8px);font-weight:700;letter-spacing:.04em}
.drs-top-charts__item{border-radius:16px}.drs-top-charts__item:hover{background:var(--ps-surface-2)}
.drs-top-charts__rank{font-family:var(--ps-font-display);font-weight:800;background:var(--ps-grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* Skeleton shimmer until image load (polish.js adds .is-loaded) */
.drs-app-card__icon:not(.is-loaded),.drs-featured-card__media:not(.is-loaded),.drs-top-charts__icon:not(.is-loaded),.drs-featured-card__app-icon:not(.is-loaded){background:linear-gradient(100deg,var(--ps-skel-a) 30%,var(--ps-skel-b) 50%,var(--ps-skel-a) 70%);background-size:200% 100%;animation:drs-shimmer 1.3s linear infinite}
@keyframes drs-shimmer{to{background-position:-200% 0}}

/* Category chips */
.drs-category-chip{border-radius:18px;border:1px solid var(--ps-border);background:var(--ps-surface);box-shadow:var(--ps-shadow)}
.drs-category-chip:hover{transform:translateY(-3px);box-shadow:var(--ps-shadow-lg);border-color:var(--ps-accent);text-decoration:none}
.drs-category-chip__icon{background:var(--ps-install-bg);color:var(--ps-accent);border-radius:14px;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center}
.drs-category-chip__name{font-weight:700}

/* Buttons */
.drs-app-cta__btn{border-radius:999px;font-weight:600;letter-spacing:.01em;padding-inline:1.4em}
.drs-install-button,.drs-buy-button,.drs-update-button,.drs-signin-button,.drs-btn--primary{background:var(--ps-grad)!important;color:#fff!important;border:0;box-shadow:0 8px 20px -8px rgba(22,87,208,.7)}
.drs-app-cta__btn:hover{transform:translateY(-1px);filter:brightness(1.06);text-decoration:none}
.drs-installed-button,.drs-unavailable-button{background:transparent!important;color:inherit!important;box-shadow:inset 0 0 0 1.5px currentColor}

/* Detail page */
.drs-app-detail__icon img,.drs-app-detail__icon .drs-app-icon{border-radius:22%;box-shadow:var(--ps-shadow-lg)}
.drs-app-detail__name{font-size:clamp(26px,4vw,40px);font-weight:800}
.drs-app-detail__meta{gap:var(--sp-3)}
.drs-app-detail__meta-item{padding-right:var(--sp-3);border-right:1px solid var(--ps-divider)}.drs-app-detail__meta-item:last-child{border:0}
.drs-app-detail__meta-value{font-family:var(--ps-font-display);font-weight:800}
.drs-app-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:var(--sp-2)}
.drs-app-stats__item{background:var(--ps-surface-2);border:1px solid var(--ps-divider);border-radius:16px;padding:var(--sp-2);text-align:center}
.drs-app-stats__value{font-family:var(--ps-font-display);font-weight:800;font-size:18px}
.drs-app-features__item{background:var(--ps-surface-2);border:1px solid var(--ps-divider);border-radius:999px;padding:6px 14px}
.drs-app-badge{border-radius:999px;font-weight:700}
.drs-app-detail__wishlist{border-radius:999px}
.drs-review{background:var(--ps-surface);border:1px solid var(--ps-divider);border-radius:16px;padding:var(--sp-2);box-shadow:var(--ps-shadow)}
.drs-review__avatar{border-radius:50%}

/* Sticky install bar */
.drs-sticky-install{position:fixed;left:0;right:0;top:var(--ps-header-h,64px);z-index:40;background:var(--ps-glass);backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);border-bottom:1px solid var(--ps-divider);box-shadow:0 10px 24px -16px rgba(16,24,40,.4);transform:translateY(-110%);transition:transform .3s var(--ps-ease)}
.drs-sticky-install.is-visible{transform:none}
.drs-sticky-install[hidden]{display:block;visibility:hidden}
.drs-sticky-install.is-visible[hidden]{visibility:visible}
.drs-sticky-install__inner{max-width:1200px;margin:0 auto;padding:8px 16px;display:flex;align-items:center;gap:12px}
.drs-sticky-install__icon{width:40px;height:40px;flex:none}
.drs-sticky-install__icon img,.drs-sticky-install__icon .drs-app-icon{width:40px;height:40px;border-radius:22%;object-fit:cover;display:flex;align-items:center;justify-content:center}
.drs-sticky-install__name{font-weight:700;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.drs-sticky-install__btn{flex:none;padding:8px 20px;min-height:0;cursor:pointer}

/* Rating histogram */
.drs-histogram{display:grid;grid-template-columns:auto 1fr;gap:var(--sp-4);align-items:center;background:var(--ps-surface-2);border:1px solid var(--ps-divider);border-radius:20px;padding:var(--sp-3);margin-bottom:var(--sp-3)}
.drs-histogram__score{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:110px}
.drs-histogram__avg{font:800 52px/1 var(--ps-font-display);letter-spacing:-.04em}
.drs-histogram__total{font-size:12px;color:var(--ps-text-3)}
.drs-histogram__bars{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.drs-histogram__row{display:grid;grid-template-columns:14px 1fr 36px;gap:10px;align-items:center;font-size:12px;color:var(--ps-text-2)}
.drs-histogram__track{height:8px;border-radius:99px;background:var(--ps-surface-3);overflow:hidden}
.drs-histogram__fill{display:block;height:100%;border-radius:99px;background:var(--ps-grad)}
.drs-histogram__count{text-align:right}
@media(max-width:560px){.drs-histogram{grid-template-columns:1fr;gap:var(--sp-2)}}

/* Empty states */
.drs-empty-state{text-align:center;padding:var(--sp-5) var(--sp-3);background:var(--ps-surface-2);border:1px dashed var(--ps-border);border-radius:20px;color:var(--ps-text-2)}
.drs-empty-state__icon{font-size:40px;margin:0 0 var(--sp-1);filter:grayscale(.2)}

/* Vendor storefront */
.drs-store{max-width:1200px;margin:0 auto;padding:var(--sp-3) 16px var(--sp-5)}
.drs-store__hero{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4);border-radius:24px;color:#fff;background:linear-gradient(135deg,#0b1e3a 0%,#1657d0 60%,#0c7a8c 100%);box-shadow:var(--ps-shadow-lg);margin-bottom:var(--sp-4)}
.drs-store__avatar{width:72px;height:72px;border-radius:22%;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;font:800 32px var(--ps-font-display);flex:none;border:1px solid rgba(255,255,255,.3)}
.drs-store__hero h1{margin:0;color:#fff;font-size:clamp(24px,4vw,34px);font-weight:800}
.drs-store__hero p{margin:4px 0 0;opacity:.85;font-size:14px}
.drs-store .drs-app-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--sp-2)}

/* Become-a-vendor form */
.drs-vendor-register{max-width:560px;margin:var(--sp-3) auto;background:var(--ps-surface);border:1px solid var(--ps-border);border-radius:24px;padding:var(--sp-4);box-shadow:var(--ps-shadow-lg)}
.drs-vendor-register label{display:block;font-weight:600;font-size:13px}
.drs-vendor-register input,.drs-vendor-register textarea{width:100%;margin-top:6px;padding:12px 14px;border:1px solid var(--ps-border);border-radius:12px;font:inherit;background:var(--ps-surface);color:var(--ps-text)}
.drs-vendor-register input:focus,.drs-vendor-register textarea:focus{outline:0;border-color:var(--ps-accent);box-shadow:0 0 0 4px rgba(22,87,208,.15)}
.drs-vendor-register textarea{min-height:110px}
.drs-vendor-register button{background:var(--ps-grad);color:#fff;border:0;border-radius:999px;padding:12px 26px;font-weight:700;cursor:pointer;box-shadow:0 10px 20px -10px rgba(22,87,208,.8);width:100%}
.drs-vendor-dash__ok{background:#ecfdf3;border:1px solid #abefc6;color:#067647;padding:12px 14px;border-radius:12px}
.drs-vendor-dash__err{background:#fef3f2;border:1px solid #fecdca;padding:12px 14px;border-radius:12px}

/* Footer */
.drs-site-footer{background:#0b1e3a;color:#c9d4e6}.drs-site-footer a{color:#e8efff}
.drs-site-footer__col h3,.drs-site-footer__col h4{text-transform:uppercase;font-size:.75rem;letter-spacing:.1em;opacity:.75}
.drs-site-footer__list a{opacity:.8}.drs-site-footer__list a:hover{opacity:1}

@media(max-width:600px){
  .drs-app-detail__cta .drs-app-cta__btn{width:100%;justify-content:center}
  .drs-store__hero{flex-direction:column;text-align:center;padding:var(--sp-3)}
}

/* Dark mode (audited against main.css hard-coded colours) */
@media (prefers-color-scheme:dark){
  :root{--ps-bg:#0b0f17;--ps-surface:#121826;--ps-surface-2:#171f30;--ps-surface-3:#1e283c;--ps-text:#eef2f9;--ps-text-2:#b4bfd0;--ps-text-3:#8c99ae;--ps-border:#263148;--ps-divider:#222c42;--ps-accent:#6b9bff;--ps-link:#9dbbff;--ps-teal:#3cc4d8;--ps-install-bg:rgba(107,155,255,.14);--ps-install-bg-h:rgba(107,155,255,.24);--ps-install-text:#b9d0ff;--ps-skel-a:#1a2338;--ps-skel-b:#25304a;--ps-glass:rgba(11,15,23,.78);--ps-shadow:0 1px 2px rgba(0,0,0,.4),0 4px 12px -2px rgba(0,0,0,.5);--ps-shadow-lg:0 12px 32px -8px rgba(0,0,0,.7),0 4px 8px -4px rgba(0,0,0,.5)}
  html,body{background:#0b0f17;color:var(--ps-text)}
  body{background:linear-gradient(180deg,#0e1422 0,#0b0f17 420px) fixed}
  .drs-site-header{border-bottom-color:rgba(255,255,255,.07)}
  .drs-hero-slider{background:var(--ps-surface-2)!important}
  .drs-featured-card__media{background:linear-gradient(135deg,#1a2338,#222d46)}
  .drs-app-card,.drs-featured-card,.drs-category-chip,.drs-review,.drs-vendor-register{background:var(--ps-surface);border:1px solid var(--ps-border)}
  .drs-app-card__name,.drs-featured-card__title,.drs-top-charts__name,.drs-category-chip__name{color:var(--ps-text)}
  .drs-app-card__category,.drs-top-charts__category{color:var(--ps-text-2)}
  .drs-notice--info,.drs-install-notice--success{background:rgba(60,140,255,.14);color:#cfe0ff}
  .drs-notice--error,.drs-install-notice--error,.drs-install-notice--unsupported,.drs-auth-notice--error{background:rgba(240,80,70,.14);color:#ffc9c4;border-color:rgba(240,80,70,.4)}
  .drs-auth-notice--success{background:rgba(40,190,110,.14);color:#bff2d6}
  .drs-auth-card,.drs-auth-tab.is-active,.drs-auth-field input[type="password"]{background:var(--ps-surface);color:var(--ps-text)}
  .drs-auth-tabs{background:var(--ps-surface-3)}
  .drs-auth-back{border-top-color:var(--ps-divider)}
  .drs-hero-slider__arrow{background:rgba(20,28,45,.8);color:#fff}
  .drs-sticky-install{border-bottom-color:rgba(255,255,255,.07)}
  .drs-empty-state{background:var(--ps-surface-2)}
  .drs-vendor-register input,.drs-vendor-register textarea{background:var(--ps-surface-2)}
  .drs-vendor-dash__ok{background:rgba(40,190,110,.14);border-color:rgba(40,190,110,.4);color:#bff2d6}
  .drs-vendor-dash__err{background:rgba(240,80,70,.14);border-color:rgba(240,80,70,.4);color:#ffc9c4}
  .drs-site-footer{background:#070d18}
  input,textarea,select{color-scheme:dark}
}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}.drs-reveal{opacity:1;transform:none}}
