/* michaelcuillard.com base styles: the same tokens the Chatadel site uses, so the page looks the same on both. */
:root { --paper:#05070d; --paper-2:#101a2b; --ink:#e8f0ff; --ink-soft:#bfcee4; --muted:#96aac8; --line:rgba(90,170,255,.16); --line-strong:rgba(90,170,255,.32);
  --slate:#69b5ff; --slate-hover:#96cbff; --on-slate:#06111f; --focus:#69b5ff; --shadow:0 22px 60px rgba(0,0,0,.3); --radius:14px;
  --font:"Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif; --mono:"Segoe UI Mono",ui-monospace,Consolas,monospace;
  --header-h:58px; --public-max:72rem; --page-gutter:clamp(16px,3vw,32px); color-scheme:dark; }
html[data-theme="light"] { --paper:#eef4fb; --paper-2:#ffffff; --ink:#0b1b30; --ink-soft:#2a4260; --muted:#4d6585; --line:rgba(30,90,170,.18); --line-strong:rgba(30,90,170,.34);
  --slate:#1457a6; --slate-hover:#0e4687; --on-slate:#ffffff; --focus:#1457a6; --shadow:0 22px 60px rgba(20,60,120,.14); color-scheme:light; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; min-height:100vh; font:16px/1.5 var(--font); color:var(--ink); background:var(--paper); -webkit-font-smoothing:antialiased; }
a { color:var(--slate); } a:hover { color:var(--slate-hover); }
:focus-visible { outline:3px solid var(--focus); outline-offset:3px; border-radius:6px; }
.skip { position:absolute; left:-999px; top:8px; padding:10px 14px; background:var(--paper-2); color:var(--ink); z-index:100; } .skip:focus { left:8px; }
.site-header { position:sticky; top:0; z-index:50; height:var(--header-h); display:flex; align-items:center; background:color-mix(in srgb, var(--paper) 88%, transparent); border-bottom:1px solid var(--line); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); }
.header-inner { width:min(100% - 2*var(--page-gutter), var(--public-max)); margin-inline:auto; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.brand { display:inline-flex; align-items:center; gap:10px; font-weight:700; font-size:1.05rem; color:var(--ink); text-decoration:none; }
.brand-mark { width:26px; height:26px; border-radius:50%; background:conic-gradient(from 200deg,#69b5ff,#7b5cff,#00d6c9,#69b5ff); box-shadow:0 0 18px rgba(105,181,255,.5); }
.site-nav { display:flex; align-items:center; gap:clamp(10px,2vw,22px); }
.site-nav a { color:var(--ink-soft); text-decoration:none; font-size:.95rem; } .site-nav a:hover { color:var(--ink); }
.theme-btn { min-width:44px; min-height:44px; display:grid; place-items:center; border:1px solid var(--line-strong); border-radius:12px; background:transparent; color:var(--ink); cursor:pointer; font-size:1.1rem; }
.btn { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 20px; border:1px solid var(--line-strong); border-radius:10px; font:inherit; font-weight:600; text-decoration:none; color:var(--ink); background:transparent; cursor:pointer; }
.btn-primary { background:var(--slate); border-color:var(--slate); color:var(--on-slate); } .btn-primary:hover { background:var(--slate-hover); color:var(--on-slate); }
.btn-ghost:hover { border-color:var(--ink); color:var(--ink); }
.site-footer { border-top:1px solid var(--line); padding:28px 0 40px; color:var(--ink-soft); background:var(--paper); }
.footer-inner { width:min(100% - 2*var(--page-gutter), var(--public-max)); margin-inline:auto; display:grid; gap:12px; }
.footer-nav { display:flex; flex-wrap:wrap; gap:8px 18px; } .footer-nav a { color:var(--ink-soft); }
.fineprint { margin:0; font-size:.85rem; color:var(--muted); }
@media (max-width:40rem) { .site-nav a.hide-sm { display:none; } }
.fp-more { margin: clamp(22px,3vw,34px) 0 0; }
.fp-press-top { padding-top: clamp(48px,7vw,88px); }
.fp-press-notes { margin-top: 18px; }
.fp-press-top .fp-panel h2 + p + h2 { margin-top: 22px; }
