/* ─── ROOT ─────────────────────────────────────────────── */
:root {
  --void:    #060A12;
  --court:   #0D1524;
  --panel:   #111E30;
  --glass:   #162436;
  --border:  rgba(255,255,255,0.08);
  --border2: rgba(255,255,255,0.16);
  --gold:    #E8A020;
  --gold-lt: #F5C96A;
  --dynasty: #6C63FF;
  --signal:  #00BFA5;
  --roll20:  #FF8C00;
  --raw:     rgba(255,92,92,0.55);
  --danger:  #FF4D6D;
  --success: #10E97C;
  --txt:     #F0EDE8;
  --txt-2:   #8A9BB0;
  --txt-dim: #4A5C70;
  /* pixel fonts */
  --f-pixel: 'Silkscreen', monospace;
  --f-score: 'VT323', monospace;
  --f-body:  'DM Sans', system-ui, sans-serif;
  --f-mono:  'Roboto Mono', 'Courier New', monospace;
  --r: 4px; --rlg: 10px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{background:var(--void);color:var(--txt);font-family:var(--f-body);font-size:14px;line-height:1.5}
a{color:inherit;text-decoration:none}

/* ─── TOPBAR ─────────────────────────────────────────── */
.dhq-topbar{
  position:sticky;top:0;z-index:200;
  background:rgba(6,10,18,0.94);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--border2);
  padding:0 28px;height:58px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
}
.dhq-brand{display:flex;align-items:center;gap:12px}
.dhq-orb{
  width:34px;height:34px;border-radius:50%;flex-shrink:0;
  background:radial-gradient(circle at 32% 28%,#F5C96A 0%,#E8A020 45%,#8B4000 55%,#1a0800 70%);
  border:2px solid rgba(255,255,255,0.22);
  box-shadow:0 0 14px rgba(232,160,32,0.45),inset 0 -2px 5px rgba(0,0,0,0.5);
}
/* Site logo replaces orb if present */
.dhq-site-logo{width:42px;height:42px;object-fit:contain;flex-shrink:0}
.dhq-brand-text{
  font-family:var(--f-pixel);font-size:14px;letter-spacing:1px;
  color:var(--gold);text-transform:uppercase;line-height:1.2;
}
.dhq-version-badge{
  background:var(--dynasty);color:#fff;
  font-family:var(--f-pixel);font-size:9px;font-weight:700;letter-spacing:1px;
  padding:3px 8px;border-radius:3px;
}
.dhq-nav{display:flex;gap:24px;align-items:center}
.dhq-nav a{font-family:var(--f-pixel);font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--txt-2);transition:color .15s}
.dhq-nav a:hover{color:var(--gold)}
.dhq-nav-admin{color:var(--txt-dim)!important}

/* ─── HERO ────────────────────────────────────────────── */
.dhq-hero{
  background:linear-gradient(150deg,#0D1524 0%,#0A1420 40%,#060A12 100%);
  border-bottom:1px solid var(--border2);
  padding:44px 32px 0;position:relative;overflow:hidden;
}
.dhq-hero::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 70% 50%,rgba(108,99,255,.12) 0%,transparent 60%),
             radial-gradient(ellipse at 20% 80%,rgba(232,160,32,.08) 0%,transparent 50%);
  pointer-events:none;
}
.dhq-hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,transparent,var(--dynasty),var(--gold),var(--signal),transparent)}
.dhq-hero-grid{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:start;max-width:1600px;margin:0 auto;position:relative}
.dhq-kicker{font-family:var(--f-pixel);font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.dhq-hero-title{font-family:var(--f-pixel);font-size:48px;line-height:1.1;letter-spacing:2px;color:var(--txt);margin-bottom:14px;text-transform:uppercase}
.dhq-hero-title span{color:var(--dynasty)}
.dhq-hero-desc{font-size:13px;color:var(--txt-2);max-width:560px;line-height:1.7;margin-bottom:28px}
.dhq-hero-stats{display:flex;flex-direction:column;gap:0;align-items:flex-end}
.dhq-hero-stat{text-align:right;padding:8px 0;border-bottom:1px solid var(--border)}
.dhq-hero-stat span{display:block;font-family:var(--f-score);font-size:48px;color:var(--gold);line-height:1}
.dhq-hero-stat em{font-style:normal;font-family:var(--f-pixel);font-size:9px;letter-spacing:2px;color:var(--txt-dim);text-transform:uppercase}

/* ─── CONTROLS BAR ────────────────────────────────────── */
.dhq-controls-bar{display:flex;gap:10px;align-items:center;padding:14px 0;max-width:1600px;margin:0 auto;flex-wrap:wrap;position:relative}
.dhq-search-input,.dhq-select,.dhq-input-sm,.dhq-select-sm{
  background:rgba(255,255,255,0.05);border:1px solid var(--border2);color:var(--txt);
  font-family:var(--f-pixel);font-size:10px;padding:9px 12px;border-radius:var(--r);outline:none;transition:border-color .15s,background .15s;
}
.dhq-search-input{flex:1;min-width:180px;max-width:300px;padding-left:34px;
  background:rgba(255,255,255,0.05) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 24 24' fill='none' stroke='%238A9BB0' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") no-repeat 11px center}
.dhq-search-input:focus,.dhq-select:focus{border-color:var(--dynasty);background:rgba(108,99,255,0.06)}
.dhq-filter-form{display:flex;gap:8px}
.dhq-compare-btn,.dhq-btn{
  background:var(--dynasty);color:#fff;border:none;
  font-family:var(--f-pixel);font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;
  padding:10px 16px;border-radius:var(--r);cursor:pointer;transition:opacity .15s;
  display:inline-flex;align-items:center;gap:8px;
}
.dhq-compare-btn:disabled{opacity:.35;cursor:not-allowed}
.dhq-compare-btn:not(:disabled):hover{opacity:.85}

/* ─── SHELL ───────────────────────────────────────────── */
.dhq-shell{max-width:1640px;margin:0 auto;padding:24px 20px 80px}

/* ─── PANEL ───────────────────────────────────────────── */
.dhq-panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--rlg);padding:22px;margin-bottom:18px;position:relative;overflow:hidden}
.dhq-panel-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:16px}
.dhq-panel h2,.dhq-panel-header h2{font-family:var(--f-pixel);font-size:16px;letter-spacing:1px;text-transform:uppercase;color:var(--txt);margin-bottom:14px}
.dhq-panel-header h2{margin-bottom:0}

/* ─── RANKINGS TABLE ──────────────────────────────────── */
/* KEY FIX: overflow:auto + max-height so sticky thead works inside scroll container */
.dhq-rankings-wrap{
  border:1px solid var(--border);border-radius:var(--rlg);
  overflow:auto;max-height:78vh;
  background:var(--panel);
}
.dhq-rank-table{width:100%;min-width:1440px;border-collapse:collapse}
.dhq-rank-table thead tr{background:var(--glass);border-bottom:2px solid var(--border2)}
.dhq-rank-table th{
  position:sticky;top:0;z-index:3;background:var(--glass);
  font-family:var(--f-pixel);font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;
  color:var(--txt-2);padding:9px 7px;text-align:left;white-space:nowrap;
  cursor:pointer;user-select:none;border-right:1px solid var(--border);transition:color .15s;
}
.dhq-rank-table th:hover{color:var(--gold)}
.dhq-th-dynasty{color:var(--dynasty)!important}
.dhq-th-signal{color:var(--signal)!important}
.dhq-th-cmp{width:32px}
.dhq-player-row{
  background:linear-gradient(90deg,var(--tc-a) 0px,var(--tc-a) 4px,color-mix(in srgb,var(--tc-a) 8%,var(--panel)) 4px 100%);
  border-bottom:1px solid var(--border);transition:filter .1s;
}
.dhq-player-row:hover{filter:brightness(1.12)}
.dhq-rank-table td{padding:7px 7px;white-space:nowrap;font-family:var(--f-mono);font-size:11px;border-right:1px solid rgba(255,255,255,0.04);vertical-align:middle}
.dhq-td-rank{text-align:center}
.dhq-rank-badge{font-family:var(--f-score);font-size:22px;color:var(--gold);min-width:26px;display:inline-block}
.dhq-rank-na{color:var(--txt-dim);font-size:16px}
.dhq-player-cell{display:flex;align-items:center;gap:7px;min-width:190px}
.dhq-team-logo-sm,.dhq-logo-badge{width:24px;height:24px;object-fit:contain;flex-shrink:0;opacity:.9}
/* Pixel headshot */
.dhq-headshot-sm{
  width:28px;height:28px;border-radius:50%;object-fit:cover;object-position:top center;
  border:1px solid var(--border2);flex-shrink:0;
  image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;
}
.dhq-player-name-wrap{display:flex;flex-direction:column;gap:2px}
.dhq-player-link{color:var(--txt);font-family:var(--f-body);font-weight:600;font-size:13px;transition:color .15s}
.dhq-player-link:hover{color:var(--gold)}
.dhq-arch-mini{font-family:var(--f-pixel);font-size:8px;letter-spacing:1px;color:var(--txt-dim);text-transform:uppercase}
.dhq-td-dynasty .dhq-dynasty-pill{
  display:inline-block;background:linear-gradient(135deg,rgba(108,99,255,.22),rgba(108,99,255,.10));
  border:1px solid rgba(108,99,255,.4);color:#a8a3ff;
  font-family:var(--f-score);font-size:20px;
  padding:2px 10px;border-radius:3px;min-width:54px;text-align:center;
}
.dhq-td-signal{color:var(--signal);font-family:var(--f-score);font-size:18px}
.dhq-td-age{color:var(--gold-lt)}
.dhq-td-pos{color:var(--txt-2)}
.dhq-compare-check{width:15px;height:15px;accent-color:var(--dynasty);cursor:pointer}
.dhq-table-footer{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;font-family:var(--f-pixel);font-size:9px;color:var(--txt-dim);border-top:1px solid var(--border)}
.dhq-heat-bar{display:inline-block;width:100px;height:10px;background:linear-gradient(90deg,rgb(26,0,102),rgb(107,33,168),rgb(190,24,143),rgb(234,88,112),rgb(253,141,60),rgb(250,204,21),rgb(255,237,74));border-radius:3px;vertical-align:middle;margin-left:6px}

/* ─── DATA TABLE (season / logs) ──────────────────────── */
.dhq-scroll{overflow-x:auto}
.dhq-log-scroll{max-height:460px;overflow-y:auto}
.dhq-data-table{width:100%;border-collapse:collapse;font-family:var(--f-mono);font-size:11px}
.dhq-data-table th{position:sticky;top:0;z-index:2;background:var(--glass);color:var(--txt-2);font-family:var(--f-pixel);font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:8px 6px;border-bottom:1px solid var(--border2);white-space:nowrap;cursor:pointer}
.dhq-data-table td{padding:6px 6px;border-bottom:1px solid var(--border);white-space:nowrap}
.dhq-data-table tr:hover td{background:rgba(255,255,255,0.03)}
.dhq-season-cell{font-family:var(--f-score);font-size:22px;color:var(--gold)}
.dhq-row-ctx-low{opacity:.6}
.dhq-season-empty td{color:var(--txt-dim);font-style:italic}
.dhq-win{color:var(--success);font-weight:700}
.dhq-loss{color:var(--danger)}
.dhq-pos{color:var(--success)}
.dhq-neg{color:var(--danger)}
.dhq-muted{color:var(--txt-dim);font-style:italic}
.dhq-log-controls{display:flex;gap:8px;align-items:center}
.dhq-input-sm,.dhq-select-sm{padding:6px 10px;font-size:10px}
.dhq-log-footer{display:flex;justify-content:space-between;padding:8px 0 0;font-family:var(--f-pixel);font-size:9px;color:var(--txt-dim)}
.dhq-ctx-note{color:var(--roll20)}

