/* PawMastery Tools — inherits the site's Astra design tokens.
   Scoped under .pmt-app so nothing leaks into the theme. */

.pmt-app{
  --pmt-accent: var(--ast-global-color-0, #21B4A6);
  --pmt-accent-dk: var(--ast-global-color-1, #0FAF9F);
  --pmt-head: var(--ast-global-color-2, #FFFFFF);
  --pmt-text: var(--ast-global-color-3, #EDF6F3);
  --pmt-bg: var(--ast-global-color-4, #1C2A3C);
  --pmt-panel: var(--ast-global-color-5, #111A28);
  --pmt-edge: rgba(255,255,255,.14);
  --pmt-warn: #F0A72B;
  --pmt-crit: #F0524B;
  --pmt-r: 12px;
  color: var(--pmt-text);
  font-family: 'Manrope', system-ui, sans-serif;
}
.pmt-app *{box-sizing:border-box}
.pmt-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- form ---------- */
.pmt-form{background:var(--pmt-panel);border:1px solid var(--pmt-edge);border-radius:var(--pmt-r);padding:22px}
.pmt-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pmt-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.pmt-field{min-width:0}
.pmt-field label{display:block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--pmt-text);opacity:.78;margin-bottom:7px}
.pmt-field select,.pmt-field input{width:100%;background:var(--pmt-bg);border:1px solid var(--pmt-edge);
  color:var(--pmt-head);padding:11px 13px;border-radius:9px;font:inherit;font-size:15px;min-height:44px}
.pmt-field select:focus-visible,.pmt-field input:focus-visible,.pmt-btn:focus-visible{
  outline:3px solid var(--pmt-accent);outline-offset:2px}
.pmt-help{font-size:12.5px;opacity:.65;margin:6px 0 0}
.pmt-err{color:var(--pmt-crit);font-size:13px;font-weight:600;margin:6px 0 0}
[aria-invalid="true"]{border-color:var(--pmt-crit)!important}

.pmt-btn{background:var(--pmt-accent);color:#062522;border:0;font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  font-weight:800;font-size:15px;padding:13px 24px;border-radius:9px;cursor:pointer;min-height:48px;
  transition:filter .15s}
.pmt-btn:hover{filter:brightness(1.08)}
.pmt-btn.pmt-ghost{background:transparent;border:1px solid var(--pmt-edge);color:var(--pmt-head)}
.pmt-submit{margin-top:18px}

/* ---------- results ---------- */
.pmt-result{margin-top:26px;outline:none}
.pmt-result:focus-visible{outline:3px solid var(--pmt-accent);outline-offset:4px}
.pmt-headline{display:flex;gap:24px;align-items:center;background:var(--pmt-panel);
  border:1px solid var(--pmt-edge);border-radius:var(--pmt-r);padding:22px;flex-wrap:wrap}
.pmt-eyebrow{font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--pmt-accent);margin:0 0 6px}
.pmt-band{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:clamp(22px,3.4vw,30px);
  font-weight:800;letter-spacing:-.02em;color:var(--pmt-head);margin:0 0 8px;line-height:1.15}
.pmt-band-sum{margin:0;font-size:15.5px;opacity:.85;max-width:52ch}
.pmt-headline-txt{flex:1 1 260px;min-width:0}

.pmt-dial{width:130px;height:130px;flex:0 0 auto}
.pmt-dial circle{fill:none;stroke-width:11;transform:rotate(-90deg);transform-origin:65px 65px;stroke-linecap:round}
.pmt-dial-bg{stroke:rgba(255,255,255,.12)}
.pmt-dial-fg{stroke:var(--pmt-accent);transition:stroke-dashoffset .8s cubic-bezier(.2,.7,.3,1)}
.pmt-band-stalled .pmt-dial-fg,.pmt-band-poisoned .pmt-dial-fg,.pmt-band-weak .pmt-dial-fg{stroke:var(--pmt-crit)}
.pmt-band-slow .pmt-dial-fg,.pmt-band-early .pmt-dial-fg,.pmt-band-mixed .pmt-dial-fg{stroke:var(--pmt-warn)}
.pmt-dial-num{fill:var(--pmt-head);font-family:'Plus Jakarta Sans',sans-serif;font-size:34px;font-weight:800;
  text-anchor:middle}
.pmt-dial-sub{fill:var(--pmt-text);opacity:.6;font-size:12px;text-anchor:middle}

.pmt-block{background:var(--pmt-panel);border:1px solid var(--pmt-edge);border-radius:var(--pmt-r);
  padding:22px;margin-top:16px}
.pmt-block h3{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:19px;font-weight:800;
  color:var(--pmt-head);margin:0 0 14px;letter-spacing:-.015em}

/* bars */
.pmt-bar-row{margin-bottom:16px}
.pmt-bar-row:last-child{margin-bottom:0}
.pmt-bar-head{display:flex;justify-content:space-between;gap:12px;font-size:14.5px;font-weight:600;
  color:var(--pmt-head);margin-bottom:6px}
.pmt-bar-val{opacity:.7;font-variant-numeric:tabular-nums}
.pmt-bar{height:9px;background:rgba(255,255,255,.1);border-radius:100px;overflow:hidden}
.pmt-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--pmt-accent-dk),var(--pmt-accent));
  border-radius:100px;transition:width .7s cubic-bezier(.2,.7,.3,1)}
.pmt-bar-note{font-size:13px;opacity:.68;margin:7px 0 0}

/* milestone */
.pmt-milestone{border-left:4px solid var(--pmt-accent)}
.pmt-milestone h3{margin-bottom:8px}

/* recommendations */
.pmt-recs{list-style:none;margin:0;padding:0;counter-reset:pmt}
.pmt-rec{border-top:1px solid var(--pmt-edge);padding:16px 0}
.pmt-rec:first-child{border-top:0;padding-top:0}
.pmt-pri{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  padding:3px 9px;border-radius:100px;margin-bottom:8px;border:1px solid currentColor}
.pmt-p1 .pmt-pri{color:var(--pmt-crit)}
.pmt-p2 .pmt-pri{color:var(--pmt-warn)}
.pmt-p3 .pmt-pri,.pmt-p4 .pmt-pri{color:var(--pmt-accent)}
.pmt-rec h4{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:16.5px;font-weight:700;
  color:var(--pmt-head);margin:0 0 6px}
.pmt-rec p{margin:0;font-size:14.5px;opacity:.85}

/* related + evidence */
.pmt-related{margin:0;padding-left:18px;line-height:1.9;font-size:15px}
.pmt-related a{color:var(--pmt-accent);text-decoration:none;font-weight:600}
.pmt-related a:hover{text-decoration:underline}
.pmt-related span{opacity:.6;font-size:13.5px}
.pmt-evidence{font-size:14px}
.pmt-evidence ul{margin:8px 0 0;padding-left:18px;line-height:1.75}
.pmt-evidence a{color:var(--pmt-accent)}
.pmt-model{background:rgba(33,180,166,.08);border:1px solid rgba(33,180,166,.3);border-radius:9px;
  padding:13px 15px;margin:0 0 14px}
.pmt-ev-label{margin:0}
.pmt-disclaimer{margin:16px 0 0;padding-top:14px;border-top:1px solid var(--pmt-edge);
  font-size:13px;opacity:.7;font-style:italic}

/* safety */
.pmt-safety{border-radius:var(--pmt-r);padding:22px;border:1px solid}
.pmt-safety h3{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:20px;font-weight:800;margin:0 0 10px}
.pmt-safety p{margin:0;font-size:15.5px}
.pmt-safety-critical{background:rgba(240,82,75,.1);border-color:rgba(240,82,75,.5)}
.pmt-safety-critical h3{color:var(--pmt-crit)}
.pmt-safety-warning{background:rgba(240,167,43,.1);border-color:rgba(240,167,43,.5)}
.pmt-safety-warning h3{color:var(--pmt-warn)}
.pmt-safety-link{margin-top:12px!important}
.pmt-safety-link a{color:var(--pmt-accent)}

/* actions */
.pmt-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:18px}
.pmt-copied{font-size:13.5px;color:var(--pmt-accent);font-weight:600}

