/* delibra.raphbatte.com: the app's chrome tokens (0.2.0 build 30, shell.css), set for reading. */
:root{
  --bg:#fbfcfd; --card:#f3f5f8; --raised:#ffffff; --border:#e3e8f0; --border-hover:#d3dae4;
  --text:#333333; --heading:#000000; --muted:#757575;
  --ink:#000000; --ink-hover:#333333; --on-ink:#ffffff;
  --accent:#4c6fff; /* the app's focus blue; reserved for the paid licence */
  --accent-soft:#eef1ff;
  --lift:0 1px 2px rgb(16 24 40 / .04),0 6px 16px rgb(16 24 40 / .07);
  --wallpaper:
    radial-gradient(60% 70% at 15% 20%,#c9d6ff 0%,transparent 60%),
    radial-gradient(50% 60% at 85% 15%,#ffd6e7 0%,transparent 60%),
    radial-gradient(60% 70% at 70% 90%,#c8f1e4 0%,transparent 60%),
    radial-gradient(50% 60% at 20% 95%,#ffe9c2 0%,transparent 60%),#e9ecf3;
  --r-control:6px; --r-surface:10px; --r-panel:12px;
  --font:'Inter',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,monospace;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root{
    --bg:#0f1012; --card:#202227; --raised:#1b1c20; --border:#2b2e35; --border-hover:#3a3e46;
    --text:#d5d8de; --heading:#ffffff; --muted:#8b9099;
    --ink:#ffffff; --ink-hover:#d5d8de; --on-ink:#000000;
    --accent:#8ea2ff; --accent-soft:#1c2140;
    --lift:0 1px 2px rgb(0 0 0 / .3),0 6px 16px rgb(0 0 0 / .35);
    --wallpaper:
      radial-gradient(60% 70% at 15% 20%,#26305a 0%,transparent 60%),
      radial-gradient(50% 60% at 85% 15%,#3a2433 0%,transparent 60%),
      radial-gradient(60% 70% at 70% 90%,#173a33 0%,transparent 60%),
      radial-gradient(50% 60% at 20% 95%,#3a3020 0%,transparent 60%),#121318;
    color-scheme:dark;
  }
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--r-control)}
.wrap{max-width:760px;margin:0 auto;padding-inline:24px}
@media(max-width:600px){.wrap{padding-inline:16px}}

.nav{position:sticky;top:0;z-index:10;padding:10px 0;background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1160px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--heading)}
.brand img{width:32px;height:32px;border-radius:8px;display:block}
.brand-word{font-weight:600;font-size:17px;letter-spacing:-.01em}
.nav nav{display:flex;gap:4px;font-size:14px}
.nav nav a{text-decoration:none;color:var(--muted);padding:6px 10px;border-radius:var(--r-control)}
.nav nav a:hover{background:var(--card);color:var(--heading)}
.nav nav a[aria-current]{color:var(--heading);font-weight:500;background:var(--card)}
@media(max-width:480px){.nav nav a{padding:6px 7px}.brand-word{display:none}}

main{padding:48px 0 32px}
.eyebrow{font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
h1{margin:8px 0;font-size:clamp(32px,5vw,44px);line-height:1.1;letter-spacing:-.03em;font-weight:600;color:var(--heading)}
.updated{color:var(--muted);font-size:14px;margin:0 0 32px}
.lede{font-size:18px;color:var(--muted);margin:0 0 32px}
h2{margin:40px 0 12px;font-size:21px;line-height:1.25;letter-spacing:-.02em;font-weight:600;color:var(--heading)}
h3{margin:24px 0 8px;font-size:16px;font-weight:600;color:var(--heading)}
p,ul,ol{margin:0 0 14px}
ul,ol{padding-left:22px}
li{margin:4px 0}
code{font-family:var(--mono);font-size:.9em;background:var(--card);padding:1px 5px;border-radius:4px}
.card{background:var(--raised);border:1px solid var(--border);border-radius:var(--r-panel);padding:20px 22px;margin:0 0 24px;box-shadow:var(--lift)}
.card p:last-child,.card ul:last-child{margin-bottom:0}
.card.paid{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));background:var(--accent-soft)}
table{width:100%;border-collapse:collapse;font-size:15px;margin:0 0 16px}
th,td{text-align:left;vertical-align:top;padding:10px 12px 10px 0;border-bottom:1px solid var(--border)}
th{font-weight:600;color:var(--muted);font-size:13px}
@media(max-width:600px){
  table,thead,tbody,tr,th,td{display:block}
  thead{display:none}
  tr{border-bottom:1px solid var(--border);padding:10px 0}
  td{border:0;padding:2px 0}
  td:first-child{font-weight:600;color:var(--heading)}
}
details{border-bottom:1px solid var(--border);padding:14px 0}
summary{cursor:pointer;font-weight:600;color:var(--heading);list-style:none}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";float:right;color:var(--muted);font-weight:400}
details[open] summary::after{content:"–"}
details p,details ul{margin-top:10px}
.btn{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 20px;border-radius:var(--r-control);background:var(--ink);color:var(--on-ink);font-weight:500;font-size:15px;text-decoration:none;border:0}
.btn:hover{background:var(--ink-hover)}
.btn.ghost{background:var(--raised);color:var(--heading);border:1px solid var(--border)}
.btn.ghost:hover{border-color:var(--border-hover)}
.badge{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:500;background:var(--accent-soft);color:var(--accent)}
.badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}

/* Landing stub */
.hero{background:var(--wallpaper);border-bottom:1px solid var(--border)}
.hero .wrap{max-width:1160px;min-height:min(78vh,720px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding-block:72px}
.hero-icon{width:112px;height:112px;border-radius:24px;box-shadow:0 12px 40px rgb(16 24 40 / .18);margin-bottom:28px}
.hero h1{font-size:clamp(40px,7vw,64px);margin:16px 0 12px}
.hero .lede{max-width:560px;color:var(--text);margin:0 auto 28px}
.hero .actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.points{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1160px;padding-block:48px}
.points .card{margin:0}
.points h3{margin-top:0}
.points p{color:var(--muted);font-size:15px}
@media(max-width:800px){.points{grid-template-columns:1fr}}

footer{margin-top:64px;padding:24px 0 40px;border-top:1px solid var(--border);font-size:13px;color:var(--muted)}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;max-width:1160px}
footer nav{display:flex;gap:20px;flex-wrap:wrap}
footer a{text-decoration:none}
footer a:hover{color:var(--heading)}
.hero + main, .points + footer{margin-top:0}
