:root{
  --bg:#0b0b0b;
  --bg-2:#101010;
  --card:#151515;
  --card-2:#1a1a1a;
  --line:#2a2a2a;
  --soft:#202020;
  --ink:#f5f5f5;
  --muted:#a0a0a0;
  --muted-2:#737373;
  --white:#ffffff;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono',monospace;
  font-family:'DM Sans',system-ui,sans-serif;
  color:var(--ink);
  background:var(--bg);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;background:#0b0b0b;color:var(--ink)}
button,input{font:inherit}
button{appearance:none}
.app-shell{max-width:1240px;margin:auto;padding:0 28px}

.nav{height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:18px;letter-spacing:-.02em}
.brand-mark{display:grid;place-items:center;width:31px;height:31px;background:var(--white);color:#000;border-radius:10px;font-size:20px}
.nav nav{display:flex;gap:30px;margin-left:auto;margin-right:30px}
.nav nav a{font-size:13px;color:var(--muted);text-decoration:none}
.nav nav a.active{color:var(--ink);font-weight:700}
.account{position:relative;display:flex;align-items:center;gap:10px}
.account-name{
  border:0;background:transparent;color:var(--muted);font-family:var(--mono);
  font-size:10px;letter-spacing:.03em;cursor:pointer;padding:8px 3px;
}
.account-name:hover{color:var(--ink)}
.account-popover{
  position:absolute;right:0;top:calc(100% + 10px);width:250px;padding:14px;
  background:#141414;border:1px solid var(--line);border-radius:12px;
  box-shadow:0 18px 40px rgba(0,0,0,.4);z-index:20;
}
.account-popover.hidden{display:none}
.account-popover-label{display:block;color:#666;font-family:var(--mono);font-size:8px;letter-spacing:.1em;font-weight:700}
.account-popover strong{display:block;margin-top:7px;font-family:var(--mono);font-size:10px;color:var(--ink);word-break:break-all}
.avatar{
  border:1px solid #3a3a3a;background:#121212;color:var(--ink);
  min-width:74px;height:35px;border-radius:10px;padding:0 11px;
  font-family:var(--mono);font-size:10px;font-weight:600;cursor:pointer;
}
.avatar:hover{background:#1b1b1b;border-color:#555}

.hero{display:flex;justify-content:space-between;gap:50px;padding:76px 0 50px}
.kicker{font-size:11px;letter-spacing:.17em;font-weight:700;color:var(--muted-2);margin:0 0 14px}
.hero h1{
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:62px;line-height:.98;letter-spacing:-.045em;
  font-weight:700;margin:0;
}
.hero h1 em{font-style:normal;color:var(--ink)}
.sub{max-width:585px;color:var(--muted);font-size:16px;line-height:1.65;margin:20px 0 0}
.hero-note{
  align-self:end;display:flex;gap:12px;max-width:285px;padding:16px;
  border:1px solid var(--line);background:#151515;border-radius:16px;
}
.hero-note>span{font-size:23px;color:var(--ink)}
.hero-note strong{display:block;font-size:13px}
.hero-note small{display:block;color:var(--muted);font-size:11px;line-height:1.4;margin-top:4px}

.tagline{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#6f6f6f;margin:16px 2px 0}
.add-card{
  display:grid;grid-template-columns:40px 1.1fr minmax(260px,2.25fr) 140px 145px;
  gap:12px;align-items:center;background:#141414;padding:14px;
  border-radius:20px;border:1px solid var(--line);
  box-shadow:0 16px 40px rgba(0,0,0,.28);
}
.add-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--soft);color:var(--ink);font-size:22px}
.add-copy strong,.add-copy span{display:block}
.add-copy strong{font-size:13px}
.add-copy span{font-size:11px;color:var(--muted);margin-top:3px}
.add-card input{
  height:43px;border:1px solid #343434;background:#0f0f0f;color:var(--ink);
  border-radius:11px;padding:0 13px;outline:0;min-width:0;
}
.add-card input::placeholder{color:#666}
.add-card input:focus{border-color:#666;box-shadow:0 0 0 3px rgba(255,255,255,.05)}
.add-card input[type=number]{font-family:var(--mono)}
.add-card button{
  height:43px;border:1px solid #505050;border-radius:11px;
  background:var(--white);color:#000;font-family:var(--mono);
  font-size:11px;font-weight:700;cursor:pointer;
}
.add-card button:hover{background:#e8e8e8}
.add-card button:disabled{opacity:.48;cursor:wait}
#notice{min-height:24px;padding-top:10px;font-size:12px;font-weight:700;color:var(--muted)}
#notice.good{color:#d3d3d3}
#notice.bad{color:#f0b0b0}

.toolbar{display:flex;justify-content:space-between;align-items:center;padding:32px 2px 18px}
.tabs{display:flex;gap:7px}
.tab,.ghost{
  border:1px solid transparent;background:transparent;color:var(--muted);
  padding:8px 11px;border-radius:9px;font-size:12px;cursor:pointer;
}
.tab b{
  font-family:var(--mono);font-size:9px;background:var(--soft);color:#c1c1c1;
  padding:3px 6px;border-radius:20px;margin-left:5px;
}
.tab.active{background:#161616;color:var(--ink);border-color:var(--line)}
.ghost{border-color:var(--line);background:#121212;color:var(--ink);font-weight:600}
.ghost:hover{border-color:#555;background:#1b1b1b}

.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{
  background:linear-gradient(180deg,#171717 0%,#121212 100%);
  border:1px solid var(--line);border-radius:18px;padding:17px;min-width:0;
  transition:transform .15s,box-shadow .15s,border-color .15s;
}
.card:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(0,0,0,.28)}
.card.buy{border-color:#4a4a4a}
.card-top{display:flex;justify-content:space-between;align-items:center}
.card-actions{display:flex;align-items:center;gap:2px}
.pill{
  font-family:var(--mono);font-size:9px;letter-spacing:.04em;font-weight:700;
  padding:6px 9px;border-radius:30px;background:var(--soft);color:#bdbdbd;
}
.pill.buy{background:#252525;color:#f2f2f2}
.edit-threshold,.delete{border:0;background:none;color:#818181;cursor:pointer}
.edit-threshold{font-size:15px;padding:4px}.delete{font-size:20px;padding:1px 4px}
.edit-threshold:hover,.delete:hover{color:var(--ink)}
.product-image{height:205px;width:100%;object-fit:contain;margin:3px 0 6px;border-radius:12px;background:#101010}
.image-placeholder{height:205px;display:grid;place-items:center;color:#737373;font-size:12px;background:#101010;border-radius:12px;margin:3px 0 10px}
.retailer{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.11em;color:#737373;font-weight:700}
.card h2{font-size:16px;line-height:1.3;margin:7px 0 0}
.price-row{display:flex;align-items:end;gap:9px;margin:13px 0}
.price{font-family:var(--mono);font-size:31px;font-weight:600;letter-spacing:-.05em;color:#f2f2f2}
.metrics{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}
.metric{background:#101010;border:1px solid #222;border-radius:10px;padding:9px;min-width:0}
.metric span{display:block;color:#737373;font-family:var(--mono);font-size:8px;text-transform:uppercase;letter-spacing:.06em}
.metric b{display:block;font-family:var(--mono);font-size:10px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#ddd}
.chart{height:42px;margin-top:13px;position:relative;color:#d8d8d8}
.chart svg{width:100%;height:100%;overflow:visible}
.recent-history{display:flex;align-items:center;gap:7px;margin-top:10px;font-size:9px;color:#737373;overflow:hidden}
.recent-history>span{text-transform:uppercase;letter-spacing:.07em;font-family:var(--mono);font-weight:700;margin-right:2px;white-space:nowrap}
.recent-history div{display:flex;align-items:baseline;gap:4px;background:#101010;border:1px solid #222;border-radius:8px;padding:5px 7px;white-space:nowrap}
.recent-history b{font-family:var(--mono);font-size:9px;color:#ddd}
.recent-history small{font-size:8px;color:#666}
.actions{display:flex;justify-content:space-between;align-items:center;margin-top:13px;padding-top:12px;border-top:1px solid var(--line)}
.actions a{font-family:var(--mono);font-size:9px;font-weight:600;color:#cfcfcf;text-decoration:none}
.actions a:hover{color:var(--white)}
.check{border:1px solid #3a3a3a;background:#111;color:#ddd;border-radius:8px;padding:8px 10px;font-family:var(--mono);font-size:9px;font-weight:700;cursor:pointer}
.check:hover{background:#1a1a1a;border-color:#555}
.last{display:block;color:#606060;font-family:var(--mono);font-size:8px;margin-top:10px}
.empty{grid-column:1/-1;text-align:center;padding:75px 20px;border:1px dashed #363636;border-radius:18px;color:var(--muted);background:#101010}

.email-card{margin:55px 0 0;background:#141414;border:1px solid var(--line);border-radius:18px;padding:28px;display:grid;grid-template-columns:1fr 1.2fr;gap:35px;align-items:center}
.email-card h2{font-family:'DM Sans',system-ui,sans-serif;font-weight:700;font-size:30px;margin:0}
.email-card p:not(.kicker){color:var(--muted);font-size:13px;line-height:1.5}
.email-form{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center}
.email-form input{height:42px;border:1px solid #303030;border-radius:10px;padding:0 12px;background:#0f0f0f;color:var(--ink);font-family:var(--mono);font-size:10px}
.email-form input:disabled{background:#0c0c0c;color:#888}
.email-form button{height:42px;border:1px solid #3b3b3b;border-radius:10px;padding:0 14px;background:#171717;color:#ddd;font-family:var(--mono);font-size:10px;font-weight:700;transition:opacity .18s,background .18s}
.email-form button:hover{background:#202020}
.email-form small{grid-column:1/-1;color:#777;font-size:10px}

.how{margin:100px 0 70px;padding:45px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:.7fr 1.5fr;gap:60px}
.how h2{font-family:'DM Sans',system-ui,sans-serif;font-size:38px;font-weight:700;letter-spacing:-.03em;margin:0}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.steps article{border-left:1px solid var(--line);padding-left:18px}
.steps span{font-family:var(--mono);font-size:9px;color:#696969;font-weight:800}
.steps h3{font-size:14px;margin:14px 0 6px}
.steps p{font-size:12px;line-height:1.55;color:var(--muted);margin:0}
footer{border-top:1px solid var(--line);padding:22px 0 35px;color:#555;font-family:var(--mono);font-size:8px}

.modal{position:fixed;inset:0;background:rgba(0,0,0,.82);display:grid;place-items:center;padding:20px;z-index:10;backdrop-filter:blur(8px)}
.modal.hidden{display:none}
.modal-card{position:relative;width:min(460px,100%);background:#141414;border-radius:22px;border:1px solid #303030;padding:34px;box-shadow:0 25px 80px rgba(0,0,0,.42)}
.modal-card h2{font-family:'DM Sans',system-ui,sans-serif;font-size:34px;font-weight:700;margin:0 0 10px}
.modal-card>p:not(.kicker){color:var(--muted);font-size:13px;line-height:1.5}
.modal-card input{width:100%;height:45px;border:1px solid #353535;border-radius:11px;padding:0 13px;margin:8px 0;background:#0f0f0f;color:var(--ink);font-family:var(--mono)}
.modal-card input:focus{outline:none;border-color:#666;box-shadow:0 0 0 3px rgba(255,255,255,.05)}
.modal-close{position:absolute;right:16px;top:13px;border:0;background:none;font-size:25px;color:#8a8a8a;cursor:pointer}
.modal-close:hover{color:var(--white)}
.auth-submit{width:100%;height:45px;border:1px solid #4d4d4d;border-radius:11px;background:var(--white);color:#000;font-family:var(--mono);font-weight:700;cursor:pointer;transition:opacity .18s,background .18s}
.auth-submit:hover{background:#e8e8e8}
.auth-submit:disabled{opacity:.5;cursor:wait}
.auth-submit.sent{opacity:.35;background:#d6d6d6}
.modal-card small{display:block;margin-top:12px;color:#777;line-height:1.4}
.spam-hint{font-size:10px!important;color:#666!important}
#authNotice.pending{color:#9b9b9b!important}
#authNotice.success{color:#d0d0d0!important}
#authNotice.error{color:#e0abab!important}

@media(max-width:1000px){
  .hero{padding-top:55px}.grid{grid-template-columns:repeat(2,1fr)}
  .add-card{grid-template-columns:40px 1fr 1fr}.add-copy{grid-column:2}
  .add-card input:nth-of-type(1){grid-column:2/4}.add-card input:nth-of-type(2){grid-column:2}
  .add-card button{grid-column:3}.how,.email-card{grid-template-columns:1fr}.email-form{grid-template-columns:1fr auto}
}
@media(max-width:620px){
  .app-shell{padding:0 15px}.nav nav{display:none}
  .hero{display:block;padding:48px 0 35px}.hero h1{font-size:46px}.hero-note{margin-top:28px}
  .add-card{grid-template-columns:40px 1fr}.add-copy{grid-column:2}
  .add-card input:nth-of-type(1),.add-card input:nth-of-type(2),.add-card button{grid-column:1/3}
  .grid{grid-template-columns:1fr}.toolbar{padding-top:24px}.steps{grid-template-columns:1fr}.how{margin-top:70px}
  .account-name{display:none}.account .avatar{min-width:66px}.email-form{grid-template-columns:1fr}.email-form button{grid-column:1}
}
