:root{--bg:#f6f6f4;--surface:#ffffff;--text:#111111;--muted:#5c5c5c;--line:#e8e8e4;--accent:#f97316;--ink:#111111;--row-hover:#efefeb}html[data-theme=dark]{--bg:#121212;--surface:#1b1b1b;--text:#f3f3f1;--muted:#9b9b97;--line:#2a2a28;--accent:#f97316;--ink:#f3f3f1;--row-hover:#1f1f1d}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Plus Jakarta Sans,ui-sans-serif,system-ui,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{color:var(--ink)}:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.wrap{max-width:1240px;margin:0 auto;padding:0 32px 64px}.header{padding:28px 0 22px}.footer,.header{display:flex;align-items:center;justify-content:space-between;gap:16px}.footer{padding:32px 0 8px;margin-top:88px;color:var(--muted);font-size:13px}.brand{color:var(--text)!important}.brand-lockup{display:flex;align-items:center;gap:12px}.brand-word{font-weight:700;letter-spacing:-.045em;font-size:22px}.nav{display:flex;align-items:center;gap:18px;font-size:14px;color:var(--muted)}h1{font-size:42px;letter-spacing:-.05em;font-weight:700;line-height:1.08;margin:28px 0 14px;max-width:12em}.lead{color:var(--muted);margin:0 0 20px;max-width:32em;font-size:17px}.cat-index{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px;margin:0 0 48px}.cat-index a{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);font-size:14px;color:var(--text)}.cat-index a strong{font-weight:650;letter-spacing:-.02em}.cat-index a span{color:var(--muted);font-size:12px}.cat-index a:hover{border-color:var(--text);color:var(--text)}.tool-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}.tool-grid .row+.row{box-shadow:none}section{scroll-margin-top:16px}.section-title{font-size:20px;font-weight:650;letter-spacing:-.03em;margin:56px 0 6px}.section-title a{color:inherit}.section-kicker{margin:0 0 16px}.row{display:grid;grid-template-columns:1fr auto;grid-gap:10px;gap:10px;padding:16px;align-items:start;background:var(--surface);border:1px solid var(--line);border-radius:14px}.row:hover{border-color:#d0d0cc}.row:hover .name{color:var(--accent)}.row-main{display:flex;gap:12px;align-items:flex-start}.fav{width:28px;height:28px;margin-top:1px;border-radius:8px;background:var(--bg);border:1px solid var(--line);flex:none}.row .name{font-weight:600;letter-spacing:-.025em;font-size:16px}.row .blurb{color:var(--muted);font-size:14px;margin:3px 0 0;line-height:1.45}.row .cat{color:var(--muted);font-size:13px;padding-top:4px}.btn{display:inline-block;background:var(--ink);color:var(--bg)!important;padding:8px 14px;border-radius:999px;border:0;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.btn:hover{opacity:.86}.btn-ghost{background:transparent;color:var(--muted)!important;border:0;padding:6px 0}.btn-ghost:hover{color:var(--text)!important}.plans{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;margin:28px 0}.plan{border:1px solid var(--line);border-radius:16px;padding:20px;background:var(--surface)}.plan h2{margin:0 0 8px;font-size:16px}.plan p{margin:0;font-size:14px}.note,.plan p{color:var(--muted)}.note{font-size:13px}.alert{color:#b42318;font-size:14px;margin:0 0 16px}.empty{color:var(--muted);padding:24px 0}form label{display:block;font-size:13px;margin:14px 0 4px}form input,form select,form textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);font:inherit}.table{width:100%;border-collapse:collapse;font-size:14px}.table td,.table th{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line)}.table th{font-weight:500}.crumbs,.table th{color:var(--muted)}.crumbs{font-size:13px;margin:12px 0 0}.crumbs .sep{margin:0 8px;color:var(--line)}@media (max-width:1100px){.tool-grid{grid-template-columns:1fr 1fr}}@media (max-width:860px){.cat-index{grid-template-columns:1fr 1fr}}@media (max-width:640px){.wrap{padding:0 18px 40px}.plans,.row,.tool-grid{grid-template-columns:1fr}h1{font-size:30px}}.theme-btn{background:none;border:0;padding:0;color:var(--muted);cursor:pointer;font-size:16px;line-height:1}.theme-btn:hover{color:var(--text)}.theme-moon{display:inline}.theme-sun,html[data-theme=dark] .theme-moon{display:none}html[data-theme=dark] .theme-sun{display:inline}details{border-bottom:1px solid var(--line);padding:14px 0}details summary{cursor:pointer;font-weight:600}details p{margin:8px 0 0;color:var(--muted)}