/* Leanbump components, derived from the tokens. */
*{box-sizing:border-box}
.skip{position:absolute;left:-999px;top:0;background:var(--surface);padding:8px 12px;z-index:10}
.skip:focus{left:8px;top:8px}
code,.mono,pre,.lookup-form input{font-family:var(--mono)}
code{font-size:.92em;background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:1px 5px}
pre{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-3);overflow:auto;font-size:var(--text-sm);line-height:1.5}
pre code{border:0;padding:0;background:none}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:12px var(--space-4);border-bottom:1px solid var(--line);background:var(--surface);flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--ink);text-decoration:none;letter-spacing:-.01em}
.brand .mark{color:var(--accent)}
.main-nav{display:flex;gap:var(--space-3);flex-wrap:wrap;align-items:center;font-size:15px}
.main-nav a{color:var(--muted);text-decoration:none;padding:4px 2px}
.main-nav a:hover{color:var(--ink)}
.main-nav .nav-account{color:var(--accent-ink);background:var(--accent);padding:6px 12px;border-radius:var(--radius);font-weight:600}
.main-nav .nav-account:hover{color:var(--accent-ink);opacity:.9}
.site-footer{border-top:1px solid var(--line);color:var(--muted);font-size:var(--text-sm);padding:var(--space-4);margin-top:var(--space-6)}
.foot-row{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-2)}
.foot-brand{font-weight:700;color:var(--ink)}
.foot-nav{display:flex;gap:var(--space-3);flex-wrap:wrap}
.foot-nav a{color:var(--muted)}
.page{max-width:1040px;margin:0 auto;padding:var(--space-5) var(--space-4)}
.page.narrow{max-width:720px}
.page h1{font-size:var(--text-2xl);letter-spacing:-.02em;margin:0 0 var(--space-3)}
.page h2{font-size:var(--text-xl);margin:var(--space-5) 0 var(--space-2)}
.page h3{font-size:var(--text-lg);margin:var(--space-4) 0 var(--space-2)}
.lead{font-size:var(--text-lg);color:var(--ink)}
.note{color:var(--muted);font-size:var(--text-sm)}
.muted{color:var(--muted)}
.answer{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-3) var(--space-4);margin:var(--space-3) 0;box-shadow:var(--shadow)}
.facts{display:grid;grid-template-columns:max-content 1fr;gap:6px var(--space-4);margin:var(--space-3) 0 0}
.facts dt{color:var(--muted);font-size:var(--text-sm)}
.facts dd{margin:0;word-break:break-word}
.lookup-form label,.field label{display:block;font-size:var(--text-sm);color:var(--muted);margin-bottom:6px}
.row{display:flex;gap:var(--space-2);align-items:stretch;flex-wrap:wrap}
.row input{flex:1 1 280px;width:auto}
.row .btn,.row button{flex:0 0 auto}
.btn,button{font:inherit;font-weight:600;text-decoration:none;display:inline-block}
.btn.secondary,button.secondary{background:var(--surface);color:var(--ink);border:1px solid var(--line)}
.btn.small{padding:6px 12px;font-size:var(--text-sm)}
button[disabled]{opacity:.6;cursor:wait}
.examples{list-style:none;display:flex;gap:var(--space-2);flex-wrap:wrap;padding:0}
.examples a{display:inline-block;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:4px 10px;text-decoration:none;font-size:var(--text-sm)}
.hero{padding:var(--space-5) var(--space-4) var(--space-4);max-width:1040px;margin:0 auto}
.hero h1{font-size:var(--text-2xl);letter-spacing:-.025em;max-width:22ch;margin:0 0 var(--space-3)}
.hero .lead{max-width:60ch}
.tool-row{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--space-4);margin-top:var(--space-4)}
@media(max-width:800px){.tool-row{grid-template-columns:1fr}}
.boxed{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-4);box-shadow:var(--shadow)}
.boxed h2,.boxed h3{margin-top:0}
.chip{display:inline-block;font-size:12px;font-weight:600;border-radius:999px;padding:1px 9px;border:1px solid currentColor}
.chip.rename{color:var(--accent)}.chip.signature{color:var(--warn)}.chip.reproof{color:var(--crit)}.chip.unresolved{color:var(--muted)}
.chip.pass{color:var(--good)}.chip.partial{color:var(--warn)}.chip.fail{color:var(--crit)}
.diff{font-family:var(--mono);font-size:var(--text-sm);border:1px solid var(--line);border-radius:var(--radius);overflow:auto;background:var(--surface)}
.diff div{padding:1px 12px;white-space:pre}
.diff .add{background:var(--good-tint)}.diff .del{background:var(--crit-tint)}.diff .ctx{color:var(--muted)}
.state{border-radius:var(--radius);padding:var(--space-3);margin:var(--space-3) 0;border:1px solid var(--line);background:var(--surface)}
.state.error{border-color:var(--crit);background:var(--crit-tint)}
.state.ok{border-color:var(--good);background:var(--good-tint)}
.state.busy{color:var(--muted)}
table.data{width:100%;border-collapse:collapse;font-size:15px;background:var(--surface)}
table.data th,table.data td{border-bottom:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
table.data th{color:var(--muted);font-weight:600;font-size:var(--text-sm)}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:var(--radius)}
.hits td.loc{font-family:var(--mono);font-size:var(--text-sm);white-space:nowrap}
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-4);margin:var(--space-4) 0}
.plan h3{margin:0}.plan .price{font-size:var(--text-xl);font-weight:700;margin:6px 0}
.plan ul{padding-left:20px}
.meter{height:8px;background:var(--line);border-radius:4px;overflow:hidden}.meter>i{display:block;height:100%;background:var(--accent)}
.field{margin:var(--space-3) 0}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.stats{display:flex;gap:var(--space-4);flex-wrap:wrap;margin:var(--space-3) 0}
.stat b{display:block;font-size:var(--text-xl);font-family:var(--mono)}
.stat span{color:var(--muted);font-size:var(--text-sm)}
.cmd{position:relative}
.toc a{margin-right:var(--space-3)}
details{margin:var(--space-2) 0}summary{cursor:pointer}
.table-wrap{overflow-x:auto;margin:var(--space-2) 0}
table.data{border-collapse:collapse;width:100%;font-size:var(--text-sm)}
table.data th,table.data td{border-bottom:1px solid var(--line);padding:6px 10px;text-align:left;vertical-align:top}
table.data th{color:var(--muted);font-weight:600}
input,select,textarea{font:inherit;color:var(--ink);background:var(--bg,#fff);border:1px solid var(--line);border-radius:var(--radius);padding:8px 10px;width:100%}
.row input{width:auto}
.field{margin-bottom:var(--space-2)}
details{margin:var(--space-2) 0}
summary{cursor:pointer;color:var(--muted)}
progress{width:100%;height:10px;accent-color:var(--accent,#0f766e)}
.page ul{padding-left:1.2em}
