.pub{--ink: #0f1b2d;--muted: #5b6b7f;--line: #e2e8f0;--bg: #f5f7fb;--card: #ffffff;--brand: #0a4fd6;--brand-dark: #0839a0;--brand-soft: #e8f0ff;--amber: #b45309;--amber-soft: #fef3c7;--radius: 12px;--shadow: 0 1px 2px rgba(15, 27, 45, .05), 0 4px 14px rgba(15, 27, 45, .06);min-height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--ink);font:16px/1.55 system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;-webkit-font-smoothing:antialiased;@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}}.pub *{box-sizing:border-box}.pub main{flex:1}.pub a{color:var(--brand);text-decoration:none}.pub a:hover{text-decoration:underline}.pub h1,.pub h2,.pub h3{line-height:1.2;margin:0 0 .5rem;letter-spacing:-.01em}.pub h1{font-size:clamp(1.6rem,3.4vw,2.3rem)}.pub h2{font-size:1.25rem}.pub h3,.pub .h3{font-size:1.05rem}.pub p{margin:0 0 .75rem}.pub ul.plain{list-style:none;margin:0;padding:0}.pub button,.pub input,.pub select{font:inherit;color:inherit}.pub :focus-visible{outline:3px solid #93b4ff;outline-offset:2px;border-radius:6px}.pub .container{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}.pub .muted{color:var(--muted)}.pub .small{font-size:.875rem}.pub .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.pub .skip-link{position:absolute;left:-999px;top:8px;background:#fff;padding:8px 12px;border-radius:8px;z-index:100}.pub .skip-link:focus{left:8px}.pub .top-gap{margin-top:.75rem}.pub .site-header{position:sticky;top:0;z-index:40;background:#ffffffeb;backdrop-filter:saturate(160%) blur(10px);border-bottom:1px solid var(--line)}.pub .header-row{display:flex;align-items:center;gap:20px;min-height:64px}.pub .brand{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:1.15rem;color:var(--ink);letter-spacing:-.02em}.pub .brand:hover{text-decoration:none}.pub .nav{display:flex;gap:4px;margin-left:8px}.pub .nav a{padding:8px 12px;border-radius:8px;color:var(--ink);font-weight:500;font-size:.95rem}.pub .nav a:hover{background:var(--bg);text-decoration:none}.pub .nav a.active{color:var(--brand);background:var(--brand-soft)}.pub .header-search{margin-left:auto;width:min(360px,40vw)}.pub .icon-btn{background:none;border:0;padding:8px;border-radius:8px;cursor:pointer;display:inline-grid;place-items:center}.pub .icon-btn:hover{background:var(--bg)}.pub .nav-toggle{display:none;margin-left:auto}.pub .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:10px;padding:10px 16px;font-weight:600;cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s;white-space:nowrap}.pub .btn:hover{text-decoration:none}.pub .btn:disabled{opacity:.5;cursor:not-allowed}.pub .btn-primary{background:var(--brand);color:#fff}.pub .btn-primary:hover:not(:disabled){background:var(--brand-dark)}.pub .btn-ghost{background:#fff;border-color:var(--line);color:var(--ink)}.pub .btn-ghost:hover:not(:disabled){border-color:#b8c4d6;background:#fafcff}.pub .btn-block{width:100%;margin-top:12px}.pub .link-arrow{display:inline-flex;align-items:center;gap:6px;font-weight:600}.pub .link-btn{background:none;border:0;color:var(--brand);padding:6px 0;cursor:pointer;font-size:.875rem;font-weight:600}.pub .chips{display:flex;flex-wrap:wrap;gap:6px}.pub .chip{display:inline-flex;align-items:center;gap:6px;background:var(--brand-soft);color:var(--brand-dark);border:1px solid transparent;border-radius:999px;padding:3px 10px;font-size:.8rem;font-weight:500}.pub a.chip:hover{text-decoration:none;border-color:#b9cffb}.pub .chip-static{background:#f0f3f8;color:#2b3a4f}.pub .chip-light{background:#ffffff24;color:#fff;border-color:#ffffff40}.pub a.chip-light:hover{background:#ffffff40;border-color:#ffffff80}.pub .chip-lg{font-size:.92rem;padding:7px 14px;background:#fff;border-color:var(--line);color:var(--ink)}.pub a.chip-lg:hover{border-color:var(--brand)}.pub button.chip{cursor:pointer}.pub .chip-active{background:var(--brand);color:#fff}.pub .badge{display:inline-block;border-radius:6px;padding:2px 8px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.pub .badge-blue{background:var(--brand-soft);color:var(--brand-dark)}.pub .badge-amber{background:var(--amber-soft);color:var(--amber)}.pub .search{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:0 6px 0 14px;color:var(--muted)}.pub .search:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px #cfe0ff}.pub .search input{flex:1;min-width:0;border:0;outline:0;background:none;padding:12px 0;color:var(--ink);-webkit-appearance:none;appearance:none}.pub .search--sm input{padding:8px 0}.pub .search--sm .btn{display:none}.pub .search--lg{padding:6px 6px 6px 18px;border-radius:14px;box-shadow:var(--shadow)}.pub .search--lg input{font-size:1.05rem}.pub .hero{background:radial-gradient(1200px 400px at 80% -10%,#2f6bff 0%,transparent 60%),linear-gradient(135deg,#0b1f3f,#0a3a8f);color:#fff;padding:64px 0 56px}.pub .hero h1{font-size:clamp(1.9rem,5vw,3rem);max-width:18ch}.pub .hero-lead{font-size:1.1rem;color:#d3e0fb;max-width:60ch;margin-bottom:1.5rem}.pub .hero-search{max-width:720px}.pub .hero-popular{margin-top:16px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:#b9ccf3;font-size:.9rem}.pub .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:-28px;position:relative}.pub .stats>div{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 20px;display:flex;flex-direction:column}.pub .stats strong{font-size:1.6rem;letter-spacing:-.02em}.pub .stats span{color:var(--muted);font-size:.875rem}.pub .section{padding:40px 20px}.pub .section-sm{padding:32px 0 0}.pub .section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:16px}.pub .section-head h2{margin:0;font-size:1.4rem}.pub .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;transition:opacity .15s}.pub .grid.is-fetching{opacity:.6}.pub .grid-cats{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.pub .card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.pub .card.pad{padding:20px}.pub .card.pad h2{font-size:1.05rem;margin-bottom:.75rem}.pub .cat-card{padding:18px 20px;color:var(--ink);transition:border-color .15s,transform .15s}.pub .cat-card:hover{text-decoration:none;border-color:var(--brand);transform:translateY(-1px)}.pub .cat-card h3,.pub .cat-card h2{margin-bottom:4px}.pub .company-card{padding:18px 20px;display:flex;flex-direction:column;gap:8px}.pub .company-card:hover{border-color:#b8c4d6}.pub .card-top{display:flex;align-items:center;gap:10px}.pub .card-title{margin:0;font-size:1.05rem}.pub .card-title a{color:var(--ink)}.pub .card-title a:hover{color:var(--brand)}.pub .card-sub{margin:0}.pub .meta{display:flex;align-items:center;gap:6px;margin:0;color:var(--muted);font-size:.9rem}.pub .meta svg{flex:none}.pub .card-desc{margin:0;color:#35445a;font-size:.93rem;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.pub .card-foot{margin-top:auto;padding-top:10px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line)}.pub .skeleton{background:linear-gradient(90deg,#e9eef6 25%,#f4f7fb 37%,#e9eef6 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite;border-radius:6px}.pub .sk-line{height:14px;margin:10px 0}.pub .sk-short{width:40%}.pub .sk-title{height:20px;width:70%}.pub .skeleton-card{padding:20px}.pub .state{text-align:center;padding:48px 20px;background:#fff;border:1px dashed #c9d3e2;border-radius:var(--radius)}.pub .state-error{border-color:#f1b4b4;background:#fff8f8}.pub .breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.875rem;color:var(--muted);margin-bottom:12px}.pub .breadcrumbs svg{opacity:.6}.pub .page-head{margin-bottom:16px}.pub .toolbar{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.pub .toolbar-search{flex:1;min-width:220px}.pub .sort select{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px;cursor:pointer;height:100%}.pub .filters-toggle{display:none}.pub .layout-2col{display:grid;grid-template-columns:270px minmax(0,1fr);gap:28px;align-items:start}.pub .filters{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px;position:sticky;top:80px;max-height:calc(100vh - 100px);overflow:auto}.pub .filters-head{display:none;justify-content:space-between;align-items:center;margin-bottom:8px}.pub .facet{border:0;padding:0;margin:0 0 16px;min-width:0}.pub .facet legend{font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:6px;padding:0}.pub .facet-item{width:100%;display:flex;justify-content:space-between;gap:8px;text-align:left;background:none;border:0;border-radius:8px;padding:6px 8px;cursor:pointer;font-size:.92rem}.pub .facet-item:hover{background:var(--bg)}.pub .facet-item.is-active{background:var(--brand-soft);color:var(--brand-dark);font-weight:600}.pub .backdrop{display:none}.pub .result-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-bottom:14px}.pub .result-bar p{margin:0}.pub .pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:28px;flex-wrap:wrap}.pub .pages{display:flex;gap:4px;align-items:center}.pub .page-btn{min-width:38px;height:38px;border-radius:8px;border:1px solid transparent;background:none;cursor:pointer;font-weight:600}.pub .page-btn:hover{background:#fff;border-color:var(--line)}.pub .page-btn.is-active{background:var(--brand);color:#fff}.pub .company-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;flex-wrap:wrap}.pub .company-head h1{margin:6px 0}.pub .actions{display:flex;gap:10px;flex-wrap:wrap}.pub .layout-detail{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}.pub .stack{display:flex;flex-direction:column;gap:16px}.pub .kvs{margin:0}.pub .kv{display:grid;grid-template-columns:92px 1fr;gap:8px;padding:8px 0;border-bottom:1px solid var(--line);font-size:.92rem}.pub .kv:last-child{border-bottom:0}.pub .kv dt{color:var(--muted)}.pub .kv dd{margin:0;overflow-wrap:anywhere}.pub .notice{padding:0 4px}.pub .site-footer{background:#0b1627;color:#b8c4d8;margin-top:56px;padding-top:40px}.pub .site-footer a{color:#d8e2f4}.pub .site-footer .brand{color:#fff;margin-bottom:8px}.pub .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}.pub .footer-title{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#fff;margin-bottom:10px}.pub .footer-grid li{padding:3px 0;font-size:.92rem}.pub .footer-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid #1c2c45;margin-top:32px;padding-top:16px;padding-bottom:24px}.pub .site-footer .muted{color:#8fa1bd}.pub .prose{max-width:760px}.pub .prose h2{margin-top:1.5rem}@media(max-width:960px){.pub .layout-detail{grid-template-columns:1fr}.pub .footer-grid{grid-template-columns:1fr 1fr}.pub .stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:860px){.pub .nav-toggle{display:inline-grid}.pub .header-search{display:none}.pub .nav{display:none;position:absolute;top:64px;left:0;right:0;background:#fff;flex-direction:column;padding:8px 20px 16px;border-bottom:1px solid var(--line);margin:0}.pub .nav--open{display:flex}.pub .nav a{padding:12px}.pub .layout-2col{grid-template-columns:1fr}.pub .filters-toggle{display:inline-flex}.pub .filters{position:fixed;z-index:60;inset:0 auto 0 0;width:min(340px,88vw);max-height:none;border-radius:0;transform:translate(-105%);transition:transform .2s ease}.pub .filters--open{transform:none}.pub .filters-head{display:flex}.pub .backdrop{display:block;position:fixed;inset:0;z-index:55;background:#08122480;border:0}.pub .hero{padding:44px 0 48px}.pub .search--lg .btn{padding:10px 14px}}@media(max-width:520px){.pub .grid{grid-template-columns:1fr}.pub .stats strong{font-size:1.3rem}.pub .footer-grid{grid-template-columns:1fr}.pub .kv{grid-template-columns:1fr;gap:0}.pub .actions .btn{flex:1}}@media(prefers-reduced-motion:reduce){.pub *{animation:none!important;transition:none!important}}html{scroll-behavior:smooth}body{margin:0}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.pub .btn-sm{padding:6px 12px;font-size:.9rem}.pub .paywall-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;background:#eef4ff;border:1px solid #c9dafc;border-radius:var(--radius);padding:14px 18px;margin:0 0 18px}.pub .join-actions{display:flex;flex-wrap:wrap;gap:10px}.pub .locked-card{padding:28px;max-width:720px;margin:0 auto}.pub .locked-card h1{margin:10px 0 6px}.pub .locked-blur{filter:blur(5px);user-select:none;margin:18px 0;color:var(--muted)}.pub .pricing-head{text-align:center;max-width:720px;margin:0 auto 28px}.pub .plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;max-width:820px;margin:0 auto 20px}.pub .plan{padding:26px;display:flex;flex-direction:column;gap:6px}.pub .plan--best{border:2px solid var(--brand)}.pub .plan .price{font-size:1.1rem;margin:4px 0 0}.pub .plan .price span{font-size:2.4rem;font-weight:800}.pub .feature-list{display:grid;gap:8px;margin:14px 0 6px}.pub .feature-list li{display:flex;gap:8px;align-items:flex-start}.pub .center{text-align:center}