/* ─── CHART ───────────────────────────────────────────── */
.dhq-chart-wrap{
  position:relative;background:rgba(0,0,0,0.22);
  border:1px solid var(--border);border-radius:var(--r);
  padding:12px;margin-bottom:14px;
  /* KEY FIX: constrain chart height */
  max-height:280px;
}
.dhq-chart-wrap canvas{max-height:260px!important}
.dhq-compare-chart-wrap .dhq-chart-wrap{max-height:300px}
.dhq-compare-chart-wrap .dhq-chart-wrap canvas{max-height:280px!important}
.dhq-chart-toolbar{display:flex;gap:6px;flex-wrap:wrap}
.dhq-chart-btn{
  font-family:var(--f-pixel);font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;
  padding:5px 11px;border:1px solid var(--border2);border-radius:20px;background:transparent;color:var(--txt-2);cursor:pointer;transition:all .15s;
}
.dhq-chart-btn.active,.dhq-chart-btn:hover{background:rgba(255,255,255,0.07);color:var(--txt)}
.dhq-chart-btn[data-curve="dynasty"].active{border-color:var(--dynasty);color:var(--dynasty)}
.dhq-chart-btn[data-curve="signal"].active{border-color:var(--signal);color:var(--signal)}
.dhq-chart-btn[data-curve="roll20"].active{border-color:var(--roll20);color:var(--roll20)}
.dhq-chart-btn[data-curve="raw"].active{border-color:#FF5C5C;color:#FF5C5C}
.dhq-curve-legend{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}
.dhq-legend-item{display:flex;gap:10px;align-items:flex-start;padding:10px;background:rgba(0,0,0,0.18);border-radius:var(--r);border:1px solid var(--border);cursor:pointer;transition:border-color .15s}
.dhq-legend-item:hover{border-color:var(--border2)}
.dhq-legend-dot{width:11px;height:11px;border-radius:50%;flex-shrink:0;margin-top:2px}
.dhq-legend-item strong{font-family:var(--f-pixel);font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;display:block;margin-bottom:3px;color:var(--txt)}
.dhq-legend-item p{font-size:11px;color:var(--txt-2);line-height:1.5}

/* ─── PROFILE HERO ────────────────────────────────────── */
.dhq-profile-hero{
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,color-mix(in srgb,var(--tc-a) 22%,var(--void)) 0%,var(--void) 60%);
  border-bottom:1px solid var(--border2);padding:44px 32px 32px;
}
.dhq-profile-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 80% 30%,color-mix(in srgb,var(--tc-a) 12%,transparent) 0%,transparent 50%),radial-gradient(ellipse at 10% 80%,rgba(108,99,255,.08) 0%,transparent 50%);pointer-events:none}
.dhq-profile-hero-inner{max-width:1300px;margin:0 auto;position:relative}
.dhq-back{display:inline-flex;align-items:center;gap:5px;font-family:var(--f-pixel);font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--txt-2);margin-bottom:20px;transition:color .15s}
.dhq-back:hover{color:var(--gold)}
.dhq-profile-identity{display:flex;gap:20px;align-items:flex-end;margin-bottom:24px}
.dhq-profile-team-logo{width:64px;height:64px;object-fit:contain;opacity:.88;filter:drop-shadow(0 4px 10px rgba(0,0,0,.5))}
/* Profile photo pixel effect */
.dhq-profile-photo{
  width:100px;height:100px;border-radius:50%;object-fit:cover;object-position:top center;
  border:3px solid color-mix(in srgb,var(--tc-b,#445566) 60%,rgba(255,255,255,.25));
  box-shadow:0 6px 28px rgba(0,0,0,.55);
  image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;
  /* CSS-level pixelation: render at natural size but with chunky upscale look */
}
.dhq-archetype-label{font-family:var(--f-pixel);font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.dhq-profile-name{font-family:var(--f-pixel);font-size:32px;letter-spacing:1px;line-height:1.1;color:var(--txt);margin-bottom:12px;text-transform:uppercase}
.dhq-profile-meta-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.dhq-badge-team,.dhq-badge-pos,.dhq-badge-age,.dhq-badge-exp{font-family:var(--f-pixel);font-size:9px;font-weight:700;padding:3px 9px;border-radius:3px;letter-spacing:1px}
.dhq-badge-team{color:#fff}
.dhq-badge-pos{background:rgba(255,255,255,.09);border:1px solid var(--border2);color:var(--txt)}
.dhq-badge-age{background:rgba(232,160,32,.14);border:1px solid rgba(232,160,32,.38);color:var(--gold)}
.dhq-badge-exp{background:rgba(255,255,255,.05);border:1px solid var(--border);color:var(--txt-2)}
.dhq-id-strip{display:flex;gap:6px;flex-wrap:wrap}
.dhq-id-strip span{font-family:var(--f-mono);font-size:9px;color:var(--txt-dim);border:1px solid var(--border);padding:2px 6px;border-radius:2px}
.dhq-profile-scores{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.dhq-score-card{background:rgba(0,0,0,.38);border:1px solid var(--border);border-radius:var(--rlg);padding:14px;backdrop-filter:blur(8px)}
.dhq-score-label{font-family:var(--f-pixel);font-size:8px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--txt-dim);margin-bottom:4px}
.dhq-score-val{font-family:var(--f-score);font-size:42px;line-height:1;margin-bottom:2px}
.dhq-score-note{font-size:10px;color:var(--txt-dim)}
.dhq-score-dynasty .dhq-score-val{color:var(--dynasty)}
.dhq-score-signal  .dhq-score-val{color:var(--signal)}
.dhq-score-momentum .dhq-score-val{color:var(--roll20)}
.dhq-score-age .dhq-score-val{color:var(--gold)}

/* ─── TWO-COL ─────────────────────────────────────────── */
.dhq-two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
.dhq-build-layout{display:flex;gap:18px;align-items:flex-start}
.dhq-build-copy{flex:1}
.dhq-arch-label{font-family:var(--f-pixel);font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--txt-dim);margin-bottom:3px}
.dhq-archetype-display h3{font-family:var(--f-pixel);font-size:18px;letter-spacing:1px;text-transform:uppercase;color:var(--dynasty);margin-bottom:12px}
.dhq-build-copy p{font-size:12px;color:var(--txt-2);margin-bottom:6px}
.dhq-build-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}
.dhq-tag{background:rgba(108,99,255,.14);border:1px solid rgba(108,99,255,.33);color:#a8a3ff;font-family:var(--f-pixel);font-size:8px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:3px 9px;border-radius:20px}

/* ─── SIMILAR ─────────────────────────────────────────── */
.dhq-similar-list{display:flex;flex-direction:column;gap:7px}
.dhq-similar-row{display:flex;align-items:center;gap:10px;padding:9px 11px;background:rgba(0,0,0,.18);border:1px solid var(--border);border-left:3px solid var(--stc);border-radius:var(--r);transition:background .15s}
.dhq-similar-row:hover{background:rgba(255,255,255,.04)}
.dhq-sim-head{width:30px;height:30px;border-radius:50%;object-fit:cover;object-position:top;image-rendering:pixelated}
.dhq-sim-info{flex:1;display:flex;flex-direction:column;gap:2px}
.dhq-sim-info strong{color:var(--txt);font-size:12px}
.dhq-sim-info span{color:var(--txt-dim);font-size:10px;font-family:var(--f-pixel)}
.dhq-sim-pts{font-family:var(--f-score);font-size:18px;color:var(--gold)}

/* ─── COMPARE ─────────────────────────────────────────── */
.dhq-page-head{margin-bottom:22px}
.dhq-page-head h1{font-family:var(--f-pixel);font-size:24px;letter-spacing:2px;text-transform:uppercase}
.dhq-subtitle-sm{font-size:12px;color:var(--txt-2);margin-top:4px}
.dhq-compare-header-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.dhq-compare-player-tag{display:flex;align-items:center;gap:9px;padding:9px 14px;background:rgba(0,0,0,.28);border:1px solid var(--border);border-left:4px solid var(--tc);border-radius:var(--r)}
.dhq-compare-head{width:34px;height:34px;border-radius:50%;object-fit:cover;object-position:top;image-rendering:pixelated}
.dhq-compare-player-tag strong{display:block;font-size:13px}
.dhq-compare-player-tag span{font-family:var(--f-pixel);font-size:9px;color:var(--txt-dim)}
.dhq-compare-chart-wrap{background:var(--panel);border:1px solid var(--border);border-radius:var(--rlg);padding:22px;margin-bottom:18px}
.dhq-compare-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.dhq-compare-col{background:var(--panel);border:1px solid var(--border);border-top:3px solid var(--tc);border-radius:var(--rlg);padding:16px}
.dhq-compare-col h3{font-family:var(--f-pixel);font-size:14px;letter-spacing:1px;margin-bottom:12px;text-transform:uppercase}
.dhq-cstat-list{display:flex;flex-direction:column;gap:5px}
.dhq-cstat{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--border)}
.dhq-cstat-label{font-family:var(--f-pixel);font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--txt-dim)}
.dhq-cstat-val{font-family:var(--f-score);font-size:22px;color:var(--gold);line-height:1}
.dhq-cstat-arch{border-bottom:none;margin-top:4px}
.dhq-cstat-arch-label{font-family:var(--f-pixel);font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--dynasty)}

/* ─── EMPTY STATES ────────────────────────────────────── */
.dhq-empty-state{text-align:center;padding:70px 20px}
.dhq-empty-icon{font-size:56px;margin-bottom:18px;opacity:.55}
.dhq-empty-state h2{font-family:var(--f-pixel);font-size:22px;letter-spacing:2px;color:var(--txt-2);margin-bottom:10px}
.dhq-empty-state p{color:var(--txt-dim);margin-bottom:22px;font-size:13px}
.dhq-empty-note{font-size:12px;color:var(--txt-dim);font-style:italic}

/* ─── SORTABLE INDICATORS ─────────────────────────────── */
.dhq-sortable th.sort-asc::after{content:' ↑';color:var(--gold)}
.dhq-sortable th.sort-desc::after{content:' ↓';color:var(--gold)}

/* ─── RESPONSIVE ──────────────────────────────────────── */
@media(max-width:900px){
  .dhq-hero-grid{grid-template-columns:1fr}
  .dhq-hero-title{font-size:32px}
  .dhq-profile-scores{grid-template-columns:1fr 1fr}
  .dhq-two-col{grid-template-columns:1fr}
  .dhq-curve-legend{grid-template-columns:1fr}
  .dhq-profile-identity{flex-wrap:wrap}
  .dhq-brand-text{font-size:12px}
}
@media(max-width:600px){
  .dhq-topbar{padding:0 14px}
  .dhq-hero{padding:24px 14px 0}
  .dhq-shell{padding:14px 10px 60px}
  .dhq-hero-title{font-size:24px}
  .dhq-profile-name{font-size:22px}
  .dhq-profile-scores{grid-template-columns:1fr 1fr}
  .dhq-controls-bar{flex-wrap:wrap}
}

