/* Rating cards for SendToGhostRanking (generated from utils.GhostRankingCSS) */
.pt-rank{--pt-accent:var(--rk-accent,var(--ghost-accent-color,#ff5a36));--pt-on-accent:var(--rk-on-accent,#fff);--pt-line:var(--rk-line,rgba(127,127,127,.22));--pt-soft:var(--rk-soft,rgba(127,127,127,.07));--pt-surface:var(--rk-surface,transparent);--pt-media:var(--rk-media,#fff);--pt-ring:var(--rk-bg,transparent);--pt-radius:var(--rk-radius,16px);--pt-shadow:var(--rk-shadow,0 1px 2px rgba(0,0,0,.05));--pt-shadow-hover:var(--rk-shadow-hover,0 18px 40px -20px rgba(0,0,0,.35));--pt-star:#f5a623;--pt-tier:var(--pt-accent)}
.pt-rank[data-tier=excellent],.pt-rank [data-tier=excellent]{--pt-tier:var(--rk-excellent,#0f9d76)}
.pt-rank[data-tier=great],.pt-rank [data-tier=great]{--pt-tier:var(--rk-great,#2f7de1)}
.pt-rank[data-tier=good],.pt-rank [data-tier=good]{--pt-tier:var(--rk-good,#d98a0b)}
.pt-rank,.pt-rank *{box-sizing:border-box}
.pt-rank p,.pt-rank ul,.pt-rank ol,.pt-rank h3{margin:0}
.pt-rank img{display:block;max-width:100%;margin:0;border-radius:0;box-shadow:none}

.pt-rank .pt-num{display:inline-grid;place-items:center;flex:none;min-width:1.9em;height:1.9em;padding:0 .45em;border-radius:999px;background:var(--pt-accent);color:var(--pt-on-accent);font-size:.78em;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
.pt-rank[data-rank="1"] .pt-num,.pt-rank [data-rank="1"] .pt-num{background:linear-gradient(135deg,#f9d25c,#d98f00);color:#3b2a00}
.pt-rank[data-rank="2"] .pt-num,.pt-rank [data-rank="2"] .pt-num{background:linear-gradient(135deg,#dfe5ec,#8d99a6);color:#1d2530}
.pt-rank[data-rank="3"] .pt-num,.pt-rank [data-rank="3"] .pt-num{background:linear-gradient(135deg,#f0bb8a,#ad6a2f);color:#3a1d05}
.pt-rank .pt-ph{color:var(--pt-accent);font-size:1.4em;font-weight:800;line-height:1}

/* At a glance */
.pt-rank.pt-glance{overflow:hidden;border:1px solid var(--pt-line);border-radius:var(--pt-radius);background:var(--pt-surface);box-shadow:var(--pt-shadow)}
.pt-rank .pt-glance-list{margin:0;padding:0;list-style:none}
.pt-rank .pt-glance-item{display:flex;flex-wrap:wrap;align-items:center;gap:.7em 1em;margin:0;padding:.95em 1.15em;border-top:1px solid var(--pt-line);line-height:1.35}
.pt-rank .pt-glance-item:first-child{border-top:0}
.pt-rank .pt-glance-item[data-rank="1"]{background:color-mix(in srgb,var(--pt-accent) 7%,transparent)}
.pt-rank .pt-glance-thumb{position:relative;flex:none;display:grid;place-items:center;width:4.2em;height:4.2em;padding:.35em;border:1px solid var(--pt-line);border-radius:12px;background:var(--pt-media);text-decoration:none}
.pt-rank .pt-glance-thumb img{width:100%;height:100%;object-fit:contain}
.pt-rank .pt-glance-thumb .pt-num{position:absolute;top:-.6em;left:-.6em;box-shadow:0 0 0 3px var(--pt-ring)}
.pt-rank .pt-glance-main{flex:1;display:flex;flex-direction:column;gap:.2em;min-width:0}
.pt-rank .pt-glance-label{color:var(--pt-accent);font-size:.7em;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.pt-rank .pt-glance-name{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:inherit;font-weight:700;text-decoration:none}
.pt-rank a.pt-glance-name:hover{color:var(--pt-accent)}
.pt-rank .pt-glance-meta{display:flex;flex-wrap:wrap;gap:.15em .5em;font-size:.82em}
.pt-rank .pt-glance-meta>span{opacity:.72}
.pt-rank .pt-glance-meta>span+span::before{content:"·";margin-right:.5em}
.pt-rank .pt-glance-meta .pt-glance-price{font-weight:700;opacity:1}
.pt-rank .pt-glance-score{flex:none;display:flex;align-items:baseline;gap:.1em;padding:.35em .6em;border-radius:10px;background:color-mix(in srgb,var(--pt-tier) 14%,transparent);color:var(--pt-tier);font-variant-numeric:tabular-nums}
.pt-rank .pt-glance-score strong{font-weight:800}
.pt-rank .pt-glance-score small{font-size:.72em;font-weight:600;opacity:.8}
.pt-rank .pt-glance-cta{flex:none;padding:.6em 1.15em;border-radius:999px;background:transparent;box-shadow:inset 0 0 0 1.5px var(--pt-accent);color:var(--pt-accent);font-size:.85em;font-weight:700;line-height:1.2;text-align:center;text-decoration:none;white-space:nowrap;transition:background .15s,color .15s,transform .15s}
.pt-rank .pt-glance-item[data-rank="1"] .pt-glance-cta,.pt-rank .pt-glance-cta:hover{background:var(--pt-accent);color:var(--pt-on-accent)}
.pt-rank .pt-glance-cta:hover{transform:translateY(-1px)}

/* Tip */
.pt-rank.pt-tip{display:flex;align-items:flex-start;gap:.8em;padding:1.05em 1.25em;border:1px solid color-mix(in srgb,var(--pt-accent) 28%,transparent);border-radius:var(--pt-radius);background:color-mix(in srgb,var(--pt-accent) 7%,transparent)}
.pt-rank .pt-tip-icon{font-size:1.3em;line-height:1.3}

/* Pick cards */
.pt-rank.pt-pick{position:relative;padding:1.6em;border:1px solid var(--pt-line);border-radius:var(--pt-radius);background:var(--pt-surface);box-shadow:var(--pt-shadow);scroll-margin-top:96px;transition:box-shadow .2s}
.pt-rank.pt-pick:hover{box-shadow:var(--pt-shadow-hover)}
.pt-rank.pt-pick[data-rank="1"]{border-color:var(--pt-accent);box-shadow:0 0 0 1px var(--pt-accent),var(--pt-shadow)}
.pt-rank.pt-pick[data-rank="1"]:hover{box-shadow:0 0 0 1px var(--pt-accent),var(--pt-shadow-hover)}
.pt-rank .pt-ribbon{position:absolute;top:0;left:1.4em;transform:translateY(-50%);display:inline-flex;align-items:center;gap:.4em;padding:.4em .85em;border-radius:999px;background:var(--pt-accent);color:var(--pt-on-accent);font-size:.72em;font-weight:800;letter-spacing:.06em;line-height:1.2;text-transform:uppercase;white-space:nowrap}
.pt-rank .pt-ribbon[data-kind=runner-up]{background:color-mix(in srgb,var(--pt-accent) 70%,#111)}
.pt-rank .pt-ribbon[data-kind=budget]{background:var(--rk-excellent,#0f9d76)}
.pt-rank .pt-pick-head{display:flex;align-items:center;gap:1em}
.pt-rank .pt-pick-head>.pt-num{min-width:2.4em;height:2.4em;font-size:.95em}
.pt-rank .pt-pick-heading{flex:1;min-width:0}
.pt-rank .pt-pick-title{margin:0;font-size:1.35em;font-weight:800;line-height:1.25;letter-spacing:-.01em}
.pt-rank .pt-pick-sub{display:flex;flex-wrap:wrap;align-items:center;gap:.45em .75em;margin-top:.45em;font-size:.88em}
.pt-rank .pt-chip{display:inline-flex;padding:.25em .75em;border:1px solid var(--pt-line);border-radius:999px;background:var(--pt-soft);font-size:.9em;font-weight:600;line-height:1.3}
.pt-rank .pt-stars{font-size:1.05em;line-height:1;letter-spacing:.06em;background:linear-gradient(90deg,var(--pt-star) var(--pt-p,0%),rgba(127,127,127,.35) var(--pt-p,0%));-webkit-background-clip:text;background-clip:text;color:transparent}
.pt-rank .pt-stars-label{opacity:.7;font-variant-numeric:tabular-nums}
.pt-rank .pt-score{position:relative;flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;width:4.4em;height:4.4em;color:var(--pt-tier);line-height:1}
.pt-rank .pt-score::before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(var(--pt-tier) var(--pt-p,0%),var(--pt-line) 0);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 4px));mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 4px))}
.pt-rank .pt-score strong{font-size:1.3em;font-weight:800;font-variant-numeric:tabular-nums}
.pt-rank .pt-score small{margin-top:.25em;font-size:.56em;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.pt-rank .pt-pick-body{display:grid;grid-template-columns:minmax(0,200px) 1fr;align-items:start;gap:1.4em;margin-top:1.2em}
.pt-rank .pt-media{display:grid;place-items:center;overflow:hidden;aspect-ratio:1;padding:.9em;border:1px solid var(--pt-line);border-radius:12px;background:var(--pt-media)}
.pt-rank .pt-media img{width:100%;height:100%;object-fit:contain;transition:transform .3s}
.pt-rank a.pt-media:hover img{transform:scale(1.05)}
.pt-rank .pt-media-ph{background:var(--pt-soft)}
.pt-rank .pt-media-ph .pt-ph{font-size:3em}
.pt-rank .pt-features{display:grid;gap:.6em;padding:0;list-style:none}
.pt-rank .pt-features li{position:relative;margin:0;padding-left:1.75em;line-height:1.5}
.pt-rank .pt-features li::before{content:"✓";position:absolute;top:.2em;left:0;width:1.3em;height:1.3em;border-radius:50%;background:color-mix(in srgb,var(--pt-accent) 15%,transparent);color:var(--pt-accent);font-size:.82em;font-weight:900;line-height:1.3em;text-align:center}
.pt-rank .pt-pick-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.8em;margin-top:1.25em;padding-top:1.1em;border-top:1px dashed var(--pt-line)}
.pt-rank .pt-price{display:flex;flex-direction:column;font-size:1.2em;font-weight:800;line-height:1.2;font-variant-numeric:tabular-nums}
.pt-rank .pt-price small{font-size:.58em;font-weight:600;letter-spacing:.06em;text-transform:uppercase;opacity:.6}
.pt-rank .pt-cta{display:inline-flex;align-items:center;justify-content:center;gap:.4em;margin-left:auto;padding:.8em 1.6em;border-radius:999px;background:var(--pt-accent);color:var(--pt-on-accent);font-weight:700;line-height:1.2;text-decoration:none;transition:transform .15s,filter .15s,box-shadow .15s}
.pt-rank .pt-cta:hover{color:var(--pt-on-accent);filter:brightness(1.07);transform:translateY(-1px);box-shadow:0 8px 20px -10px var(--pt-accent)}

/* Article tables + disclosure */
.pt-rank.pt-table{overflow-x:auto;border:1px solid var(--pt-line);border-radius:12px}
.pt-rank.pt-table table.pt-t{display:table;width:100%;max-width:none;margin:0;border-collapse:collapse;background:none;font-size:.92em;white-space:normal}
.pt-rank.pt-table .pt-t th,.pt-rank.pt-table .pt-t td{padding:.75em .95em;border:0;border-bottom:1px solid var(--pt-line);text-align:left;vertical-align:top}
.pt-rank.pt-table .pt-t th{background:var(--pt-soft);font-weight:700}
.pt-rank.pt-table .pt-t tr:last-child td{border-bottom:0}
.pt-rank.pt-disclosure{font-size:.85em;opacity:.75}

@media (max-width:640px){
.pt-rank .pt-glance-item{gap:.6em .85em;padding:.95em}
.pt-rank .pt-glance-thumb{width:3.6em;height:3.6em}
.pt-rank .pt-glance-main{flex-basis:calc(100% - 4.45em)}
.pt-rank .pt-glance-name{-webkit-line-clamp:3}
.pt-rank .pt-glance-meta{flex-direction:column;gap:0}
.pt-rank .pt-glance-meta>span+span::before{content:none}
.pt-rank .pt-glance-score{margin-left:4.45em}
.pt-rank .pt-glance-cta{margin-left:auto}
.pt-rank.pt-pick{padding:1.5em 1.1em 1.2em}
.pt-rank .pt-pick-head{align-items:flex-start}
.pt-rank .pt-pick-title{font-size:1.18em}
.pt-rank .pt-score{width:3.8em;height:3.8em}
.pt-rank .pt-pick-body{grid-template-columns:1fr}
.pt-rank .pt-media{width:100%;max-width:240px;margin:0 auto}
.pt-rank .pt-cta{width:100%}
}
@media (prefers-reduced-motion:reduce){.pt-rank *{transition:none!important}}
