/* ============================================================
   HoodPump — Sherwood ledger theme. Flat by rule: no box-shadow,
   text-shadow, drop-shadow, glow, or neon anywhere.
   ============================================================ */
:root{
  /* MERRY MEN glass / neon palette (remapped onto the existing var names) */
  --forest-900:#0a0812;   /* canvas (under the city bg) */
  --forest-800:rgba(18,16,30,.62);
  --forest-700:rgba(28,24,44,.55);
  --forest-600:rgba(40,34,60,.6);
  --line:rgba(255,255,255,.12);
  --parch:#f4f4f8;        /* primary text */
  --parch-dim:#a9a9b8;
  --gold:#ccff00;         /* accent / primary action (RH yellow-green) */
  --gold-deep:#00e676;    /* secondary accent (green) */
  --fletch:#ff2fb0;       /* sell / danger (friar pink) */
  --moss:#00e676;         /* buy / positive (green) */
  --ink:#0a1400;          /* text on the bright accent */
  --card:rgba(18,16,30,.55);
  --card2:rgba(28,24,44,.62);
  --eth:#22d3ee;
  --radius:16px;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --body:"Inter",system-ui,sans-serif;
  --display:"Bricolage Grotesque","Inter",sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:#0a0812 url('/assets/city-bg.jpeg') top center/cover no-repeat fixed;
  color:var(--parch);
  font-family:var(--body);
  font-size:15px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  min-height:100vh;
}
body::before{content:'';position:fixed;inset:0;background:linear-gradient(180deg,rgba(10,8,18,.72),rgba(10,8,18,.88));z-index:-1}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
.hidden{display:none !important}
.mono{font-family:var(--mono)}

/* ---------- top bar ---------- */
.topbar{
  display:flex;align-items:center;gap:28px;
  padding:0 22px;height:60px;
  background:var(--forest-800);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-bottom:2px solid var(--gold-deep);
  position:sticky;top:0;z-index:40;
}
.brand{display:flex;align-items:center;gap:9px}
.brand-mark{color:var(--gold);display:flex}
.brand-name{font-family:var(--display);font-weight:800;font-size:21px;letter-spacing:-0.02em}
.brand-chain{
  font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:0.14em;
  color:var(--forest-900);background:var(--gold);padding:2px 6px;border-radius:2px;margin-top:2px;
}
.mainnav{display:flex;gap:20px;margin-left:6px}
.mainnav a{
  font-size:14px;color:var(--parch-dim);padding:6px 0;border-bottom:2px solid transparent;
}
.mainnav a:hover{color:var(--parch)}
.mainnav a.active{color:var(--gold);border-bottom-color:var(--gold)}
.wallet-area{margin-left:auto;display:flex;align-items:center;gap:10px}
.wallet-pill{
  font-family:var(--mono);font-size:12px;background:var(--forest-700);
  border:1px solid var(--line);border-radius:999px;padding:6px 12px;color:var(--parch);
  display:flex;align-items:center;gap:8px;
}
.wallet-pill .dot{width:7px;height:7px;border-radius:50%;background:var(--moss)}