/* ─── CONTRACT SECTION ───────────────────────────────────── */
.dhq-contract-grid{display:grid;grid-template-columns:repeat(4,1fr) 2fr;gap:10px}
.dhq-contract-card{background:rgba(0,0,0,0.2);border:1px solid var(--border);border-radius:var(--r);padding:12px}
.dhq-contract-card-wide{grid-column:span 2}
.dhq-clabel{font-family:var(--f-pixel);font-size:8px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--txt-dim);margin-bottom:6px}
.dhq-cval{font-family:var(--f-score);font-size:28px;color:var(--gold);line-height:1}
.dhq-cval-impact.positive{color:var(--success)}
.dhq-cval-impact.negative{color:var(--danger)}
.dhq-cval-impact{font-size:14px;font-family:var(--f-pixel);font-size:11px}
.dhq-contract-note{font-size:12px;color:var(--txt-2);line-height:1.6}
@media(max-width:900px){.dhq-contract-grid{grid-template-columns:1fr 1fr;}.dhq-contract-card-wide{grid-column:span 2}}

/* ─── BUILD PROFILE LAYOUT FIX ──────────────────────────── */
/* Fix layout: radar left, content right, no overlap */
.dhq-build-layout{display:grid;grid-template-columns:200px 1fr;gap:24px;align-items:start}
.dhq-build-radar{flex-shrink:0}
.dhq-archetype-display{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}
.dhq-arch-badge{
  display:inline-block;margin-bottom:8px;
  font-family:var(--f-pixel);font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  color:var(--txt-dim);
}
.dhq-archetype-display h3{
  font-family:var(--f-pixel);font-size:16px;letter-spacing:1px;text-transform:uppercase;
  color:var(--dynasty);line-height:1.3;margin-bottom:8px;
}

/* Similar archetypes: show 3 stats */
.dhq-sim-stats{display:flex;gap:8px;margin-left:auto}
.dhq-sim-stats span{font-family:var(--f-score);font-size:16px;color:var(--gold-lt);white-space:nowrap}

/* ─── MOBILE IMPROVEMENTS ────────────────────────────────── */
/* Base font larger on mobile */
@media(max-width:768px){
  body{font-size:15px}
  
  /* Rankings table: sticky first 3 cols, scroll rest */
  .dhq-rankings-wrap{max-height:none;overflow-x:auto}
  .dhq-rank-table{min-width:900px}
  
  /* Larger table rows for touch */
  .dhq-rank-table td{padding:10px 8px;font-size:12px}
  .dhq-rank-table th{padding:11px 8px;font-size:10px}
  
  /* Hide z-score columns on mobile */
  .dhq-th-v,.dhq-rank-table td:nth-child(n+20){display:none}
  
  /* Wider player cell */
  .dhq-player-cell{min-width:160px}
  
  /* Hero */
  .dhq-hero{padding:20px 14px 0}
  .dhq-hero-title{font-size:28px;line-height:1.2}
  .dhq-hero-grid{grid-template-columns:1fr;gap:16px}
  .dhq-hero-stats{flex-direction:row;align-items:flex-start;gap:16px}
  .dhq-hero-stat span{font-size:32px}
  
  /* Controls: stack */
  .dhq-controls-bar{gap:8px}
  .dhq-search-input{max-width:100%;min-width:0;flex:1}
  .dhq-filter-form{flex-wrap:wrap;gap:6px}
  .dhq-select{font-size:11px;padding:8px 10px}
  
  /* Compare btn full width */
  .dhq-compare-btn{flex:1;justify-content:center}
  
  /* Profile hero: stack identity */
  .dhq-profile-hero{padding:20px 14px 20px}
  .dhq-profile-identity{flex-wrap:wrap;gap:12px}
  .dhq-profile-name{font-size:22px}
  .dhq-profile-scores{grid-template-columns:1fr 1fr;gap:8px}
  .dhq-score-val{font-size:32px}
  
  /* Build profile: stack on mobile */
  .dhq-build-layout{grid-template-columns:1fr;gap:16px}
  .dhq-build-radar{text-align:center}
  .dhq-two-col{grid-template-columns:1fr}
  
  /* Curve legend: single col */
  .dhq-curve-legend{grid-template-columns:1fr}
  
  /* Panels */
  .dhq-panel{padding:16px}
  .dhq-shell{padding:12px 10px 60px}
  
  /* Season table: scroll */
  .dhq-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .dhq-data-table td,.dhq-data-table th{padding:8px 6px;font-size:11px}
  
  /* Log table: show fewer cols on mobile */
  .dhq-log-table th:nth-child(n+14),
  .dhq-log-table td:nth-child(n+14){display:none}
  
  /* Topbar */
  .dhq-topbar{height:52px;padding:0 12px}
  .dhq-brand-text{font-size:11px}
  .dhq-version-badge{display:none}
  
  /* Card row: make rows bigger for finger targets */
  .dhq-similar-row{padding:12px}
  .dhq-contract-grid{grid-template-columns:1fr 1fr}
  .dhq-contract-card-wide{grid-column:span 2}
}

/* Extra small screens */
@media(max-width:480px){
  .dhq-profile-scores{grid-template-columns:1fr 1fr}
  .dhq-rank-table{min-width:700px}
  /* Hide more columns */
  .dhq-rank-table td:nth-child(n+16),
  .dhq-rank-table th:nth-child(n+16){display:none}
  .dhq-hero-title{font-size:22px}
  .dhq-profile-name{font-size:18px}
}

/* ─── REBUILD: BUILD PROFILE ─────────────────────────────── */
.dhq-build-panel .dhq-build-new{display:grid;grid-template-columns:200px 1fr;gap:24px;align-items:start}
.dhq-build-left{display:flex;flex-direction:column;align-items:center;gap:10px}
.dhq-radar-wrap{width:170px;height:170px}
.dhq-arch-pill{
  font-family:var(--f-pixel);font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;
  background:rgba(108,99,255,0.18);border:1px solid rgba(108,99,255,0.45);
  color:var(--dynasty);padding:5px 12px;border-radius:20px;text-align:center;width:100%;
}
.dhq-build-right{display:flex;flex-direction:column;gap:16px}
.dhq-dim-bars{display:flex;flex-direction:column;gap:9px}
.dhq-dim-row{display:grid;grid-template-columns:90px 1fr 32px;gap:8px;align-items:center}
.dhq-dim-label{font-family:var(--f-pixel);font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--txt-2)}
.dhq-dim-bar-track{background:rgba(255,255,255,0.07);border-radius:3px;height:8px;overflow:hidden}
.dhq-dim-bar-fill{height:100%;border-radius:3px;transition:width 0.6s ease}
.dhq-dim-pct{font-family:var(--f-mono);font-size:10px;color:var(--txt-dim);text-align:right}
.dhq-build-footer{display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:1px solid var(--border)}
.dhq-pairs-note{font-size:12px;color:var(--txt-2);margin:0}
.dhq-pairs-note strong{color:var(--gold)}

/* Similar builds */
.dhq-similar-subtitle{font-size:12px;color:var(--txt-dim);margin:-8px 0 12px}
.dhq-sim-arch{font-family:var(--f-pixel);font-size:8px;letter-spacing:1px;text-transform:uppercase;color:var(--dynasty)!important}
.dhq-sim-dims{font-family:var(--f-pixel);font-size:8px;letter-spacing:0px;text-transform:uppercase;color:var(--txt-dim)!important}

/* Mobile build profile */
@media(max-width:768px){
  .dhq-build-panel .dhq-build-new{grid-template-columns:1fr}
  .dhq-build-left{flex-direction:row;align-items:center;gap:16px}
  .dhq-radar-wrap{width:120px;height:120px}
  .dhq-dim-row{grid-template-columns:80px 1fr 28px}
}

/* ─── PATREON NAV LINK ───────────────────────────────────── */
.dhq-nav-patreon{
  color:var(--gold)!important;
  border:1px solid rgba(232,160,32,0.35);
  padding:4px 10px;
  border-radius:20px;
  font-size:9px!important;
  letter-spacing:1px;
  transition:background .15s,border-color .15s;
  white-space:nowrap;
}
.dhq-nav-patreon:hover{
  background:rgba(232,160,32,0.12);
  border-color:rgba(232,160,32,0.7);
  color:var(--gold-lt)!important;
}

/* ─── HERO SUPPORT MESSAGE ────────────────────────────────── */
.dhq-hero-support{
  display:flex;align-items:center;gap:10px;margin-top:12px;flex-wrap:wrap;
}
.dhq-support-note{
  font-size:11px;color:var(--txt-dim);font-family:var(--f-body);
}
.dhq-support-btn{
  font-size:9px!important;padding:3px 9px!important;
}
@media(max-width:768px){
  .dhq-hero-support{margin-top:8px}
}

/* ─── HERO SUPPORT LINE ──────────────────────────────────── */
.dhq-hero-support{margin-top:8px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.dhq-support-note{font-size:11px;color:var(--txt-dim);font-family:var(--f-sans)}
.dhq-support-inline{color:var(--txt-dim)!important;font-size:11px;text-decoration:none;transition:color .15s}
.dhq-support-inline:hover{color:var(--gold)!important}

/* ─── COLUMN HEADER TOOLTIPS ─────────────────────────────── */
.dhq-th-tip{cursor:help;position:relative}
.dhq-th-tip[title]:hover::after{
  content:attr(title);
  position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%);
  background:#0D1524;border:1px solid rgba(255,255,255,0.18);
  color:rgba(255,255,255,0.85);font-size:11px;font-family:var(--f-sans);
  white-space:nowrap;padding:5px 10px;border-radius:6px;z-index:999;
  pointer-events:none;line-height:1.4;font-weight:400;letter-spacing:0;
  text-transform:none;max-width:260px;white-space:normal;
}
.dhq-th-tip[title]:hover::before{
  content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);
  border:5px solid transparent;border-bottom-color:#0D1524;z-index:1000;
}

/* ─── COMPREHENSIVE MOBILE OVERHAUL ─────────────────────────
   Target: enjoyable reading on phones (320-768px)
   Philosophy: bigger touch targets, larger text, smart column hiding
   ───────────────────────────────────────────────────────── */

