/* ============================================================================
   Smeltworks house stylesheet  —  https://smeltworks.com/smeltworks.css
   Link this ONE file and your tool matches the whole site automatically:
     <link rel="stylesheet" href="https://smeltworks.com/smeltworks.css">
   Then wrap your page in the standard shell (see resources.md). Bare elements
   (h1-h4, p, a, input, button, table, code…) are already styled — you rarely
   need custom CSS. Dark "forge" theme: cool slate + molten-amber accent.
   ========================================================================== */

:root{
  --sw-bg:#0f1216;         /* page background */
  --sw-surface:#171b21;    /* cards, panels */
  --sw-surface-2:#1e242c;  /* elevated / inputs / hovers */
  --sw-line:#2a313b;       /* borders, hairlines */
  --sw-fg:#e7ebf0;         /* primary text */
  --sw-mut:#aab3bf;        /* secondary text */
  --sw-faint:#7c8794;      /* captions, meta */
  --sw-acc:#ff8a3d;        /* molten accent — CTAs, links, focus */
  --sw-acc-hi:#ff9d5a;     /* accent hover */
  --sw-acc-dim:#e5732a;    /* accent active */
  --sw-acc-tint:rgba(255,138,61,.12);
  --sw-ok:#4ade80; --sw-warn:#fbbf24; --sw-bad:#f87171;
  --sw-radius:12px; --sw-radius-sm:8px;
  --sw-shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.22);
  --sw-w:880px;            /* comfortable reading width */
  --sw-w-wide:1120px;      /* grids / dashboards */
  --sw-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --sw-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--sw-bg);color:var(--sw-fg);
  font:16px/1.65 var(--sw-font);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
img,svg,video{max-width:100%;height:auto}

/* ---- typography -------------------------------------------------------- */
h1,h2,h3,h4{line-height:1.2;margin:1.6em 0 .5em;font-weight:700;letter-spacing:-.01em}
h1{font-size:clamp(1.8rem,4vw,2.5rem);margin-top:0}
h2{font-size:clamp(1.35rem,3vw,1.7rem)}
h3{font-size:1.15rem}
h4{font-size:1rem;color:var(--sw-mut)}
p{margin:0 0 1em}
a{color:var(--sw-acc);text-decoration:none}
a:hover{color:var(--sw-acc-hi);text-decoration:underline}
strong{color:#fff}
small,.sw-meta{color:var(--sw-faint);font-size:.85rem}
hr{border:0;border-top:1px solid var(--sw-line);margin:2rem 0}
::selection{background:var(--sw-acc-tint)}
:focus-visible{outline:2px solid var(--sw-acc);outline-offset:2px;border-radius:4px}

/* ---- layout ------------------------------------------------------------ */
.sw-container{max-width:var(--sw-w);margin:0 auto;padding:0 20px}
.sw-container.wide{max-width:var(--sw-w-wide)}
.sw-main{padding:40px 0 72px}
.sw-section{margin:0 0 44px}
.sw-muted{color:var(--sw-mut)}
.sw-center{text-align:center}

/* ---- header / nav ------------------------------------------------------ */
.sw-header{position:sticky;top:0;z-index:20;
  background:rgba(15,18,22,.82);backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid var(--sw-line)}
.sw-nav{max-width:var(--sw-w-wide);margin:0 auto;padding:12px 20px;
  display:flex;align-items:center;gap:20px}
.sw-brand{display:flex;align-items:center;gap:8px;font-weight:800;font-size:17px;
  color:var(--sw-fg);letter-spacing:-.01em}
.sw-brand:hover{text-decoration:none;color:#fff}
.sw-brand .mark{color:var(--sw-acc)}
.sw-nav .spacer{flex:1}
.sw-nav a:not(.sw-brand){color:var(--sw-mut);font-size:14.5px;font-weight:500}
.sw-nav a:not(.sw-brand):hover{color:var(--sw-fg);text-decoration:none}

/* ---- hero -------------------------------------------------------------- */
.sw-hero{padding:64px 0 40px;text-align:center}
.sw-hero h1{margin:0 0 14px}
.sw-hero .lede{font-size:1.15rem;color:var(--sw-mut);max-width:620px;margin:0 auto 24px}

/* ---- buttons ----------------------------------------------------------- */
.sw-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font:600 15px/1 var(--sw-font);padding:12px 20px;border-radius:var(--sw-radius-sm);
  border:1px solid var(--sw-line);background:var(--sw-surface-2);color:var(--sw-fg);
  cursor:pointer;text-decoration:none;transition:.15s ease;white-space:nowrap}
.sw-btn:hover{border-color:var(--sw-faint);text-decoration:none;transform:translateY(-1px)}
.sw-btn:active{transform:translateY(0)}
.sw-btn-primary{background:var(--sw-acc);border-color:var(--sw-acc);color:#1a0f06;font-weight:700}
.sw-btn-primary:hover{background:var(--sw-acc-hi);border-color:var(--sw-acc-hi);color:#1a0f06}
.sw-btn-lg{padding:15px 28px;font-size:16px}
.sw-btn[disabled]{opacity:.5;cursor:not-allowed;transform:none}

/* ---- forms ------------------------------------------------------------- */
label{display:block;font-weight:600;font-size:.92rem;margin:0 0 6px;color:var(--sw-fg)}
input,select,textarea{
  width:100%;font:15px var(--sw-font);color:var(--sw-fg);
  background:var(--sw-surface-2);border:1px solid var(--sw-line);
  border-radius:var(--sw-radius-sm);padding:11px 13px;transition:border-color .15s}
input::placeholder,textarea::placeholder{color:var(--sw-faint)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--sw-acc)}
textarea{min-height:120px;resize:vertical}
.sw-field{margin:0 0 16px}
input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--sw-acc)}
fieldset{border:1px solid var(--sw-line);border-radius:var(--sw-radius);padding:18px;margin:0 0 18px}
legend{padding:0 8px;font-weight:600;color:var(--sw-mut)}

