/* CounterPick Lab — standalone staging build styles.
   Theme matches the public CounterPick Lab app: #070B16 bg, #F7D117 accent. */
:root{
  color-scheme:dark;
  --bg:#070B16; --bg2:#0B1120; --surface:#171E30; --surface2:#1B2338; --surface3:#232E49;
  --ink:#ffffff; --body:#D8DEEB; --muted:#AEB8CC; --line:#2C3752; --line2:#3D4C6E;
  --accent:#F7D117; --accent2:#FFD91A; --accent-ink:#070B16;
  --red:#FF6B5E; --enemy:#FF6B5E; --enemy-bg:#33191D;
  --gold:#C9A86A; --gold-bg:#2C2617; --gold-line:#8A7440;
  --champ:#E8890C; --champ-bright:#FF9E2C; --champ-bg:#33200A;
  --green:#5FCE8D; --green-bg:#163824; --blue:#7DB4EF; --blue-bg:#1C3352;
  --chip:#1B2338;
  --slant:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%);
  --slant-sm:polygon(7px 0,100% 0,calc(100% - 7px) 100%,0 100%);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{margin:0;background:var(--bg);color:var(--body);font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:16px;line-height:1.5;overflow-x:hidden;-webkit-text-size-adjust:100%}
img,svg,video{max-width:100%}
a{color:var(--blue);overflow-wrap:break-word}
h1,h2,h3,.cond{font-family:"Arial Narrow","Helvetica Neue",system-ui,sans-serif;letter-spacing:.02em}
h1,h2,h3,h4{color:var(--ink)}
.wrap{max-width:1060px;margin:0 auto;padding:0 16px 64px}

/* Header */
header.hero{padding:26px 0 10px;position:relative}
header.hero::before{content:"";display:block;height:8px;background:var(--accent);margin:0 0 18px;clip-path:polygon(0 0,100% 0,calc(100% - 14px) 100%,14px 100%)}
header.hero h1{font-size:clamp(30px,6vw,46px);line-height:1.02;margin:0 0 6px;text-transform:uppercase;font-style:italic;font-weight:700}
header.hero h1 span{color:var(--accent)}
header.hero p{margin:0;color:var(--muted);max-width:640px}
.profile-strip{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 4px}
.pill{display:inline-flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:5px 12px;font-size:13.5px;font-weight:600}
.pill a{text-decoration:none}
.pill a:hover{text-decoration:underline}
.pill .dot{width:8px;height:8px;border-radius:50%;background:var(--green);flex:none}

/* Tabs */
nav.tabs{position:sticky;top:0;z-index:20;background:var(--bg);padding:10px 0 8px;display:flex;gap:8px;flex-wrap:wrap;border-bottom:4px solid var(--accent)}
nav.tabs button{font-family:"Arial Narrow",sans-serif;font-size:17px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;background:var(--surface2);color:var(--body);border:1px solid var(--line);border-radius:0;clip-path:var(--slant-sm);padding:8px 16px;cursor:pointer;min-height:44px}
nav.tabs button[aria-selected="true"]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:700}

/* Panels & cards */
section.panel{display:none;padding:22px 0 8px}
section.panel.active{display:block}
section.panel>h2{font-size:28px;margin:0 0 6px;text-transform:uppercase;font-style:italic;font-weight:700;border-bottom:3px solid var(--accent);padding-bottom:6px;display:inline-block}
section.panel>.lede{color:var(--muted);margin:0 0 16px;max-width:680px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:16px;margin:0 0 16px}
.card h3{font-size:21px;margin:0 0 8px;text-transform:uppercase}
.card h4{font-size:17px;margin:14px 0 6px;text-transform:uppercase;letter-spacing:.03em}
.card.accent-top{border-top:3px solid var(--accent)}
.card.enemy-top{border-top:3px solid var(--enemy)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:760px){.grid2{grid-template-columns:1fr}}
.lede{color:var(--muted)}
.note{color:var(--muted);font-size:14px}