@media (max-width: 768px) {
  /* === BASE & SHELL === */
  body { font-size: 15px; -webkit-text-size-adjust: 100%; }
  .dhq-shell { padding: 10px 0 80px; }

  /* === TOPBAR === */
  .dhq-topbar { height: 56px; padding: 0 14px; gap: 10px; }
  .dhq-brand { gap: 8px; }
  .dhq-brand-logo { width: 32px; height: 32px; }
  .dhq-brand-text { font-size: 10px; letter-spacing: 0.5px; }
  .dhq-badge { display: none; } /* hide SCEPTER SCEPTER 2.0 badge */
  .dhq-nav { gap: 8px; }
  .dhq-nav a:not(.dhq-nav-patreon) { display: none; } /* hide all nav except Patreon */
  .dhq-nav-patreon { font-size: 9px!important; padding: 5px 10px; }

  /* === HERO === */
  .dhq-hero { padding: 20px 14px 0; }
  .dhq-kicker { font-size: 9px; }
  .dhq-hero-title { font-size: 30px!important; line-height: 1.1; }
  .dhq-hero-desc { font-size: 12px; margin-top: 6px; line-height: 1.5; }
  .dhq-hero-support { margin-top: 6px; }
  .dhq-support-note, .dhq-support-inline { font-size: 11px; }
  .dhq-hero-right { display: none; } /* hide right stat block on mobile hero */

  /* === CONTROLS BAR === */
  .dhq-controls-bar { flex-direction: column; gap: 8px; padding: 12px 14px; }
  .dhq-search-wrap { width: 100%; }
  .dhq-search-input { width: 100%; max-width: 100%; font-size: 14px; padding: 12px 14px 12px 38px; }
  .dhq-filter-form { width: 100%; gap: 6px; flex-wrap: wrap; }
  .dhq-select { flex: 1; min-width: 0; font-size: 12px; padding: 10px 8px; }
  .dhq-compare-btn { width: 100%; justify-content: center; padding: 12px; font-size: 10px; }

  /* === RANKINGS TABLE === */
  .dhq-rankings-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; max-height: none; }
  .dhq-rank-table { min-width: 640px; font-size: 12px; }

  /* Show only essential columns on mobile: rank, player, dynasty, pts, reb, ast */
  .dhq-rank-table th.dhq-th-v,
  .dhq-rank-table td.dhq-td-v,
  .dhq-rank-table th.dhq-th-signal,
  .dhq-rank-table td.dhq-td-signal,
  .dhq-rank-table th.dhq-th-stat:nth-child(n+14),
  .dhq-rank-table td:nth-child(n+14) { display: none; }

  .dhq-rank-table td { padding: 10px 7px; }
  .dhq-rank-table th { padding: 10px 7px; font-size: 10px; }
  .dhq-player-cell { min-width: 150px; max-width: 170px; }
  .dhq-player-name { font-size: 13px; }
  .dhq-archetype-tag { font-size: 7px; }
  .dhq-headshot-sm { width: 34px; height: 34px; }
  .dhq-score-chip { font-size: 16px; padding: 4px 8px; min-width: 50px; }
  .dhq-signal-val { font-size: 13px; }

  /* Rank + compare col */
  .dhq-th-rank, .dhq-td-rank { min-width: 32px; width: 32px; font-size: 14px; }
  .dhq-th-cmp, .dhq-td-cmp { width: 28px; }
  .dhq-compare-check { width: 16px; height: 16px; }

  /* Team/pos/age cols */
  .dhq-th-team, .dhq-td-team { font-size: 10px; }
  .dhq-th-pos, .dhq-td-pos { font-size: 10px; }
  .dhq-th-age, .dhq-td-age { font-size: 11px; }

  /* === PROFILE HERO === */
  .dhq-profile-hero { padding: 20px 14px 20px; }
  .dhq-profile-identity { flex-direction: column; gap: 12px; align-items: flex-start; }
  .dhq-profile-photo-wrap { display: flex; align-items: center; gap: 14px; }
  .dhq-profile-photo { width: 80px; height: 80px; border-radius: 8px; }
  .dhq-team-logo { width: 44px; height: 44px; }
  .dhq-profile-name { font-size: 22px!important; line-height: 1.2; margin-top: 0; }
  .dhq-profile-badges { flex-wrap: wrap; gap: 4px; }
  .dhq-profile-badge { font-size: 9px; padding: 3px 8px; }
  .dhq-id-pills { flex-wrap: wrap; gap: 4px; margin-top: 6px; }
  .dhq-id-pill { font-size: 9px; padding: 2px 7px; }

  /* Score cards — 2 per row on mobile */
  .dhq-profile-scores { grid-template-columns: 1fr 1fr; gap: 8px; padding: 14px; }
  .dhq-score-card { padding: 12px; }
  .dhq-score-label { font-size: 8px; }
  .dhq-score-val { font-size: 28px; }
  .dhq-score-sub { font-size: 9px; }

  /* === CAREER CHART === */
  .dhq-chart-section { padding: 14px 12px; }
  .dhq-chart-title { font-size: 13px; }
  .dhq-chart-controls { flex-wrap: wrap; gap: 5px; }
  .dhq-chart-btn { font-size: 8px; padding: 5px 9px; }
  .dhq-chart-canvas-wrap { height: 220px; }
  .dhq-curve-legend { grid-template-columns: 1fr; gap: 8px; margin-top: 12px; }
  .dhq-legend-item { padding: 10px 12px; }
  .dhq-legend-name { font-size: 9px; }
  .dhq-legend-body { font-size: 11px; }

  /* === PANELS === */
  .dhq-panel { padding: 14px; margin-bottom: 12px; }
  .dhq-panel h2 { font-size: 13px; margin-bottom: 12px; }
  .dhq-two-col { grid-template-columns: 1fr; gap: 12px; }

  /* === BUILD PROFILE === */
  .dhq-build-panel .dhq-build-new { grid-template-columns: 1fr; gap: 14px; }
  .dhq-build-left { flex-direction: row; align-items: center; gap: 14px; }
  .dhq-radar-wrap { width: 130px; height: 130px; flex-shrink: 0; }
  .dhq-arch-pill { font-size: 8px; padding: 4px 10px; }
  .dhq-dim-row { grid-template-columns: 76px 1fr 28px; gap: 6px; }
  .dhq-dim-label { font-size: 8px; }
  .dhq-dim-pct { font-size: 9px; }

  /* === SIMILAR BUILDS === */
  .dhq-similar-row { padding: 10px 12px; }
  .dhq-sim-head { width: 36px; height: 36px; }
  .dhq-sim-info strong { font-size: 13px; }
  .dhq-sim-arch, .dhq-sim-dims { font-size: 8px; }
  .dhq-sim-stats span { font-size: 14px; }

  /* === SEASON AVERAGES TABLE === */
  .dhq-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .dhq-data-table { min-width: 580px; font-size: 12px; }
  .dhq-data-table td, .dhq-data-table th { padding: 9px 7px; }
  .dhq-season-cell { font-size: 14px; font-weight: 700; min-width: 50px; }

  /* === CONTRACT SECTION === */
  .dhq-contract-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
  .dhq-contract-card { padding: 10px; }
  .dhq-contract-card-wide { grid-column: span 2; }
  .dhq-clabel { font-size: 7px; }
  .dhq-cval { font-size: 22px; }
  .dhq-contract-note { font-size: 11px; }

  /* === GAME LOG === */
  .dhq-log-controls { flex-wrap: wrap; gap: 8px; padding: 10px 12px; }
  .dhq-log-controls input,
  .dhq-log-controls select { font-size: 13px; padding: 9px 10px; }
  .dhq-log-count { font-size: 11px; }

  /* Show only key game log columns on mobile */
  .dhq-log-table th:nth-child(n+11),
  .dhq-log-table td:nth-child(n+11) { display: none; }
  .dhq-log-table td, .dhq-log-table th { padding: 8px 6px; font-size: 11px; }
  .dhq-log-result { font-size: 10px; }

  /* === COMPARE PAGE === */
  .dhq-compare-header { padding: 16px 14px; }
  .dhq-compare-title { font-size: 20px; }
  .dhq-compare-subtitle { font-size: 11px; }
  .dhq-compare-cards { flex-wrap: wrap; gap: 8px; }
  .dhq-compare-card { min-width: 140px; max-width: calc(50% - 6px); padding: 10px; }
  .dhq-compare-name { font-size: 14px; }
  .dhq-compare-meta { font-size: 10px; }
  .dhq-compare-head { width: 36px; height: 36px; }
  .dhq-compare-chart-wrap { height: 240px; }
  .dhq-compare-stats { grid-template-columns: 1fr; gap: 10px; padding: 14px; }
  .dhq-compare-stat-card { padding: 12px; }
  .dhq-compare-stat-name { font-size: 12px; }
  .dhq-compare-stat-val { font-size: 26px; }
}

/* Extra small (iPhone SE etc) */
@media (max-width: 390px) {
  .dhq-hero-title { font-size: 24px!important; }
  .dhq-profile-name { font-size: 18px!important; }
  .dhq-profile-scores { grid-template-columns: 1fr 1fr; }
  .dhq-score-val { font-size: 24px; }
  .dhq-rank-table { min-width: 560px; }
  .dhq-player-name { font-size: 12px; }
}

/* Landscape phone */
@media (max-width: 768px) and (orientation: landscape) {
  .dhq-chart-canvas-wrap { height: 200px; }
  .dhq-profile-scores { grid-template-columns: repeat(4, 1fr); }
}


/* ─────────────────────────────────────────────────────────────
   V8.9.47b MOBILE USABILITY OVERHAUL
   Makes the SCEPTER front-end usable on phones: bigger tap targets,
   readable cards, scrollable tables, profile panels, charts and logs.
   ───────────────────────────────────────────────────────────── */
