/* CheapWeights — shared chrome for every page: tokens, reset, header, footer, buttons, focus, mobile.
   Page-specific layout stays inline in each HTML file. Loaded before the inline <style>, so a page can
   still override anything here on purpose. */

:root{
  --bg:#0F100E; --panel:#15170F; --ink:#EBE8DF; --muted:#97957F; --faint:#7A7968; --line:#26281F;
  --price:#FFD43B; --unc:#FF5A1F; --ok:#8BD450; --chip:#1D2016;
  --font-display:'Archivo',-apple-system,'Segoe UI',sans-serif;
  --font-mono:'IBM Plex Mono',ui-monospace,Consolas,monospace;
  --wrap:1240px; --gutter:28px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--font-display);line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}
main{flex:1 0 auto}
.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter);width:100%}
::selection{background:var(--price);color:#111}

/* ---------- focus: visible everywhere, including clip-path buttons ---------- */
:focus{outline:none}
:focus-visible{outline:2px solid var(--price);outline-offset:3px;border-radius:2px}
.btn:focus-visible{outline:none;box-shadow:inset 0 0 0 3px #111}
.btn.ghost:focus-visible,.btn.danger:focus-visible{box-shadow:inset 0 0 0 2px var(--price)}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--price)}

/* ---------- skip link ---------- */
.skip{position:absolute;left:-999px;top:8px;z-index:100;background:var(--price);color:#111;padding:8px 14px;font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.1em;text-decoration:none}
.skip:focus{left:8px}

/* ---------- header ---------- */
.site-header{border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;background:rgba(15,16,14,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.head-in{display:flex;align-items:center;justify-content:space-between;min-height:64px;gap:20px}
.brand{display:flex;align-items:baseline;gap:10px;text-decoration:none;color:var(--ink);white-space:nowrap}
.brand .mark{font-weight:900;font-size:19px;letter-spacing:-.02em;text-transform:uppercase}
.brand .mark em{font-style:normal;color:var(--price)}
.brand .tag{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.18em}
.site-nav{display:flex;gap:26px;align-items:center}
.site-nav a{color:var(--muted);text-decoration:none;font-size:13px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;white-space:nowrap;padding:6px 0}
.site-nav a:hover{color:var(--ink)}
.site-nav a.here{color:var(--price);position:relative}
.site-nav a.here::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--price)}
.site-nav .btn{padding:11px 20px}

/* ---------- buttons ---------- */
.btn{display:inline-block;background:var(--price);color:#111;font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.08em;padding:12px 22px;text-decoration:none;border:0;cursor:pointer;font-family:inherit;line-height:1.2;clip-path:polygon(0 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%);transition:background .15s}
.btn:hover{background:#ffe066}
.btn:disabled{opacity:.5;cursor:default}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line);clip-path:none}
.btn.ghost:hover{border-color:var(--faint);background:transparent}
.btn.danger{background:transparent;color:var(--unc);border:1px solid #4a2a1c;clip-path:none}
.btn.sm{padding:7px 12px;font-size:11px}

/* ---------- footer ---------- */
.site-footer{border-top:1px solid var(--line);padding:34px 0 44px;margin-top:auto}
.foot-in{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;align-items:baseline}
.foot-links{display:flex;gap:22px;flex-wrap:wrap}
.foot-links a{color:var(--muted);font-size:12px;text-decoration:none;text-transform:uppercase;letter-spacing:.1em;white-space:nowrap}
.foot-links a:hover{color:var(--ink)}
.fine{margin-top:20px;font-size:11.5px;color:var(--faint);line-height:1.8;max-width:90ch}
.fine a{color:inherit}

/* ---------- shared bits ---------- */
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 calc(-1 * var(--gutter));padding:0 var(--gutter)}
.table-scroll>table{min-width:640px}
.chip{white-space:nowrap}

/* ---------- mobile ---------- */
@media (max-width:960px){
  :root{--gutter:20px}
  .head-in{flex-wrap:wrap;padding:10px var(--gutter);gap:8px 16px}
  .brand .tag{display:none}
  .site-nav{order:3;flex-basis:100%;min-width:0;gap:18px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
  .site-nav::-webkit-scrollbar{display:none}
  .site-nav a{font-size:11px}
  .site-nav .btn{display:none}
  .head-in>.btn.mobile-cta{display:inline-block;padding:9px 14px;font-size:11px}
}
@media (min-width:961px){
  .head-in>.btn.mobile-cta{display:none}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
}
