:root{
  --bg:#14161a; --panel:#1b1e24; --panel2:#20242b; --line:#2c313a;
  --ink:#e9e6df; --muted:#8d919b; --brass:#dfb454; --brass-hi:#f2ca6e;
  --celadon:#7fb4a2; --danger:#d0796a; --radius:10px; --mono:'IBM Plex Mono',monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  background:var(--bg);color:var(--ink);font-family:'Inter',system-ui,sans-serif;
  font-size:15px;line-height:1.5;
}
a{color:inherit}
h1,h2,h3{font-family:'Fraunces',serif;font-weight:600;letter-spacing:.2px}
.brass{color:var(--brass)}
.muted{color:var(--muted)}

.nav{display:flex;align-items:center;gap:14px;padding:18px 32px;border-bottom:1px solid var(--line)}
.nav .mark{width:26px;height:26px;border-radius:50%;border:2px solid var(--brass);position:relative;flex:none}
.nav .mark::after{content:'';position:absolute;inset:5px;border-radius:50%;border:1.5px solid var(--brass);opacity:.45}
.nav h1{font-size:19px}
.nav .links{margin-left:auto;display:flex;gap:22px;align-items:center;font-size:14px;color:var(--muted)}
.nav .links a:hover{color:var(--ink)}

.wrap{max-width:1040px;margin:0 auto;padding:0 32px}
.hero{padding:96px 0 64px;text-align:center}
.hero h2{font-size:clamp(32px,5vw,52px);line-height:1.1;max-width:760px;margin:0 auto 20px}
.hero p{color:var(--muted);font-size:17px;max-width:560px;margin:0 auto 32px}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:var(--brass);border:0;color:#231d0e;font:inherit;font-weight:600;font-size:15px;
  padding:13px 26px;border-radius:var(--radius);cursor:pointer;transition:background .15s;text-decoration:none;
}
.btn:hover{background:var(--brass-hi)}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.btn.ghost:hover{border-color:var(--brass)}
.btn:disabled{background:var(--line);color:var(--muted);cursor:not-allowed}
.btn.full{width:100%}

.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin:48px 0}
.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:26px;text-align:left}
.card h3{font-size:18px;margin-bottom:8px}
.card p{color:var(--muted);font-size:14px}

.pricing{max-width:380px;margin:56px auto;background:var(--panel);border:1px solid var(--line);
  border-radius:16px;padding:34px;text-align:center}
.pricing .price{font-family:var(--mono);font-size:40px;color:var(--brass);margin:14px 0 4px}
.pricing .price span{font-size:14px;color:var(--muted)}
.pricing ul{list-style:none;text-align:left;margin:24px 0;display:flex;flex-direction:column;gap:10px;font-size:14px}
.pricing ul li::before{content:'✓ ';color:var(--celadon)}

.authbox{max-width:380px;margin:80px auto;background:var(--panel);border:1px solid var(--line);
  border-radius:16px;padding:34px}
.authbox h2{font-size:22px;margin-bottom:6px;text-align:center}
.authbox p.sub{color:var(--muted);font-size:13px;text-align:center;margin-bottom:24px}
.field{margin-bottom:14px}
.field label{display:block;font-size:12.5px;color:var(--muted);margin-bottom:6px}
input[type=email],input[type=password],input[type=text]{
  width:100%;background:var(--panel2);border:1px solid var(--line);color:var(--ink);
  font:inherit;font-size:14px;padding:11px 12px;border-radius:8px;outline:none;
}
input:focus{border-color:var(--brass)}
.msg{font-size:13px;margin-top:14px;padding:10px 12px;border-radius:8px;display:none}
.msg.ok{display:block;background:rgba(127,180,162,.12);color:var(--celadon)}
.msg.err{display:block;background:rgba(208,121,106,.12);color:var(--danger)}
.switchmode{text-align:center;font-size:13px;color:var(--muted);margin-top:18px}
.switchmode a{color:var(--brass);cursor:pointer;text-decoration:underline}

.badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:12px;
  padding:5px 10px;border-radius:20px;border:1px solid var(--line)}
.badge.active{color:var(--celadon);border-color:var(--celadon)}
.badge.inactive{color:var(--danger);border-color:var(--danger)}

.dash-tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:32px}
.tool-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:26px;
  display:flex;flex-direction:column;gap:14px}
.tool-card h3{font-size:18px}
.tool-card p{color:var(--muted);font-size:14px;flex:1}

footer{padding:40px 32px;text-align:center;color:var(--muted);font-size:12.5px;border-top:1px solid var(--line);margin-top:60px}
