/* PingAI (leej.uk/pingai). Builds on the leej.uk theme in site.css (same tokens, dark first, light overrides at the end). */
.pa .pp-index-h{max-width:20ch}
.pa-grad{background:linear-gradient(90deg,var(--b-soft),var(--g));-webkit-background-clip:text;background-clip:text;color:transparent}
.pa code{font-family:var(--mono);font-size:.88em;overflow-wrap:anywhere}
.mono{font-family:var(--mono)}

/* Form */
.pa-form{margin-top:1.6rem;max-width:44rem;padding:1.1rem;border-radius:16px;border:1px solid rgba(124,140,255,.3);background:radial-gradient(500px 220px at 90% 0%,rgba(124,140,255,.14),transparent 70%),var(--card);box-shadow:0 20px 50px rgba(0,0,0,.3)}
.pa-label{display:block;font-family:var(--mono);font-size:.75rem;letter-spacing:.06em;color:var(--mut);margin-bottom:.5rem}
.pa-row{display:flex;flex-direction:column;gap:.6rem}
.pa-input{width:100%;min-width:0;height:52px;padding:0 1rem;border-radius:11px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;font-size:1.05rem;font-family:var(--display)}
.pa-input::placeholder{color:var(--mut);opacity:.8}
.pa-input:focus{outline:none;border-color:var(--b);box-shadow:0 0 0 3px rgba(124,140,255,.25)}
.pa-input[aria-invalid="true"]{border-color:var(--r)}
.pa-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:52px;padding:0 1.4rem;border-radius:11px;border:0;cursor:pointer;font:inherit;font-family:var(--display);font-weight:700;font-size:1rem;color:#0b0d14;background:linear-gradient(90deg,var(--g),#7cf0c9);text-decoration:none;white-space:nowrap;transition:transform .2s,box-shadow .2s,opacity .2s}
.pa-btn:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(46,230,166,.25)}
.pa-btn:disabled{opacity:.75;cursor:progress;transform:none}
.pa-btn.is-busy::before{content:"";width:16px;height:16px;border-radius:50%;border:2px solid rgba(11,13,20,.35);border-top-color:#0b0d14;animation:pa-spin .8s linear infinite}
.pa-btn-sm{height:42px;font-size:.92rem;padding:0 1.1rem}
@keyframes pa-spin{to{transform:rotate(360deg)}}
.pa-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.pa-ts{margin-top:.8rem;min-height:65px}
.pa-err{margin-top:.7rem;padding:.6rem .8rem;border-radius:10px;border:1px solid rgba(255,107,139,.4);background:rgba(255,107,139,.08);color:#ffc2cf;font-size:.92rem}
.pa-err[hidden]{display:none}
.pa-small{margin-top:.8rem;font-size:.82rem;color:var(--mut);line-height:1.55}
.pa-small a{color:var(--b-soft)}
.pa-steps{list-style:none;margin-top:.9rem;display:grid;gap:.35rem;font-family:var(--mono);font-size:.8rem;color:var(--mut)}
.pa-steps[hidden]{display:none}
.pa-steps li{display:flex;align-items:center;gap:.55rem}
.pa-steps li::before{content:"";width:9px;height:9px;border-radius:50%;border:1.5px solid var(--line);flex:0 0 9px}
.pa-steps li.on{color:var(--ink)}
.pa-steps li.on::before{border-color:var(--b);background:var(--b);animation:pa-pulse 1s ease-in-out infinite}
.pa-steps li.done::before{border-color:var(--g);background:var(--g)}
@keyframes pa-pulse{50%{opacity:.35}}
@media (min-width:640px){.pa-row{flex-direction:row}.pa-input{flex:1}}

/* Sections */
.pa-sec{max-width:820px}
.pa-wide{max-width:1080px}
.pa-grid{list-style:none;display:grid;gap:.8rem;margin-top:.4rem}
.pa-card{padding:1rem 1.1rem;border-radius:14px;background:var(--card);border:1px solid var(--line)}
.pa-card h3{font-family:var(--display);font-size:1.02rem;font-weight:700;margin-bottom:.3rem}
.pa-card p{font-size:.93rem!important;color:var(--mut)!important;line-height:1.55!important}
@media (min-width:700px){.pa-grid{grid-template-columns:1fr 1fr}}
@media (min-width:1000px){.pa-grid{grid-template-columns:1fr 1fr 1fr}}

/* Tables */
.pa-table-wrap{margin-top:.6rem;border-radius:14px;border:1px solid var(--line);background:var(--card);overflow:hidden}
.pa-table{width:100%;border-collapse:collapse;font-size:.93rem}
.pa-table th,.pa-table td{text-align:left;vertical-align:top;padding:.7rem .9rem;border-bottom:1px solid var(--line)}
.pa-table thead th{font-family:var(--mono);font-size:.72rem;font-weight:500;letter-spacing:.06em;color:var(--mut);text-transform:uppercase}
.pa-table tbody tr:last-child th,.pa-table tbody tr:last-child td{border-bottom:0}
.pa-table tfoot td{border-top:1px solid var(--line);border-bottom:0;font-weight:700}
.pa-table .num{text-align:right;white-space:nowrap;font-family:var(--mono)}
.pa-table th[scope="row"]{font-weight:400}
.pa-sub{display:block;margin-top:.3rem;font-size:.8rem;color:var(--mut);line-height:1.45;overflow-wrap:anywhere}
.pa-sub.mono{font-size:.74rem}
@media (max-width:639px){
  .pa-crawlers thead{display:none}
  .pa-crawlers tr{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}
  .pa-crawlers tbody tr:last-child{border-bottom:0}
  .pa-crawlers th[scope="row"]{grid-column:1/-1;padding-bottom:.2rem}
  .pa-crawlers th,.pa-crawlers td{border-bottom:0}
  .pa-crawlers td{padding-top:.4rem}
  .pa-crawlers td::before{display:block;font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--mut);margin-bottom:.3rem}
  .pa-crawlers td:nth-of-type(1)::before{content:"robots.txt"}
  .pa-crawlers td:nth-of-type(2)::before{content:"Firewall test"}
  .pa-weights th,.pa-weights td{padding:.6rem .7rem}
}

/* Pills */
.pa-pass{color:#c9f7e6;background:rgba(46,230,166,.1);border:1px solid rgba(46,230,166,.35)}
.pa-pass .pill-dot{background:var(--g)}
.pa-warn{color:#fbe7b0;background:rgba(245,197,66,.1);border:1px solid rgba(245,197,66,.38)}
.pa-warn .pill-dot{background:var(--y)}
.pa-fail{color:#ffc2cf;background:rgba(255,107,139,.1);border:1px solid rgba(255,107,139,.4)}
.pa-fail .pill-dot{background:var(--r)}
.pa-info{color:#d5dbff;background:rgba(124,140,255,.1);border:1px solid rgba(124,140,255,.35)}
.pa-info .pill-dot{background:var(--b)}
.pa .pill{white-space:nowrap}

/* Score */
.pa-scorebox{margin-top:1.4rem;display:flex;flex-wrap:wrap;align-items:center;gap:1.1rem 1.4rem}
.pa-ring{flex:0 0 132px}
.pa-ring-bg{stroke:var(--line)}
.pa-ring-fg{stroke:currentColor}
.pa-ring-n{font-family:var(--display);font-weight:800;font-size:34px;fill:var(--ink)}
.pa-ring-of{font-family:var(--mono);font-size:11px;fill:var(--mut)}
.pa-c-g{color:var(--g)}.pa-c-b{color:var(--b)}.pa-c-y{color:var(--y)}.pa-c-r{color:var(--r)}
.pa-scoretext{flex:1 1 280px;min-width:0}
.pa-band{font-family:var(--display);font-weight:800;font-size:1.5rem;letter-spacing:-.01em}
.pa-headline{margin-top:.2rem;color:var(--soft-ink)}
.pa-share{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.9rem}
.pa-chip{display:inline-flex;align-items:center;min-height:38px;padding:0 .85rem;border-radius:9px;border:1px solid rgba(124,140,255,.3);background:rgba(124,140,255,.08);color:var(--ink);text-decoration:none;font:inherit;font-size:.85rem;font-weight:600;font-family:var(--display);cursor:pointer}
.pa-chip:hover{border-color:var(--b);background:rgba(124,140,255,.16)}
.pa-chip-g{border-color:rgba(46,230,166,.35);background:rgba(46,230,166,.08)}
.pa-hero .pp-index-h{overflow-wrap:anywhere}

/* Findings */
.pa-item{position:relative;margin-top:.9rem;padding:1.1rem 1.15rem;border-radius:14px;background:var(--card);border:1px solid var(--line);border-left:3px solid var(--line)}
.pa-s-pass{border-left-color:var(--g)}.pa-s-warn{border-left-color:var(--y)}.pa-s-fail{border-left-color:var(--r)}.pa-s-info{border-left-color:var(--b)}
.pa-item-top{display:flex;justify-content:space-between;align-items:baseline;gap:.8rem}
.pa-item h3{font-family:var(--display);font-size:1.08rem;font-weight:700;letter-spacing:-.01em}
.pa-pts{font-family:var(--mono);font-size:.8rem;color:var(--mut);white-space:nowrap}
.pa-item-pill{margin:.45rem 0 .55rem}
.pa-item>p{font-size:.98rem!important}
.pa-details{margin:.6rem 0 0 1.1rem;color:var(--mut);font-size:.88rem;line-height:1.55;overflow-wrap:anywhere}
.pa-details li+li{margin-top:.3rem}
.pa-extras{margin-top:1rem}
.pa-fix{margin-top:.9rem;padding-top:.85rem;border-top:1px dashed var(--line)}
.pa-fix-h{font-family:var(--mono);font-size:.72rem!important;letter-spacing:.06em;text-transform:uppercase;color:var(--g)!important;margin-bottom:.3rem}
.pa-fix p{font-size:.94rem!important}
.pa-code{margin-top:.7rem;border:1px solid rgba(124,140,255,.3);border-radius:11px;background:linear-gradient(180deg,#151a2b,#10131f);overflow:hidden}
.pa-code-bar{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.35rem .5rem .35rem .85rem;border-bottom:1px solid var(--line)}
.pa-code-bar span{font-family:var(--mono);font-size:.72rem;color:var(--mut)}
.pa-copy{min-height:32px;padding:0 .75rem;border-radius:8px;border:1px solid rgba(124,140,255,.35);background:rgba(124,140,255,.1);color:var(--ink);font:inherit;font-size:.8rem;font-weight:600;cursor:pointer}
.pa-copy:hover{border-color:var(--b)}
.pa-code pre{margin:0;padding:.85rem;overflow-x:auto;font-family:var(--mono);font-size:.8rem;line-height:1.6;color:var(--code-ink);white-space:pre}
.pa-code code{overflow-wrap:normal;font-size:1em}
.pa-links{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-top:.7rem}
.pa-links a:not(.pa-btn){color:var(--b-soft);font-size:.92rem}
.pa .lp-contact{max-width:820px}
.pa-foot-note{max-width:40rem}

/* Light theme */
[data-theme="light"] .pa-form{background:radial-gradient(500px 220px at 90% 0%,rgba(88,101,242,.10),transparent 70%),#fff;box-shadow:0 18px 44px rgba(22,26,38,.10)}
[data-theme="light"] .pa-input{background:#f6f7fb}
[data-theme="light"] .pa-btn{color:#06281c;background:linear-gradient(90deg,#2ee6a6,#7cf0c9)}
[data-theme="light"] .pa-err{color:#9b1c3a;background:rgba(255,107,139,.08)}
[data-theme="light"] .pa-pass{color:#08714f;background:rgba(14,164,116,.1);border-color:rgba(14,164,116,.35)}
[data-theme="light"] .pa-warn{color:#8a5a00;background:rgba(245,197,66,.16);border-color:rgba(200,150,20,.4)}
[data-theme="light"] .pa-fail{color:#a3123a;background:rgba(255,107,139,.12);border-color:rgba(220,60,100,.38)}
[data-theme="light"] .pa-info{color:#3440b8;background:rgba(88,101,242,.08);border-color:rgba(88,101,242,.3)}
[data-theme="light"] .pa-c-y{color:#b7791f}[data-theme="light"] .pa-c-r{color:#d6335c}
[data-theme="light"] .pa-code{background:linear-gradient(180deg,#fff,#f3f5fc);border-color:rgba(88,101,242,.3)}
[data-theme="light"] .pa-table-wrap,[data-theme="light"] .pa-item,[data-theme="light"] .pa-card{box-shadow:0 1px 2px rgba(22,26,38,.05)}
@media (prefers-reduced-motion:reduce){.pa-btn.is-busy::before,.pa-steps li.on::before{animation:none}}
.pa-card p.pa-price{color:var(--ink,inherit)!important;font-size:.98rem!important}
