@import url("/assets/fonts/vazir/font-face.css?v=30.1.0");:root{font-family:"Vazir",Tahoma,system-ui,-apple-system,"Segoe UI",sans-serif;color:#172033;background:#f6f8fb;line-height:1.8}*{box-sizing:border-box}body{margin:0}a{color:#175cd3;text-decoration:none}button,input,textarea,select{font:inherit}.container{width:min(1180px,calc(100% - 32px));margin:auto}.site-header{background:#fff;border-bottom:1px solid #e4e7ec}.header-inner{min-height:70px;display:flex;align-items:center;gap:20px}.brand{font-weight:850;color:#101828;white-space:nowrap}.site-header nav{display:flex;gap:16px;font-size:14px}.site-header nav a{color:#344054}.search{margin-right:auto;width:min(340px,32%)}input,textarea,select{width:100%;border:1px solid #d0d5dd;border-radius:8px;background:#fff;padding:10px 12px;outline:none}textarea{min-height:130px;resize:vertical}label{display:block;margin:12px 0;font-weight:650}label input,label textarea,label select{margin-top:5px;font-weight:400}.hero{padding:55px 0 28px}.hero h1,.page-head h1{margin:4px 0 8px;font-size:clamp(26px,4vw,40px)}.hero p,.muted{color:#667085}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.08em;color:#175cd3}.toolbar,.panel-head,.page-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.toolbar{margin:10px 0 22px}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{padding:5px 12px;border:1px solid #d0d5dd;border-radius:999px;background:#fff;color:#344054;font-size:13px}.chip.active{border-color:#175cd3;background:#eef4ff;color:#175cd3}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.card,.panel,.app-detail{background:#fff;border:1px solid #e4e7ec;border-radius:12px;padding:18px}.card{display:flex;gap:14px;min-width:0}.card h2{font-size:18px;margin:0 0 5px}.card p{color:#667085;min-height:48px;margin:4px 0}.app-icon{width:52px;height:52px;flex:0 0 52px;border:1px solid #d0d5dd;border-radius:11px;display:grid;place-items:center;background:#f2f4f7;font-weight:800;font-size:21px}.app-icon.large{width:76px;height:76px;flex-basis:76px;font-size:30px}.result-title{margin:18px 0;font-weight:700}.pagination{margin:24px 0}.pagination nav{display:flex;justify-content:center}.pagination a,.pagination span{display:inline-block;padding:5px 10px;border:1px solid #d0d5dd;margin:2px;border-radius:6px}.app-detail{margin:38px 0}.detail-head{display:flex;align-items:center;gap:16px}.detail-head h1,.detail-head h2{margin:0}.summary{font-size:18px;margin:24px 0}.detail-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:28px}.version{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #eaecf0}.version small,.list-item span,.stat span{display:block;color:#667085;font-size:13px}.button{border:1px solid #175cd3;background:#175cd3;color:#fff;padding:9px 15px;border-radius:8px;cursor:pointer}.button.secondary{background:#fff;color:#175cd3}.button.danger{background:#b42318;border-color:#b42318}.button.full{width:100%;margin-top:10px}.auth-page{min-height:70vh;display:grid;place-items:center}.narrow{width:min(460px,100%)}.panel{margin:24px 0}.hidden{display:none!important}.message{min-height:26px;margin:12px 0;font-size:14px}.message.success{color:#067647}.message.error{color:#b42318}.site-footer{margin-top:55px;border-top:1px solid #e4e7ec;padding:25px 0;color:#667085;font-size:13px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.stat{background:#fff;border:1px solid #e4e7ec;border-radius:10px;padding:14px}.stat strong{display:block;font-size:25px}.split{display:grid;grid-template-columns:360px 1fr;gap:18px}.list-item{width:100%;display:flex;flex-direction:column;text-align:right;gap:2px;background:#fff;border:0;border-bottom:1px solid #eaecf0;padding:13px 4px;cursor:pointer}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.badge{font-size:12px;padding:2px 7px;border:1px solid #d0d5dd;border-radius:999px}.actions{display:flex;gap:8px;margin-top:22px}.tabs{display:flex;gap:6px;margin:20px 0}.tab{border:1px solid #d0d5dd;background:#fff;padding:8px 14px;border-radius:7px;cursor:pointer}.tab.active{border-color:#175cd3;color:#175cd3}.version-select{display:flex;gap:10px;align-items:flex-start;border:1px solid #eaecf0;padding:10px;border-radius:8px}.version-select input{width:auto;margin-top:8px}.version-select small{display:block;color:#667085;font-weight:400}@media(max-width:950px){.grid{grid-template-columns:repeat(2,1fr)}.detail-grid,.split{grid-template-columns:1fr}.site-header nav{display:none}.search{width:100%}.header-inner{flex-wrap:wrap;padding:10px 0}.search{order:3}.page-head{align-items:flex-start}}@media(max-width:560px){.container{width:min(100% - 20px,1180px)}.grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr}.toolbar{align-items:flex-start;flex-direction:column}.form-row{grid-template-columns:1fr}.card{padding:14px}.hero{padding-top:32px}}

/* Phase 10.1 - clearer developer workflow */
.compact{margin:2px 0}.developer-layout{align-items:start}.app-list-panel{position:sticky;top:16px}.list-item.active{background:#f8fafc}.editor-title{align-items:flex-start}.section-divider{border-top:1px solid #e4e7ec;margin:26px 0}.section-title{margin-bottom:12px}.upload-box,.review-submit-box{border:1px solid #e4e7ec;border-radius:10px;padding:16px;margin-top:18px;background:#fcfcfd}.review-submit-box{display:flex;align-items:center;justify-content:space-between;gap:24px}.review-submit-box h3,.upload-box h3{margin:0}.button:disabled{background:#98a2b3;border-color:#98a2b3;cursor:not-allowed}.version-card{border:1px solid #e4e7ec;border-radius:10px;padding:14px;margin:10px 0;background:#fff}.version-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid #f0f1f3}.version-card-head small{display:block;color:#667085;font-size:12px;margin-top:2px}.checks-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;margin-top:8px}.check-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid #f2f4f7;font-size:13px}.status-pill{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border:1px solid #d0d5dd;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:650;background:#fff;color:#344054}.status-pill.good{border-color:#abefc6;color:#067647;background:#ecfdf3}.status-pill.bad{border-color:#fecdca;color:#b42318;background:#fef3f2}.status-pill.wait{border-color:#fedf89;color:#b54708;background:#fffaeb}.status-pill.neutral{border-color:#d0d5dd;color:#475467;background:#f9fafb}.version-note{font-size:12px;color:#667085;margin:10px 0 0}.empty-state{border:1px dashed #d0d5dd;border-radius:9px;padding:18px;color:#667085;text-align:center}.message:not(:empty){background:#fff;border:1px solid #e4e7ec;border-radius:8px;padding:8px 12px}.message.success:not(:empty){border-color:#abefc6}.message.error:not(:empty){border-color:#fecdca}@media(max-width:760px){.app-list-panel{position:static}.review-submit-box{align-items:stretch;flex-direction:column}.review-submit-box .button{width:100%}.checks-grid{grid-template-columns:1fr}}

/* Phase 11 - secure browser session + operational UX */
.auth-card h1{margin-bottom:6px}.otp-box{margin-top:16px;padding-top:14px;border-top:1px solid #eaecf0}.text-button{display:block;width:100%;border:0;background:transparent;color:#175cd3;padding:9px 0;cursor:pointer}.security-note{margin-top:14px;padding:10px 12px;border:1px solid #e4e7ec;border-radius:8px;background:#f9fafb;color:#667085;font-size:12px}.workflow-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:18px 0}.workflow-strip span{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e4e7ec;border-radius:9px;padding:9px 10px;color:#475467;font-size:12px}.workflow-strip b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#eef4ff;color:#175cd3}.latest-version{border-color:#b2ccff}.compact-empty{padding:13px}.system-panel{margin-top:18px}.health-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:10px;margin-top:14px}.health-summary>div{border:1px solid #e4e7ec;border-radius:9px;padding:12px;background:#fcfcfd}.health-summary strong{display:block;font-size:22px}.health-summary span{display:block;color:#667085;font-size:12px}.health-tools{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px}.health-item{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #eaecf0;border-radius:8px;padding:9px 10px;font-size:13px}.health-note{margin:10px 0 0;color:#667085;font-size:12px}.admin-layout{grid-template-columns:340px 1fr}.queue-panel,.review-panel{margin-top:0}.metadata-value{max-width:65%;text-align:left;direction:auto;word-break:break-word}.button.secondary:disabled,.button:disabled{opacity:.72}.message[aria-live]{scroll-margin-top:12px}
@media(max-width:950px){.workflow-strip{grid-template-columns:repeat(2,1fr)}.workflow-strip span:last-child{grid-column:1/-1}.health-summary,.health-tools{grid-template-columns:repeat(2,1fr)}.admin-layout{grid-template-columns:1fr}}
@media(max-width:560px){.health-summary,.health-tools,.workflow-strip{grid-template-columns:1fr}.workflow-strip span:last-child{grid-column:auto}.system-panel .panel-head{align-items:stretch;flex-direction:column}.system-panel .button{width:100%}.metadata-value{max-width:55%}}

/* Phase 11.1 - queue recovery UX */
.health-alert{border-color:#fecdca!important;background:#fef3f2!important}.issue-list{margin-top:14px;border-top:1px solid #eaecf0;padding-top:12px}.issue-list h3{margin:0 0 8px;font-size:15px}.issue-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid #f2f4f7}.issue-row small{display:block;color:#667085;font-size:12px}.issue-row .button{flex:0 0 auto}.retry-apk{margin-top:8px;padding:5px 10px;font-size:12px}@media(max-width:560px){.issue-row{align-items:stretch;flex-direction:column}.issue-row .button{width:100%}}

.health-alert-text{display:block;margin-top:5px;color:#b42318;font-size:12px;line-height:1.7}

/* Phase 12 - review workflow hardening */
.workflow-alert{border:1px solid #fedf89;background:#fffaeb;border-radius:9px;padding:10px 12px;margin:10px 0;color:#93370d;font-size:13px}.workflow-alert.error{border-color:#fecdca;background:#fef3f2;color:#b42318}.workflow-history{margin-top:18px}.workflow-history h3{margin:0 0 8px}.history-list{border:1px solid #eaecf0;border-radius:9px;background:#fff}.history-row{display:flex;justify-content:space-between;gap:14px;padding:10px 12px;border-bottom:1px solid #f2f4f7;font-size:13px}.history-row:last-child{border-bottom:0}.history-row small{display:block;color:#667085}.review-decision-box{border-top:1px solid #eaecf0;margin-top:18px;padding-top:14px}.review-decision-box textarea{min-height:78px}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-help{display:block;color:#667085;font-weight:400;font-size:12px;margin-top:4px}.rejection-reason{margin-top:9px;padding:9px 10px;border:1px solid #fecdca;border-radius:8px;background:#fef3f2;color:#b42318;font-size:12px}.workflow-blockers{margin:8px 0 0;padding:0 18px;color:#b42318;font-size:12px}.workflow-blockers li{margin:2px 0}.review-revision{font-size:12px;color:#667085}.staged-pill{margin-right:6px}.upload-box.is-disabled{background:#f9fafb}.upload-box.is-disabled form{opacity:.7}.metadata-stage-note{font-size:12px;color:#667085;margin-top:6px}@media(max-width:700px){.review-grid{grid-template-columns:1fr}.history-row{flex-direction:column;gap:2px}}

/* Phase 13 - Lucide UI + Developer/Admin UX completion */
.ui-icon{width:1em;height:1em;display:inline-block;vertical-align:-.14em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.brand,.main-nav a,.icon-button,.page-head h1,.panel h2,.panel h3,.section-title h3,.workflow-history h3,.list-item-main,.empty-state{display:flex;align-items:center;gap:7px}.brand .ui-icon{width:20px;height:20px}.main-nav{display:flex;align-items:center;gap:16px}.main-nav a{font-size:14px}.search{position:relative;display:flex;align-items:center}.search>.ui-icon{position:absolute;right:11px;color:#667085;width:16px;height:16px}.search input{padding-right:35px}.page-head h1{margin-top:5px}.icon-button{justify-content:center}.icon-only{display:inline-grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid #d0d5dd;border-radius:7px;background:#fff;cursor:pointer}.icon-only .ui-icon{width:16px;height:16px}.danger-outline{color:#b42318;border-color:#fecdca}.stats .stat{position:relative;padding-right:46px}.stats .stat>.ui-icon{position:absolute;right:14px;top:16px;width:22px;height:22px;color:#475467}.list-item-main{width:100%}.list-item-main>.ui-icon{width:16px;height:16px;color:#667085}.workflow-summary{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 18px}.workflow-summary>span{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid #e4e7ec;border-radius:8px;background:#f9fafb;color:#475467;font-size:12px}.workflow-summary .ui-icon{width:15px;height:15px}.version-head-actions{display:flex;align-items:center;gap:7px}.version-card-head strong{display:flex;align-items:center;gap:6px}.timeline-list .history-row{position:relative;padding-right:30px}.timeline-list .history-row:before{content:"";position:absolute;right:13px;top:17px;width:7px;height:7px;border:2px solid #98a2b3;border-radius:50%;background:#fff}.timeline-list .history-row:not(:last-child):after{content:"";position:absolute;right:16px;top:27px;bottom:-8px;border-right:1px solid #e4e7ec}.admin-page-head{border-bottom:1px solid #eaecf0;padding-bottom:18px}.admin-tabs .tab{display:inline-flex;align-items:center;gap:6px}.tab-count{display:inline-grid;place-items:center;min-width:22px;height:20px;padding:0 5px;border:1px solid #e4e7ec;border-radius:999px;font-size:11px;color:#667085}.tab.active .tab-count{border-color:#b2ccff;background:#eff4ff;color:#175cd3}.review-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid #eaecf0}.health-item span:first-child{display:flex;align-items:center;gap:6px}.health-item .ui-icon{width:15px;height:15px}.review-panel{min-height:360px}.review-panel>.empty-state{justify-content:center;min-height:180px}.metadata-value{white-space:pre-wrap}.button .ui-icon{width:16px;height:16px}.panel-head h2 .ui-icon,.section-title h3 .ui-icon,.workflow-history h3 .ui-icon{width:18px;height:18px}.security-note .ui-icon{margin-left:4px}.app-detail a.inline-link{display:inline-flex;align-items:center;gap:5px}.version .button{display:inline-flex;align-items:center;gap:6px}
@media(max-width:950px){.main-nav{display:none}.admin-page-head{align-items:flex-start}.review-toolbar{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.page-head .button{width:100%}.version-card-head{align-items:flex-start}.version-head-actions{align-items:flex-end;flex-direction:column}.workflow-summary{flex-direction:column}.workflow-summary>span{width:100%}.admin-tabs{display:grid;grid-template-columns:1fr}.admin-tabs .tab{justify-content:space-between;width:100%}}

/* Phase 14 - public catalog, discovery and SEO UX */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.ui-icon{width:1em;height:1em;display:inline-block;vertical-align:-.14em;fill:none;stroke:currentColor;stroke-width:2}.brand,.main-nav a,.search,.breadcrumbs a,.card-meta span,.card-meta a,.result-title,.inline-link,.version small,.footer-inner{display:flex;align-items:center;gap:6px}.search{position:relative}.search>.ui-icon{position:absolute;right:12px;color:#667085}.search input{padding-right:38px}.breadcrumbs{display:flex;align-items:center;gap:8px;padding-top:20px;color:#98a2b3;font-size:13px}.breadcrumbs a{color:#475467}.catalog-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.hero-stat{min-width:140px;border:1px solid #e4e7ec;border-radius:10px;background:#fff;padding:12px 16px}.hero-stat strong,.hero-stat span{display:block}.hero-stat strong{font-size:24px}.hero-stat span{font-size:12px;color:#667085}.catalog-controls{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:10px 0 22px}.category-chips{min-width:0}.chip{display:inline-flex;align-items:center;gap:5px}.chip>span{color:#667085;font-size:11px}.sort-form{width:170px;flex:0 0 170px}.sort-form select{margin:0}.result-title>span{font-weight:400;color:#667085;font-size:13px}.app-card{align-items:flex-start}.card-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.card-title-row h2{min-width:0}.card-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:#667085;font-size:12px}.card-meta a,.card-meta span{color:#667085}.empty-catalog{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;gap:5px}.empty-catalog>.ui-icon{font-size:28px}.footer-inner{justify-content:space-between}.detail-heading{min-width:0}.primary-download{margin-right:auto;white-space:nowrap}.app-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:20px 0 28px}.app-facts>div{position:relative;border:1px solid #e4e7ec;border-radius:9px;padding:12px 38px 12px 12px;background:#fcfcfd}.app-facts>div>.ui-icon{position:absolute;right:12px;top:15px;color:#175cd3;font-size:17px}.app-facts span,.app-facts strong{display:block}.app-facts span{font-size:11px;color:#667085}.app-facts strong{font-size:14px}.technical-details{margin-top:28px;border-top:1px solid #eaecf0;padding-top:10px}.technical-details dl{margin:0}.technical-details dl>div{display:grid;grid-template-columns:190px 1fr;gap:12px;padding:9px 0;border-bottom:1px solid #f2f4f7}.technical-details dt{color:#667085}.technical-details dd{margin:0;overflow-wrap:anywhere}.hash{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.public-version .ui-icon{font-size:12px}@media(max-width:760px){.catalog-hero{align-items:flex-start;flex-direction:column}.catalog-controls{flex-direction:column}.sort-form{width:100%;flex-basis:auto}.app-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-head{align-items:flex-start;flex-wrap:wrap}.primary-download{width:100%;margin-right:0;text-align:center;justify-content:center}.technical-details dl>div{grid-template-columns:1fr;gap:2px}.footer-inner{align-items:flex-start;flex-direction:column}}@media(max-width:420px){.app-facts{grid-template-columns:1fr}.card-title-row{display:block}.card-title-row .status-pill{margin-top:4px}}
/* Phase 14.3.1: Developer portal entry is desktop-only. */
@media(max-width:950px){.desktop-developer-link{display:none!important}}

/* Phase 15 - Trust, Safety & Automated Moderation */
.trust-safety-panel{border-color:#d0d5dd}.moderation-list{display:grid;gap:10px;margin-top:14px}.moderation-case{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start;border:1px solid #e4e7ec;border-radius:9px;padding:12px;background:#fcfcfd}.moderation-case-main strong,.moderation-case-main small{display:block}.moderation-case-main small{color:#667085;font-size:12px;margin-top:3px}.moderation-case-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.severity-critical{border-color:#fecdca;background:#fef3f2}.severity-high{border-color:#fedf89;background:#fffaeb}.severity-medium{border-color:#b2ccff;background:#eff4ff}.trust-safety-public{margin-top:28px;border-top:1px solid #eaecf0;padding-top:10px}.report-box{border:1px solid #e4e7ec;border-radius:9px;background:#fcfcfd;padding:12px}.report-box>summary{display:flex;align-items:center;gap:7px;cursor:pointer;font-weight:700}.public-report-form{margin-top:12px}.public-report-form textarea{min-height:100px}.report-message{margin-bottom:0}@media(max-width:700px){.moderation-case{grid-template-columns:1fr}.moderation-case-actions{justify-content:stretch}.moderation-case-actions .button{flex:1}}


/* Phase 17 - User Library & Favorites */
.detail-actions{margin-right:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.detail-actions .primary-download{margin-right:0}.favorite-toggle{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.favorite-toggle.is-favorited{border-color:#fda29b;background:#fff1f3;color:#c01048}.library-page-head{padding-top:30px}.library-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0}.library-tabs{display:flex;gap:8px;flex-wrap:wrap}.library-tabs .tab{border:1px solid #d0d5dd;background:#fff;border-radius:8px;padding:7px 12px;cursor:pointer}.library-tabs .tab.active{border-color:#175cd3;background:#eef4ff;color:#175cd3}.library-grid{margin-bottom:34px}.library-card{display:flex;flex-direction:column;justify-content:space-between}.library-card .card-main{display:flex;align-items:flex-start;gap:12px;color:inherit}.library-card .card-main h2{margin:2px 0 5px}.library-card .remove-favorite{margin-top:14px;align-self:flex-start}.library-empty{grid-column:1/-1}.library-page-head .ui-icon{width:28px;height:28px}@media(max-width:760px){.detail-actions{width:100%;margin-right:0}.detail-actions .button{flex:1;justify-content:center}.library-toolbar{align-items:stretch;flex-direction:column}.library-tabs{display:grid;grid-template-columns:repeat(3,1fr)}.library-tabs .tab{text-align:center}.library-card .remove-favorite{width:100%;justify-content:center}}

/* Phase 18 - User Ratings & Reviews */
.user-reviews{margin-top:28px;border-top:1px solid #eaecf0;padding-top:12px}.review-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.review-heading h2{margin-bottom:4px}.review-heading p{margin:0}.review-heading strong{font-size:22px;color:#101828}.user-review-form{margin:16px 0 20px;border:1px solid #e4e7ec;border-radius:10px;padding:14px;background:#fcfcfd}.rating-fieldset{border:0;padding:0;margin:0}.rating-fieldset legend{font-weight:700;margin-bottom:7px}.rating-options{display:flex;gap:7px}.rating-options label{margin:0}.rating-options input{position:absolute;opacity:0;pointer-events:none}.rating-options span{width:38px;height:38px;display:grid;place-items:center;border:1px solid #d0d5dd;border-radius:8px;background:#fff;cursor:pointer;font-weight:750}.rating-options input:checked+span{border-color:#175cd3;background:#eef4ff;color:#175cd3}.review-form-actions{display:flex;gap:8px;flex-wrap:wrap}.review-form-actions .button{display:inline-flex;align-items:center;gap:6px}.review-list{display:grid;gap:10px}.review-item{border:1px solid #e4e7ec;border-radius:9px;padding:12px;background:#fff}.review-item p{margin:8px 0 0;white-space:pre-wrap}.review-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.review-meta time{margin-right:auto;color:#667085;font-size:12px}.review-score{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:700}.review-score .ui-icon{color:#b54708}.review-owner-note,.review-login-note{margin:14px 0}.review-empty{padding:10px 0}.app-facts{grid-template-columns:repeat(5,minmax(0,1fr))}@media(max-width:900px){.app-facts{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.app-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.review-form-actions .button{flex:1;justify-content:center}}@media(max-width:420px){.app-facts{grid-template-columns:1fr}.rating-options{justify-content:space-between}.rating-options span{width:34px;height:34px}}

/* Phase 19 — Review trust, moderation and developer replies */
.developer-review-reply{margin-top:12px;padding:12px;border:1px solid var(--border,#ddd);border-radius:8px;background:var(--surface-soft,#fafafa)}
.developer-review-reply strong{display:flex;align-items:center;gap:6px}.developer-review-reply p{margin:8px 0 4px}.developer-review-reply small{color:var(--muted,#666)}
.review-report-box{margin-top:10px}.review-report-box summary{cursor:pointer;font-size:.9rem;color:var(--muted,#666)}.review-report-box form{margin-top:10px;padding:12px;border:1px solid var(--border,#ddd);border-radius:8px}.review-report-box textarea{min-height:80px}
.developer-reviews-panel{margin-top:20px}.developer-review-list{display:grid;gap:12px}.developer-review-card{padding:14px;border:1px solid var(--border,#ddd);border-radius:10px}.developer-review-card textarea{min-height:90px}.developer-review-card .actions{display:flex;gap:8px;flex-wrap:wrap}
.review-moderation-panel{margin-top:20px}


/* Phase 20 — Library release feed and cross-client seen-state sync */
.library-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.library-release-tab{display:inline-flex;align-items:center;gap:6px}.library-title-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.library-new-badge{border-color:#b2ccff;background:#eff4ff;color:#175cd3}.library-card.has-new-release{border-color:#b2ccff}.library-card-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px}.library-card-actions .button{margin-top:0}.library-card .remove-favorite{margin-top:0}@media(max-width:760px){.library-actions{width:100%}.library-actions .button{flex:1;justify-content:center}.library-tabs{grid-template-columns:repeat(2,1fr)}.library-card-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.library-card-actions .button{width:100%;justify-content:center}}@media(max-width:460px){.library-card-actions{grid-template-columns:1fr}}

/* Phase 21 — Account notification inbox */
.notifications-page-head{padding-top:30px}.notifications-page-head .ui-icon{width:28px;height:28px}.notifications-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0}.notification-tabs{display:flex;gap:8px;flex-wrap:wrap}.notifications-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.notification-list{display:grid;gap:10px;margin-bottom:34px}.notification-item{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;border:1px solid #e4e7ec;border-radius:10px;background:#fff;padding:14px}.notification-item.unread{border-color:#b2ccff;background:#f8faff}.notification-marker{width:34px;height:34px;display:grid;place-items:center;border:1px solid #d0d5dd;border-radius:50%;background:#fff;color:#175cd3}.notification-body h2{font-size:16px;margin:3px 0}.notification-body p{margin:5px 0;color:#475467}.notification-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.notification-meta time{color:#667085;font-size:12px}.notification-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}.notification-actions .text-button{width:auto;padding:7px 4px}.notification-actions .button{display:inline-flex;align-items:center;gap:6px}@media(max-width:760px){.notifications-toolbar{align-items:stretch;flex-direction:column}.notifications-actions{width:100%}.notifications-actions .button{flex:1;justify-content:center}.notification-item{grid-template-columns:1fr}.notification-marker{display:none}.notification-meta{align-items:flex-start;flex-direction:column;gap:2px}.notification-actions{display:grid;grid-template-columns:1fr 1fr}.notification-actions .button,.notification-actions .text-button{width:100%;justify-content:center}}

/* Phase 22 — Account Center & Session Security */
.account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.account-sessions-panel{grid-column:1/-1}.account-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:4px 0 16px}.account-facts div{border:1px solid var(--border);border-radius:12px;padding:12px}.account-facts dt{font-size:.82rem;color:var(--muted);margin-bottom:5px}.account-facts dd{margin:0;word-break:break-word}.preference-list{display:grid;gap:12px}.preference-item{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--border);border-radius:12px;padding:12px}.preference-item input{width:18px;height:18px;margin-top:2px}.preference-item span{display:grid;gap:3px}.preference-item small,.compact-note{font-size:.85rem}.account-session-list{display:grid;gap:10px}.account-session-item{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--border);border-radius:12px;padding:13px}.session-title{display:flex;align-items:center;gap:7px;margin-bottom:4px}.account-session-item small{color:var(--muted)}@media(max-width:760px){.account-grid{grid-template-columns:1fr}.account-facts{grid-template-columns:1fr}.account-session-item,.account-sessions-panel .section-heading{align-items:stretch;flex-direction:column}.account-session-item .button{width:100%}}

/* Phase 23 — Verified identity management & account security audit */
.account-identities-panel,.account-security-history-panel{grid-column:1/-1}.identity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.identity-card{border:1px solid var(--border,#e4e7ec);border-radius:12px;padding:14px}.identity-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.identity-card-head strong,.identity-card-head small{display:block}.identity-card-head small{color:var(--muted,#667085);margin-top:3px;word-break:break-word}.identity-actions{display:flex;gap:8px;flex-wrap:wrap}.identity-verify-form,.identity-remove-verify-form{margin-top:12px;padding-top:12px;border-top:1px solid #eaecf0}.security-event-list{display:grid;gap:9px}.security-event-item{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:center;border:1px solid var(--border,#e4e7ec);border-radius:10px;padding:11px}.security-event-icon{width:34px;height:34px;display:grid;place-items:center;border:1px solid #d0d5dd;border-radius:50%;color:#175cd3}.security-event-item strong,.security-event-item small{display:block}.security-event-item small{color:var(--muted,#667085);font-size:.82rem;margin-top:2px}@media(max-width:760px){.identity-grid{grid-template-columns:1fr}.identity-actions{display:grid;grid-template-columns:1fr}.identity-actions .button,.identity-verify-form .button,.identity-remove-verify-form .button{width:100%}.account-security-history-panel .section-heading{align-items:stretch;flex-direction:column}.account-security-history-panel .button{width:100%}}


/* Phase 24 — Developer analytics & download trends */
.developer-analytics-panel{margin-top:20px}.developer-analytics-controls{display:flex;align-items:center;gap:8px}.developer-analytics-controls select{width:auto;min-width:110px}.analytics-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.analytics-daily{border:1px solid #e4e7ec;border-radius:10px;padding:12px;display:grid;gap:7px}.analytics-day{display:grid;grid-template-columns:48px minmax(0,1fr) 52px;align-items:center;gap:9px;font-size:12px}.analytics-day>div{height:8px;background:#f2f4f7;border-radius:999px;overflow:hidden}.analytics-day i{display:block;height:100%;background:#175cd3;border-radius:999px}.analytics-day strong{text-align:left}.analytics-note{margin:8px 0 14px}.analytics-app-list{display:grid;border-top:1px solid #eaecf0}.analytics-app-row{display:grid;grid-template-columns:minmax(180px,1.5fr) repeat(4,minmax(90px,1fr));gap:10px;align-items:center;width:100%;border:0;border-bottom:1px solid #eaecf0;background:#fff;padding:12px 4px;text-align:right;cursor:pointer}.analytics-app-row span,.analytics-version-row span{min-width:0}.analytics-app-row strong,.analytics-app-row small,.analytics-version-row strong,.analytics-version-row small{display:block}.analytics-app-row small,.analytics-version-row small{color:#667085;font-size:12px}.analytics-detail{margin-top:18px;border:1px solid #e4e7ec;border-radius:10px;padding:14px}.analytics-version-list{display:grid}.analytics-version-row{display:grid;grid-template-columns:minmax(180px,1.5fr) 1fr 1fr;gap:10px;padding:10px 0;border-bottom:1px solid #eaecf0}.analytics-version-row:last-child{border-bottom:0}@media(max-width:900px){.analytics-summary{grid-template-columns:repeat(2,1fr)}.analytics-app-row{grid-template-columns:1fr 1fr}.analytics-app-row span:first-child{grid-column:1/-1}.analytics-version-row{grid-template-columns:1fr 1fr}.analytics-version-row span:first-child{grid-column:1/-1}}@media(max-width:560px){.developer-analytics-panel .panel-head{align-items:stretch;flex-direction:column}.developer-analytics-controls{display:grid;grid-template-columns:1fr 1fr}.developer-analytics-controls select,.developer-analytics-controls .button{width:100%}.analytics-summary{grid-template-columns:1fr 1fr}.analytics-day{grid-template-columns:42px minmax(0,1fr) 42px}.analytics-app-row,.analytics-version-row{grid-template-columns:1fr}.analytics-app-row span:first-child,.analytics-version-row span:first-child{grid-column:auto}}

/* Phase 25 — Release lifecycle & emergency rollback */
.withdrawn-version{border-style:dashed;background:#fcfcfd}.withdrawal-reason{margin-top:10px;padding:9px 10px;border:1px solid #fecdca;border-radius:8px;background:#fffafa;color:#912018;font-size:12px}.withdrawal-reason small{display:block;color:#667085;margin-top:3px}.compact-action{padding:5px 8px;font-size:12px}.version-head-actions .compact-action .ui-icon{width:14px;height:14px}@media(max-width:560px){.version-head-actions .compact-action{width:auto}}

/* Phase 26 — Android update support policy */
.update-policy-box{border:1px solid #e4e7ec;border-radius:10px;padding:16px;margin-top:16px;background:#fcfcfd}.update-policy-box form{display:grid;gap:12px}.update-policy-box .panel-head{margin-bottom:10px}.version-head-actions{flex-wrap:wrap}.compact-action{white-space:nowrap}@media(max-width:760px){.update-policy-box .button{width:100%}.version-head-actions{justify-content:flex-end}}

/* Phase 30 — Public changelog & governed release notes */
.latest-release-notes,.version-release-notes{margin-top:14px;border:1px solid #e4e7ec;border-radius:10px;padding:13px;background:#fcfcfd}.latest-release-notes h3,.version-release-notes strong{display:flex;align-items:center;gap:7px;margin:0 0 7px}.latest-release-notes p,.version-release-notes p,.public-version-notes{margin:0;white-space:normal;line-height:1.9}.public-version-notes{margin-top:8px;color:#475467;font-size:12px}.native-dialog{border:0;padding:0;background:transparent;max-width:min(640px,calc(100vw - 28px));width:100%}.native-dialog::backdrop{background:rgba(16,24,40,.32)}.native-dialog-card{background:#fff;border:1px solid #d0d5dd;border-radius:12px;padding:16px;box-shadow:none}.native-dialog-card textarea{min-height:180px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}@media(max-width:560px){.dialog-actions{display:grid;grid-template-columns:1fr 1fr}.dialog-actions .button{width:100%;justify-content:center}.native-dialog{max-width:calc(100vw - 18px)}}

/* Phase 31 — Public developer profiles & publisher identity */
.developer-profile-panel{margin-top:20px}.developer-profile-form{margin-top:12px}.developer-public-toggle{display:flex;align-items:center;gap:8px;font-weight:600}.developer-public-toggle input{width:18px;height:18px;margin:0}.developer-public-hero{display:flex;align-items:flex-start;gap:18px;margin-top:26px}.developer-avatar{width:72px;height:72px;flex:0 0 72px;border:1px solid #d0d5dd;border-radius:14px;display:grid;place-items:center;background:#f8fafc;color:#175cd3}.developer-avatar .ui-icon{width:30px;height:30px}.developer-public-main{min-width:0}.developer-name-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.developer-name-row h1{margin:0}.verified-publisher{display:inline-flex;align-items:center;gap:5px;border:1px solid #abefc6;background:#ecfdf3;color:#067647;border-radius:999px;padding:3px 9px;font-size:12px}.developer-public-meta{display:flex;gap:14px;flex-wrap:wrap;color:#667085;font-size:13px;margin:10px 0 14px}.developer-product-tabs{margin-top:20px}.developer-link{display:inline-flex;align-items:center;gap:5px}.developer-public-main>.button{display:inline-flex;align-items:center;gap:6px}@media(max-width:700px){.developer-profile-panel .panel-head,.developer-public-hero{flex-direction:column}.developer-avatar{width:58px;height:58px;flex-basis:58px}.developer-profile-panel .form-row{grid-template-columns:1fr}.developer-profile-panel .button{width:100%;justify-content:center}}

/* Phase 32: publisher following and release feed */
.developer-public-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;margin-top:.9rem}.publisher-follow-button.is-following{background:var(--surface,#fff);color:var(--text,#111827);border-color:var(--border,#d9dee7)}.following-grid{display:grid;gap:1rem}.following-publisher-card,.followed-release-card{padding:1rem}.following-publisher-card .card-main{display:grid;grid-template-columns:auto 1fr;gap:1rem;text-decoration:none;color:inherit}.following-publisher-card .developer-avatar{width:52px;height:52px}.followed-release-card h2{margin:.35rem 0}.followed-release-card h2 a,.followed-release-card p a{color:inherit}.followed-release-notes{margin:.75rem 0;padding:.75rem;border:1px solid var(--border,#e5e7eb);border-radius:10px;background:var(--surface-subtle,#f8fafc);line-height:1.9}.following-tabs .ui-icon{width:16px;height:16px}@media(max-width:720px){.following-publisher-card .card-main{grid-template-columns:1fr}.developer-public-actions{align-items:stretch}.developer-public-actions .button{justify-content:center}}

/* Phase 34: account download history */
.downloads-page-head{padding-top:30px}.downloads-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0}.downloads-tabs,.downloads-actions,.download-history-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.downloads-grid{margin-bottom:34px}.download-history-card{display:flex;flex-direction:column;justify-content:space-between}.download-history-main{display:flex;align-items:flex-start;gap:12px;color:inherit}.download-history-main h2{margin:2px 0 5px}.download-history-actions{margin-top:14px}.downloads-empty{grid-column:1/-1}@media(max-width:760px){.downloads-toolbar{align-items:stretch;flex-direction:column}.downloads-tabs{display:grid;grid-template-columns:repeat(3,1fr)}.downloads-tabs .tab{text-align:center}.downloads-actions,.download-history-actions{display:grid;grid-template-columns:1fr 1fr}.downloads-actions .button,.download-history-actions .button{width:100%;justify-content:center}}@media(max-width:460px){.downloads-actions,.download-history-actions{grid-template-columns:1fr}}

/* Phase 35: privacy-preserving discovery */
.discovery-section{margin:28px 0}.discovery-privacy{display:flex;align-items:center;justify-content:space-between;gap:20px}.discovery-privacy h2{display:flex;align-items:center;gap:8px;margin-top:0}.privacy-toggle{display:flex;align-items:center;gap:8px;white-space:nowrap}.privacy-toggle input{width:20px;height:20px}.discovery-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.discovery-card a{display:flex;gap:12px;color:inherit;text-decoration:none}.discovery-card h3{margin:4px 0}.recommendation-reason{display:inline-flex;align-items:center;gap:5px;margin:6px 0;color:#175cd3;font-size:.82rem}.recommendation-reason .ui-icon{width:15px;height:15px}@media(max-width:640px){.discovery-privacy{align-items:flex-start;flex-direction:column}.privacy-toggle{white-space:normal}}
/* Phase 44.2 — managed appearance */
body{background:var(--managed-background,#f6f8fb);color:var(--managed-text,#172033)}a,.eyebrow{color:var(--managed-primary,#175cd3)}.button{background:var(--managed-primary,#175cd3);border-color:var(--managed-primary,#175cd3)}.button.secondary{color:var(--managed-primary,#175cd3)}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.settings-grid fieldset{min-width:0;border:1px solid #e4e7ec;border-radius:10px;padding:14px}.settings-grid legend{padding:0 7px;font-weight:800}.settings-wide{grid-column:1/-1}.settings-check{display:flex;align-items:center;gap:8px}.settings-check input{width:auto;margin:0}@media(max-width:760px){.settings-grid{grid-template-columns:1fr}.settings-wide{grid-column:auto}}

/* Phase 49: shared identity and accessible Persian interface */
.brand{display:inline-flex;align-items:center;gap:10px}.brand img{flex:none}
.skip-link{position:fixed;top:-100px;right:16px;z-index:1000;background:#fff;padding:12px;border:2px solid var(--managed-primary)}.skip-link:focus{top:12px}
:where(a,button,input,select,textarea):focus-visible{outline:2px solid var(--managed-primary);outline-offset:3px}
.ui-icon{flex-shrink:0}button{min-height:40px}.native-dialog{max-height:85dvh;overflow:auto}
.developer-layout{align-items:start}.app-list-panel{align-self:start}.editor-close{white-space:nowrap}
@media(max-width:760px){.header-inner{flex-wrap:wrap}.main-nav{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-block:8px}.main-nav a{white-space:nowrap}.search{width:100%}.developer-layout{display:flex;flex-direction:column}.developer-layout>section{width:100%}.workflow-strip{display:flex;overflow-x:auto}.workflow-strip>span{flex-shrink:0}.panel-head{flex-wrap:wrap}}

.app-icon{overflow:hidden}.app-icon img{width:100%;height:100%;object-fit:cover}.app-icon .ui-icon{width:32px;height:32px}

/* Phase 51.3: account action, store download and floating mobile navigation */
.site-header{position:relative;z-index:50}.site-header .header-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,400px) auto;gap:12px 16px;padding-block:16px;position:relative}
.site-header .brand{min-width:0;white-space:normal;width:fit-content}.site-header .brand span{overflow-wrap:anywhere}
.site-header .search{grid-column:2;grid-row:1;width:100%;margin:0;min-width:0}
.site-header .main-nav{grid-column:1/-1;grid-row:2;display:flex;flex-wrap:wrap;gap:8px 20px;width:100%;overflow:visible;padding:12px 0 0;border-top:1px solid #eaecf0}
.site-header .main-nav a{display:inline-flex;white-space:nowrap;min-height:40px;gap:8px}.nav-toggle{display:none}
.header-actions{grid-column:3;grid-row:1;display:flex;align-items:center;gap:8px;direction:rtl}.account-trigger,.store-download-trigger{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;border:1px solid #d0d5dd;border-radius:10px;background:#fff;color:#344054;padding:8px 11px}.account-trigger{width:42px;padding:0}.account-trigger .ui-icon{width:21px;height:21px}.store-download-trigger{color:var(--managed-primary);border-color:color-mix(in srgb,var(--managed-primary) 45%,#d0d5dd);font-weight:700}.store-download-dialog{width:min(390px,calc(100% - 32px));border:0;border-radius:18px;padding:30px;text-align:center;color:#17202a;box-shadow:0 24px 80px #10182838}.store-download-dialog::backdrop{background:#1018289c;backdrop-filter:blur(3px)}.store-download-dialog .dialog-close{position:absolute;left:14px;top:14px}.store-download-dialog canvas{display:block;width:min(280px,100%);height:auto;margin:18px auto;padding:12px;border:1px solid #e4e7ec;border-radius:14px;image-rendering:pixelated}.store-download-dialog .button{display:inline-flex;margin-top:8px}
@media(max-width:960px){
.site-header .header-inner{grid-template-columns:minmax(0,1fr) auto;gap:12px}
.site-header .search{grid-column:1/-1;grid-row:2}.site-header .main-nav{grid-row:3;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px}
.site-header .header-actions{grid-column:2;grid-row:1}.site-header[data-enhanced] .nav-toggle{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid #d0d5dd;border-radius:8px;padding:6px 12px}
.site-header[data-enhanced]:not([data-open="true"]) .main-nav{display:none}
.site-header[data-open="true"] .main-nav{position:absolute;top:100%;left:0;right:0;margin:0;padding:14px 16px 18px;background:#fff;border:1px solid #e4e7ec;border-top:0;border-radius:0 0 14px 14px;box-shadow:0 18px 35px #10182820;z-index:60}
.site-header .main-nav .desktop-developer-link{display:inline-flex}
.site-header .main-nav a{white-space:normal;padding:6px;font-size:13px}
}
@media(max-width:760px){.store-download-trigger span{display:none}.store-download-trigger{width:42px;padding:0}.site-header .brand span{font-size:14px}.site-header .header-inner{column-gap:8px}.site-header[data-open="true"] .main-nav{grid-template-columns:repeat(2,minmax(0,1fr))}}
.catalog-grid{align-items:stretch}.card.catalog-app-card{display:grid;grid-template-rows:64px 28px 52px 26px 26px 32px;gap:10px;padding:18px;min-width:0;width:100%}
.catalog-card-head{display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px;align-items:center;min-width:0}
.catalog-card-head .app-icon{width:56px;height:56px}.catalog-card-head h2{margin:0;font-size:17px;line-height:1.7;min-width:0}
.catalog-card-head h2 a,.catalog-card-summary{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.catalog-card-version{overflow:hidden}.catalog-card-version .status-pill{max-width:100%;overflow:hidden;text-overflow:ellipsis;display:inline-block}
.card.catalog-app-card .catalog-card-summary{margin:0;min-height:0;height:52px;font-size:14px;line-height:26px}
.catalog-card-publisher,.catalog-card-category{display:flex;align-items:center;gap:6px;min-width:0;font-size:12px;color:#667085}
.catalog-card-publisher>a,.catalog-card-publisher>span,.catalog-card-category>a,.catalog-card-category>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit;min-width:0}
.catalog-card-stats{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #eaecf0;padding-top:8px;font-size:12px;color:#667085}.catalog-card-stats>span{display:inline-flex;align-items:center;gap:5px}
@media(max-width:1100px) and (min-width:761px){.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.catalog-grid{grid-template-columns:minmax(0,1fr)}}

/* Phase 49.2: structured application detail */
.app-detail-v2{background:transparent;border:0;padding:0;margin:24px 0 40px}
.app-detail-v2 .detail-head{display:grid;grid-template-columns:80px minmax(0,1fr) auto;gap:18px;align-items:center;padding:24px;background:#fff;border:1px solid #e4e7ec;border-radius:14px 14px 0 0}
.app-detail-v2 .detail-heading h1{font-size:clamp(24px,3vw,32px);line-height:1.6;overflow-wrap:anywhere}
.app-detail-v2 .detail-heading p{margin:6px 0 0;font-size:13px;overflow-wrap:anywhere}
.app-detail-v2 .detail-actions{display:flex;flex-direction:column;gap:10px;min-width:210px;margin:0}
.app-detail-v2 .detail-actions .button{margin:0;justify-content:center;text-align:center;white-space:normal}
.app-detail-v2 .primary-download{order:-1}
.app-detail-v2>.summary{margin:0;padding:0 24px 22px;background:#fff;border:1px solid #e4e7ec;border-top:0;border-radius:0 0 14px 14px;font-size:15px;line-height:1.9}
.app-detail-v2 .app-facts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:18px 0}
.app-detail-v2 .app-facts>div{min-width:0;background:#fff;padding:12px;text-align:center}
.app-detail-v2 .app-facts>div>.ui-icon{position:static;display:block;margin:0 auto 6px;color:var(--managed-primary)}
.app-detail-v2 .app-facts strong{overflow-wrap:anywhere}.app-detail-v2 .app-facts strong[dir="ltr"]{unicode-bidi:isolate}
.detail-jump-links{display:flex;flex-wrap:wrap;gap:8px 20px;margin:20px 0;padding:12px 0;border-bottom:1px solid #e4e7ec;font-size:14px}
.app-detail-v2 .detail-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:20px;align-items:start}
.detail-main,.detail-sidebar{display:grid;gap:20px;min-width:0}
.app-detail-v2 .detail-section{min-width:0;margin:0;padding:22px;background:#fff;border:1px solid #e4e7ec;border-radius:12px;scroll-margin-top:20px}
.app-detail-v2 .detail-section h2{font-size:19px;line-height:1.8;margin:0 0 18px;display:flex;align-items:center;gap:8px}
.app-detail-v2 .description,.app-detail-v2 .public-version-notes{font-size:14px;line-height:2;overflow-wrap:anywhere}
.app-detail-v2 .public-version{align-items:flex-start;gap:12px}.app-detail-v2 .public-version>div{min-width:0}.app-detail-v2 .public-version .button{flex-shrink:0;padding:7px 12px}
.app-detail-v2 .technical-details dl>div{grid-template-columns:minmax(100px,1fr) minmax(0,1fr);font-size:13px}
.app-detail-v2 .technical-details dl>div:last-child{grid-template-columns:1fr}.app-detail-v2 .hash{overflow-wrap:anywhere;white-space:normal;text-align:left}
.app-detail-v2 .review-meta{flex-wrap:wrap;gap:8px}.app-detail-v2 .review-meta time{margin-inline-start:auto}
.app-detail-v2 .trust-safety-public p{font-size:13px;line-height:2}
@media(max-width:900px){.app-detail-v2 .detail-head{grid-template-columns:76px minmax(0,1fr)}.app-detail-v2 .detail-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}.app-detail-v2 .detail-grid{grid-template-columns:minmax(0,1fr)}.app-detail-v2 .app-facts{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:520px){.app-detail-v2 .detail-head{padding:16px;gap:12px;grid-template-columns:60px minmax(0,1fr)}.app-detail-v2 .app-icon.large{width:60px;height:60px;flex-basis:60px}.app-detail-v2 .detail-actions{grid-template-columns:minmax(0,1fr)}.app-detail-v2 .app-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.app-detail-v2 .detail-section{padding:16px}.app-detail-v2>.summary{padding:0 16px 16px}.detail-jump-links{gap:8px 16px;font-size:13px}}

/* Phase 50.1 UX refinement: lightweight action feedback and OTP state flow */
:where(button,.button){transition:opacity .15s ease,background-color .15s ease,border-color .15s ease,transform .08s ease}
:where(button,.button):active:not(:disabled){transform:translateY(1px)}
:where(button,.button):disabled{cursor:not-allowed;opacity:.62}
.action-pending{display:inline-flex;align-items:center;justify-content:center;gap:9px;cursor:wait!important}
.action-pending::before{content:"";width:15px;height:15px;flex:0 0 15px;border:2px solid currentColor;border-inline-start-color:transparent;border-radius:50%;animation:ui-action-spin .7s linear infinite}
@keyframes ui-action-spin{to{transform:rotate(360deg)}}
.identifier-input{direction:ltr;text-align:left;unicode-bidi:plaintext}
.otp-input{direction:ltr;text-align:center;letter-spacing:.45em;font-variant-numeric:tabular-nums}
.otp-countdown{min-height:24px;margin:12px 0 0;text-align:center;color:var(--muted,#667085);font-variant-numeric:tabular-nums}
.otp-secondary-actions{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:8px}
.otp-secondary-actions.hidden{display:none}
@media(prefers-reduced-motion:reduce){:where(button,.button){transition:none}.action-pending::before{animation-duration:1.4s}}

/* Phase 51.1 — SSR-first progressive navigation */
.spa-progress{position:fixed;inset:0 0 auto;z-index:2000;height:3px;pointer-events:none;overflow:hidden;opacity:0;transition:opacity .12s ease}.spa-progress span{display:block;width:38%;height:100%;background:var(--managed-primary,#136f63);transform:translateX(270%)}
.spa-loading .spa-progress{opacity:1}.spa-loading .spa-progress span{animation:spa-progress-rtl .9s ease-in-out infinite}.spa-loading body{cursor:progress}
@keyframes spa-progress-rtl{0%{transform:translateX(270%)}100%{transform:translateX(-270%)}}
@media(prefers-reduced-motion:reduce){.spa-progress{transition:none}.spa-loading .spa-progress span{width:100%;transform:none;animation:none}}
@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.14s}

/* Phase 51.2 — public landing and developer onboarding */
.landing-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);align-items:center;gap:64px;min-height:650px;padding:70px 0 80px}.landing-copy h1{font-size:clamp(42px,6vw,76px);line-height:1.25;letter-spacing:-2px;margin:14px 0 20px}.landing-copy h1 span{color:var(--managed-primary)}.landing-copy>p{max-width:660px;font-size:18px;line-height:2;color:#667085}.landing-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.landing-actions .button{margin:0}.landing-proof{display:flex;align-items:center;gap:10px;margin-top:32px;color:#667085;font-size:13px}.landing-proof strong{font-size:23px;color:#17202a}.landing-proof i{width:1px;height:28px;background:#d0d5dd;margin:0 8px}
.store-visual{position:relative;display:grid;place-items:center;min-height:540px}.store-visual-glow{position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,#bce4da 0,#e9f6f2 50%,transparent 72%)}.phone-frame{position:relative;width:min(340px,90%);min-height:520px;background:#fff;border:9px solid #15222c;border-radius:38px;padding:24px 18px;box-shadow:0 28px 70px #183f3528;transform:rotate(-2deg)}.phone-frame:before{content:"";position:absolute;top:8px;left:50%;width:72px;height:6px;border-radius:20px;background:#15222c;transform:translateX(-50%)}.phone-top{display:flex;align-items:center;gap:10px;margin:12px 0 18px}.phone-top div,.phone-list a>span:nth-child(2),.phone-list div>span:nth-child(2){display:grid}.phone-top small,.phone-list small{font-size:11px;color:#667085}.phone-feature{display:grid;gap:7px;padding:22px;border-radius:18px;background:linear-gradient(145deg,var(--managed-primary),#0d4f47);color:white}.phone-feature span{font-size:11px;opacity:.8}.phone-feature strong{font-size:22px;line-height:1.6}.phone-feature a{color:white;font-size:12px}.phone-list{display:grid;gap:8px;margin-top:16px}.phone-list a,.phone-list>div{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border:1px solid #eaecf0;border-radius:12px;color:inherit}.phone-list em{font-size:11px;color:var(--managed-primary);font-style:normal}.mini-app-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:11px;background:#f2f4f7;overflow:hidden}.mini-app-icon img{width:100%;height:100%;object-fit:cover}
.landing-section{padding:80px 0}.section-intro{max-width:720px;margin:0 auto 36px;text-align:center}.section-intro h2,.section-row h2,.developer-invite h2,.landing-install h2{font-size:clamp(26px,3.5vw,42px);line-height:1.5;margin:8px 0 12px}.section-intro p,.developer-invite p,.landing-install p{color:#667085;line-height:2}.value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.value-grid article{padding:28px;background:#fff;border:1px solid #e4e7ec;border-radius:18px}.value-grid .ui-icon{width:30px;height:30px;color:var(--managed-primary)}.value-grid h3{margin:18px 0 8px}.value-grid p{color:#667085;line-height:1.9;font-size:14px}.section-row{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}.landing-catalog{border-top:1px solid #eaecf0}.developer-invite{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.75fr);align-items:center;gap:60px;padding-inline:48px;margin:50px 0 90px;border-radius:24px;background:#edf7f4}.developer-steps{display:grid;gap:12px}.developer-steps span{display:flex;align-items:center;gap:12px;padding:14px;background:#fff;border-radius:12px}.developer-steps b{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--managed-primary);color:#fff}.landing-install{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-bottom:70px;padding:42px 48px;border-radius:22px;background:#17202a;color:#fff}.landing-install p{margin:0;color:#cbd5e1}.landing-install .button.secondary{border-color:#fff;color:#fff;background:transparent}
.developer-onboarding{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.8fr);gap:60px;align-items:start;padding:60px 0 90px}.developer-onboarding-copy h1{font-size:clamp(32px,5vw,54px);line-height:1.4}.developer-onboarding-copy>p{font-size:17px;line-height:2;color:#667085}.developer-onboarding-copy ul{display:grid;gap:14px;margin-top:28px;padding:0;list-style:none}.developer-onboarding-copy li{display:flex;gap:10px;align-items:center}.developer-onboarding-copy li .ui-icon{color:var(--managed-primary)}.developer-application-card{position:sticky;top:20px}.developer-application-card h2{margin-top:0}.developer-request-list{display:grid;gap:14px}.developer-request-list article{display:grid;gap:12px;padding:18px;border:1px solid #e4e7ec;border-radius:12px}.developer-request-list article>div:first-child{display:flex;justify-content:space-between;gap:12px}.developer-request-list small{color:#667085;direction:ltr}.developer-request-list p{line-height:1.9;margin:0}
@media(max-width:900px){.landing-hero{grid-template-columns:1fr;gap:20px;padding-top:48px}.store-visual{min-height:500px}.developer-invite,.developer-onboarding{grid-template-columns:1fr}.developer-application-card{position:static}.landing-install{align-items:flex-start;flex-direction:column}.value-grid{grid-template-columns:1fr}}
@media(max-width:560px){.landing-copy h1{font-size:40px}.landing-proof{flex-wrap:wrap}.store-visual{min-height:460px}.phone-frame{min-height:450px}.landing-section{padding:54px 0}.developer-invite,.landing-install{padding:28px 20px;margin-inline:-4px}.section-row{align-items:flex-start;flex-direction:column}.developer-onboarding{padding-top:32px}.developer-onboarding-copy h1{font-size:34px}}

/* Phase 51.2.1 — managed transactional email preview */
.email-template-editor{display:grid;gap:12px}.email-template-editor>legend{margin-bottom:0}.email-template-preview{margin-top:12px;padding:22px;background:#f3f6f5;border:1px dashed #b9c7c3;border-radius:14px}.email-preview-card{max-width:520px;margin:auto;padding:26px;background:#fff;border:1px solid #e4e7ec;border-radius:16px;text-align:center;box-shadow:0 12px 28px #17202a0d}.email-preview-card>img{display:block;margin:0 auto 8px;border-radius:14px}.email-preview-card>strong,.email-preview-card>small{display:block}.email-preview-card>small{margin-top:14px;color:var(--managed-primary);font-weight:700}.email-preview-card h3{margin:8px 0;font-size:22px}.email-preview-card>p{line-height:1.9;color:#667085}.email-preview-code{max-width:320px;margin:18px auto 0;padding:14px;background:#f1f8f6;border:1px solid #b9ddd5;border-radius:12px}.email-preview-code span{display:block;font-size:12px;color:#52616b}.email-preview-code b{display:block;margin-top:6px;color:#0d5d53;font-size:32px;letter-spacing:8px}.email-preview-warning{max-width:400px;margin:20px auto 0;padding:12px 14px;background:#fff7e8;border:1px solid #f4ce87;border-radius:10px;color:#7a4c00;font-size:13px;line-height:1.8;text-align:right}.email-preview-warning b{display:block}.email-preview-footer{font-size:12px}.managed-settings-panel code{direction:ltr;unicode-bidi:isolate}
/* App Phase 2: profile and wallet */
.avatar-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:.65rem;margin-top:.7rem}.avatar-choice{position:relative;display:grid;place-items:center;gap:.25rem;padding:.65rem;border:1px solid var(--border,#dce3e8);border-radius:16px;cursor:pointer}.avatar-choice:has(input:checked){border-color:var(--primary,#136f63);background:#eefaf7}.avatar-choice input{position:absolute;opacity:0}.avatar-choice span{font-size:2rem}.avatar-choice small{font-size:.72rem}.wallet-balance{font-size:1.4rem;color:var(--primary,#136f63);direction:ltr}.wallet-entry-list{display:grid;gap:.55rem;margin-top:1rem}.wallet-entry{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;border:1px solid var(--border,#dce3e8);border-radius:14px}.wallet-entry div{display:grid}.wallet-entry small{color:var(--muted,#64748b)}.wallet-credit{color:#087f5b}.wallet-debit{color:#c92a2a}
