#cd-root{background:#faf9fc;color:#24212c;font:14px/1.45 inherit;min-height:80vh}#cd-root *{box-sizing:border-box}#cd-root button,#cd-root input,#cd-root select{font:inherit}#cd-root button{cursor:pointer}#cd-root button:focus-visible,#cd-root a:focus-visible{outline:3px solid #ad91fa;outline-offset:3px}#cd-root [hidden]{display:none!important}#cd-root .cd-main{max-width:1360px;margin:auto;padding:36px 32px}#cd-root .intro{display:flex;justify-content:space-between;align-items:center;gap:24px}#cd-root h1{font-size:34px;font-weight:700;letter-spacing:-1px;margin:12px 0}#cd-root p{color:#7a7485;line-height:1.55;margin:8px 0}#cd-root a{text-decoration:none}#cd-root .primary{background:#763ce8;color:white;border:0;border-radius:12px;padding:13px 20px;font-weight:600;display:inline-block}#cd-root .pill{border:1px solid #e4deee;border-radius:12px;background:white;padding:11px 17px;color:#51465e;display:inline-block}#cd-root .search{display:flex;gap:14px;background:white;border:1px solid #e6deef;border-radius:14px;padding:8px 10px 8px 19px;margin:22px 0 16px}#cd-root .search input{flex:1;min-width:0;border:0;background:transparent;padding:12px;box-shadow:none}
/* The shared input focus outline must not draw a second rectangle inside search.
   Keep a visible neutral focus treatment on the complete rounded search control. */