@media (max-width: 820px) {
  html { -webkit-text-size-adjust: 100%; }
  body {
    font-size: 16px !important;
    line-height: 1.55 !important;
    overflow-x: hidden;
  }

  .dhq-topbar {
    position: sticky;
    top: 0;
    height: auto !important;
    min-height: 64px;
    padding: 10px 12px !important;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
  }
  .dhq-brand { gap: 9px; min-width: 0; }
  .dhq-site-logo, .dhq-orb { width: 34px !important; height: 34px !important; }
  .dhq-brand-text {
    font-size: 12px !important;
    letter-spacing: .5px !important;
    max-width: 190px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .dhq-version-badge { display: none !important; }
  .dhq-nav {
    width: 100%;
    display: flex;
    overflow-x: auto;
    gap: 8px !important;
    padding: 4px 0 2px;
    -webkit-overflow-scrolling: touch;
  }
  .dhq-nav a {
    flex: 0 0 auto;
    padding: 9px 12px;
    border: 1px solid var(--border2);
    border-radius: 999px;
    background: rgba(255,255,255,.06);
    font-size: 10px !important;
  }

  .dhq-shell, .dhq-hero, .dhq-profile-shell {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  .dhq-hero {
    padding-top: 24px !important;
  }
  .dhq-hero-title, .dhq-page-title, .dhq-profile-name {
    font-size: clamp(28px, 9vw, 42px) !important;
    line-height: 1.02 !important;
    letter-spacing: .03em !important;
    word-break: normal;
  }
  .dhq-hero-subtitle, .dhq-subtitle, .dhq-subtitle-sm {
    font-size: 15px !important;
    line-height: 1.55 !important;
    max-width: 100% !important;
  }

  .dhq-controls, .dhq-filter-bar, .dhq-searchbar, .dhq-toolbar, .dhq-compare-controls {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 12px !important;
    border-radius: 16px !important;
  }
  .dhq-controls input,
  .dhq-controls select,
  .dhq-controls button,
  .dhq-input,
  .dhq-select,
  .dhq-button,
  .dhq-refresh,
  .dhq-compare-button,
  .dhq-meta-button {
    width: 100% !important;
    min-height: 48px !important;
    font-size: 16px !important;
    padding: 12px 14px !important;
    border-radius: 12px !important;
  }

  .dhq-dashboard,
  .dhq-stat-grid,
  .dhq-summary-grid,
  .dhq-profile-scores,
  .dhq-profile-metrics {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    margin: 14px 0 !important;
  }
  .dhq-stat-card,
  .dhq-score-card,
  .dhq-metric,
  .dhq-profile-metric {
    min-height: 74px !important;
    padding: 13px !important;
    border-radius: 16px !important;
  }
  .dhq-stat-label,
  .dhq-score-label,
  .dhq-metric-label,
  .dhq-profile-metric span {
    font-size: 10px !important;
    letter-spacing: 1px !important;
  }
  .dhq-stat-value,
  .dhq-score-value,
  .dhq-metric-value,
  .dhq-profile-metric b {
    font-size: clamp(22px, 7vw, 32px) !important;
    line-height: 1.05 !important;
  }

  .dhq-panel {
    padding: 14px !important;
    border-radius: 18px !important;
    margin-bottom: 18px !important;
  }
  .dhq-panel h2, .dhq-section-title {
    font-size: 22px !important;
    letter-spacing: .08em !important;
    line-height: 1.15 !important;
    margin-bottom: 12px !important;
  }
  .dhq-two-col, .dhq-profile-layout, .dhq-build-new {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .dhq-player-card, .dhq-profile-card, .dhq-card {
    width: 100% !important;
    max-width: 100% !important;
    position: relative !important;
  }
  .dhq-player-photo-wrap, .dhq-profile-photo-wrap {
    max-width: 280px !important;
    margin: 0 auto 14px !important;
  }
  .dhq-player-photo, .dhq-head, .dhq-profile-photo {
    max-height: 320px !important;
    object-fit: contain !important;
  }

  .dhq-chart-card, .dhq-chart-wrap, .dhq-compare-chart-wrap {
    padding: 12px !important;
    border-radius: 18px !important;
    overflow: hidden;
  }
  .dhq-chart-toolbar {
    display: flex !important;
    gap: 8px !important;
    overflow-x: auto !important;
    padding-bottom: 6px !important;
    -webkit-overflow-scrolling: touch;
  }
  .dhq-chart-toolbar button,
  .dhq-chart-btn {
    flex: 0 0 auto;
    min-height: 44px !important;
    font-size: 12px !important;
    padding: 10px 12px !important;
    white-space: nowrap;
  }
  .dhq-chart-canvas-wrap,
  .dhq-chart-panel,
  .dhq-compare-chart-wrap canvas,
  canvas#dhqProfileChart,
  canvas#dhqCompareChart {
    width: 100% !important;
    max-width: 100% !important;
  }
  canvas#dhqProfileChart, canvas#dhqCompareChart {
    min-height: 300px !important;
    max-height: 420px !important;
  }
  .dhq-chart-explain,
  .dhq-legend-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .dhq-chart-explain span,
  .dhq-legend-item {
    font-size: 14px !important;
    padding: 12px !important;
  }

  .dhq-table-wrap,
  .dhq-rank-table-wrap,
  .dhq-log-table-wrap,
  .dhq-season-table-wrap,
  .dhq-contract-table-wrap {
    width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    border-radius: 14px !important;
    border: 1px solid var(--border2);
  }
  table,
  .dhq-rank-table,
  .dhq-log-table,
  .dhq-season-table {
    min-width: 980px !important;
    font-size: 14px !important;
  }
  th {
    position: sticky;
    top: 0;
    z-index: 2;
    font-size: 12px !important;
    padding: 12px 10px !important;
    white-space: nowrap !important;
  }
  td {
    font-size: 14px !important;
    padding: 12px 10px !important;
    white-space: nowrap !important;
    min-height: 48px !important;
  }
  .dhq-rank-table tr,
  .dhq-log-table tr {
    min-height: 58px !important;
  }
  .dhq-rank-table img,
  .dhq-player-thumb,
  .dhq-headshot,
  .dhq-rank-head {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    border-radius: 8px !important;
  }
  .dhq-player-name,
  .dhq-rank-player strong,
  .dhq-name-cell strong {
    font-size: 15px !important;
    line-height: 1.2 !important;
  }
  .dhq-team-badge, .dhq-pos-badge, .dhq-chip {
    font-size: 12px !important;
    min-height: 30px !important;
    padding: 6px 9px !important;
  }
  .dhq-open, .dhq-link, .dhq-view-link {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 8px 10px !important;
    border-radius: 10px;
  }

  .dhq-contract-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }
  .dhq-contract-card {
    min-height: 92px !important;
    padding: 13px !important;
    border-radius: 16px !important;
  }
  .dhq-contract-card-wide {
    grid-column: 1 / -1 !important;
  }
  .dhq-clabel {
    font-size: 10px !important;
    letter-spacing: 1px !important;
  }
  .dhq-cval {
    font-size: clamp(20px, 6vw, 28px) !important;
    line-height: 1.05 !important;
    word-break: break-word;
  }
  .dhq-contract-note {
    font-size: 14px !important;
    line-height: 1.45 !important;
  }

  .dhq-compare-header-row,
  .dhq-compare-stat-grid,
  .dhq-compare-cards {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .dhq-compare-player-tag,
  .dhq-mini-player {
    min-height: 74px !important;
    padding: 12px !important;
  }

  .dhq-back,
  .dhq-back-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 46px !important;
    padding: 12px 16px !important;
    font-size: 14px !important;
    margin-bottom: 12px !important;
  }
}

