/* Holder Board visual system inspired by the StonkFun / Stonk Board ecosystem.
   The layout and components remain original to Holder Board. */
:root{
  --bg:#121c20;
  --surface:#1b2a30;
  --surface2:#20343b;
  --surface3:#263d45;
  --line:#304b55;
  --line2:#426773;
  --text:#eef6f8;
  --muted:#8baebc;
  --faint:#638591;
  --green:#78c7e2;
  --green-soft:#9fe4c3;
  --amber:#f1ce7d;
  --red:#ff6482;
  --cyan:#78c7e2;
  --mint:#9fe4c3;
  --mono:"DM Mono",monospace;
  --sans:"Manrope",sans-serif;
}

*{box-sizing:border-box}
html{background:var(--bg)}
body{background:var(--bg);color:var(--text);font-family:var(--sans);letter-spacing:-.01em}
body:before{display:none}
.shell{width:min(1420px,calc(100% - 32px));margin:auto}

/* Header */
.site-header{position:sticky;top:0;z-index:40;background:#121c20f4;border-bottom:1px solid #29434d;backdrop-filter:blur(18px)}
.nav{height:62px;display:grid;grid-template-columns:auto 1fr auto;gap:30px;align-items:center}
.brand{gap:10px;font-size:18px;letter-spacing:-.025em;text-transform:none;font-weight:800}
.brand-mark{width:30px;height:30px;border-radius:7px;background:var(--cyan);color:#142126;box-shadow:none;font-size:15px;transform:skew(-8deg)}
.nav-links{justify-self:start;gap:2px}
.nav-links a{padding:10px 13px;border-radius:8px;color:#819eaa;font:700 12px var(--sans);letter-spacing:0;text-transform:none}
.nav-links a:hover{background:#1d3037;color:var(--text)}
.nav-actions{gap:10px}
.network-pill{height:38px;display:flex;align-items:center;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:#17262b;color:#a7c3cd;font:500 11px var(--sans);letter-spacing:0}
.network-pill i{background:var(--cyan);box-shadow:0 0 0 3px #78c7e21a}
.wallet-button,.primary{background:var(--cyan);color:#102027;border:1px solid #8bd5ec;border-radius:9px;font-weight:800;box-shadow:none}
.wallet-button{padding:10px 16px;font-size:12px}
.wallet-button:hover,.primary:hover{filter:brightness(1.06)}

/* Hero */
.dashboard-intro{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:36px;min-height:292px;margin-top:30px;padding:42px 46px;background:linear-gradient(135deg,#1d3036 0%,#20343a 68%,#21373d 100%);border:1px solid #2d4a54;border-radius:15px;overflow:hidden}
.dashboard-intro:after{content:"";position:absolute;z-index:-1;right:-30px;top:12px;width:62%;height:240px;opacity:.72;background-repeat:no-repeat;background-position:center;background-size:100% 100%;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 800 250' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 190 C120 235 170 80 290 118 S430 220 530 116 S670 42 800 115' fill='none' stroke='%2378c7e2' stroke-width='4' stroke-linecap='round'/%3E%3Cpath d='M0 198 C120 243 170 88 290 126 S430 228 530 124 S670 50 800 123' fill='none' stroke='%233e6876' stroke-width='2' stroke-dasharray='14 12'/%3E%3C/svg%3E")}
.intro-copy{align-self:center;max-width:680px}
.eyebrow,.section-kicker{font:600 11px var(--sans);letter-spacing:.01em;color:var(--cyan);text-transform:none}
h1{max-width:640px;margin:9px 0 16px;font-size:clamp(38px,4.2vw,58px);line-height:.98;letter-spacing:-.055em;font-weight:800}
h1 span{color:var(--text)}
.intro-copy p{max-width:580px;color:#8eb5c4;font-size:14px;line-height:1.65}
.tracking-card{position:relative;z-index:2;align-self:center;background:#192a30e8;border:1px solid #3a5964;border-radius:13px;overflow:hidden;box-shadow:0 18px 40px #0a12162e}
.tracking-head,.tracking-row{padding:13px 15px;border-color:#2d4650}
.tracking-head span{color:#98b6c1;font:700 10px var(--sans);letter-spacing:0}
.tracking-head b{color:var(--mint);font:700 10px var(--sans);letter-spacing:0}
.tracking-head b i{background:var(--mint);box-shadow:none}
.tracking-row span{font-size:11px;color:#83a4b0}
.tracking-row strong{font:600 11px var(--sans)}
.tracking-card>a{padding:13px 15px;color:var(--cyan);font:700 11px var(--sans)}

/* Search and headline stats */
.command-bar{margin:30px 0 16px;background:transparent;border:0;gap:12px}
.global-search{height:44px;max-width:390px;padding:0 14px;background:#17262b;border:1px solid #365763;border-radius:9px}
.global-search>span{color:#789ba9}
.global-search input{padding:0;color:var(--text);font:500 12px var(--sans)}
.global-search input::placeholder{color:#6f919e}
.command-action{margin-left:auto;min-width:170px;justify-content:space-between;padding:0 16px;border:1px solid #436774;border-radius:9px;background:#1b3037;color:var(--cyan);font:700 12px var(--sans)}
.command-action:hover{background:#223941}
.stat-grid{margin:0 0 42px;grid-template-columns:repeat(4,1fr);background:transparent;border-top:1px solid #29434d;border-bottom:1px solid #29434d;border-left:0;border-right:0}
.stat-grid article{padding:18px 18px 18px 4px;border-color:#29434d;background:transparent}
.stat-grid article+article{padding-left:22px}
.stat-grid span{font:600 10px var(--sans);letter-spacing:0;color:#7fa2af}
.stat-grid strong{margin:5px 0 1px;font-size:28px;letter-spacing:-.045em;color:#f2f8fa}
.stat-grid small{color:#638793;font-size:10px}

/* Sections */
.tokens-section,.board-section{padding-top:8px}
.tokens-section{padding-bottom:54px}
.board-section{padding-bottom:76px}
.section-heading{align-items:center;margin-bottom:14px}
.section-heading h2,.principles h2,.airdrop-section h2{margin:2px 0 0;font-size:26px;letter-spacing:-.04em}
.section-heading>p{font:600 10px var(--sans);letter-spacing:0;color:#7597a4}
.compact-heading{padding-bottom:12px;border-bottom:1px solid #29434d}

/* StonkFun-like token cards */
.token-table-head{display:none}
.token-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;background:transparent;border:0}
.token-row{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"identity identity" "proven days" "score arrow";gap:8px 18px;min-height:188px;padding:18px 18px 17px;background:#1d3036;border:1px solid #304e59;border-radius:14px;color:var(--text);overflow:hidden;transition:transform .14s ease,border-color .14s ease,background .14s ease}
.token-row:after{content:"";position:absolute;right:-34px;bottom:-50px;width:150px;height:150px;border:1px solid #365d69;border-radius:50%;box-shadow:0 0 0 17px #223840,0 0 0 18px #345864;opacity:.65;pointer-events:none}
.token-row:hover{transform:translateY(-2px);background:#21363d;border-color:#47707e}
.token-identity{grid-area:identity;align-items:flex-start;gap:12px;margin-bottom:15px;position:relative;z-index:1}
.token-identity>i{width:44px;height:44px;flex:0 0 44px;border:1px solid #487080;background:#17272c;border-radius:50%;color:var(--cyan);font:800 16px var(--sans)}
.token-identity span{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding-top:2px}
.token-identity b{font:800 13px var(--sans);color:var(--cyan)}
.token-identity small{max-width:220px;color:#90adba;font-size:12px}
.token-row>strong{position:relative;z-index:1;display:flex;flex-direction:column;font:800 24px var(--sans);letter-spacing:-.04em;color:#f3f8fa}
.token-row>strong:before{margin-bottom:3px;font:600 9px var(--sans);letter-spacing:0;color:#7497a4}
.token-row>strong:nth-of-type(1){grid-area:proven}
.token-row>strong:nth-of-type(1):before{content:"Proven holders"}
.token-row>strong:nth-of-type(2){grid-area:days}
.token-row>strong:nth-of-type(2):before{content:"Avg held"}
.token-row>strong:nth-of-type(3){grid-area:score;color:var(--mint)}
.token-row>strong:nth-of-type(3):before{content:"Avg score"}
.row-arrow{grid-area:arrow;align-self:end;justify-self:end;position:relative;z-index:2;display:grid;place-items:center;width:34px;height:34px;border:1px solid #426773;border-radius:9px;background:#1a2b31;color:var(--cyan);font-size:16px}
.token-row:hover .row-arrow{background:var(--cyan);color:#102027}
.token-empty{grid-column:1/-1;border:1px solid #304e59;border-radius:12px;background:#1b2a30}

/* Board controls and token detail */
.board-heading{padding-top:8px}
.board-controls{display:grid;grid-template-columns:minmax(240px,1fr) 240px auto auto;gap:9px;margin-bottom:13px}
.search,.token-picker,.day-filters{height:42px;border:1px solid #385965;border-radius:9px;background:#17272c;overflow:hidden}
.search{padding:0 13px}
.search input{font:500 11px var(--sans)}
.token-picker{padding:0 10px}
.token-picker span{font:700 9px var(--sans);letter-spacing:0;color:#6f929f}
.token-picker select{min-width:0;width:100%;font:600 10px var(--sans);color:#d9e8ed}
.day-filters button{min-width:44px;padding:0 11px;border-color:#385965;color:#9ab5c0;font:700 9px var(--sans)}
.day-filters button.active{background:#365d68;color:#e7f6fb}
.outline{border:1px solid #406571;border-radius:9px;background:#182a30;color:var(--cyan);font-weight:700}
.button-link{justify-content:center;min-width:82px}
.token-detail{border-color:#355762!important;border-radius:12px!important;background:#1c3036!important;overflow:hidden}
.token-detail>div{border-color:#355762!important}
.token-detail-identity>i{background:#17272c!important;border-color:#456c78!important;color:var(--cyan)!important}
.token-detail>button{color:var(--cyan)!important}

/* Stonk Board-like ranked cards */
.table-wrap{overflow:auto;background:transparent;border:0}
table{border-collapse:separate;border-spacing:0 10px;min-width:980px}
thead th{padding:0 15px 7px;background:transparent;border:0;color:#6f929f;font:700 9px var(--sans);letter-spacing:0;text-transform:none}
tbody tr{background:#1d3036;transition:background .12s ease}
tbody tr:hover{background:#21363d}
td{padding:17px 15px;border-top:1px solid #31515c;border-bottom:1px solid #31515c;border-left:0;border-right:0;font-size:12px}
tbody td:first-child{border-left:1px solid #31515c;border-radius:13px 0 0 13px}
tbody td:last-child{border-right:1px solid #31515c;border-radius:0 13px 13px 0}
.rank{font:700 11px var(--mono);color:#7899a6}
.rank.top{color:var(--cyan)}
.wallet{font:600 11px var(--mono);color:#e0eef2}
.wallet-dot{width:8px;height:8px;background:#628897;border:2px solid #29454f}
.score{font:800 17px var(--sans);color:var(--mint)}
.score-bar{width:74px;height:3px;margin-top:5px;background:#2c4852;border-radius:3px;overflow:hidden}
.score-bar i{background:var(--mint)}
.status{border:1px solid #477064;border-radius:8px;background:#213b37;color:#a7e6c5;font:700 9px var(--sans);letter-spacing:0;text-transform:none}
.status:before{background:var(--mint)}
.holding{font:600 10px var(--sans)}
.holding b{color:var(--cyan)}
.holding span{color:#83a4b0}
.pagination{padding:7px 2px 0;font:600 9px var(--sans);letter-spacing:0;color:#7194a1}
.pagination button{border-color:#385965;border-radius:8px;background:#17272c;color:#dcebef}

/* Airdrop builder */
.airdrop-section{padding-top:62px;border-top:1px solid #29434d}
.airdrop-heading{padding-bottom:14px;border-bottom:1px solid #29434d}
.airdrop-layout{grid-template-columns:minmax(0,1fr) 345px;gap:14px}
.panel{background:#1d3036;border:1px solid #31515c;border-radius:14px}
.airdrop-builder{padding:23px}
.builder-step{border-color:#31515c}
.builder-step>span{border-color:#426b77;border-radius:7px;color:var(--cyan);background:#17272c}
.builder-step b{font-size:14px}
.builder-step small{color:#829fac}
.field>span{font:700 9px var(--sans);letter-spacing:0;color:#7597a4}
.field input,.field select{background:#17272c;border:1px solid #375965;border-radius:8px;color:#e7f1f4;font:500 11px var(--sans)}
.field select[multiple] option:checked{background:#355f69;color:#eff9fb}
.builder-actions{border-color:#31515c}
.recipient-summary{font:600 10px var(--sans);color:#85a3af}
.recipient-summary i{background:var(--mint)}
.airdrop-summary{top:76px;padding:22px}
.summary-number{border-color:#31515c}
.summary-number strong{color:var(--cyan);font-size:42px}
.summary-number span{font:700 9px var(--sans);letter-spacing:0;color:#7899a6}
.summary-row{border-color:#31515c}
.summary-note{background:#17272c;border-color:#31515c;border-radius:9px}
.summary-note b{color:var(--mint)}
.wallet-secondary{border:1px solid #4a786c;border-radius:9px;background:#23423d;color:#b8efd2}
.confirm-panel{border-radius:14px}
.progress-track{background:#294650;border-radius:4px;overflow:hidden}
.progress-track i{background:var(--cyan)}
.airdrop-info{border-color:#31515c;border-radius:9px;background:#17272c;color:#7899a6}

/* Methodology / footer / dialog */
.principles{gap:58px;padding:76px 0}
.principles p{color:#83a4b0}
.formula{border-color:#31515c}
.formula>div{border-color:#31515c}
.formula b{color:var(--cyan)}
.formula small{color:#7899a6}
footer{border-color:#29434d;color:#7194a1}
dialog{background:#1b2b31;border:1px solid #3c606c;border-radius:14px}
dialog::backdrop{background:#081014cf}
.result-card{border-radius:11px}

@media(max-width:1050px){
  .nav-links{display:none}
  .dashboard-intro{grid-template-columns:1fr 285px;padding:34px}
  .dashboard-intro:after{width:72%;opacity:.44}
  .token-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .board-controls{grid-template-columns:1fr 220px auto}
  .board-controls .button-link{display:none}
  .airdrop-layout{grid-template-columns:1fr}
  .airdrop-summary{position:static}
}

@media(max-width:760px){
  .shell{width:min(100% - 20px,1420px)}
  .nav{height:58px;gap:12px}
  .brand{font-size:15px}
  .network-pill{display:none}
  .dashboard-intro{grid-template-columns:1fr;min-height:0;margin-top:18px;padding:28px 24px}
  .dashboard-intro:after{right:-100px;top:80px;width:110%;opacity:.22}
  h1{font-size:38px}
  .tracking-card{max-width:none}
  .command-bar{margin-top:18px}
  .global-search{max-width:none}
  .command-action{display:none}
  .stat-grid{grid-template-columns:1fr 1fr}
  .stat-grid article:nth-child(2){border-right:0}
  .stat-grid article:nth-child(-n+2){border-bottom:1px solid #29434d}
  .token-list{grid-template-columns:1fr}
  .board-controls{grid-template-columns:1fr 1fr}
  .search{grid-column:1/-1}
  .day-filters{overflow:auto}
  .section-heading{align-items:flex-end}
  .principles{grid-template-columns:1fr;gap:28px}
}

@media(max-width:520px){
  .wallet-button{padding:9px 11px;font-size:10px}
  .dashboard-intro{padding:24px 18px}
  h1{font-size:34px}
  .stat-grid article{padding:14px 10px!important}
  .stat-grid strong{font-size:22px}
  .board-controls{grid-template-columns:1fr}
  .search,.token-picker{grid-column:auto}
  .builder-grid{grid-template-columns:1fr}
  .token-multi-label,.full{grid-column:auto;grid-row:auto}
  .confirm-panel{grid-template-columns:1fr}
  .confirm-actions{justify-content:flex-start}
  .formula>div{grid-template-columns:68px 1fr;gap:8px}
  .formula small{grid-column:1/-1}
}