/* ---- cards / panels ---------------------------------------------------- */
.sw-card,.sw-panel{background:var(--sw-surface);border:1px solid var(--sw-line);
  border-radius:var(--sw-radius);padding:22px}
.sw-panel{box-shadow:var(--sw-shadow)}
a.sw-card{display:block;color:inherit;transition:.15s ease}
a.sw-card:hover{border-color:var(--sw-acc);text-decoration:none;transform:translateY(-2px);
  box-shadow:var(--sw-shadow)}
.sw-card h3{margin:0 0 6px;font-size:1.05rem}
.sw-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}

/* ---- tables ------------------------------------------------------------ */
.sw-tablewrap{overflow-x:auto;border:1px solid var(--sw-line);border-radius:var(--sw-radius)}
table{border-collapse:collapse;width:100%;font-size:.94rem}
.sw-tablewrap table{border:0}
th,td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--sw-line)}
thead th{background:var(--sw-surface-2);color:var(--sw-mut);font-weight:600;
  font-size:.82rem;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover{background:var(--sw-surface)}

/* ---- code -------------------------------------------------------------- */
code{font:.9em var(--sw-mono);background:var(--sw-surface-2);padding:.15em .4em;
  border-radius:5px;border:1px solid var(--sw-line)}
pre{background:var(--sw-surface);border:1px solid var(--sw-line);border-radius:var(--sw-radius);
  padding:16px;overflow-x:auto;line-height:1.5}
pre code{background:none;border:0;padding:0}

/* ---- badges / notes ---------------------------------------------------- */
.sw-badge{display:inline-block;font-size:.78rem;font-weight:600;padding:3px 9px;
  border-radius:999px;background:var(--sw-acc-tint);color:var(--sw-acc-hi);
  border:1px solid rgba(255,138,61,.25);white-space:nowrap}
.sw-badge.ok{background:rgba(74,222,128,.12);color:var(--sw-ok);border-color:rgba(74,222,128,.25)}
.sw-note{border-left:3px solid var(--sw-acc);background:var(--sw-surface);
  padding:14px 18px;border-radius:0 var(--sw-radius-sm) var(--sw-radius-sm) 0;margin:0 0 18px}
.sw-note.warn{border-left-color:var(--sw-warn)}

/* ---- pricing / buy CTA (for selling) ----------------------------------- */
.sw-buy{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;
  background:linear-gradient(180deg,var(--sw-surface-2),var(--sw-surface));
  border:1px solid var(--sw-line);border-radius:var(--sw-radius);padding:24px;margin:24px 0}
.sw-buy .price{font-size:2rem;font-weight:800;color:#fff;line-height:1}
.sw-buy .price small{font-size:.9rem;color:var(--sw-faint);font-weight:500}
.sw-buy .pitch{flex:1;min-width:200px;color:var(--sw-mut);font-size:.95rem}

/* ---- footer ------------------------------------------------------------ */
.sw-footer{border-top:1px solid var(--sw-line);margin-top:56px;padding:32px 0 64px;
  color:var(--sw-faint);font-size:.9rem}
.sw-footer a{color:var(--sw-mut)}
.sw-footer .row{max-width:var(--sw-w-wide);margin:0 auto;padding:0 20px;
  display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center}

/* ---- responsive -------------------------------------------------------- */
@media(max-width:560px){
  .sw-main{padding:28px 0 56px}
  .sw-hero{padding:44px 0 32px}
  .sw-buy .price{font-size:1.6rem}
  .sw-btn{width:100%}
  .sw-buy .sw-btn{width:auto}
}