@media (max-width: 520px) {
  .dhq-dashboard,
  .dhq-stat-grid,
  .dhq-summary-grid,
  .dhq-profile-scores,
  .dhq-profile-metrics,
  .dhq-contract-grid {
    grid-template-columns: 1fr !important;
  }
  .dhq-hero-title, .dhq-page-title, .dhq-profile-name {
    font-size: clamp(26px, 11vw, 36px) !important;
  }
  table,
  .dhq-rank-table,
  .dhq-log-table,
  .dhq-season-table {
    min-width: 880px !important;
  }
  .dhq-shell, .dhq-hero, .dhq-profile-shell {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  .dhq-panel {
    padding: 12px !important;
  }
}


/* V8.9.47b MOBILE READABILITY + TAP TARGET LOCK */
@media (max-width: 820px) {
  html { -webkit-text-size-adjust: 100%; }
  body { font-size: 16px !important; overflow-x: hidden; }
  .dhq-shell, .dhq-wrap, .dhq-page, main { padding-left: 12px !important; padding-right: 12px !important; }
  .dhq-topbar, .dhq-nav, .dhq-header { min-height: 64px !important; padding: 12px !important; gap: 10px !important; }
  .dhq-topbar a, .dhq-nav a, .dhq-button, button, select, input { min-height: 48px !important; font-size: 16px !important; }
  .dhq-hero h1, .dhq-title, h1 { font-size: clamp(34px, 10vw, 52px) !important; line-height: 1.05 !important; letter-spacing: .04em !important; }
  .dhq-hero p, .dhq-subtitle { font-size: 16px !important; line-height: 1.55 !important; }
  .dhq-controls, .dhq-filters { display: grid !important; grid-template-columns: 1fr !important; gap: 12px !important; padding: 14px !important; }
  .dhq-controls input, .dhq-controls select, .dhq-controls button { width: 100% !important; }
  .dhq-dashboard { grid-template-columns: 1fr 1fr !important; gap: 10px !important; margin: 12px 0 !important; }
  .dhq-stat-card { padding: 12px !important; min-height: 74px !important; border-radius: 16px !important; box-shadow: 3px 3px 0 #111 !important; }
  .dhq-stat-label { font-size: 10px !important; }
  .dhq-stat-value { font-size: 26px !important; }
  .dhq-table-wrap { overflow-x: auto !important; -webkit-overflow-scrolling: touch !important; border-radius: 16px !important; }
  table.dhq-table, .dhq-table { min-width: 980px !important; font-size: 15px !important; }
  .dhq-table th, .dhq-table td { padding: 13px 12px !important; font-size: 15px !important; line-height: 1.25 !important; }
  .dhq-table th { position: sticky; top: 0; z-index: 3; font-size: 12px !important; letter-spacing: .09em !important; }
  .dhq-player-cell, .dhq-player-name { min-width: 210px !important; }
  .dhq-head, .dhq-player-photo { width: 58px !important; height: 58px !important; min-width: 58px !important; }
  .dhq-score-pill, .dhq-team-pill { min-width: 78px !important; padding: 10px 12px !important; font-size: 15px !important; }
  .dhq-profile-grid, .dhq-profile-layout, .dhq-player-profile { grid-template-columns: 1fr !important; gap: 18px !important; }
  .dhq-profile-card, .dhq-chart-card, .dhq-panel { padding: 16px !important; border-radius: 20px !important; }
  .dhq-player-card { max-width: 100% !important; }
  .dhq-player-card img, .dhq-profile-photo img { max-height: 360px !important; object-fit: contain !important; }
  .dhq-profile-metrics, .dhq-contract-grid { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
  .dhq-contract-card { padding: 14px !important; min-height: 76px !important; }
  .dhq-contract-card-wide { grid-column: 1 / -1 !important; }
  .dhq-cval { font-size: 20px !important; word-break: break-word !important; }
  .dhq-chart-toolbar { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
  .dhq-chart-toolbar button { width: 100% !important; padding: 13px 10px !important; font-size: 13px !important; }
  .dhq-chart-explain { grid-template-columns: 1fr !important; }
  .dhq-chart-explain span { font-size: 14px !important; line-height: 1.45 !important; }
  .dhq-shared-svg, .dhq-chart-svg, svg.dhq-chart { min-height: 360px !important; }
  .dhq-compare-controls { align-items: stretch !important; }
  .dhq-compare-button { width: 100% !important; }
}
@media (max-width: 480px) {
  .dhq-dashboard { grid-template-columns: 1fr !important; }
  table.dhq-table, .dhq-table { min-width: 860px !important; }
  .dhq-table th, .dhq-table td { padding: 12px 10px !important; font-size: 14px !important; }
  .dhq-profile-metrics, .dhq-contract-grid { grid-template-columns: 1fr !important; }
  .dhq-chart-toolbar { grid-template-columns: 1fr !important; }
}


/* ─── V8.9.47b MOBILE REAL VIEWPORT LOCK ──────────────────────────────────────
   This is intentionally late in the stylesheet so it wins over desktop rules.
   It assumes header.php has a real width=device-width viewport tag. */
@media screen and (max-width: 820px) {
  html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
  body { font-size: 17px !important; line-height: 1.45 !important; overflow-x: hidden !important; }

  .dhq-topbar {
    height: auto !important;
    min-height: 64px !important;
    padding: 12px 14px !important;
    align-items: flex-start !important;
    gap: 10px !important;
  }
  .dhq-brand-text { font-size: 13px !important; letter-spacing: .8px !important; }
  .dhq-site-logo,.dhq-orb { width: 40px !important; height: 40px !important; }
  .dhq-nav {
    display: flex !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    gap: 8px !important;
    padding-bottom: 4px !important;
  }
  .dhq-nav a {
    font-size: 11px !important;
    padding: 10px 12px !important;
    border: 2px solid rgba(255,255,255,.16) !important;
    border-radius: 12px !important;
    white-space: nowrap !important;
    min-height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
  }

  .dhq-hero { padding: 28px 14px 18px !important; }
  .dhq-hero-grid { display: block !important; }
  .dhq-hero-title, .dhq-page-title {
    font-size: clamp(30px, 9vw, 44px) !important;
    line-height: 1.08 !important;
    letter-spacing: 1px !important;
  }
  .dhq-hero-copy, .dhq-hero p { font-size: 16px !important; line-height: 1.5 !important; }
  .dhq-controls, .dhq-filters, .dhq-toolbar, .dhq-searchbar {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    width: 100% !important;
  }
  input, select, button, .dhq-button, .dhq-select, .dhq-input {
    min-height: 48px !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
  }

  .dhq-dashboard {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    margin: 12px 10px !important;
  }
  .dhq-stat-card {
    min-height: 72px !important;
    padding: 12px !important;
    border-radius: 16px !important;
    box-shadow: 4px 4px 0 #111 !important;
  }
  .dhq-stat-label { font-size: 10px !important; letter-spacing: 1.4px !important; }
  .dhq-stat-value { font-size: 26px !important; }

  .dhq-shell, .dhq-wrap, .dhq-page, main, .dhq-profile-shell {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  .dhq-table-wrap, .dhq-log-table-wrap, .dhq-scroll, .dhq-data-table-wrap {
    width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    border-radius: 16px !important;
  }
  table.dhq-table, .dhq-table {
    min-width: 980px !important;
    width: max-content !important;
    font-size: 15px !important;
  }
  .dhq-table th, .dhq-table td {
    font-size: 15px !important;
    padding: 14px 12px !important;
    line-height: 1.25 !important;
  }
  .dhq-table th { font-size: 12px !important; position: sticky !important; top: 0 !important; z-index: 3 !important; }

  .dhq-profile-hero, .dhq-panel, .dhq-card, .dhq-profile-card, .dhq-chart-card {
    padding: 16px !important;
    border-radius: 20px !important;
  }
  .dhq-profile-identity, .dhq-profile-layout, .dhq-two-col, .dhq-build-new {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .dhq-profile-photo-wrap { width: 100% !important; max-width: 360px !important; margin: 0 auto !important; }
  .dhq-profile-photo, .dhq-head, .dhq-player-photo {
    width: 100% !important;
    max-width: 320px !important;
    height: auto !important;
    min-height: 260px !important;
    object-fit: contain !important;
  }
  .dhq-profile-name {
    font-size: clamp(28px, 8vw, 40px) !important;
    line-height: 1.08 !important;
    word-break: break-word !important;
  }
  .dhq-profile-meta-row, .dhq-profile-badges { gap: 8px !important; }
  .dhq-profile-badge, .dhq-badge, .dhq-chip, .dhq-pill {
    font-size: 12px !important;
    padding: 8px 10px !important;
    min-height: 34px !important;
  }
  .dhq-profile-scores, .dhq-profile-metrics, .dhq-contract-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }
  .dhq-contract-card, .dhq-profile-metric, .dhq-score-card {
    padding: 14px !important;
    min-height: 82px !important;
  }
  .dhq-contract-card-wide { grid-column: 1 / -1 !important; }
  .dhq-clabel, .dhq-metric-label { font-size: 11px !important; }
  .dhq-cval, .dhq-metric-value { font-size: 22px !important; }
  .dhq-contract-note { font-size: 15px !important; line-height: 1.45 !important; }

  .dhq-chart-card svg, .dhq-shared-svg {
    min-height: 360px !important;
    max-height: none !important;
  }
  .dhq-chart-toolbar {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }
  .dhq-chart-toolbar button {
    min-height: 48px !important;
    font-size: 12px !important;
    padding: 10px !important;
  }
}
@media screen and (max-width: 480px) {
  body { font-size: 18px !important; }
  .dhq-dashboard { grid-template-columns: 1fr !important; }
  .dhq-profile-scores, .dhq-profile-metrics, .dhq-contract-grid { grid-template-columns: 1fr !important; }
  table.dhq-table, .dhq-table { min-width: 900px !important; }
  .dhq-table th, .dhq-table td { font-size: 16px !important; padding: 14px 12px !important; }
  .dhq-chart-toolbar { grid-template-columns: 1fr !important; }
}



/* ─── V8.9.47b MOBILE EXPERIENCE + CONTRACT READABILITY FIX ─────────────────
   Goal: not desktop-shrunk, not oversized. A practical mobile app-like layout. */
.dhq-contract-source{
  margin-top:10px;
  color:var(--txt-dim);
  font-size:12px;
}
.dhq-contract-source a{
  color:var(--gold);
  text-decoration:underline;
}
.dhq-team-logo-sm{
  display:none!important;
}

@media screen and (max-width: 820px){
  html,body{
    overflow-x:hidden!important;
    -webkit-text-size-adjust:100%!important;
    text-size-adjust:100%!important;
  }
  body{
    font-size:15px!important;
    line-height:1.38!important;
  }

  .dhq-topbar{
    min-height:52px!important;
    height:auto!important;
    padding:8px 10px!important;
    align-items:center!important;
    flex-wrap:wrap!important;
  }
  .dhq-site-logo,.dhq-orb{
    width:30px!important;
    height:30px!important;
  }
  .dhq-brand{
    gap:8px!important;
    min-width:0!important;
  }
  .dhq-brand-text{
    font-size:11px!important;
    letter-spacing:.5px!important;
  }
  .dhq-version-badge{
    font-size:8px!important;
    padding:2px 6px!important;
  }
  .dhq-nav{
    gap:6px!important;
    overflow-x:auto!important;
    max-width:100%!important;
  }
  .dhq-nav a{
    font-size:9px!important;
    padding:7px 9px!important;
    min-height:32px!important;
    border:1px solid var(--border2)!important;
    border-radius:8px!important;
    white-space:nowrap!important;
  }

  .dhq-hero{
    padding:18px 12px 8px!important;
  }
  .dhq-hero-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .dhq-hero-title{
    font-size:28px!important;
    line-height:1.08!important;
    letter-spacing:.5px!important;
    margin-bottom:8px!important;
  }
  .dhq-hero-desc{
    font-size:12px!important;
    line-height:1.45!important;
    max-width:100%!important;
    margin-bottom:12px!important;
  }
  .dhq-hero-stats{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    align-items:stretch!important;
  }
  .dhq-hero-stat{
    text-align:left!important;
    padding:8px!important;
    border:1px solid var(--border)!important;
    border-radius:10px!important;
    background:rgba(255,255,255,.035)!important;
  }
  .dhq-hero-stat span{
    font-size:30px!important;
    line-height:.95!important;
  }
  .dhq-hero-stat em{
    font-size:8px!important;
    letter-spacing:1px!important;
  }

  .dhq-controls-bar{
    padding:10px 0!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }
  .dhq-search-input{
    grid-column:1 / -1!important;
    max-width:none!important;
    width:100%!important;
  }
  .dhq-filter-form{
    display:contents!important;
  }
  .dhq-search-input,
  .dhq-select,
  .dhq-input-sm,
  .dhq-select-sm,
  .dhq-compare-btn,
  .dhq-btn,
  button{
    min-height:40px!important;
    font-size:12px!important;
    padding:9px 10px!important;
  }
  .dhq-compare-btn{
    grid-column:1 / -1!important;
    justify-content:center!important;
  }

  .dhq-shell{
    padding:12px 10px 64px!important;
    max-width:100%!important;
  }

  .dhq-rankings-wrap{
    width:100%!important;
    max-height:none!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    -webkit-overflow-scrolling:touch!important;
    border-radius:12px!important;
  }
  table.dhq-rank-table,
  .dhq-rank-table{
    min-width:1360px!important;
    width:max-content!important;
  }
  .dhq-rank-table th,
  .dhq-rank-table td{
    display:table-cell!important;
    padding:9px 8px!important;
    font-size:12px!important;
    line-height:1.22!important;
    white-space:nowrap!important;
  }
  .dhq-rank-table th{
    font-size:9px!important;
    top:0!important;
    position:sticky!important;
    z-index:3!important;
  }
  .dhq-th-v,
  .dhq-rank-table td:nth-child(n+20){
    display:table-cell!important;
  }
  .dhq-player-cell{
    min-width:170px!important;
    gap:7px!important;
  }
  .dhq-headshot-sm{
    width:34px!important;
    height:34px!important;
  }
  .dhq-player-link{
    font-size:12px!important;
  }
  .dhq-arch-mini{
    font-size:9px!important;
  }
  .dhq-logo-badge{
    width:22px!important;
    height:22px!important;
  }
  .dhq-dynasty-pill{
    font-size:13px!important;
    padding:5px 8px!important;
  }

  .dhq-profile-hero{
    padding:12px!important;
    border-radius:14px!important;
  }
  .dhq-profile-hero-inner{
    gap:12px!important;
  }
  .dhq-profile-identity{
    display:grid!important;
    grid-template-columns:72px 1fr!important;
    gap:10px!important;
    align-items:center!important;
  }
  .dhq-profile-logo-wrap{
    display:none!important;
  }
  .dhq-profile-photo-wrap{
    width:72px!important;
    max-width:72px!important;
    margin:0!important;
  }
  .dhq-profile-photo{
    width:72px!important;
    height:72px!important;
    min-height:72px!important;
    max-height:72px!important;
    object-fit:cover!important;
    border-radius:16px!important;
  }
  .dhq-profile-name{
    font-size:24px!important;
    line-height:1.05!important;
    margin-bottom:6px!important;
  }
  .dhq-profile-meta-row,
  .dhq-profile-badges{
    gap:6px!important;
  }
  .dhq-profile-badge,
  .dhq-badge,
  .dhq-chip,
  .dhq-pill{
    font-size:10px!important;
    padding:5px 7px!important;
    min-height:26px!important;
  }

  .dhq-profile-scores,
  .dhq-profile-metrics,
  .dhq-contract-grid{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }
  .dhq-score-card,
  .dhq-profile-metric,
  .dhq-contract-card{
    padding:10px!important;
    min-height:62px!important;
    border-radius:12px!important;
  }
  .dhq-contract-card-wide{
    grid-column:1 / -1!important;
  }
  .dhq-score-val{
    font-size:30px!important;
  }
  .dhq-cval,
  .dhq-metric-value{
    font-size:18px!important;
    line-height:1.05!important;
    word-break:break-word!important;
  }
  .dhq-clabel,
  .dhq-metric-label{
    font-size:9px!important;
  }
  .dhq-contract-note{
    font-size:12px!important;
    line-height:1.35!important;
  }

  .dhq-panel,
  .dhq-card,
  .dhq-chart-card{
    padding:12px!important;
    border-radius:14px!important;
    margin-bottom:12px!important;
  }
  .dhq-panel h2,
  .dhq-panel-header h2{
    font-size:14px!important;
    margin-bottom:10px!important;
  }

  .dhq-chart-toolbar{
    display:flex!important;
    overflow-x:auto!important;
    gap:6px!important;
    padding-bottom:3px!important;
  }
  .dhq-chart-toolbar button,
  .dhq-chart-btn{
    min-width:max-content!important;
    min-height:32px!important;
    font-size:9px!important;
    padding:7px 9px!important;
  }
  .dhq-chart-explain{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:6px!important;
  }
  .dhq-chart-explain span{
    font-size:10px!important;
    line-height:1.25!important;
    padding:7px!important;
  }
  .dhq-chart-card canvas,
  .dhq-chart-card svg,
  .dhq-shared-svg,
  .dhq-chart-svg,
  svg.dhq-chart{
    width:100%!important;
    min-height:340px!important;
    height:340px!important;
    max-height:340px!important;
  }
  .dhq-compare-chart-wrap{
    overflow-x:auto!important;
    padding:10px!important;
  }
  .dhq-compare-chart-wrap canvas{
    min-width:720px!important;
    height:330px!important;
  }

  .dhq-two-col,
  .dhq-profile-layout,
  .dhq-player-profile{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .dhq-build-new,
  .dhq-build-layout{
    display:grid!important;
    grid-template-columns:120px 1fr!important;
    gap:10px!important;
    align-items:start!important;
  }
  .dhq-radar-wrap svg,
  .dhq-radar,
  .dhq-build-radar svg{
    max-width:120px!important;
    width:120px!important;
    height:120px!important;
  }
  .dhq-arch-pill{
    font-size:9px!important;
    padding:5px 6px!important;
  }
  .dhq-dim-row{
    grid-template-columns:70px 1fr 28px!important;
    gap:6px!important;
    font-size:10px!important;
  }
  .dhq-dim-label,
  .dhq-dim-pct{
    font-size:10px!important;
  }
  .dhq-build-footer{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }

  .dhq-log-table-wrap,
  .dhq-scroll,
  .dhq-data-table-wrap{
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .dhq-log-table,
  .dhq-season-table{
    min-width:920px!important;
    width:max-content!important;
  }
  .dhq-log-table th,
  .dhq-log-table td,
  .dhq-season-table th,
  .dhq-season-table td{
    padding:8px 7px!important;
    font-size:11px!important;
  }
}

@media screen and (max-width:480px){
  .dhq-hero-title{font-size:24px!important;}
  .dhq-hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .dhq-hero-stat span{font-size:26px!important;}
  .dhq-profile-scores,
  .dhq-profile-metrics,
  .dhq-contract-grid{
    grid-template-columns:1fr 1fr!important;
  }
  .dhq-chart-card canvas,
  .dhq-chart-card svg,
  .dhq-shared-svg,
  .dhq-chart-svg,
  svg.dhq-chart{
    min-height:300px!important;
    height:300px!important;
  }
  .dhq-build-new,
  .dhq-build-layout{
    grid-template-columns:1fr!important;
  }
  .dhq-radar-wrap svg,
  .dhq-radar,
  .dhq-build-radar svg{
    max-width:170px!important;
    width:170px!important;
    height:170px!important;
    margin:0 auto!important;
  }
}



/* ─── V8.9.47b MOBILE POLISH: COMPARE-FIRST + PROFILE COMPACT ─────────────── */
@media screen and (max-width: 820px){
  /* Compare page is the showcase: graph visible immediately and framed for sharing */
  .dhq-page-head{
    padding:10px 0 8px!important;
    margin-bottom:8px!important;
  }
  .dhq-page-head h1{
    font-size:22px!important;
    line-height:1.05!important;
    margin:6px 0 2px!important;
  }
  .dhq-page-head .dhq-subtitle-sm{
    font-size:11px!important;
    line-height:1.25!important;
    margin:0!important;
    color:var(--txt-2)!important;
  }
  .dhq-back{
    font-size:10px!important;
    min-height:30px!important;
    padding:6px 9px!important;
  }
  .dhq-compare-header-row{
    display:flex!important;
    gap:6px!important;
    overflow-x:auto!important;
    padding:0 0 8px!important;
    margin-bottom:8px!important;
  }
  .dhq-compare-player-tag{
    flex:0 0 auto!important;
    min-width:145px!important;
    max-width:165px!important;
    padding:7px!important;
    border-radius:10px!important;
  }
  .dhq-compare-head{
    width:28px!important;
    height:28px!important;
  }
  .dhq-compare-player-tag strong{
    font-size:10px!important;
    line-height:1.05!important;
  }
  .dhq-compare-player-tag span{
    font-size:9px!important;
  }
  .dhq-compare-chart-wrap{
    margin:0!important;
    padding:8px!important;
    border-radius:14px!important;
    min-height:58vh!important;
    height:58vh!important;
    overflow:hidden!important;
  }
  .dhq-compare-chart-wrap .dhq-chart-toolbar{
    display:grid!important;
    grid-template-columns:repeat(3,1fr)!important;
    gap:5px!important;
    margin-bottom:6px!important;
    overflow:visible!important;
  }
  .dhq-compare-chart-wrap .dhq-chart-btn,
  .dhq-compare-chart-wrap button{
    min-height:28px!important;
    padding:5px 6px!important;
    font-size:8px!important;
  }
  #dhqCompareChart{
    width:100%!important;
    height:calc(58vh - 58px)!important;
    min-height:330px!important;
    max-height:none!important;
    display:block!important;
  }
  .dhq-compare-stat-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    margin-top:12px!important;
  }

  /* Player profile: keep chart as the focus, but don't let controls dominate */
  .dhq-chart-toolbar{
    display:grid!important;
    grid-template-columns:repeat(2, minmax(0,1fr))!important;
    gap:5px!important;
    overflow:visible!important;
  }
  .dhq-chart-toolbar button,
  .dhq-chart-btn{
    min-height:30px!important;
    padding:6px 7px!important;
    font-size:8.5px!important;
    letter-spacing:.5px!important;
  }
  .dhq-chart-explain{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:5px!important;
    margin-top:7px!important;
  }
  .dhq-chart-explain span{
    font-size:9px!important;
    line-height:1.18!important;
    padding:6px!important;
    border-radius:8px!important;
  }

  /* Build profile: no overlap, radar and bars get clear lanes */
  .dhq-build-panel{
    overflow:hidden!important;
  }
  .dhq-build-new{
    display:grid!important;
    grid-template-columns:112px minmax(0,1fr)!important;
    gap:10px!important;
    align-items:start!important;
  }
  .dhq-build-left,
  .dhq-build-right{
    min-width:0!important;
    overflow:hidden!important;
  }
  .dhq-radar-wrap{
    width:112px!important;
    max-width:112px!important;
    overflow:hidden!important;
  }
  .dhq-radar-wrap svg,
  .dhq-radar,
  .dhq-build-radar svg{
    width:112px!important;
    height:112px!important;
    max-width:112px!important;
  }
  .dhq-arch-pill{
    max-width:112px!important;
    white-space:normal!important;
    line-height:1.15!important;
    text-align:center!important;
  }
  .dhq-dim-bars{
    width:100%!important;
    min-width:0!important;
  }
  .dhq-dim-row{
    display:grid!important;
    grid-template-columns:68px minmax(70px,1fr) 26px!important;
    gap:5px!important;
    align-items:center!important;
    min-width:0!important;
  }
  .dhq-dim-label{
    font-size:9px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .dhq-dim-bar-track{
    min-width:0!important;
    height:8px!important;
  }
  .dhq-dim-pct{
    font-size:9px!important;
    text-align:right!important;
  }
}

@media screen and (max-width: 480px){
  .dhq-compare-chart-wrap{
    min-height:56vh!important;
    height:56vh!important;
  }
  #dhqCompareChart{
    height:calc(56vh - 54px)!important;
    min-height:300px!important;
  }
  .dhq-build-new{
    grid-template-columns:96px minmax(0,1fr)!important;
  }
  .dhq-radar-wrap,
  .dhq-radar-wrap svg,
  .dhq-radar,
  .dhq-build-radar svg{
    width:96px!important;
    height:96px!important;
    max-width:96px!important;
  }
  .dhq-arch-pill{
    max-width:96px!important;
    font-size:8px!important;
  }
}


@media screen and (max-width:820px){
  .dhq-filter-help{
    font-size:9px!important;
    padding:0 2px!important;
  }
}


/* V8.9.47b compare mobile graph framing fix */
.dhq-filter-help{display:none!important;}

.dhq-compare-chart-wrap{
  position:relative;
}
.dhq-compare-chart-wrap:after{
  content:"";
  position:absolute;
  top:58px;
  right:8px;
  bottom:10px;
  width:1px;
  background:linear-gradient(to bottom, transparent, rgba(255,255,255,.28), transparent);
  pointer-events:none;
}
#dhqCompareChart{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
}

@media screen and (max-width:820px){
  .dhq-compare-chart-wrap{
    width:100%!important;
    margin:0!important;
    padding:8px!important;
    border-radius:14px!important;
    height:auto!important;
    min-height:0!important;
    overflow:hidden!important;
    background:rgba(0,0,0,.22)!important;
  }
  .dhq-compare-chart-wrap .dhq-chart-toolbar{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:5px!important;
    margin:0 0 6px!important;
    overflow:visible!important;
  }
  .dhq-compare-chart-wrap .dhq-chart-btn{
    min-height:27px!important;
    padding:5px 4px!important;
    font-size:7.5px!important;
    line-height:1.05!important;
    letter-spacing:.3px!important;
    border-radius:9px!important;
    text-align:center!important;
  }
  .dhq-compare-canvas-frame{
    position:relative!important;
    width:100%!important;
    height:315px!important;
    min-height:315px!important;
    max-height:315px!important;
    overflow:hidden!important;
    border:1px solid rgba(255,255,255,.12)!important;
    border-radius:11px!important;
    background:rgba(5,10,20,.38)!important;
  }
  #dhqCompareChart{
    width:100%!important;
    height:315px!important;
    min-height:315px!important;
    max-height:315px!important;
  }
  .dhq-compare-chart-wrap canvas{
    min-width:0!important;
    width:100%!important;
    height:315px!important;
    min-height:315px!important;
    max-height:315px!important;
  }
  .dhq-compare-chart-wrap:after{
    top:48px!important;
    right:9px!important;
    bottom:12px!important;
    width:2px!important;
    background:linear-gradient(to bottom, transparent, rgba(245,201,106,.55), transparent)!important;
  }
}

@media screen and (max-width:480px){
  .dhq-compare-canvas-frame,
  #dhqCompareChart,
  .dhq-compare-chart-wrap canvas{
    height:292px!important;
    min-height:292px!important;
    max-height:292px!important;
  }
}


/* V8.9.47b compare colour keys + subtle stat bars */
.dhq-compare-player-tag{
  position:relative;
  border-color:color-mix(in srgb, var(--line) 60%, var(--border2))!important;
  box-shadow:inset 3px 0 0 var(--line), 0 0 0 1px rgba(255,255,255,.04);
}
.dhq-line-key{
  position:absolute;
  left:7px;
  top:7px;
  width:9px;
  height:9px;
  border-radius:999px;
  background:var(--line);
  box-shadow:0 0 0 2px rgba(0,0,0,.45), 0 0 12px color-mix(in srgb, var(--line) 70%, transparent);
}
.dhq-compare-head{
  border-color:var(--line)!important;
  box-shadow:0 0 0 2px rgba(0,0,0,.45), 0 0 14px color-mix(in srgb, var(--line) 45%, transparent)!important;
}
.dhq-mini-line-key{
  display:inline-block;
  width:9px;
  height:9px;
  margin-right:8px;
  border-radius:999px;
  background:var(--line);
  vertical-align:middle;
  box-shadow:0 0 0 2px rgba(0,0,0,.45);
}
.dhq-compare-col{
  border-color:color-mix(in srgb, var(--line) 34%, var(--border))!important;
  box-shadow:inset 3px 0 0 var(--line);
}
.dhq-cstat{
  position:relative;
  overflow:hidden;
}
.dhq-cstat-label,
.dhq-cstat-val,
.dhq-cstat-arch-label{
  position:relative;
  z-index:2;
}
.dhq-cstat-bar{
  position:absolute;
  left:8px;
  right:8px;
  bottom:5px;
  height:4px;
  border-radius:999px;
  background:rgba(255,255,255,.07);
  overflow:hidden;
  z-index:1;
}
.dhq-cstat-bar i{
  display:block;
  width:var(--bar,0%);
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg, color-mix(in srgb, var(--line) 40%, transparent), var(--line));
  opacity:.72;
}

@media screen and (max-width:820px){
  .dhq-compare-player-tag{
    padding-left:18px!important;
  }
  .dhq-line-key{
    left:5px!important;
    top:50%!important;
    transform:translateY(-50%);
    width:7px!important;
    height:70%!important;
    border-radius:999px!important;
  }
  .dhq-compare-head{
    border-width:2px!important;
  }
  .dhq-mini-line-key{
    width:7px!important;
    height:7px!important;
    margin-right:5px!important;
  }
  .dhq-cstat{
    padding-bottom:12px!important;
  }
  .dhq-cstat-bar{
    left:7px!important;
    right:7px!important;
    bottom:4px!important;
    height:3px!important;
  }
}


/* V8.9.47b SCEPTER 2.0 efficiency + compare timeline */
.dhq-rebuild-scores-form{
  display:inline-flex;
}
.dhq-rebuild-scores-btn,
.dhq-glossary-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:7px 12px;
  border:1px solid var(--border2);
  border-radius:999px;
  background:rgba(255,255,255,.06);
  color:var(--txt);
  font-family:var(--f-pixel);
  font-size:9px;
  letter-spacing:.8px;
  text-transform:uppercase;
  text-decoration:none;
  cursor:pointer;
}
.dhq-rebuild-scores-btn:hover,
.dhq-glossary-link:hover{
  background:rgba(255,255,255,.11);
}
.dhq-glossary-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:14px;
}
.dhq-gloss-card{
  padding:16px;
  border:1px solid var(--border);
  border-radius:var(--r);
  background:rgba(255,255,255,.04);
}
.dhq-gloss-card h3{
  margin:0 0 8px;
  color:var(--gold);
  font-family:var(--f-pixel);
  font-size:11px;
  letter-spacing:1px;
  text-transform:uppercase;
}
.dhq-gloss-card p{
  margin:0;
  color:var(--txt-2);
  line-height:1.55;
}
.dhq-compare-stat-note{
  font-size:10px;
  color:var(--txt-dim);
  margin:-4px 0 10px;
  font-family:var(--f-pixel);
  letter-spacing:.5px;
  text-transform:uppercase;
}
.dhq-cstat[data-stat-key="fg_pct"] .dhq-cstat-bar i,
.dhq-cstat[data-stat-key="ft_pct"] .dhq-cstat-bar i{
  background:linear-gradient(90deg, rgba(250,204,21,.35), var(--line));
}
@media screen and (max-width:820px){
  .dhq-rebuild-scores-form{width:100%}
  .dhq-rebuild-scores-btn,.dhq-glossary-link{width:100%; min-height:32px!important; font-size:8px!important}
  .dhq-glossary-grid{grid-template-columns:1fr}
  .dhq-compare-stat-note{font-size:8px; margin-bottom:7px}
}