/* hub cards */
.pmt-hub{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin:26px 0}
.pmt-card{background:var(--pmt-panel);border:1px solid var(--pmt-edge);border-radius:var(--pmt-r);
  padding:22px;text-decoration:none;display:block;transition:transform .18s,border-color .18s}
.pmt-card:hover{transform:translateY(-3px);border-color:var(--pmt-accent)}
.pmt-card h3{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:18.5px;font-weight:800;
  color:var(--pmt-head);margin:0 0 8px}
.pmt-card p{margin:0;font-size:14.5px;opacity:.8}
.pmt-card .pmt-eyebrow{margin-bottom:8px}

@media(max-width:760px){
  .pmt-grid,.pmt-grid-3{grid-template-columns:1fr}
  .pmt-headline{gap:16px}
  .pmt-dial{width:104px;height:104px}
  .pmt-form,.pmt-block,.pmt-headline{padding:18px}
}
@media(prefers-reduced-motion:reduce){
  .pmt-dial-fg,.pmt-bar i,.pmt-card{transition:none}
}
@media print{
  .pmt-app{color:#111}
  .pmt-form,.pmt-actions,.pmt-submit{display:none}
  .pmt-block,.pmt-headline{background:#fff;border-color:#ccc;break-inside:avoid}
  .pmt-band,.pmt-block h3,.pmt-rec h4{color:#111}
  .pmt-dial-num{fill:#111}
}

/* ---------- hub v2 ---------- */
.pmt-app .pmt-hub{counter-reset:pmtc;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin:34px 0 42px}
@media(min-width:1000px){
  .pmt-app .pmt-hub{grid-template-columns:repeat(3,1fr)}
  .pmt-app .pmt-hub > .pmt-card:first-child{grid-column:span 3;padding:34px 34px 38px}
  .pmt-app .pmt-hub > .pmt-card:first-child h3{font-size:27px}
  .pmt-app .pmt-hub > .pmt-card:first-child p:last-of-type{font-size:16px;max-width:68ch}
}
.pmt-app .pmt-card{position:relative;overflow:hidden;background:radial-gradient(130% 150% at 100% 0%, rgba(33,180,166,.11), transparent 58%), var(--pmt-panel);border:1px solid var(--pmt-edge);border-radius:16px;padding:26px 26px 30px;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.pmt-app .pmt-card::before{content:"";position:absolute;top:0;left:0;height:3px;width:100%;background:linear-gradient(90deg,var(--pmt-accent),rgba(33,180,166,0));transform:scaleX(0);transform-origin:left center;transition:transform .3s ease}
.pmt-app .pmt-card::after{content:counter(pmtc,decimal-leading-zero);counter-increment:pmtc;position:absolute;top:18px;right:20px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;letter-spacing:.08em;color:var(--pmt-head);opacity:.22}
.pmt-app .pmt-card:hover{transform:translateY(-4px);border-color:var(--pmt-accent);box-shadow:0 18px 40px -22px rgba(0,0,0,.85)}
.pmt-app .pmt-card:hover::before,.pmt-app .pmt-card:focus-visible::before{transform:scaleX(1)}
.pmt-app .pmt-card:focus-visible{outline:2px solid var(--pmt-accent);outline-offset:3px}
.pmt-app .pmt-card .pmt-eyebrow{display:inline-block;margin:0 0 14px;padding:5px 11px;border:1px solid rgba(33,180,166,.38);border-radius:999px;background:rgba(33,180,166,.10);color:var(--pmt-accent);font-size:10.5px;letter-spacing:.14em}
.pmt-app .pmt-card h3{font-size:20px;line-height:1.25;letter-spacing:-.01em;margin:0 0 10px}
.pmt-app .pmt-card h3::after{content:" \2192";color:var(--pmt-accent);display:inline-block;opacity:0;transform:translateX(-6px);transition:opacity .22s ease,transform .22s ease}
.pmt-app .pmt-card:hover h3::after{opacity:1;transform:translateX(0)}
.pmt-app .pmt-card p{margin:0;font-size:14.5px;line-height:1.6;opacity:.78}
.pmt-app .pmt-seo h2{margin-top:34px}
@media(prefers-reduced-motion:reduce){
  .pmt-app .pmt-card,.pmt-app .pmt-card::before,.pmt-app .pmt-card h3::after{transition:none}
  .pmt-app .pmt-card:hover{transform:none}
}

/* ---------- newtools result styles ---------- */
.pmt-app{--teal:var(--pmt-accent);--tealdk:var(--pmt-accent-dk);--warn:#F0A72B;--crit:#F0524B;--info:#4C9AFF}
.pmt-app .pmt-result[hidden]{display:none}
.pmt-app .verdict{background:var(--pmt-panel);border:1px solid var(--pmt-edge);border-left:4px solid var(--pmt-accent);border-radius:14px;padding:22px 24px;margin-bottom:18px}
.pmt-app .verdict .eyebrow{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--pmt-accent);margin-bottom:8px}
.pmt-app .verdict h3{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:22px;font-weight:800;color:var(--pmt-head);margin:0 0 10px}
.pmt-app .verdict p{margin:0;font-size:15px;line-height:1.65;opacity:.85}
.pmt-app .cd{background:var(--pmt-panel);border:1px solid var(--pmt-edge);border-radius:14px;padding:22px;margin-bottom:18px}
.pmt-app .tl{margin-bottom:20px}
.pmt-app .tl-bar{position:relative;height:12px;border-radius:100px;overflow:hidden;background:rgba(255,255,255,.07);border:1px solid var(--pmt-edge)}
.pmt-app .tl-seg{position:absolute;top:0;bottom:0}
.pmt-app .tl-you{position:absolute;top:-5px;bottom:-5px;width:3px;background:var(--pmt-head);border-radius:2px;box-shadow:0 0 0 2px var(--pmt-panel)}
.pmt-app .tl-lab{display:flex;justify-content:space-between;margin-top:9px;font-size:11.5px;letter-spacing:.05em;opacity:.7}
.pmt-app .tl-lab span:nth-child(2){color:var(--pmt-accent);font-weight:700;opacity:1}
.pmt-app .stat3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.pmt-app .sx{background:rgba(255,255,255,.04);border:1px solid var(--pmt-edge);border-radius:12px;padding:16px;text-align:center}
.pmt-app .sv{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:26px;font-weight:800;letter-spacing:-.03em;color:var(--pmt-accent);line-height:1.1}
.pmt-app .sl{font-size:11px;letter-spacing:.07em;text-transform:uppercase;opacity:.65;margin-top:5px}
.pmt-app .phase{border-left:2px solid var(--pmt-edge);padding:14px 0 14px 18px;margin-bottom:4px}
.pmt-app .phase.now{border-left-color:var(--pmt-accent);background:linear-gradient(90deg,rgba(33,180,166,.09),transparent 70%)}
.pmt-app .phase b{display:block;font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:15.5px;font-weight:800;color:var(--pmt-head)}
.pmt-app .phase .when{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--pmt-accent);margin:4px 0 7px}
.pmt-app .phase p{margin:0;font-size:14px;line-height:1.6;opacity:.78}
.pmt-app .al{border:1px solid;border-radius:12px;padding:16px 18px;margin-top:14px;font-size:14.5px;line-height:1.6}
.pmt-app .al b{display:block;margin-bottom:6px;font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:15px;font-weight:800}
.pmt-app .al.i{background:rgba(76,154,255,.08);border-color:rgba(76,154,255,.34)}
.pmt-app .al.i b{color:#8FC2FF}
.pmt-app .al.w{background:rgba(240,167,43,.09);border-color:rgba(240,167,43,.38)}
.pmt-app .al.w b{color:#F5C572}
.pmt-app .al.c{background:rgba(240,82,75,.10);border-color:rgba(240,82,75,.42)}
.pmt-app .al.c b{color:#FF9A94}
.pmt-app .al.g{background:rgba(33,180,166,.10);border-color:rgba(33,180,166,.38)}
.pmt-app .al.g b{color:var(--pmt-accent)}
.pmt-app .tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.pmt-app .tab{background:transparent;border:1px solid var(--pmt-edge);color:var(--pmt-text);font-size:13px;font-weight:600;padding:10px 15px;border-radius:9px;cursor:pointer}
.pmt-app .tab.on{background:var(--pmt-accent);border-color:var(--pmt-accent);color:#05231C}
.pmt-app .pn{display:none}
.pmt-app .pn.on{display:block}
.pmt-app .chip{display:inline-block;background:rgba(255,255,255,.04);border:1px solid var(--pmt-edge);border-radius:100px;padding:9px 14px;margin:0 8px 8px 0;font-size:13.5px;cursor:pointer;transition:background .15s,border-color .15s}
.pmt-app .chip.on{background:rgba(33,180,166,.16);border-color:var(--pmt-accent);color:var(--pmt-head)}
@media(max-width:640px){
  .pmt-app .stat3{grid-template-columns:1fr}
}