/* ---------- buttons ---------- */
.btn{
  border:1px solid var(--line);background:var(--forest-700);color:var(--parch);
  padding:9px 16px;border-radius:var(--radius);font-size:14px;font-weight:600;
  transition:background .12s,border-color .12s;
}
.btn:hover{background:var(--forest-600)}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn-gold{background:linear-gradient(90deg,var(--gold),var(--gold-deep));color:var(--ink);border:none;font-weight:800;box-shadow:0 0 18px rgba(0,230,118,.32)}
.btn-gold:hover{background:#d8b13a}
.btn-moss{background:var(--moss);color:#0c1a0a;border-color:#557a48}
.btn-moss:hover{background:#79a06b}
.btn-fletch{background:var(--fletch);color:#fff;border-color:#8f2c22}
.btn-fletch:hover{background:#c4463a}
.btn-small{padding:5px 10px;font-size:12px}
.btn-ghost{background:transparent}
.btn-block{width:100%;display:block;text-align:center}

/* ---------- chain warning ---------- */
.chain-warning{
  background:var(--fletch);color:#fff;padding:10px 22px;font-size:14px;
  display:flex;align-items:center;gap:14px;
}

/* ---------- layout ---------- */
main{max-width:1180px;margin:0 auto;padding:26px 22px 80px}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px;flex-wrap:wrap}
.page-title{font-family:var(--display);font-weight:800;font-size:30px;letter-spacing:-0.02em;margin:0}
.page-sub{color:var(--parch-dim);font-size:14px;margin:4px 0 0}
.eyebrow{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:0.16em;color:var(--gold)}

/* ---------- board tabs ---------- */
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:20px;flex-wrap:wrap}
.tab{
  background:none;border:none;color:var(--parch-dim);padding:10px 14px;font-size:14px;font-weight:600;
  border-bottom:2px solid transparent;margin-bottom:-1px;
}
.tab:hover{color:var(--parch)}
.tab.active{color:var(--gold);border-bottom-color:var(--gold)}

/* ---------- token grid ---------- */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.card{
  background:var(--card);border:1px solid var(--line);border-radius:18px;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  padding:16px;display:flex;flex-direction:column;gap:11px;transition:border-color .15s,transform .15s;
}
.card:hover{border-color:var(--gold);transform:translateY(-2px)}
.card-top{display:flex;gap:11px;align-items:flex-start}
.token-img{
  width:52px;height:52px;border-radius:var(--radius);object-fit:cover;flex:none;
  background:var(--forest-700);border:1px solid var(--line);
}
.token-img.placeholder{display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:800;color:var(--gold);font-size:20px}
.card-id{min-width:0;flex:1}
.card-name{font-weight:700;font-size:16px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card-sym{font-family:var(--mono);font-size:12px;color:var(--parch-dim)}
.badges{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px}
.badge{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:0.08em;
  padding:2px 6px;border-radius:2px;border:1px solid var(--line)}
.badge-vault{color:var(--gold);border-color:var(--gold-deep)}
.badge-standard{color:var(--parch-dim)}
.badge-quote{color:var(--moss);border-color:#3f5a37}
.badge-grad{color:var(--ink);background:var(--gold);border-color:var(--gold)}
.card-stats{display:flex;justify-content:space-between;font-size:13px}
.stat b{display:block;font-family:var(--mono);font-size:14px;color:var(--parch)}
.stat span{color:var(--parch-dim);font-size:11px;text-transform:uppercase;letter-spacing:0.06em}

/* ---------- draw-to-target graduation meter (signature) ---------- */
.meter{--p:0}
.meter-label{display:flex;justify-content:space-between;font-family:var(--mono);font-size:11px;color:var(--parch-dim);margin-bottom:4px}
.meter-track{position:relative;height:14px;background:var(--forest-700);border:1px solid var(--line);border-radius:2px;overflow:hidden}
.meter-fill{position:absolute;inset:0 auto 0 0;width:calc(var(--p)*1%);background:var(--gold);
  transition:width .5s ease}
.meter-arrow{position:absolute;top:50%;left:calc(var(--p)*1%);transform:translate(-100%,-50%);
  color:var(--ink);font-size:11px;line-height:1;padding-right:2px}
.meter-target{position:absolute;top:50%;right:3px;transform:translateY(-50%);color:var(--parch-dim);font-size:10px}
.meter.done .meter-fill{background:var(--moss)}
.meter.done .meter-target{color:#0c1a0a}

/* ---------- detail page ---------- */
.detail-grid{display:grid;grid-template-columns:1fr 340px;gap:22px;align-items:start}
.panel{background:var(--card);border:1px solid var(--line);border-radius:18px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:20px}
.panel + .panel{margin-top:16px}
.panel h3{font-family:var(--display);font-weight:700;font-size:16px;margin:0 0 12px}
.detail-head{display:flex;gap:14px;align-items:center;margin-bottom:18px}
.detail-head .token-img{width:64px;height:64px}
.detail-title{font-family:var(--display);font-weight:800;font-size:26px;margin:0;letter-spacing:-0.02em}
.addr{font-family:var(--mono);font-size:12px;color:var(--parch-dim);word-break:break-all}
.kv{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--line);font-size:14px}
.kv:last-child{border-bottom:none}
.kv .k{color:var(--parch-dim)}
.kv .v{font-family:var(--mono)}
.pos{color:var(--moss)}
.neg{color:var(--fletch)}

/* trade panel */
.seg{display:flex;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:14px}
.seg button{flex:1;background:var(--forest-700);border:none;color:var(--parch-dim);padding:10px;font-weight:600}
.seg button.active-buy{background:var(--moss);color:#0c1a0a}
.seg button.active-sell{background:var(--fletch);color:#fff}
.field{margin-bottom:12px}
.field label{display:block;font-size:12px;color:var(--parch-dim);margin-bottom:5px;text-transform:uppercase;letter-spacing:0.06em}
.input{
  width:100%;background:var(--forest-900);border:1px solid var(--line);border-radius:var(--radius);
  color:var(--parch);padding:10px 12px;font-family:var(--mono);font-size:15px;
}
.input:focus{outline:none;border-color:var(--gold)}
.quickrow{display:flex;gap:6px;margin-top:7px}
.quickrow button{flex:1;background:var(--forest-700);border:1px solid var(--line);color:var(--parch-dim);
  padding:5px;border-radius:2px;font-size:12px;font-family:var(--mono)}
.quickrow button:hover{color:var(--parch);border-color:var(--gold-deep)}
.preview{font-family:var(--mono);font-size:13px;color:var(--parch-dim);margin:10px 0;line-height:1.7}
.preview b{color:var(--parch)}

/* tables / feeds */
.feed{max-height:340px;overflow:auto}
.row{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px;font-family:var(--mono)}
.row:last-child{border-bottom:none}
.row .who{color:var(--parch-dim)}
.tag-buy{color:var(--moss)}
.tag-sell{color:var(--fletch)}

/* comments */
.comment{padding:9px 0;border-bottom:1px solid var(--line)}
.comment .meta{font-family:var(--mono);font-size:11px;color:var(--parch-dim);margin-bottom:3px}
.comment .body{font-size:14px;white-space:pre-wrap;word-break:break-word}
.comment-form{display:flex;gap:8px;margin-top:12px}

/* create form */
.form-wrap{max-width:640px}
.mode-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pick{
  border:1px solid var(--line);border-radius:16px;padding:16px;cursor:pointer;background:var(--card);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:.15s;
}
.pick:hover{border-color:var(--gold)}
.pick.sel{border-color:var(--gold);background:var(--card2);box-shadow:0 0 16px rgba(204,255,0,.15)}
.pick h4{margin:0 0 5px;font-size:15px;font-family:var(--display);font-weight:700}
.pick p{margin:0;font-size:12.5px;color:var(--parch-dim);line-height:1.45}
.fee-row{display:flex;gap:8px;margin-bottom:8px}
.fee-row .input{flex:1}
.fee-row .bps{max-width:110px}
.help{font-size:12px;color:var(--parch-dim);margin-top:5px}
.sum-ok{color:var(--moss)} .sum-bad{color:var(--fletch)}

/* image uploader */
.uploader{display:flex;gap:14px;align-items:flex-start}
.uploader-controls{flex:1;min-width:0}
.upload-preview{
  width:96px;height:96px;flex:none;border:1px solid var(--line);border-radius:var(--radius);
  background:var(--forest-900) center/cover no-repeat;
  display:flex;align-items:center;justify-content:center;color:var(--parch-dim);
  font-family:var(--mono);font-size:11px;text-align:center;
}
.upload-preview.has-img{border-color:var(--gold-deep)}
.upload-preview.has-img #img-preview-empty{display:none}

/* hoverable info icon + tooltip */
.info{
  display:inline-flex;align-items:center;justify-content:center;
  width:15px;height:15px;border-radius:50%;border:1px solid var(--gold-deep);
  color:var(--gold);font-family:var(--mono);font-size:10px;font-style:normal;line-height:1;
  cursor:help;position:relative;vertical-align:middle;text-transform:lowercase;
}
.info::after{
  content:attr(data-tip);
  position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);
  width:240px;background:var(--forest-700);border:1px solid var(--gold-deep);border-radius:var(--radius);
  color:var(--parch);font-family:var(--body);font-size:12px;line-height:1.45;font-weight:400;
  padding:9px 11px;text-align:left;text-transform:none;
  opacity:0;visibility:hidden;transition:opacity .12s;z-index:50;pointer-events:none;
}
.info:hover::after,.info:focus::after{opacity:1;visibility:visible}

/* misc */
.empty{padding:50px 20px;text-align:center;color:var(--parch-dim);border:1px dashed var(--line);border-radius:var(--radius)}
.empty a{color:var(--gold);text-decoration:underline}
.loading{padding:40px;text-align:center;color:var(--parch-dim);font-family:var(--mono);font-size:13px}
.toast-stack{position:fixed;right:18px;bottom:18px;display:flex;flex-direction:column;gap:8px;z-index:60}
.toast{background:var(--forest-700);border:1px solid var(--gold-deep);border-left:3px solid var(--gold);
  border-radius:var(--radius);padding:11px 14px;font-size:13px;max-width:340px}
.toast.err{border-color:var(--fletch);border-left-color:var(--fletch)}
.toast.ok{border-color:var(--moss);border-left-color:var(--moss)}
.back-link{font-family:var(--mono);font-size:12px;color:var(--parch-dim);margin-bottom:14px;display:inline-block}
.back-link:hover{color:var(--gold)}
.split{display:flex;gap:8px}.split>*{flex:1}
canvas.chart{width:100%;height:260px;display:block;background:var(--forest-900);border:1px solid var(--line);border-radius:var(--radius)}

@media(max-width:900px){
  .detail-grid{grid-template-columns:1fr}
  .mainnav{display:none}
}
@media(prefers-reduced-motion:reduce){*{transition:none !important}}