/* ─── PROSPECTS PAGE ─────────────────────────────────────── */
.dhq-tab-nav{display:flex;gap:8px;margin-bottom:20px;border-bottom:1px solid var(--border);padding-bottom:12px}
.dhq-tab-btn{font-family:var(--f-pixel);font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;background:transparent;border:1px solid var(--border);color:var(--txt-2);padding:8px 18px;border-radius:20px;cursor:pointer;transition:all .15s}
.dhq-tab-btn.active{background:rgba(108,99,255,0.18);border-color:var(--dynasty);color:var(--dynasty)}
.dhq-tab-pane{display:none}.dhq-tab-pane.active{display:block}
.dhq-tab-intro{font-size:12px;color:var(--txt-dim);margin-bottom:12px}
.dhq-draft-year{font-family:var(--f-mono);font-size:12px;color:var(--txt-2)}
.dhq-score-college{background:rgba(0,191,165,0.18);border-color:rgba(0,191,165,0.5);color:var(--signal)}
.dhq-tag-prospect{background:rgba(0,191,165,0.15);color:var(--signal)!important;border-color:rgba(0,191,165,0.3)}
.dhq-nav-active{border:1px solid var(--dynasty)!important;color:var(--dynasty)!important;padding:4px 10px;border-radius:16px}
.dhq-team-logo-sm{width:18px;height:18px;object-fit:contain;vertical-align:middle}
.dhq-prospects-empty code{background:rgba(255,255,255,0.07);padding:2px 6px;border-radius:4px;font-size:11px}
/* Glossary updated grid */
.dhq-glossary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:900px){.dhq-glossary-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.dhq-glossary-grid{grid-template-columns:1fr}}
.dhq-gloss-card h3{font-family:var(--f-pixel);font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--dynasty);margin-bottom:6px}
.dhq-gloss-card p{font-size:12px;color:var(--txt-2);line-height:1.6;margin:0}