#cd-root #cd-query,#cd-root #cd-query:focus,#cd-root #cd-query:focus-visible{outline:none!important;box-shadow:none!important;border:0!important}
#cd-root #cd-search{transition:border-color .15s,box-shadow .15s}
#cd-root #cd-search:focus-within{border-color:#827b8b;box-shadow:0 2px 8px #24212c0a}
#cd-root .intro-copy{min-width:0}
#cd-root .cd-shortcuts{position:relative;display:flex;align-items:center;gap:6px;flex-shrink:0;flex-wrap:wrap}
#cd-root .cd-shortcut{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 14px;border:0;border-radius:999px;background:transparent;color:#514a5e;font-size:14px;font-weight:600;line-height:1.4;white-space:nowrap;transition:background-color .15s,color .15s}
#cd-root .cd-shortcut svg{display:block;width:19px;height:19px;flex-shrink:0;color:#763ce8}
#cd-root .cd-shortcut:hover{background:#eee7fa;color:#6330c7}
#cd-root .cd-shortcut:active{background:#e5d9f7}
#cd-root .cd-shortcut:focus-visible{outline:2px solid #514a5e;outline-offset:2px;background:#fff}
@media(max-width:900px){#cd-root .intro{flex-wrap:wrap;gap:12px}#cd-root .intro-copy{flex:1 1 420px}}
@media(max-width:580px){#cd-root .intro{gap:8px}#cd-root .cd-shortcuts{gap:4px}#cd-root .cd-shortcut{padding-inline:12px}#cd-root .search{margin-top:18px}}
@media(prefers-reduced-motion:reduce){#cd-root #cd-search,#cd-root .cd-shortcut{transition:none}}
#cd-root .filters{display:flex;gap:9px;flex-wrap:wrap;padding-bottom:22px;border-bottom:1px solid #ebe6f0;align-items:center}#cd-root .filters select{padding:10px 28px 10px 14px;border:1px solid #e5deed;border-radius:9px;background-color:white;color:#514a5e}#cd-root .filter-more{display:flex;gap:8px;flex-wrap:wrap;padding:14px 0}#cd-root .mode{display:flex;gap:5px;margin-inline-start:auto}#cd-root .mode button{border:0;background:transparent;padding:10px 14px;border-radius:8px;color:#777}#cd-root .mode .active{background:#eee6fc;color:#723acb}#cd-root section{margin:28px 0 38px}#cd-root .section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px;gap:15px}#cd-root h2{font-size:21px;font-weight:700;letter-spacing:-.4px;margin:0}#cd-root .section-head p{margin:7px 0 0;font-size:13px}#cd-root .more{border:0;background:transparent;color:#753ce4;font-weight:600;padding:10px 0}#cd-root .cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}#cd-root .cd-row{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:8px}#cd-root .cd-row .creator{flex:0 0 calc((100% - 72px)/5);scroll-snap-align:start}#cd-root .creator{min-width:0;position:relative}#cd-root .cover{border:0;border-radius:15px;overflow:hidden;display:block;padding:0;width:100%;aspect-ratio:3/4;background:#ded6e7;position:relative;text-align:start}#cd-root .cover img{width:100%;height:100%;object-fit:cover;transition:transform .2s}#cd-root .cover:hover img{transform:scale(1.035)}#cd-root .cover:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#160c2877)}#cd-root .badge{position:absolute;inset-inline-start:11px;top:11px;background:#fffefa;color:#5d3b89;padding:6px 9px;border-radius:6px;font-size:11px;font-weight:700;max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#cd-root .play{position:absolute;bottom:13px;inset-inline-start:12px;z-index:1;color:white;font-size:12px}#cd-root .heart{position:absolute;inset-inline-end:7px;top:7px;border:0;border-radius:50%;width:36px;height:36px;background:#ffffffee;color:#443650;font-size:23px}#cd-root .heart.saved{background:#783ee8;color:white}#cd-root .details{padding:12px 1px}#cd-root .name{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:14px;font-weight:700}#cd-root .rating{font-size:11px;font-weight:400;color:#6d6478}#cd-root .meta{font-size:12px;color:#83788d;margin:8px 0}#cd-root .price{font-size:13px;margin-top:10px}#cd-root .price b{font-size:15px}#cd-root .foot{font-size:11px;color:#71677e;margin-top:7px}#cd-root .line{border-top:0;padding-top:10px}#cd-root .modal{border:0;border-radius:22px;padding:20px;width:min(700px,94vw);max-height:90vh;overflow:auto;box-shadow:0 24px 100px #25133244;background:white;color:#24212c}#cd-root .modal::backdrop{background:#18101e88;backdrop-filter:blur(4px)}#cd-root .close{float:inline-end;border:0;background:#f2edf8;border-radius:50%;width:36px;height:36px;font-size:22px}#cd-root .profile-info{padding:12px}#cd-root .profile-info .primary{margin-top:10px}#cd-root .tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}#cd-root .tags span{background:#f5f0fc;color:#735c8e;font-size:12px;border-radius:7px;padding:8px}#cd-root .facts{background:#f8f5fc;border-radius:12px;padding:18px;margin:20px 0;line-height:2}#cd-root .facts strong{font-size:23px}#cd-root .video-player{width:100%;max-height:55vh;background:#17111d;margin-top:14px;border-radius:12px}#cd-root .result-state{padding:60px;text-align:center;color:#71677e}#cd-root button:disabled{opacity:.5;cursor:wait}@media(max-width:900px){#cd-root .cd-row .creator{flex-basis:28%}#cd-root .cards{grid-template-columns:repeat(3,minmax(0,1fr))}#cd-root h1{font-size:28px}}@media(max-width:580px){#cd-root .cd-main{padding:20px 14px}#cd-root .cd-row .creator{flex-basis:65%}#cd-root .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}#cd-root .filters{gap:7px}#cd-root .filters select{max-width:145px}#cd-root .profile-info{padding:4px}#cd-root .mode{margin-inline-start:0}#cd-root .intro>.pill{display:none}#cd-root h1{font-size:27px}#cd-root .search{gap:5px;padding-inline-start:7px}#cd-root .search .primary{padding:10px;font-size:12px}#cd-root .heart{width:40px;height:40px}}@media(prefers-reduced-motion:reduce){#cd-root .cover img{transition:none}}
#cd-root dialog.modal[open]{display:block;position:fixed;inset:0;margin:auto;height:fit-content;z-index:10000}#cd-root #cd-budget{width:225px!important}

/* Incremental catalogue pages and a quiet, accessible loading state. */
#cd-root #cd-stream{display:grid;gap:26px}
#cd-root .cd-batch{align-content:start;overflow-anchor:none}
#cd-root #cd-sentinel{min-height:64px;display:flex;align-items:center;justify-content:center;padding:18px 0}
#cd-root #cd-spinner{display:flex;align-items:center;gap:10px;color:#7a7485;font-size:13px}
#cd-root .cd-spinner-icon{width:18px;height:18px;border:2px solid #e5ddf2;border-top-color:#763ce8;border-radius:50%;animation:cd-spin .8s linear infinite;flex-shrink:0}
#cd-root .cd-preferences{position:static;display:inline-block}
#cd-root .cd-preferences summary{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;cursor:pointer;list-style:none;border-radius:50%;color:#777080}
#cd-root .cd-preferences summary::-webkit-details-marker{display:none}
#cd-root .cd-preferences summary:hover,#cd-root .cd-preferences[open] summary{background:#eee7fa;color:#6330c7}
#cd-root .cd-preferences summary:focus-visible{outline:2px solid #514a5e;outline-offset:2px}
#cd-root .cd-preferences svg{width:20px;height:20px}
#cd-root .cd-preferences-panel{position:absolute;inset-inline-start:0;inset-inline-end:auto;top:calc(100% + 8px);z-index:30;min-width:220px;max-width:calc(100vw - 36px);padding:6px;border:1px solid #ebe6f0;border-radius:12px;background:#fff;box-shadow:0 8px 28px #24212c14}
#cd-root #cd-forget{width:100%;min-height:44px;text-align:start;padding:10px 12px;border:0;border-radius:8px;background:transparent;color:#514a5e;font-size:13px}
#cd-root #cd-forget:hover:not(:disabled){background:#f6f2fc}
#cd-root #cd-forget:disabled{opacity:.5;cursor:default}
@keyframes cd-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){#cd-root .cd-spinner-icon{animation:none}}

/* Browse owns its gutters. The shared mobile body/container padding otherwise
   creates white side strips and doubles the inset around the catalogue. */
body.browse-page{padding-inline:0!important}
body.browse-page .main-content-container{padding-inline:0!important}
#cd-root .cd-main{padding-left:max(32px,env(safe-area-inset-left));padding-right:max(32px,env(safe-area-inset-right))}
@media(max-width:1024px){#cd-root .cd-main{padding-inline:16px;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}}

/* Mobile creator details stay grouped; catalogue rows own their spacing.
   Preserve the city's 44px touch target, without stacking extra blank gaps. */
@media(max-width:768px){
  #cd-root #cd-catalog section{padding-block:0!important;margin-block:24px 28px}
  #cd-root .creator .details{padding:10px 1px 0}
  #cd-root .creator .details .meta{margin-block:0}
  #cd-root .creator .details .price.line{margin-top:0;padding-top:0}
  #cd-root .creator .details .foot{margin-top:4px}
}

/* Show two complete creators plus the start of the next on phones.
   Scale the same catalogue pattern to tablets and desktop. */
#cd-root{--cd-columns:2;--cd-card-gap:12px;--cd-row-peek:clamp(16px,5.5%,32px)}
@media(min-width:600px){#cd-root{--cd-columns:3}}
@media(min-width:900px){#cd-root{--cd-columns:4}}
@media(min-width:1024px){#cd-root{--cd-columns:5}}
@media(min-width:1280px){#cd-root{--cd-columns:6}}
#cd-root .cd-row{gap:var(--cd-card-gap);align-items:flex-start}
#cd-root .cd-row .creator{flex-basis:calc((100% - var(--cd-row-peek) - var(--cd-columns)*var(--cd-card-gap))/var(--cd-columns))}
#cd-root .cards{grid-template-columns:repeat(var(--cd-columns),minmax(0,1fr));gap:24px var(--cd-card-gap);align-items:start}
#cd-root .creator .details{padding:10px 1px 0}
#cd-root .creator .name{flex-wrap:wrap;justify-content:flex-start;gap:2px 6px}
#cd-root .creator .rating{white-space:nowrap}
#cd-root .creator .details .meta{margin-block:0;max-width:100%;overflow-wrap:anywhere}
#cd-root .creator .details .price.line{margin-top:0;padding-top:0}
#cd-root .creator .details .name+.price{margin-top:6px}
#cd-root .creator .price b,#cd-root .creator .price span{display:inline-block}
#cd-root .creator .details .foot{margin-top:4px;overflow-wrap:anywhere}
#cd-root .creator .play{display:block;padding:0;box-sizing:border-box;width:32px;height:32px;bottom:10px;inset-inline-start:10px;border-radius:50%;background:#0009;font-size:0;line-height:0}
#cd-root .creator .play::before{content:'';position:absolute;top:50%;left:calc(50% + 1px);transform:translate(-50%,-50%);width:0;height:0;margin:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:8px solid white}
#cd-root .creator .badge{max-width:calc(100% - 61px);padding:5px 7px;inset-inline-start:8px;top:9px}

/* Keep save icons identical across fonts and writing directions. */
#cd-root .heart{display:flex;align-items:center;justify-content:center;padding:0;line-height:1}
#cd-root .heart svg{display:block;flex-shrink:0}
#cd-root .heart.saved svg{fill:currentColor}

/* Image-overlay favorites and soft pill badges, shared by creator cards. */
#cd-root .creator .heart{top:4px;inset-inline-end:4px;width:44px;height:44px;background:transparent;border:0;border-radius:50%;color:#fff;cursor:pointer;z-index:2}
#cd-root .creator .heart svg{width:28px;height:28px;stroke:#fff;stroke-width:1.8;fill:rgba(0,0,0,.52);filter:drop-shadow(0 1px 2px #0003);transition:transform .15s,fill .15s}
#cd-root .creator .heart.saved{background:transparent;color:#fff}
#cd-root .creator .heart.saved svg{fill:#783ee8}
#cd-root .creator .heart:hover svg{transform:scale(1.08)}
#cd-root .creator .heart:focus-visible{outline:2px solid #fff;outline-offset:-3px;box-shadow:0 0 0 2px #783ee8}
#cd-root .creator .badge{top:12px;inset-inline-start:12px;max-width:calc(100% - 68px);padding:6px 12px;border:1px solid #ffffffb3;border-radius:999px;background:linear-gradient(180deg,#fff,#f5f5f5);color:#222;font-size:11px;font-weight:700;line-height:1.3;box-shadow:0 2px 8px #0002;z-index:1}
@media(prefers-reduced-motion:reduce){#cd-root .creator .heart svg{transition:none}}

#cd-root .creator .city-rating{display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0;margin:0 0 6px}
#cd-root .creator .city-rating:empty{display:none}
#cd-root .creator .city-rating .meta{display:flex;align-items:center;gap:4px;min-width:0;margin:0;font-size:12px;flex:0 1 auto}
#cd-root .creator .city-rating .meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#cd-root .creator .city-rating .rating{flex:none;white-space:nowrap;font-size:11px}

/* Compact mobile metadata; keep a 44px hit area around city filters. */
@media(max-width:768px){
  #cd-root .creator .details{padding-top:6px}
  #cd-root .creator .city-rating{margin-bottom:2px}
  #cd-root .creator .city-rating .meta{position:relative;min-height:28px!important;height:28px;line-height:20px;padding-block:0!important}
  #cd-root .creator .city-rating button.meta::before{content:'';position:absolute;inset:-6px 0 -10px}
}

/* Rounded, quieter badge typography with compact mobile pills. */
#cd-root .creator .badge{font-family:"DM Sans",sans-serif;font-weight:600;letter-spacing:0;text-transform:none}
html[lang="ar"] #cd-root .creator .badge{font-family:"Tajawal",sans-serif}
@media(max-width:768px){
  #cd-root .creator .badge{top:8px;inset-inline-start:8px;max-width:calc(100% - 56px);padding:4px 8px;font-size:10px;line-height:1.2;box-shadow:0 1px 5px #0002}
}

/* The Top 6 is always one row; mobile keeps swipe navigation. */
#cd-root .cd-top-creators .cd-row{display:flex;flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity}
#cd-root .cd-top-creators .creator{scroll-snap-align:start}
@media(min-width:1024px){#cd-root .cd-top-creators .cd-row .creator{flex-basis:calc((100% - 5*var(--cd-card-gap))/6)}}
#cd-root .cd-financed{color:#735c8e;font-weight:600}
#cd-root .cd-ranking-rules{margin-top:14px;color:#817589;font-size:12px}
#cd-root .cd-ranking-rules summary{cursor:pointer;color:#7939ed;width:fit-content}
#cd-root .cd-ranking-rules p{max-width:720px;margin-top:8px;line-height:1.6}

/* Frosted creator badges; retain existing desktop/mobile dimensions. */
#cd-root .creator .badge{background:rgba(240,239,237,.84);border:1.5px solid rgba(255,255,255,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 2px 8px #0002;color:#222}

/* Compact discovery sections; keep six equal cards per desktop row. */
#cd-root #cd-catalog > section{margin-block:20px 26px}
@media(min-width:1024px){#cd-root .cd-category-section .creator{flex-basis:calc((100% - 5*var(--cd-card-gap))/6)}}

/* Recent activity snapshot: retain the row when a presence label expires. */
#cd-root .cd-online-badge {display:inline-flex;align-items:center;gap:6px}
#cd-root .cd-online-badge[hidden] {display:none}
#cd-root .cd-online-badge i {width:7px;height:7px;border-radius:50%;background:#16834b;flex-shrink:0}
