/* Mike tokens (light), copied from the Mike app's computed values. Geist only. */
@font-face{font-family:Geist;src:url(/templates/fonts/geist-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Geist;src:url(/templates/fonts/geist-500.woff2) format("woff2");font-weight:500 600;font-display:swap}
@font-face{font-family:"Geist Mono";src:url(/templates/fonts/geist-mono-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Geist Mono";src:url(/templates/fonts/geist-mono-500.woff2) format("woff2");font-weight:500;font-display:swap}
:root{--background:#fafafa;--foreground:#0a0a0a;--card:oklch(99.7% .002 85);--muted:oklch(96.2% .005 85);--muted-foreground:oklch(52% .01 70);
--border:oklch(90.5% .007 80);--primary:oklch(22% .008 70);--primary-foreground:oklch(99% .002 85);--secondary:oklch(96.2% .005 85);
--secondary-foreground:#0a0a0a;--accent:oklch(45% .09 255);--pc-ink:#141416;--radius-card:16px;--radius-input:10px;color-scheme:light}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--background);color:var(--foreground);font-family:Geist,ui-sans-serif,system-ui,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}button,input{font:inherit;color:inherit}
.wrap{max-width:1280px;margin:0 auto;padding:0 16px}@media(min-width:768px){.wrap{padding:0 24px}}
.hdr{position:sticky;top:0;z-index:30;background:color-mix(in oklab,var(--background) 80%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.hdr-in{display:flex;height:64px;align-items:center;justify-content:space-between;gap:16px}
.brand{display:inline-flex;align-items:center;gap:8px;font-size:16px;font-weight:500;text-decoration:none;min-height:44px}
.brand-mark{position:relative;display:inline-block;width:24px;height:24px;flex-shrink:0;overflow:visible}
.brand-mark-scale{position:absolute;top:0;left:0;width:64px;height:64px;line-height:0;transform:scale(.375);transform-origin:top left}
.brand-mark-scale>span{position:relative;display:inline-block;width:64px!important;height:64px!important}
.hdr-nav{display:flex;gap:8px}
.pill{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border-radius:9999px;font-size:15px;font-weight:500;text-decoration:none;border:0;cursor:pointer;transition:background-color .15s,opacity .15s;white-space:nowrap}
.pill.sm{min-height:36px;padding:0 16px;font-size:13px}
.pill-primary{background:var(--primary);color:var(--primary-foreground)}.pill-primary:hover{opacity:.9}
.pill-secondary{background:var(--secondary);color:var(--secondary-foreground);border:1px solid var(--border)}.pill-secondary:hover{background:var(--border)}
@media(max-width:600px){.hide-m{display:none}}
.hero{text-align:center;padding-top:48px;padding-bottom:24px;display:flex;flex-direction:column;align-items:center}
@media(min-width:768px){.hero{padding-top:84px}}
.hero-mark{display:block;width:96px;height:auto;max-width:100%;margin-bottom:22px;overflow:visible}
@media(min-width:768px){.hero-mark{width:160px}}
.hero-case{position:absolute;right:-6px;bottom:0;width:59%;height:auto;max-width:59%;overflow:visible;pointer-events:none}
.hero-case .case{fill:var(--foreground);stroke:var(--foreground)}.hero-case .case-handle{fill:none;stroke:var(--pc-ink);stroke-width:1.75px}
.hero-case .case-clasp,.hero-case .case-stripe{fill:none;stroke:var(--background);stroke-width:1.15px}
.display{font-size:34px;line-height:1.12;font-weight:500;letter-spacing:-.025em;margin:0 auto;max-width:18ch;text-wrap:balance}
@media(min-width:768px){.display{font-size:56px}}
@media(min-width:1440px){.display{font-size:64px}}
.sub{color:var(--muted-foreground);font-size:16px;line-height:1.5;max-width:36rem;margin:16px auto 0;text-wrap:pretty}
@media(min-width:768px){.sub{font-size:18px}}
.lib{padding-bottom:64px}
.search-bar{position:sticky;top:64px;z-index:20;padding:12px 0;background:var(--background)}
#q{width:100%;max-width:640px;display:block;margin:0 auto;height:52px;padding:0 20px;border-radius:9999px;border:1px solid var(--border);background:var(--card);font-size:16px;outline:none;box-shadow:0 1px 2px rgb(0 0 0/.03)}
#q:focus{border-color:var(--foreground)}
.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:8px 0 24px}
@media(max-width:600px){.chips{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;scrollbar-width:none;margin-left:-16px;margin-right:-16px;padding:0 16px}.chips::-webkit-scrollbar{display:none}}
.chip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 14px;border-radius:9999px;border:1px solid var(--border);background:var(--card);font-size:13px;cursor:pointer;white-space:nowrap;flex-shrink:0}
.chip .n{font-family:"Geist Mono",ui-monospace,monospace;font-size:11px;color:var(--muted-foreground)}
.chip.on{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.chip.on .n{color:inherit;opacity:.7}
.count{margin:0 0 12px}
.grid{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:640px){.grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.grid{grid-template-columns:repeat(3,1fr)}}
.card{display:flex;flex-direction:column;gap:8px;padding:20px;border-radius:var(--radius-card);border:1px solid var(--border);background:var(--card);text-decoration:none;transition:border-color .15s,transform .15s;min-width:0}
.card:hover{border-color:color-mix(in oklab,var(--foreground) 30%,var(--border))}
.card[hidden]{display:none}
.card-top{display:flex;align-items:center;gap:8px}
.eyebrow{font-size:13px;font-weight:500;line-height:20px;color:var(--muted-foreground);margin:0}
.card-title{font-size:17px;font-weight:500;line-height:1.4;margin:0}
.meta{font-size:13px;line-height:1.5;color:var(--muted-foreground)}
.clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0}
.id{font-family:"Geist Mono",ui-monospace,monospace;font-size:11px;color:var(--muted-foreground);margin-top:auto}
.empty{text-align:center;padding:40px 0}
.ftr{border-top:1px solid var(--border);padding:24px 0 40px;font-size:13px;color:var(--muted-foreground)}
.ftr-in{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.ftr-links{display:flex;gap:16px;flex-wrap:wrap}
/* template page */
.tpl{padding-top:16px;padding-bottom:64px}
.back{display:inline-flex;min-height:44px;align-items:center;text-decoration:none}.back:before{content:"\2190";margin-right:6px}
.tpl-head{max-width:760px;padding:8px 0 32px}
.page-title{font-size:28px;font-weight:500;line-height:1.3;letter-spacing:-.01em;margin:12px 0 8px}@media(min-width:1440px){.page-title{font-size:32px}}
.lead{font-size:16px;line-height:1.55;margin:0 0 12px;text-wrap:pretty}
.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.tpl-grid{display:grid;gap:32px;grid-template-columns:1fr}
@media(min-width:1024px){.tpl-grid{grid-template-columns:240px minmax(0,1fr)}.outline{position:sticky;top:88px;align-self:start;max-height:calc(100vh - 110px);overflow:auto}}
@media(max-width:1023px){.outline{display:none}}
.outline ol{list-style:none;padding:0;margin:8px 0 0;counter-reset:o}.outline li{font-size:13px;padding:4px 0}
.outline a{text-decoration:none;color:var(--muted-foreground)}.outline a:hover{color:var(--foreground)}
.tpl-main{display:flex;flex-direction:column;gap:16px;min-width:0}
.panel{padding:20px;border-radius:var(--radius-card);border:1px solid var(--border);background:var(--card)}
.panel p{margin:4px 0 16px}.panel p:last-child{margin-bottom:0}.panel ul{margin:8px 0 0;padding-left:18px}.panel li{margin:4px 0}
.two{display:grid;gap:16px;grid-template-columns:1fr}@media(min-width:768px){.two{grid-template-columns:1fr 1fr}}
.doc{background:#fff;border:1px solid var(--border);border-radius:var(--radius-card);padding:28px 20px;overflow-wrap:anywhere}@media(min-width:768px){.doc{padding:48px 56px}}
.doc-hd{font-family:"Geist Mono",ui-monospace,monospace;font-size:11px;letter-spacing:.08em;color:var(--muted-foreground)}
.doc-title{font-size:22px;font-weight:500;margin:8px 0 24px}
.doc-sec{scroll-margin-top:96px}.doc-sec h3{font-size:15px;font-weight:500;margin:24px 0 8px}
.cl{margin:0 0 10px;font-size:14px;line-height:1.65}.cl.definition{padding-left:12px;border-left:2px solid var(--muted)}
.credit{padding:16px 20px;border-radius:var(--radius-card);background:var(--muted);font-size:13px;color:var(--muted-foreground);overflow-wrap:anywhere}.credit p{margin:4px 0 0}
.related{margin-top:8px}.rel-grid{display:grid;gap:8px;grid-template-columns:1fr;margin-top:8px}@media(min-width:768px){.rel-grid{grid-template-columns:1fr 1fr}}
.rel{display:flex;align-items:center;gap:10px;padding:12px 16px;border:1px solid var(--border);border-radius:12px;background:var(--card);text-decoration:none;font-size:14px;min-width:0}
.rel .id{margin:0 0 0 auto;text-align:right}
.chip[hidden]{display:none}.chip.more{border-style:dashed}