/* ─── PROSPECT PAGE ADDITIONS ───────────────────────────── */
.dhq-tag-alumni{background:rgba(0,191,165,0.12);color:var(--signal)!important;border-color:rgba(0,191,165,0.3)}
.dhq-class-badge{font-family:var(--f-mono);font-size:10px;font-weight:700;
  padding:2px 7px;border-radius:12px;border:1px solid var(--border);color:var(--txt-2)}
.dhq-class-2026{border-color:rgba(108,99,255,0.5);color:var(--dynasty);background:rgba(108,99,255,0.1)}
.dhq-class-2025{border-color:rgba(0,191,165,0.5);color:var(--signal)}
.dhq-nexus-val{font-family:var(--f-mono);font-size:12px;color:var(--txt-2)}
.dhq-prospects-load-notice{text-align:center;padding:40px 20px}
.dhq-prospects-load-notice p{font-size:14px;margin-bottom:8px}
.dhq-profile-hero--college .dhq-profile-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
/* Score chip college colour */
.dhq-score-college{background:rgba(0,191,165,0.15)!important;border-color:rgba(0,191,165,0.4)!important;color:var(--signal)!important}

/* V8.9.47b direct curve live update */
.dhq-dynasty-pill.dhq-dynasty-updated{box-shadow:0 0 0 1px rgba(245,201,106,.45),0 0 14px rgba(245,201,106,.20);}


/* V8.9.47b fatter 8-bit player pixels */
.dhq-headshot-sm,
.dhq-profile-photo,
.dhq-sim-head,
.dhq-compare-head,
.dhq-similar-head{
  image-rendering: pixelated;
  image-rendering: crisp-edges;
  filter: contrast(1.08) saturate(1.12);
}
.dhq-headshot-sm{
  border-radius:10px!important;
}


/* V8.9.47b giant block 8-bit portraits */
.dhq-headshot-sm,
.dhq-profile-photo,
.dhq-sim-head,
.dhq-compare-head,
.dhq-similar-head{
  image-rendering: pixelated !important;
  image-rendering: crisp-edges !important;
  filter: contrast(1.18) saturate(1.18);
}


/* V8.9.47b iPhone Safari compatibility */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body{font-synthesis:none;}
.dhq-profile-hero{background-color:var(--void);}
.dhq-compare-player-tag{border-color:var(--border2);}
.dhq-chart-canvas-wrap,.dhq-chart-wrap{min-height:180px;}
#dhqCareerChart,#dhqCompareChart{display:block;width:100%!important;}
@media screen and (max-width:820px){
  .dhq-chart-wrap{min-height:230px!important;}
  #dhqCareerChart{min-height:210px!important;height:230px!important;max-height:230px!important;}
  .dhq-compare-btn{touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
  .dhq-compare-check{touch-action:manipulation;min-width:18px;min-height:18px;}
}


/* ─── V8.9.47b PROSPECT UI HOTFIX ─────────────────────── */
.dhq-profile-hero--prospect{padding-top:44px}
.dhq-prospect-school-mark{
  width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#18365f,#00BFA5);border:3px solid rgba(255,255,255,.24);
  color:#fff;font-family:var(--f-pixel);font-size:13px;font-weight:700;letter-spacing:1px;
  box-shadow:0 6px 20px rgba(0,0,0,.45)
}
.dhq-prospect-photo-wrap{position:relative}
.dhq-prospect-photo-fallback{
  width:100px;height:100px;border-radius:50%;align-items:center;justify-content:center;
  background:linear-gradient(145deg,#18365f,#00BFA5);border:3px solid rgba(255,255,255,.22);
  color:#fff;font-family:var(--f-pixel);font-size:18px;font-weight:700;letter-spacing:1px;
  box-shadow:0 6px 28px rgba(0,0,0,.55)
}
.dhq-prospect-avatar-sm{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.dhq-prospect-photo-fallback--sm{width:28px;height:28px;border-radius:50%;font-size:7px;border-width:1px;box-shadow:none}
.dhq-prospect-row{border-left:3px solid rgba(0,191,165,.50)}
.dhq-prospect-chart-wrap{height:250px!important;min-height:250px!important;max-height:280px!important}
.dhq-prospect-chart-wrap canvas{height:250px!important;max-height:250px!important}
.dhq-prospect-profile-page .dhq-log-scroll{max-height:520px}
@media screen and (max-width:820px){
  .dhq-profile-hero--prospect{padding:24px 16px 18px}
  .dhq-profile-hero--prospect .dhq-profile-identity{gap:12px;align-items:center;margin-bottom:16px}
  .dhq-profile-hero--prospect .dhq-prospect-school-mark{width:48px;height:48px;font-size:10px}
  .dhq-profile-hero--prospect .dhq-profile-photo,.dhq-profile-hero--prospect .dhq-prospect-photo-fallback{width:70px;height:70px;font-size:13px}
  .dhq-profile-hero--prospect .dhq-profile-name{font-size:21px}
  .dhq-profile-hero--prospect .dhq-profile-scores{grid-template-columns:repeat(2,1fr);gap:7px}
  .dhq-profile-hero--prospect .dhq-score-card{padding:10px}
  .dhq-profile-hero--prospect .dhq-score-val{font-size:29px}
  .dhq-profile-hero--prospect .dhq-score-note{font-size:9px}
  .dhq-prospect-chart-wrap{height:220px!important;min-height:220px!important;max-height:220px!important}
  .dhq-prospect-chart-wrap canvas{height:220px!important;min-height:220px!important;max-height:220px!important}
  .dhq-prospect-profile-page .dhq-chart-toolbar{gap:4px}
  .dhq-prospect-profile-page .dhq-chart-btn{font-size:7px;padding:4px 7px}
  .dhq-prospect-profile-page .dhq-curve-legend{grid-template-columns:1fr 1fr;gap:6px}
  .dhq-prospect-profile-page .dhq-legend-item{padding:7px}
  .dhq-prospect-profile-page .dhq-legend-item p{font-size:9px}
}
