:root{--primary:#2551ed;--primary-dark:#1a3fc4;--sky:#0ea5e9;--sidebar-bg:#1e293b;--surface:#fff;--bg:#f8fafc;--border:#edf0f5;--text:#1e293b;--text-secondary:#64748b;--text-muted:#94a3b8;--n8n:#ea4b71;--green:#10b981;--radius:8px;--radius-lg:12px;--shadow:0 1px 3px rgba(0,0,0,.10),0 1px 2px rgba(0,0,0,.06);--shadow-md:0 4px 6px rgba(0,0,0,.07),0 2px 4px rgba(0,0,0,.06);--grad:linear-gradient(135deg,#2551ed,#0ea5e9);--dark-grad:linear-gradient(135deg,#1e293b 0%,#1a3fc4 100%);}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'Inter',sans-serif;color:var(--text);background:var(--surface);-webkit-font-smoothing:antialiased;line-height:1.55;}
h1,h2,h3,h4{letter-spacing:-.02em;}
.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border-radius:var(--radius);font-size:.9375rem;font-weight:600;text-decoration:none;cursor:pointer;border:none;transition:all .15s;}
.btn-primary{background:var(--primary);color:#fff;}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px);}
.btn-quiet{background:#fff;color:var(--text-secondary);border:1px solid var(--border);}.btn-quiet:hover{border-color:var(--primary);color:var(--primary);}
.hero{background:var(--dark-grad);padding:56px 24px 64px;}
.hero-inner{max-width:920px;margin:0 auto;}
.hero-inner.index-hero{text-align:center;max-width:760px;}
.crumb{display:inline-block;color:rgba(255,255,255,.6);text-decoration:none;font-size:.8125rem;margin-bottom:14px;}.crumb:hover{color:#fff;}
.eyebrow{display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#7dd3fc;background:rgba(125,211,252,.1);padding:4px 11px;border-radius:999px;margin-bottom:14px;}
.hero h1{font-size:2.4rem;line-height:1.12;font-weight:800;color:#fff;margin-bottom:12px;}
.hero p{font-size:1.0625rem;color:rgba(255,255,255,.78);max-width:660px;}
.index-hero p{margin:0 auto;}
.hero-free{margin-top:16px;}
.free-badge{display:inline-flex;align-items:center;gap:7px;background:rgba(16,185,129,.16);color:#a7f3d0;font-size:.8125rem;font-weight:600;padding:5px 12px;border-radius:999px;}
.final .free-badge{background:rgba(16,185,129,.14);}
.section{max-width:1000px;margin:0 auto;padding:52px 24px;}
.section.alt{max-width:none;background:var(--bg);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.section.alt>*{max-width:1000px;margin-left:auto;margin-right:auto;}
.section.index{max-width:1100px;padding-top:40px;}
h2{font-size:1.6rem;font-weight:800;}
.lead{font-size:1.0625rem;color:var(--text-secondary);max-width:700px;margin:8px 0 26px;}
.sub{font-size:.9rem;color:var(--text-muted);margin-bottom:12px;}
.pieces{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center;}
.piece{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow);}
.piece-head{margin-bottom:12px;}
.piece h3{font-size:1.125rem;margin-bottom:8px;}
.piece p{font-size:.9rem;color:var(--text-secondary);margin-bottom:16px;}
.piece-actions{display:flex;gap:10px;flex-wrap:wrap;}
.badge{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:4px 9px;border-radius:6px;}
.badge-snapi{background:rgba(37,81,237,.12);color:var(--primary);}
.badge-alt{background:rgba(234,75,113,.12);color:var(--n8n);}
.piece-link{color:var(--text-muted);font-size:20px;text-align:center;}
code{background:#eef2ff;border-radius:4px;padding:1px 6px;font-size:.85em;color:var(--primary-dark);}
.inside{display:grid;grid-template-columns:1fr 1fr;gap:32px;}
@media(max-width:720px){.inside{grid-template-columns:1fr;}.pieces{grid-template-columns:1fr;}.piece-link{transform:rotate(90deg);}}
.inside h3{font-size:1.0625rem;margin-bottom:8px;}
.fields{list-style:none;}
.fields li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--border);font-size:.9rem;}
.fname{font-weight:600;}.ftype{color:var(--text-muted);font-size:.8125rem;}
.cols{display:flex;flex-wrap:wrap;gap:8px;}
.chip{display:inline-flex;align-items:center;font-size:.8125rem;font-weight:600;padding:5px 12px;border-radius:999px;background:color-mix(in srgb,var(--c) 12%,#fff);color:var(--c);border:1px solid color-mix(in srgb,var(--c) 30%,#fff);}
.rels{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;}
.rel{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;text-decoration:none;color:var(--text);font-size:.9rem;font-weight:500;transition:border-color .12s;}
.rel:hover{border-color:var(--primary);}
.rel-ico{width:30px;height:30px;border-radius:8px;background:rgba(37,81,237,.1);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:13px;}
.cat{font-size:1.05rem;font-weight:700;margin:30px 0 14px;color:var(--text);}
.cat:first-child{margin-top:0;}
.tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;}
.tpl{display:flex;gap:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px;text-decoration:none;color:var(--text);box-shadow:var(--shadow);transition:border-color .12s,transform .12s;}
.tpl:hover{border-color:var(--primary);transform:translateY(-2px);}
.tpl-ico{width:44px;height:44px;flex-shrink:0;border-radius:10px;background:rgba(37,81,237,.1);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:18px;}
.tpl-body{min-width:0;}
.tpl-name{display:flex;align-items:center;gap:7px;font-weight:700;font-size:1rem;margin-bottom:4px;}
.mini-free{color:var(--green);font-size:.75rem;}
.tpl-desc{display:block;font-size:.85rem;color:var(--text-secondary);line-height:1.5;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.tpl-meta{display:block;font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;}
.final{background:var(--dark-grad);text-align:center;padding:60px 24px;}
.final h2{color:#fff;margin-bottom:12px;}.final p{color:rgba(255,255,255,.75);max-width:520px;margin:0 auto 22px;}
footer{background:var(--sidebar-bg);padding:34px 24px;}
.footer-inner{max-width:1000px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.footer-links{display:flex;gap:18px;flex-wrap:wrap;}
.footer-links a{font-size:.8125rem;color:rgba(255,255,255,.4);text-decoration:none;}.footer-links a:hover{color:rgba(255,255,255,.8);}