/* Controls */
label.flabel{display:block;font-weight:600;font-size:14px;margin:0 0 6px}
select,input[type="text"],input[type="search"]{width:100%;background:var(--bg2);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:11px 12px;font:inherit;font-size:16px;min-height:48px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:var(--accent-ink);border:1px solid var(--accent);border-radius:0;clip-path:var(--slant);padding:11px 22px;font-size:18px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;cursor:pointer;min-height:46px;text-decoration:none}
.btn.secondary{background:var(--surface2);color:var(--ink);border-color:var(--line2);clip-path:var(--slant-sm)}
.btn.small{padding:9px 16px;min-height:44px;font-size:16px}
.btn:active{transform:translateY(1px)}
.controls-row{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin:4px 0 16px}
.controls-row .grow{flex:1;min-width:180px}
.btnrow{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 4px}

/* Chips */
.team-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}
.team-head .count{color:var(--muted);font-size:14px;font-weight:600}
.rolefilter{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}
.rolefilter button{background:var(--chip);border:1px solid var(--line);color:var(--ink);border-radius:999px;padding:8px 14px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;min-height:44px}
.rolefilter button[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.chipgrid{display:flex;flex-wrap:wrap;gap:8px;max-height:300px;overflow-y:auto;overflow-x:hidden;padding:4px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.hero-chip{border:1px solid var(--line);background:var(--surface2);color:var(--ink);border-radius:10px;padding:10px 12px;font:inherit;font-size:15px;font-weight:600;cursor:pointer;display:inline-flex;gap:6px;align-items:center;min-height:48px;touch-action:manipulation}
.hero-chip .role{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.hero-chip .tag{font-size:11px;border-radius:4px;padding:1px 5px;font-weight:700}
.hero-chip .tag.lord{background:var(--gold-bg);color:var(--gold)}
.hero-chip .tag.champ{background:var(--champ-bg);color:var(--champ-bright)}
.hero-chip .tag.comfort{background:var(--blue-bg);color:var(--blue)}
.hero-chip .tag.flex{background:var(--blue-bg);color:var(--blue)}
.hero-chip[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
#enemyChips .hero-chip[aria-pressed="true"]{background:var(--enemy);border-color:var(--enemy);color:#fff}
.hero-chip[aria-pressed="true"] .role{color:#4A3F00}
#enemyChips .hero-chip[aria-pressed="true"] .role{color:#FFD9D4}
/* Compact team pickers (My Team / Enemy Team only): smaller chips so more heroes fit on screen with less scrolling. Pool and Counters pickers keep the standard size. */
#allyChips,#enemyChips{gap:6px}
#allyChips .hero-chip,#enemyChips .hero-chip{padding:6px 9px;font-size:13px;min-height:38px;border-radius:8px;gap:4px}
#allyChips .hero-chip .role,#enemyChips .hero-chip .role{font-size:10px}
#allyChips .hero-chip .tag,#enemyChips .hero-chip .tag{font-size:10px;padding:0 4px}
.hero-chip[aria-pressed="true"] .tag{background:rgba(7,11,22,.18);color:inherit}
#enemyChips .hero-chip[aria-pressed="true"] .tag{background:rgba(255,255,255,.22);color:#fff}
.selected-line{font-size:14px;color:var(--muted);margin-top:10px;min-height:20px}
.selected-line strong{color:var(--ink)}

/* Pool states */
.hero-chip[data-state="comfort"]{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}
.hero-chip[data-state="lord"]{border-color:var(--gold-line);box-shadow:inset 0 0 0 1px var(--gold-line)}
.hero-chip[data-state="champion"]{border-color:var(--champ);box-shadow:inset 0 0 0 1px var(--champ)}
.state-dot{width:10px;height:10px;border-radius:50%;background:var(--surface3);flex:none}
.hero-chip[data-state="comfort"] .state-dot{background:var(--blue)}
.hero-chip[data-state="lord"] .state-dot{background:var(--gold)}
.hero-chip[data-state="champion"] .state-dot{background:var(--champ-bright)}
.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:14px;color:var(--muted);margin:8px 0 0}
.legend span{display:inline-flex;align-items:center;gap:6px}

/* Info (source) panels */
.info-btn{flex:none;width:44px;height:44px;padding:0;background:none;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;touch-action:manipulation;vertical-align:middle}
.info-btn .info-dot{width:24px;height:24px;border-radius:50%;border:2px solid var(--muted);color:var(--muted);font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:700;font-size:15px;line-height:1;display:inline-flex;align-items:center;justify-content:center;pointer-events:none}
.info-btn[aria-expanded="true"] .info-dot{border-color:var(--accent);color:var(--accent)}
.info-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.info-note{margin:8px 0 0;background:var(--bg2);border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:14px;color:var(--body)}
.info-note[hidden]{display:none}
.info-note strong{color:var(--ink)}

/* Results */
.result-hero{border:2px solid var(--accent);border-radius:6px;padding:18px;background:var(--surface2)}
.result-hero .pick{font-family:"Arial Narrow",sans-serif;font-size:40px;line-height:1;text-transform:uppercase;font-style:italic;margin:2px 0 4px;color:var(--accent)}
.result-hero .why{margin:8px 0 0;padding-left:20px}
.result-hero .why li{margin:3px 0}
.result-hero .route,.result-hero .pressure{margin:10px 0 0}
.result-hero .pressure strong{color:var(--accent2)}
.badge{display:inline-block;font-size:12px;font-weight:700;border-radius:4px;padding:2px 7px;vertical-align:middle}
.badge.champ{background:var(--champ-bg);color:var(--champ-bright);border:1px solid var(--champ)}
.badge.lordb{background:var(--gold-bg);color:var(--gold);border:1px solid var(--gold-line)}
.badge.comfort{background:var(--blue-bg);color:var(--blue)}
.badge.flexb{background:var(--blue-bg);color:var(--blue)}
.badge.roleb{background:var(--surface2);color:var(--muted)}
.ranklist{list-style:none;margin:12px 0 0;padding:0}
.ranklist li{display:flex;gap:12px;align-items:baseline;padding:10px 0;border-top:1px solid var(--line)}
.ranklist .score{font-family:"Arial Narrow",sans-serif;font-size:24px;font-weight:700;color:var(--accent);min-width:44px;text-align:right}
.ranklist .rname{font-weight:700;color:var(--ink)}
.ranklist .rwhy{color:var(--muted);font-size:14px}
.enemy-block{border-top:1px solid var(--line);padding:12px 0 4px}
.enemy-block:first-of-type{border-top:none}
.enemy-block h4{margin:0 0 4px;font-size:17px}
.enemy-block h4 .vs{color:var(--enemy)}
.enemy-block ul{margin:6px 0;padding-left:20px}
.enemy-block .cnote{color:var(--muted);font-size:14px;font-style:italic}
.status-line{min-height:22px;font-weight:600;margin:8px 0 0}
.status-line:empty{min-height:0;margin:0}

/* Settings table */
.kv{display:flex;justify-content:space-between;gap:14px;padding:7px 0;border-bottom:1px solid var(--line);font-size:15px}
.kv:last-child{border-bottom:none}
.kv span{color:var(--muted)}
.kv b{color:var(--ink);text-align:right}
.principles{margin:6px 0;padding-left:20px}
.principles li{margin:4px 0}

/* Install card */
.install-card{border:2px solid var(--accent);background:var(--surface2)}
.install-card h3{color:var(--accent)}
.install-steps{margin:8px 0;padding-left:20px}
.install-steps[hidden]{display:none}

/* Footer / legal */
footer{border-top:1px solid var(--line);margin-top:28px;padding-top:18px;color:var(--muted);font-size:14.5px}
footer strong{color:var(--ink)}
.legal h2{font-size:24px;text-transform:uppercase;font-style:italic;border-bottom:3px solid var(--accent);padding-bottom:6px;display:inline-block}
.legal p{max-width:720px}
:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
