/* kestrel actors documentation */
:root { --bg:#fff; --fg:#16191d; --muted:#5b636d; --line:#e2e6ea; --accent:#0b5cab; --code-bg:#f6f8fa; --mark:#fff8dd; }
@media (prefers-color-scheme: dark) { :root { --bg:#14171a; --fg:#e8eaed; --muted:#a3abb4; --line:#2b3138; --accent:#6fb2ff; --code-bg:#1b1f24; --mark:#2c2a1b; } }
* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body { margin:0; background:var(--bg); color:var(--fg); font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; }
a { color:var(--accent); text-decoration:none; } a:hover { text-decoration:underline; }
header.site { border-bottom:1px solid var(--line); padding:14px 20px; display:flex; flex-wrap:wrap; gap:10px 24px; align-items:baseline; }
.brand { font-weight:700; letter-spacing:-.01em; color:var(--fg); } .brand span { color:var(--muted); font-weight:400; }
header.site nav { display:flex; flex-wrap:wrap; gap:16px; font-size:14px; }
main { max-width:900px; margin:0 auto; padding:28px 20px 56px; }
h1 { font-size:2rem; line-height:1.2; letter-spacing:-.02em; margin:.2em 0 .4em; }
h2 { font-size:1.35rem; line-height:1.25; margin:2.2em 0 .6em; padding-top:.5em; border-top:1px solid var(--line); }
h3 { font-size:1.06rem; margin:1.6em 0 .4em; } h4 { font-size:1rem; margin:1.2em 0 .3em; }
p, li { overflow-wrap:break-word; }
.lede { font-size:1.08rem; color:var(--fg); }
.crumb { font-size:13px; color:var(--muted); margin:0 0 .5em; }
.cta { margin:1.6em 0; }
.btn { display:inline-block; background:var(--accent); color:#fff; padding:10px 16px; border-radius:6px; font-weight:600; }
.btn:hover { text-decoration:none; opacity:.9; }
code { font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:.9em; background:var(--code-bg); padding:.12em .34em; border-radius:4px; }
pre.code { background:var(--code-bg); border:1px solid var(--line); border-radius:8px; padding:14px 16px; overflow-x:auto; font-size:13.5px; line-height:1.5; position:relative; }
pre.code code { background:none; padding:0; font-size:inherit; }
pre.code[data-lang]::before { content:attr(data-lang); position:absolute; top:0; right:0; font-size:11px; color:var(--muted); background:var(--bg); border-left:1px solid var(--line); border-bottom:1px solid var(--line); border-radius:0 8px 0 6px; padding:2px 8px; text-transform:uppercase; letter-spacing:.04em; }
.scroll { overflow-x:auto; margin:1em 0; border:1px solid var(--line); border-radius:8px; }
table { border-collapse:collapse; width:100%; font-size:14.5px; }
th, td { text-align:left; vertical-align:top; padding:9px 12px; border-bottom:1px solid var(--line); }
th { background:var(--code-bg); font-weight:600; white-space:nowrap; }
tbody tr:last-child td { border-bottom:none; }
td code { white-space:nowrap; }
table.compare td { min-width:150px; } table.compare td:nth-child(2), table.compare td:nth-child(7) { min-width:280px; }
.limits li { margin:.45em 0; }
ol.steps { padding-left:1.2em; } ol.steps li { margin:.5em 0; }
ul.related li { margin:.5em 0; }
blockquote { border-left:3px solid var(--line); margin:1em 0; padding:0 0 0 14px; color:var(--muted); }
footer { border-top:1px solid var(--line); background:var(--code-bg); }
footer h2 { border:none; font-size:1.1rem; margin:0 0 .6em; padding:0; }
footer > * { max-width:900px; margin-left:auto; margin-right:auto; padding-left:20px; padding-right:20px; }
footer h2 { padding-top:28px; }
.fgroup { font-size:14px; } .fgroup h3 { margin:.9em 0 .2em; font-size:.86rem; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); }
.fgroup p { margin:0; }
.fine { font-size:13px; color:var(--muted); padding-bottom:28px; padding-top:12px; }
@media (max-width:640px) { h1 { font-size:1.6rem; } main { padding:20px 16px 40px; } th, td { padding:8px 10px; } }
