@font-face { font-family:"Source Serif 4"; font-style:normal; font-weight:400 600; font-display:swap; src:url(/fonts/source-serif-4-latin-8e38e3fb.woff2) format("woff2"); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:"JetBrains Mono"; font-style:normal; font-weight:400 500; font-display:swap; src:url(/fonts/jetbrains-mono-latin-2c32b9b3.woff2) format("woff2"); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
:root { color-scheme:light dark; --bg:#f5f3ef; --paper:#faf9f6; --ink:#292722; --muted:#69655e; --line:#dcd7cd; --accent:#806020; }
@media(prefers-color-scheme:dark) { :root { --bg:#151513; --paper:#1c1c19; --ink:#e8e4d9; --muted:#aaa69b; --line:#393830; --accent:#d4b574; } }
* { box-sizing:border-box; }
body { margin:0; padding:0 24px 64px; background:var(--bg); color:var(--ink); font:18px/1.75 "Source Serif 4",Georgia,serif; }
main { max-width:800px; margin:auto; }
a { color:var(--accent); text-underline-offset:4px; } a:hover { color:var(--ink); }
nav,.eyebrow,button,summary,footer,.meta { font:12px/1.6 "JetBrains Mono",monospace; }
nav { padding:30px 0; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; gap:20px; }
nav a { text-decoration:none; } nav span,.meta { color:var(--muted); }
header { padding:52px 0 28px; }
.eyebrow { color:var(--accent); letter-spacing:.12em; text-transform:uppercase; margin:0 0 14px; }
h1 { font-weight:500; font-size:clamp(32px,5vw,50px); letter-spacing:-.035em; line-height:1.15; margin:0 0 22px; overflow-wrap:anywhere; }
.description { font-size:21px; line-height:1.55; color:var(--muted); max-width:65ch; margin:0 0 22px; }
.intro { max-width:65ch; margin:0 0 18px; }
.install { border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:18px 0; }
.install-row { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.install p { margin:0; font-size:16px; color:var(--muted); } .install .caution { margin-top:14px; }
button { border:1px solid var(--line); border-radius:4px; padding:9px 14px; background:var(--paper); color:var(--ink); cursor:pointer; min-height:44px; }
button:hover { border-color:var(--accent); color:var(--accent); }
:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
details { margin-top:12px; } details p + button { margin-top:12px; } summary { color:var(--muted); cursor:pointer; width:fit-content; padding:4px 0; }
textarea { width:100%; height:280px; resize:vertical; margin:16px 0 4px; background:var(--paper); border:1px solid var(--line); padding:16px; color:var(--ink); font:12px/1.6 "JetBrains Mono",monospace; }
#shell-command { height:auto; }
#copy-status { font:12px/1.6 "JetBrains Mono",monospace; color:var(--accent); } #copy-status:empty { display:none; }
.files { font:13px/1.8 "JetBrains Mono",monospace; padding-left:20px; overflow-wrap:anywhere; }
.skill-files { border-top:1px solid var(--line); margin-top:48px; padding-top:8px; }
.skill-files h2 { font-size:24px; font-weight:500; margin:24px 0 8px; }
article { padding-top:14px; overflow-wrap:anywhere; }
article h2,article h3,article h4 { font-weight:600; line-height:1.3; margin:38px 0 16px; letter-spacing:-.02em; }
article h2 { font-size:30px; } article h3 { font-size:24px; } article h4 { font-size:20px; }
article p { margin:16px 0; } article li { margin:6px 0; } article ul,article ol { padding-left:25px; }
code { font:.76em/1.6 "JetBrains Mono",monospace; background:var(--paper); padding:2px 4px; }
pre { padding:20px; background:var(--paper); border:1px solid var(--line); overflow-x:auto; border-radius:4px; }
pre code { padding:0; font-size:12px; }
blockquote { margin:24px 0; border-left:2px solid var(--accent); padding-left:20px; color:var(--muted); }
hr { border:0; border-top:1px solid var(--line); margin:32px 0; }
.table-scroll { overflow-x:auto; } table { border-collapse:collapse; font-size:15px; width:100%; } td,th { border-bottom:1px solid var(--line); padding:10px 14px 10px 0; text-align:left; }
footer { border-top:1px solid var(--line); margin-top:56px; padding-top:20px; color:var(--muted); }
@media(max-width:520px) { body { padding:0 20px 40px; font-size:17px; } nav { padding:20px 0; } header { padding:28px 0 20px; } nav span { display:none; } .description { font-size:19px; margin-bottom:16px; } .intro { font-size:16px; line-height:1.65; } pre { padding:14px; } }

.catalog { list-style:none; padding:0; margin:24px 0 0; }
.catalog li { padding:22px 0; border-top:1px solid var(--line); }
.catalog h3 { font-size:23px; font-weight:500; margin:0 0 6px; }
.catalog p { margin:0; color:var(--muted); font-size:16px; line-height:1.55; }
.catalog a { text-decoration:none; }
.catalog a:hover { text-decoration:underline; }

.mcp-connect { border:1px solid var(--line); background:var(--paper); padding:20px 24px; margin:0 0 36px; }
.mcp-connect h2 { font-size:24px; font-weight:500; margin:0 0 12px; }
.mcp-connect p { margin:10px 0; }
.endpoint code { padding:0; overflow-wrap:anywhere; }
#browse-skills { font-size:28px; font-weight:500; margin:12px 0 10px; }

.search { margin:20px 0 0; }
.search label { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.search input { width:100%; min-height:48px; padding:12px 14px; border:1px solid var(--line); border-radius:4px; background:var(--paper); color:var(--ink); font:15px/1.5 "JetBrains Mono",monospace; }
.search input::placeholder { color:var(--muted); }
.search input:focus { border-color:var(--accent); }
p.hint { margin:10px 0 0; display:flex; flex-wrap:wrap; gap:6px; align-items:center; font:12px/1.6 "JetBrains Mono",monospace; }
kbd { font:11px/1 "JetBrains Mono",monospace; border:1px solid var(--line); border-bottom-width:2px; border-radius:3px; padding:3px 5px; background:var(--paper); color:var(--ink); }
#search-status { margin:14px 0 0; } #search-status:empty { display:none; }
.catalog li[hidden] { display:none; }
mark { background:var(--line); color:inherit; border-radius:2px; padding:0 1px; }
/* Same guard as the landing focus: a coarse pointer has no Tab, Esc or "/"
   to press, so the shortcut line is help nobody there can use. */
@media(pointer:coarse) { p.hint { display:none; } }
