:root{--background: #ececec;--surface: #fff;--foreground: #000;--body: #555;--muted: #777;--border: #ccc;--hairline: #eee;--link: #0041fe;--positive: #009325;--negative: #d82121;--font-sans: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace}*,*:before,*:after{box-sizing:border-box}html{background:var(--background);color-scheme:light}body{margin:0;background:var(--background);color:var(--foreground);font-family:var(--font-sans);font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%}[hidden]{display:none!important}.shell{width:100%;max-width:1280px;margin-inline:auto;padding-inline:20px}@media(min-width:720px){.shell{padding-inline:32px}}.site-header{border-bottom:1px solid var(--border);padding-block:env(safe-area-inset-top,0px) 0}.site-header .inner{display:flex;align-items:center;justify-content:space-between;gap:20px;height:78px}.brand{display:flex;align-items:center;gap:34px}.mark{display:flex;align-items:center;justify-content:center;width:46px;height:46px;background:#000;color:#fff;flex-shrink:0}.site-header nav{display:flex;align-items:center;gap:28px;font-family:var(--font-mono);font-size:14px;letter-spacing:-.01em}.site-header nav a:hover{color:var(--link)}.hero h1{margin:58px 0 0;font-size:clamp(38px,6.1vw,78px);line-height:.96;font-weight:700;letter-spacing:-.04em;text-wrap:balance}.hero p{margin:24px 0 0;font-size:16px;line-height:1.5;color:var(--body)}.categories{margin-top:52px;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1px;background:var(--border);border:1px solid var(--border)}.categories a{display:flex;flex-direction:column;justify-content:space-between;min-height:122px;padding:20px 20px 16px;background:var(--background);transition:background-color .15s}.categories a:hover{background:var(--surface)}.categories .label{font-family:var(--font-mono);font-size:14px;line-height:1.35;letter-spacing:-.01em;white-space:pre-line}.categories .n{align-self:flex-end;font-family:var(--font-mono);font-size:12px;color:var(--muted)}.curator{margin-top:44px;display:flex;gap:18px;align-items:flex-start;padding:22px 26px;background:var(--surface);border:1px solid var(--border)}.curator .avatar{width:40px;height:40px;flex-shrink:0;background:var(--background);border:1px solid var(--border)}.curator .k{font-family:var(--font-mono);font-size:12px;color:var(--muted)}.curator .t{margin-top:6px;font-size:15px;line-height:1.55}.curator .t span{color:var(--body)}.section-title{margin:48px 0 0;font-size:24px;font-weight:700;letter-spacing:-.025em}.tools{margin-top:22px;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;padding-bottom:80px}.tool{display:flex;flex-direction:column;gap:18px;padding:22px;background:var(--surface);border:1px solid var(--border)}.tool .head{display:flex;align-items:center;gap:14px}.tool .logo{display:flex;align-items:center;justify-content:center;width:52px;height:52px;flex-shrink:0;color:#fff;font-weight:700}.tool .name{font-size:16px;font-weight:600}.tool .kind{margin-top:3px;font-size:13px;color:var(--muted)}.tool p{margin:0;font-size:14px;line-height:1.55;color:var(--body)}.tool .price{font-family:var(--font-mono);font-size:12px;line-height:1.5;color:var(--foreground)}.tool .checked{font-family:var(--font-mono);font-size:11px;color:var(--muted)}.prose{max-width:720px;padding:52px 0 96px}.prose h1{margin:0;font-size:clamp(30px,4.4vw,46px);line-height:1.04;font-weight:700;letter-spacing:-.035em;text-wrap:balance}.prose h2{margin:44px 0 0;font-size:24px;font-weight:700;letter-spacing:-.025em}.prose h3{margin:28px 0 0;font-size:17px;font-weight:600;letter-spacing:-.015em}.prose p{margin:18px 0 0;font-size:16px;line-height:1.62;color:var(--body)}.prose ul,.prose ol{margin:16px 0 0;padding-left:20px}.prose li{margin-top:8px;font-size:16px;line-height:1.55;color:var(--body)}.prose strong{color:var(--foreground);font-weight:600}.prose a{color:var(--link);text-decoration:underline;text-underline-offset:3px}.prose code{font-family:var(--font-mono);font-size:.9em;background:var(--surface);border:1px solid var(--border);padding:1px 4px}.prose table{width:100%;margin-top:24px;border-collapse:collapse;font-size:14px;background:var(--surface);border:1px solid var(--border)}.prose th{padding:11px 14px;border-bottom:1px solid var(--border);text-align:left;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:400}.prose td{padding:13px 14px;border-bottom:1px solid var(--hairline);color:var(--body);vertical-align:top}.prose tr:last-child td{border-bottom:0}.prose td:first-child{color:var(--foreground);font-weight:600}.table-scroll{overflow-x:auto}.meta{margin-top:40px;padding-top:16px;border-top:1px solid var(--border);font-family:var(--font-mono);font-size:12px;color:var(--muted)}.guides{margin-top:22px;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;padding-bottom:80px}.guides a{display:block;padding:22px;background:var(--surface);border:1px solid var(--border);transition:border-color .15s}.guides a:hover{border-color:var(--foreground)}.guides .s{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.guides .t{margin-top:10px;font-size:17px;font-weight:600;letter-spacing:-.015em}.guides .d{margin-top:8px;font-size:14px;line-height:1.55;color:var(--body)}.site-footer{border-top:1px solid var(--border);background:var(--surface)}.site-footer .inner{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:32px;padding-block:40px}.site-footer .k{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--foreground)}.site-footer p{margin:10px 0 0;font-size:14px;line-height:1.55;color:var(--body);max-width:46ch}.site-footer nav{display:flex;flex-direction:column;gap:8px;font-family:var(--font-mono);font-size:14px}.site-footer nav a:hover{color:var(--link)}.site-footer .fine{padding-block:18px calc(18px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);font-family:var(--font-mono);font-size:12px;color:var(--muted)}
