
/* ============================================================
   APKSubmit Design System — shared across all pages
   ============================================================ */
:root{
  --paper:#F6F8F7;
  --card:#FFFFFF;
  --ink:#0F1F1A;
  --ink-soft:#41544C;
  --line:#E2E9E5;
  --verified:#0E9F6E;
  --verified-deep:#0A7A55;
  --verified-tint:#E7F6EF;
  --scan:#103B2E;
  --amber:#E8A317;
  --amber-tint:#FCF3DF;
  --danger:#D64545;
  --danger-tint:#FCEAEA;
  --mono:'JetBrains Mono',ui-monospace,monospace;
  --display:'Bricolage Grotesque',sans-serif;
  --body:'Inter',system-ui,sans-serif;
  --radius:14px;
  --shadow:0 1px 2px rgba(15,31,26,.05),0 8px 24px -12px rgba(15,31,26,.12);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--body);background:var(--paper);color:var(--ink);line-height:1.55;font-size:15px}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
img{max-width:100%}
:focus-visible{outline:2px solid var(--verified);outline-offset:2px;border-radius:4px}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}

/* ---------- utility bar ---------- */
.utilbar{background:var(--scan);color:#CFE8DD;font-size:12.5px;padding:7px 0}
.utilbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px}
.utilbar .pulse{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono)}
.dot{width:7px;height:7px;border-radius:50%;background:#3DDC97;animation:blink 1.6s infinite}
@keyframes blink{50%{opacity:.35}}
.utilbar nav{display:flex;gap:18px}
.utilbar nav a:hover{color:#fff}
@media(max-width:720px){.utilbar nav{display:none}}

/* ---------- header ---------- */
header.site{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;gap:24px;height:66px}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:800;font-size:20px;letter-spacing:-.3px;flex-shrink:0}
.logo .shield{width:34px;height:34px;background:var(--verified);border-radius:10px;display:grid;place-items:center;color:#fff}
.logo .shield svg{width:19px;height:19px}
.logo em{font-style:normal;color:var(--verified-deep)}
.searchbox{flex:1;max-width:480px;position:relative}
.searchbox input{width:100%;height:42px;border:1.5px solid var(--line);border-radius:12px;padding:0 44px 0 42px;font-size:14px;font-family:var(--body);background:var(--paper);transition:border-color .15s}
.searchbox input:focus{outline:none;border-color:var(--verified);background:#fff}
.searchbox .icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--ink-soft);display:flex}
.searchbox kbd{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-family:var(--mono);font-size:11px;background:#fff;border:1px solid var(--line);border-radius:5px;padding:2px 7px;color:var(--ink-soft)}
.mainnav{display:flex;gap:4px;margin-left:auto}
.mainnav a{padding:8px 13px;border-radius:9px;font-weight:600;font-size:14px;color:var(--ink-soft);white-space:nowrap}
.mainnav a:hover,.mainnav a.active{background:var(--verified-tint);color:var(--verified-deep)}
@media(max-width:960px){.mainnav{display:none}}
.burger{display:none;margin-left:auto;background:none;border:1.5px solid var(--line);border-radius:9px;width:40px;height:40px}
@media(max-width:960px){.burger{display:grid;place-items:center}}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:12px;padding:13px 22px;font-weight:700;font-size:15px;border:none;transition:transform .12s,box-shadow .12s}
.btn:active{transform:scale(.98)}
.btn-primary{background:var(--verified);color:#fff;box-shadow:0 6px 16px -6px rgba(14,159,110,.55)}
.btn-primary:hover{background:var(--verified-deep)}
.btn-ghost{background:#fff;border:1.5px solid var(--line);color:var(--ink)}
.btn-ghost:hover{border-color:var(--verified)}
.btn-dark{background:var(--scan);color:#fff}
.btn-dark:hover{background:#0B2A21}
.btn-sm{padding:8px 16px;font-size:13px;border-radius:9px}

/* ---------- sections ---------- */
.section{padding:34px 0}
.sec-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:20px;gap:16px}
.sec-head h2{font-family:var(--display);font-size:24px;font-weight:800;letter-spacing:-.5px;display:flex;align-items:center;gap:10px}
.sec-head h2 .tick{width:24px;height:24px;background:var(--verified-tint);color:var(--verified-deep);border-radius:7px;display:grid;place-items:center;font-size:13px}
.sec-head a.more{font-weight:600;font-size:13.5px;color:var(--verified-deep);white-space:nowrap}
.sec-head a.more:hover{text-decoration:underline}

/* ---------- breadcrumb ---------- */
.crumbs{font-size:12.5px;color:var(--ink-soft);padding:18px 0 0;display:flex;gap:7px;flex-wrap:wrap}
.crumbs a:hover{color:var(--verified-deep);text-decoration:underline}
.crumbs .sep{color:#B9C7C0}

/* ---------- app cards ---------- */
.appgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.appcard{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;transition:box-shadow .15s,transform .15s;display:flex;flex-direction:column;gap:12px}
.appcard:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.appcard .top{display:flex;gap:13px;align-items:center}
.appicon{width:52px;height:52px;border-radius:13px;display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:21px;color:#fff;flex-shrink:0}
.appcard .meta h3{font-size:15px;font-weight:700;line-height:1.3}
.appcard .meta .sub{font-size:12.5px;color:var(--ink-soft);display:flex;gap:8px;align-items:center;margin-top:3px}
.star{color:var(--amber);font-size:12px}
.scanstrip{font-family:var(--mono);font-size:11px;background:var(--verified-tint);border:1px solid #CDEBDD;color:var(--verified-deep);border-radius:9px;padding:7px 10px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.scanstrip .v{display:inline-flex;align-items:center;gap:5px;font-weight:600}
.scanstrip .sha{color:#5E8C79;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:46%}
.appcard .foot{display:flex;justify-content:space-between;align-items:center}
.appcard .size{font-family:var(--mono);font-size:11.5px;color:var(--ink-soft)}
.dl{background:var(--verified);color:#fff;border:none;border-radius:9px;padding:8px 16px;font-weight:700;font-size:13px;display:inline-flex;gap:7px;align-items:center}
.dl:hover{background:var(--verified-deep)}

/* icon gradients */
.c1{background:linear-gradient(135deg,#0E9F6E,#0A7A55)}
.c2{background:linear-gradient(135deg,#3B6FE0,#2748A8)}
.c3{background:linear-gradient(135deg,#E8618C,#B03A66)}
.c4{background:linear-gradient(135deg,#E8A317,#C07D0A)}
.c5{background:linear-gradient(135deg,#7E5BE0,#5232B0)}
.c6{background:linear-gradient(135deg,#12A5B8,#0A7180)}

/* ---------- side boxes ---------- */
.sidebox{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.sidebox h3{font-family:var(--display);font-size:17px;font-weight:800;margin-bottom:6px;letter-spacing:-.3px}
.sidebox .note{font-size:12px;color:var(--ink-soft);margin-bottom:14px}

/* ---------- badges ---------- */
.badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;border-radius:6px;padding:3px 9px;font-weight:600}
.badge-ok{background:var(--verified-tint);color:var(--verified-deep)}
.badge-warn{background:var(--amber-tint);color:#8A6E1E}
.badge-danger{background:var(--danger-tint);color:var(--danger)}
.badge-dark{background:var(--scan);color:#8FE9C5}

/* ---------- tables ---------- */
.tbl{width:100%;border-collapse:collapse;font-size:13.5px}
.tbl th{text-align:left;font-family:var(--mono);font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-soft);padding:10px 12px;border-bottom:1.5px solid var(--line)}
.tbl td{padding:12px;border-bottom:1px solid var(--line);vertical-align:middle}
.tbl tr:last-child td{border-bottom:none}
.tbl .mono{font-family:var(--mono);font-size:12px;color:var(--ink-soft)}

/* ---------- footer ---------- */
footer{background:#0B1712;color:#8FB2A2;margin-top:56px;padding:48px 0 28px;font-size:13px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;margin-bottom:36px}
@media(max-width:820px){.foot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.foot-grid{grid-template-columns:1fr}}
footer h5{color:#fff;font-family:var(--display);font-size:14px;margin-bottom:14px;font-weight:700}
footer ul{list-style:none}
footer li{margin-bottom:9px}
footer a:hover{color:#fff}
.foot-brand p{margin-top:12px;line-height:1.7;max-width:34ch}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:22px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-family:var(--mono);font-size:11.5px}
.foot-bottom .status{display:inline-flex;gap:7px;align-items:center}

/* ============================================================
   UX/UI OPTIMIZATION LAYER — PC & Mobile
   ============================================================ */

/* ---------- global refinements (PC + mobile) ---------- */
[id]{scroll-margin-top:84px} /* anchors don't hide under sticky header */
::selection{background:var(--verified-tint);color:var(--verified-deep)}
@media(hover:hover){
  a,button{transition:color .15s,background .15s,border-color .15s,box-shadow .15s,transform .12s}
}
/* slim custom scrollbar on desktop */
@media(min-width:961px){
  ::-webkit-scrollbar{width:10px;height:10px}
  ::-webkit-scrollbar-thumb{background:#C6D4CD;border-radius:99px;border:2px solid var(--paper)}
  ::-webkit-scrollbar-thumb:hover{background:#9FB4AA}
}

/* ---------- typography scales down gracefully ---------- */
@media(max-width:600px){
  body{font-size:14.5px}
  .wrap{padding:0 16px}
  .section{padding:26px 0}
  .sec-head h2{font-size:20px}
}

/* ---------- touch targets ≥44px on mobile ---------- */
@media(max-width:960px){
  .dl{padding:11px 18px;font-size:13.5px;min-height:44px}
  .btn{min-height:48px}
  .btn-sm{min-height:44px}
  .chip,.subcat{min-height:42px;padding:10px 18px}
  .mainnav a{min-height:44px;display:inline-flex;align-items:center}
  .searchbox input{height:46px;font-size:16px} /* 16px stops iOS zoom-on-focus */
  .searchbox kbd{display:none} /* keyboard hint is desktop-only */
  .rankrow{padding:13px 0}
  .fopt{padding:9px 0}
  .tbl td{padding:13px 10px}
  .stab{padding:13px 16px}
}

/* ---------- mobile drawer menu ---------- */
.drawer-overlay{position:fixed;inset:0;background:rgba(15,31,26,.45);backdrop-filter:blur(2px);z-index:98;opacity:0;pointer-events:none;transition:opacity .22s}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(320px,86vw);background:#fff;z-index:99;transform:translateX(105%);transition:transform .26s cubic-bezier(.32,.72,.28,1);display:flex;flex-direction:column;box-shadow:-16px 0 40px -12px rgba(15,31,26,.25)}
body.drawer-open{overflow:hidden}
body.drawer-open .drawer{transform:translateX(0)}
body.drawer-open .drawer-overlay{opacity:1;pointer-events:auto}
.drawer .dhead{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line)}
.drawer .dhead .logo{font-size:18px}
.drawer .dclose{width:42px;height:42px;border:1.5px solid var(--line);border-radius:10px;background:none;display:grid;place-items:center;font-size:16px}
.drawer nav{padding:12px;overflow-y:auto;flex:1}
.drawer nav a{display:flex;align-items:center;gap:13px;padding:14px 14px;border-radius:12px;font-weight:600;font-size:15px;color:var(--ink);min-height:50px}
.drawer nav a:active,.drawer nav a:hover{background:var(--verified-tint);color:var(--verified-deep)}
.drawer nav a .di{width:34px;height:34px;background:var(--paper);border:1px solid var(--line);border-radius:9px;display:grid;place-items:center;font-size:15px;flex-shrink:0}
.drawer nav .dsep{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);padding:16px 14px 6px}
.drawer .dfoot{padding:16px 20px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}

/* ---------- bottom navigation (app-store style, mobile only) ---------- */
.bottomnav{display:none}
@media(max-width:720px){
  body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
  .bottomnav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:60;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}
  .bottomnav a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;font-size:10.5px;font-weight:600;color:var(--ink-soft);border-radius:10px}
  .bottomnav a svg{width:21px;height:21px}
  .bottomnav a.on{color:var(--verified-deep)}
  .bottomnav a.on svg{stroke:var(--verified)}
  footer{margin-bottom:0;padding-bottom:40px}
}

/* ---------- sticky mobile download bar (app page) ---------- */
.mdlbar{display:none}
@media(max-width:760px){
  .mdlbar{display:flex;position:fixed;left:0;right:0;bottom:calc(64px + env(safe-area-inset-bottom));z-index:59;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:10px 14px;gap:12px;align-items:center;box-shadow:0 -10px 28px -16px rgba(15,31,26,.22)}
  .mdlbar .mi{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;color:#fff;font-family:var(--display);font-weight:800;font-size:17px;flex-shrink:0}
  .mdlbar .mtxt{flex:1;min-width:0}
  .mdlbar .mtxt b{font-size:13.5px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mdlbar .mtxt span{font-family:var(--mono);font-size:10px;color:var(--verified-deep)}
  .mdlbar .btn{min-height:44px;padding:10px 20px;font-size:14px;flex-shrink:0}
}

/* ---------- back to top (desktop + mobile, above bottomnav) ---------- */
.totop{position:fixed;right:18px;bottom:24px;z-index:58;width:46px;height:46px;border-radius:14px;background:var(--scan);color:#3DDC97;border:none;display:grid;place-items:center;box-shadow:0 10px 26px -10px rgba(16,59,46,.5);opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .2s,transform .2s}
.totop.show{opacity:1;pointer-events:auto;transform:translateY(0)}
@media(max-width:720px){.totop{bottom:calc(140px + env(safe-area-inset-bottom));right:14px}}

/* ---------- responsive tables → cards on small screens ---------- */
@media(max-width:640px){
  .tbl.resp thead{display:none}
  .tbl.resp,.tbl.resp tbody,.tbl.resp tr,.tbl.resp td{display:block;width:100%}
  .tbl.resp tr{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:10px}
  .tbl.resp td{border:none;padding:4px 0;display:flex;justify-content:space-between;align-items:center;gap:10px}
  .tbl.resp td::before{content:attr(data-l);font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}
  .tbl.resp td:last-child{padding-top:10px}
  .tbl.resp td:last-child::before{content:none}
  .tbl.resp td:last-child .dl{width:100%;justify-content:center}
}

/* ---------- misc mobile layout fixes ---------- */
@media(max-width:880px){
  .console{font-size:11.5px;padding:18px}
  .console .hash{font-size:9.5px}
}
@media(max-width:760px){
  .apphead .inner{grid-template-columns:64px 1fr}
  .bigicon{width:64px;height:64px;font-size:26px;border-radius:16px}
  .statrow{gap:16px}
  .dlcol{display:none} /* replaced by sticky mdlbar on mobile */
  .chartrow{flex-wrap:wrap;row-gap:8px}
  .chartrow .trend{margin-left:auto}
  .dstats{flex-wrap:wrap}
  .dstats .cell{padding:12px 18px 14px 0;margin-right:14px}
}
@media(max-width:600px){
  .foot-grid{gap:24px}
  .hero .proof{gap:18px}
  .appgrid{grid-template-columns:1fr;gap:11px}
  .appcard{padding:13px}
  .appcard .top{flex-direction:column;align-items:flex-start;gap:9px}
  .scanstrip .sha{display:none} /* keep verdict, hide long hash on tiny cards */
  .appcard .foot{flex-direction:column;align-items:stretch;gap:8px}
  .appcard .dl{justify-content:center}
}
@media(max-width:380px){
  .appgrid{grid-template-columns:1fr}
}



.devhero{background:var(--scan);color:#DFF2E9;overflow:hidden;position:relative}
.devhero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;padding:60px 20px;align-items:center}
@media(max-width:880px){.devhero .wrap{grid-template-columns:1fr;padding:40px 20px}}
.devhero h1{font-family:var(--display);font-size:clamp(30px,4vw,46px);font-weight:800;line-height:1.08;letter-spacing:-1px;color:#fff}
.devhero h1 em{font-style:normal;color:#3DDC97}
.devhero p.lead{margin:18px 0 26px;font-size:16px;color:#9FC6B4;max-width:48ch}
.devhero .cta-row{display:flex;gap:12px;flex-wrap:wrap}
.devhero .btn-ghost{background:transparent;border-color:rgba(255,255,255,.25);color:#fff}
.devhero .btn-ghost:hover{border-color:#3DDC97}
.devstats{display:flex;gap:26px;margin-top:30px;flex-wrap:wrap}
.devstats b{font-family:var(--display);font-size:22px;font-weight:800;display:block;color:#fff;letter-spacing:-.5px}
.devstats span{font-size:12.5px;color:#9FC6B4}

/* upload dropzone mock */
.dropzone{background:rgba(255,255,255,.05);border:2px dashed rgba(61,220,151,.4);border-radius:20px;padding:34px 28px;text-align:center;transition:border-color .2s,background .2s}
.dropzone.over{border-color:#3DDC97;background:rgba(61,220,151,.08)}
.dropzone .up{width:60px;height:60px;background:rgba(61,220,151,.15);border-radius:18px;display:grid;place-items:center;margin:0 auto 16px;color:#3DDC97}
.dropzone h3{font-family:var(--display);font-size:18px;font-weight:700;color:#fff}
.dropzone p{font-size:12.5px;color:#9FC6B4;margin:8px 0 18px}
.dropzone .formats{font-family:var(--mono);font-size:10.5px;color:#7FA795;margin-top:16px}

/* pipeline */
.pipeline{padding:52px 0}
.pipeline h2,.claim h2,.tools h2{font-family:var(--display);font-size:clamp(22px,3vw,29px);font-weight:800;letter-spacing:-.6px}
.pipeline .sub,.claim .sub,.tools .sub{color:var(--ink-soft);margin-top:8px;max-width:60ch;font-size:14.5px}
.pipesteps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:34px;position:relative}
@media(max-width:880px){.pipesteps{grid-template-columns:1fr;gap:14px}}
.pstep{background:#fff;border:1px solid var(--line);padding:22px;position:relative}
.pstep:first-child{border-radius:16px 0 0 16px}
.pstep:last-child{border-radius:0 16px 16px 0}
@media(max-width:880px){.pstep{border-radius:14px!important}}
.pstep+.pstep{border-left:none}
@media(max-width:880px){.pstep+.pstep{border-left:1px solid var(--line)}}
.pstep .ptag{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--verified-deep);font-weight:600}
.pstep h3{font-family:var(--display);font-size:16px;font-weight:700;margin:9px 0 7px}
.pstep p{font-size:12.5px;color:var(--ink-soft);line-height:1.6}
.pstep .ptime{font-family:var(--mono);font-size:10.5px;color:var(--ink-soft);margin-top:12px;display:block}
.pstep::after{content:"→";position:absolute;right:-11px;top:50%;transform:translateY(-50%);width:22px;height:22px;background:var(--verified);color:#fff;border-radius:50%;display:grid;place-items:center;font-size:11px;z-index:2}
.pstep:last-child::after{display:none}
@media(max-width:880px){.pstep::after{display:none}}

/* claim */
.claim{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:52px 0}
.claimgrid{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-top:30px;align-items:start}
@media(max-width:820px){.claimgrid{grid-template-columns:1fr}}
.claimcard{border:1px solid var(--line);border-radius:16px;padding:24px}
.claimcard h3{font-family:var(--display);font-size:17px;font-weight:800;display:flex;gap:10px;align-items:center;margin-bottom:10px}
.claimcard p{font-size:13.5px;color:var(--ink-soft);line-height:1.65;margin-bottom:14px}
.claimcard code{font-family:var(--mono);font-size:11.5px;background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:2px 7px}
.codeblock{background:var(--scan);color:#BFE3D2;font-family:var(--mono);font-size:11.5px;border-radius:10px;padding:14px 16px;margin-top:12px;overflow-x:auto;line-height:1.7}
.codeblock .cm{color:#7FA795}
.codeblock .gr{color:#3DDC97}

/* badge preview */
.badgeprev{display:inline-flex;align-items:center;gap:10px;background:var(--scan);border-radius:12px;padding:10px 16px;color:#fff;margin-top:8px}
.badgeprev .bicon{width:30px;height:30px;background:var(--verified);border-radius:8px;display:grid;place-items:center}
.badgeprev .bt{font-size:10px;color:#9FC6B4;display:block;line-height:1.2}
.badgeprev .bb{font-family:var(--display);font-weight:700;font-size:13px;line-height:1.2}
.badgeprev .bscan{font-family:var(--mono);font-size:9.5px;color:#3DDC97}

/* tools */
.tools{padding:52px 0}
.toolgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}
@media(max-width:880px){.toolgrid{grid-template-columns:1fr}}
.toolcard{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px}
.toolcard .ticon{width:42px;height:42px;background:var(--verified-tint);color:var(--verified-deep);border-radius:12px;display:grid;place-items:center;margin-bottom:14px}
.toolcard h3{font-family:var(--display);font-size:16px;font-weight:800;margin-bottom:7px}
.toolcard p{font-size:13px;color:var(--ink-soft);line-height:1.6}
.toolcard .mono-note{font-family:var(--mono);font-size:10.5px;color:var(--verified-deep);margin-top:12px;display:block}

/* pricing strip */
.pricing{background:linear-gradient(120deg,#FFFFFF,#EFF7F2);border:1px solid var(--line);border-radius:20px;padding:32px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;margin:0 0 52px}
@media(max-width:760px){.pricing{grid-template-columns:1fr}}
.pricing h3{font-family:var(--display);font-size:20px;font-weight:800;letter-spacing:-.4px}
.pricing p{font-size:13.5px;color:var(--ink-soft);margin-top:6px;max-width:62ch}

.footer-legal{display:flex;flex-wrap:wrap;align-items:center;gap:0}.footer-legal a{color:inherit;text-decoration:none}.footer-legal a:focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:3px}

/* v3.7.2 front-end developer accounts, profile, submissions and verification */
.as-dev-portal-hero .wrap{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr)}
.as-dev-kicker{display:block;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--verified-deep);margin-bottom:8px}
.devhero .as-dev-kicker{color:#3DDC97}
.as-dev-hero-card{display:grid;gap:12px;padding:24px;border:1px solid rgba(255,255,255,.16);border-radius:20px;background:rgba(255,255,255,.06);box-shadow:0 24px 60px -40px rgba(0,0,0,.7)}
.as-dev-hero-card h2{font-family:var(--display);font-size:22px;color:#fff;margin:0}
.as-dev-hero-card p{color:#9FC6B4;font-size:13.5px;line-height:1.65;margin:0 0 6px}
.as-dev-hero-card .btn{justify-content:center;width:100%}
.as-dev-identity{display:flex;align-items:center;gap:13px;padding-bottom:13px;border-bottom:1px solid rgba(255,255,255,.12)}
.as-dev-identity>div{display:grid;min-width:0;gap:2px}
.as-dev-identity small{font-size:11px;color:#9FC6B4}
.as-dev-identity strong{font-family:var(--display);font-size:17px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.as-dev-avatar{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;overflow:hidden;flex:0 0 auto;background:var(--verified);color:#fff;font-family:var(--display);font-size:20px;font-weight:800}
.as-dev-avatar img{width:100%;height:100%;object-fit:cover}
.as-dev-avatar.large{width:76px;height:76px;border-radius:18px;font-size:28px}
.as-dev-status{display:inline-flex;align-items:center;width:max-content;border-radius:999px;padding:4px 9px;font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:var(--amber-tint);color:#856817}
.as-dev-status.as-verified{background:var(--verified-tint);color:var(--verified-deep)}
.as-dev-status.as-rejected{background:var(--danger-tint);color:var(--danger)}
.as-dev-shell{padding:34px 20px 58px}
.as-dev-notice{margin-bottom:18px;padding:13px 16px;border:1px solid;border-radius:12px;font-size:13.5px;font-weight:600}
.as-dev-notice.success{background:var(--verified-tint);border-color:#b8e2d0;color:var(--verified-deep)}
.as-dev-notice.warning{background:var(--amber-tint);border-color:#ecd8a5;color:#735a12}
.as-dev-notice.error{background:var(--danger-tint);border-color:#efb9b9;color:var(--danger)}
.as-dev-tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 0 18px;scrollbar-width:thin}
.as-dev-tabs a{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;min-height:42px;padding:9px 15px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink-soft);font-size:13px;font-weight:700}
.as-dev-tabs a:hover,.as-dev-tabs a.active{background:var(--scan);border-color:var(--scan);color:#fff}
.as-dev-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;min-width:0;box-shadow:0 18px 50px -46px rgba(15,31,26,.55)}
.as-dev-card h2{font-family:var(--display);font-size:22px;letter-spacing:-.4px;margin:0}
.as-dev-card p{font-size:13.5px;color:var(--ink-soft);line-height:1.65}
.as-dev-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}
.as-dev-card-head>.dashicons{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--verified-tint);color:var(--verified-deep);font-size:22px;line-height:44px;flex:0 0 auto}
.as-dev-auth-grid,.as-dev-dashboard-grid,.as-dev-verify-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);gap:18px;align-items:start}
.as-dev-dashboard-grid>.as-dev-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;min-height:100%}
.as-dev-dashboard-grid>.as-dev-card p{margin:0}
.as-dev-dashboard-grid>.as-dev-card .btn{margin-top:18px}
.as-dev-single-card{max-width:680px;margin:0 auto}
.as-dev-single-card.wide{max-width:920px}
.as-dev-form{display:grid;gap:15px}
.as-dev-form label{display:grid;gap:7px;min-width:0}
.as-dev-form label>span{font-size:12px;font-weight:700;color:var(--ink)}
.as-dev-form input[type=text],.as-dev-form input[type=email],.as-dev-form input[type=password],.as-dev-form input[type=url],.as-dev-form textarea,.as-dev-form select{width:100%;min-width:0;min-height:46px;border:1px solid var(--line);border-radius:11px;background:#fff;padding:10px 13px;color:var(--ink);font:inherit;box-shadow:0 1px 0 rgba(15,31,26,.02)}
.as-dev-form textarea{min-height:140px;resize:vertical;line-height:1.6}
.as-dev-form select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath fill='none' stroke='%23505f59' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='m2 2 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:42px}
.as-dev-form input:focus,.as-dev-form textarea:focus,.as-dev-form select:focus{outline:none;border-color:var(--verified);box-shadow:0 0 0 3px rgba(16,166,122,.12)}
.as-dev-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.as-dev-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center!important;width:max-content}
.as-dev-check input{width:17px;height:17px;margin:0}
.as-dev-form .btn{justify-content:center;min-height:46px}
.as-dev-form-foot{margin:0;text-align:center;font-size:12.5px!important}
.as-dev-form-foot a{color:var(--verified-deep);font-weight:700}
.as-dev-benefits ul{display:grid;gap:13px;margin:18px 0 0;padding:0;list-style:none}
.as-dev-benefits li{position:relative;padding-left:28px;font-size:13.5px;color:var(--ink-soft);line-height:1.55}
.as-dev-benefits li:before{content:"✓";position:absolute;left:0;top:0;width:20px;height:20px;border-radius:7px;display:grid;place-items:center;background:var(--verified-tint);color:var(--verified-deep);font-weight:800}
.as-dev-profile-intro{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:20px;padding:20px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#fbfdfc,#f3f8f6)}
.as-dev-logo-slot,.as-dev-profile-intro img,.as-dev-profile-intro .as-dev-avatar.large{width:92px;height:92px;border-radius:24px;object-fit:cover}
.as-dev-logo-slot{display:grid;place-items:center;overflow:hidden;background:linear-gradient(180deg,#14a67a,#0e6f54);color:#fff;border:4px solid #fff;outline:1px solid #d6e8df;box-shadow:0 18px 36px -26px rgba(16,59,46,.55), inset 0 0 0 1px rgba(255,255,255,.14)}
.as-dev-profile-intro label{flex:1}
.as-dev-profile-intro small{font-size:11px;color:var(--ink-soft)}
.as-dev-file-picker,.as-dev-upload-box{position:relative;display:grid!important;gap:8px!important;border-radius:16px;background:linear-gradient(180deg,#f8fcfa,#eff8f4);border:1px solid #d5e8df;color:var(--ink)}
.as-dev-file-picker{padding:16px 18px;min-width:0}
.as-dev-file-picker-logo{align-content:start;min-height:168px;padding:18px 20px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.7)}
.as-dev-file-picker-logo .as-dev-file-actions{margin-top:6px}
.as-dev-file-picker-logo .as-dev-file-button{margin-top:4px}
.as-dev-file-picker>span:first-child,.as-dev-upload-box strong{font-family:var(--display);font-size:16px;line-height:1.25}
.as-dev-file-picker small,.as-dev-upload-box small{color:var(--ink-soft);font-size:11.5px}
.as-dev-file-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0}
.as-dev-file-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;border-radius:11px;background:var(--scan);color:#fff;font-weight:700;font-size:13px;box-shadow:0 8px 18px -12px rgba(16,59,46,.45)}
.as-dev-file-button:hover{background:#0b2a21}
.as-dev-file-name{min-width:0;flex:1;color:var(--ink);font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.as-dev-file-meta{font-size:12px;color:var(--verified-deep)}
.as-dev-file-picker input[type=file],.as-dev-upload-box input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}
.as-dev-upload-box{place-items:center;text-align:center;min-height:176px;padding:26px;border:2px dashed #9fd3bf;box-shadow:inset 0 0 0 1px rgba(255,255,255,.72)}
.as-dev-upload-box>.dashicons{font-size:34px;width:38px;height:38px;color:var(--verified-deep)}
.as-dev-upload-box strong{font-size:18px}
.as-dev-upload-box.as-has-file,.as-dev-file-picker.as-has-file{border-color:#81c5ad;background:linear-gradient(180deg,#eff8f4,#e7f6ef)}
.as-dev-file-summary{display:grid;gap:8px;padding:16px 18px;border-radius:15px;border:1px solid #d8ece2;background:#fff;box-shadow:0 10px 30px -26px rgba(15,31,26,.28)}
.as-dev-file-summary[hidden]{display:none}
.as-dev-file-summary-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.as-dev-file-summary-head b{font-size:14px;line-height:1.35;word-break:break-word}
.as-dev-file-summary p{margin:0;font-size:12.5px;color:var(--ink-soft)}
.as-dev-file-summary-note{color:var(--verified-deep)!important}
.as-dev-submit-intro{padding:14px 16px;border-radius:13px;background:#fff;border:1px solid var(--line)}
.as-dev-submit-intro p{margin:0;color:var(--ink-soft);font-size:13px}
.as-dev-submit-form .as-dev-form-grid label,.as-dev-submit-form>label{position:relative}
.as-dev-submit-form [data-autofill].as-autofilled{background:#f6fcf9;border-color:#b8dfcd;color:var(--verified-deep)}
.as-dev-submit-note{display:flex;gap:12px;align-items:flex-start;padding:13px 15px;border-radius:12px;background:var(--verified-tint);color:var(--verified-deep)}
.as-dev-submit-note .dashicons{flex:0 0 auto;margin-top:2px}
.as-dev-submit-note p{margin:0;color:inherit;font-size:12px}
.as-dev-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
.as-dev-stat{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}
.as-dev-stat .dashicons{grid-row:1/3;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--verified-tint);color:var(--verified-deep);font-size:21px;line-height:42px}
.as-dev-stat b{font-family:var(--display);font-size:21px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.as-dev-stat small{font-size:11px;color:var(--ink-soft)}
.as-dev-submission-list{display:grid;gap:10px}
.as-dev-submission-list article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:14px;border:1px solid var(--line);border-radius:13px;background:var(--paper)}
.as-dev-submission-list h3{font-family:var(--display);font-size:15px;margin:0 0 4px}
.as-dev-submission-list p{margin:0;font-size:11.5px}
.as-dev-submission-list code{display:block;max-width:100%;margin-top:5px;overflow:hidden;text-overflow:ellipsis;color:var(--verified-deep);font-family:var(--mono);font-size:10px}
.as-dev-post-status{display:inline-flex;padding:5px 9px;border-radius:999px;background:var(--amber-tint);color:#765c14;font-family:var(--mono);font-size:9.5px;font-weight:700;text-transform:uppercase}
.as-dev-post-status.as-publish{background:var(--verified-tint);color:var(--verified-deep)}
.as-dev-post-status.as-draft{background:#edf0ef;color:var(--ink-soft)}
.as-dev-empty{text-align:center;padding:44px 16px}
.as-dev-empty .dashicons{font-size:38px;width:42px;height:42px;color:var(--verified-deep)}
.as-dev-empty h3{font-family:var(--display);font-size:18px;margin:10px 0 4px}
.as-dev-verify-result{display:grid;gap:12px;justify-items:start}
.as-dev-result-icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:var(--verified-tint);color:var(--verified-deep)}
.as-dev-result-icon .dashicons{font-size:28px;width:28px;height:28px}
.as-dev-result-icon.unknown{background:var(--amber-tint);color:#806617}
.as-dev-verify-result code{display:block;width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);font-family:var(--mono);font-size:10.5px;word-break:break-all}
.as-dev-verify-result .btn{justify-content:center;width:100%}
@media(max-width:900px){
  .as-dev-portal-hero .wrap,.as-dev-auth-grid,.as-dev-dashboard-grid,.as-dev-verify-grid{grid-template-columns:1fr}
  .as-dev-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .as-dev-shell{padding:24px 5vw 44px}
  .as-dev-tabs{margin-inline:-1vw;padding-inline:1vw}
  .as-dev-card{padding:18px;border-radius:15px}
  .as-dev-form-grid{grid-template-columns:1fr}
  .as-dev-summary-grid{grid-template-columns:1fr 1fr;gap:9px}
  .as-dev-stat{padding:13px;column-gap:9px}
  .as-dev-stat .dashicons{width:36px;height:36px;line-height:36px;font-size:18px}
  .as-dev-stat b{font-size:17px}
  .as-dev-submission-list article{grid-template-columns:minmax(0,1fr) auto}
  .as-dev-submission-list article .btn{grid-column:1/-1;justify-content:center}
  .as-dev-dashboard-grid>.as-dev-card .btn{margin-top:16px;width:100%;justify-content:center}
  .as-dev-profile-intro{grid-template-columns:1fr;align-items:center;justify-items:center;text-align:left}
  .as-dev-logo-slot,.as-dev-profile-intro img,.as-dev-profile-intro .as-dev-avatar.large{width:88px;height:88px}
  .as-dev-file-picker-logo{width:100%;max-width:420px}
  .as-dev-file-actions{align-items:flex-start;flex-direction:column}
  .as-dev-file-name{width:100%}
  .as-dev-upload-box{min-height:164px;padding:20px}
}
@media(max-width:390px){
  .as-dev-summary-grid{grid-template-columns:1fr}
  .as-dev-card-head{gap:10px}
  .as-dev-card-head h2{font-size:19px}
}
.as-dev-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* v3.7.5 developer URLs without password recovery page */
.as-dev-landing-hero .dropzone{display:block;color:inherit;text-decoration:none}
.as-dev-landing-dropzone:hover{border-color:#3DDC97;background:rgba(61,220,151,.09);transform:translateY(-2px)}
.as-dev-landing-dropzone .btn{pointer-events:none}
.as-dev-landing-nav{position:sticky;top:66px;z-index:35;border-bottom:1px solid var(--line);background:rgba(255,255,255,.94);backdrop-filter:blur(12px)}
.as-dev-landing-nav .wrap{display:flex;gap:8px;align-items:center;overflow-x:auto;padding-top:10px;padding-bottom:10px;scrollbar-width:thin}
.as-dev-landing-nav a{flex:0 0 auto;display:inline-flex;align-items:center;min-height:40px;padding:8px 13px;border-radius:999px;color:var(--ink-soft);font-size:12.5px;font-weight:700}
.as-dev-landing-nav a:hover,.as-dev-landing-nav a.active{background:var(--verified-tint);color:var(--verified-deep)}
.as-dev-badge-section{margin-top:36px}
.as-dev-badge-section h3{font-family:var(--display);font-size:18px;font-weight:800}
.as-dev-badge-section>p{margin:6px 0 10px;color:var(--ink-soft);font-size:13.5px}
.toolcard .mono-note{display:inline-flex;margin-top:14px;font-weight:700;text-decoration:none}
.toolcard .mono-note:hover{text-decoration:underline}
@media(max-width:720px){
  .as-dev-landing-nav{top:66px}
  .as-dev-landing-nav .wrap{padding-left:16px;padding-right:16px}
  .as-dev-landing-hero .wrap{padding-top:36px;padding-bottom:36px}
  .as-dev-landing-dropzone{padding:26px 20px}
  .as-dev-badge-section .badgeprev{max-width:100%;flex-wrap:wrap}
}

/* Nextend Social Login: Google button inside custom Developer auth pages. */
.as-dev-social-login{grid-column:1;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 24px;box-shadow:0 18px 50px -46px rgba(15,31,26,.55)}
.as-dev-social-separator{display:flex;align-items:center;gap:12px;margin:0 0 14px;color:var(--ink-soft);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.as-dev-social-separator:before,.as-dev-social-separator:after{content:"";height:1px;background:var(--line);flex:1}
.as-dev-social-login .nsl-container,.as-dev-social-login .nsl-container-buttons{width:100%!important;margin:0!important}
.as-dev-social-login .nsl-button{width:100%!important;max-width:none!important;border-radius:10px!important}

.as-dev-google-login{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:48px;padding:11px 18px;border:1px solid #c7cbd1;border-radius:10px;background:#fff;color:#202124!important;font-size:15px;font-weight:600;line-height:1.2;text-decoration:none!important;box-shadow:0 1px 2px rgba(60,64,67,.08);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
.as-dev-google-login:hover{background:#f8faff;border-color:#aeb4bd;box-shadow:0 2px 6px rgba(60,64,67,.14)}
.as-dev-google-login:focus-visible{outline:3px solid rgba(66,133,244,.24);outline-offset:2px}
.as-dev-google-login svg{width:20px;height:20px;flex:0 0 20px}
.as-dev-social-note{grid-column:1;padding:13px 15px;border:1px solid #f1cf7a;border-radius:12px;background:#fff8df;color:#624b13;font-size:13px;line-height:1.55}
@media(max-width:720px){.as-dev-social-login{padding:16px 18px;border-radius:15px}}
