:root{--ink:#12202f;--muted:#607080;--line:#dce4e8;--paper:#fff;--soft:#f4f7f5;--navy:#0b2338;--teal:#0d8b83;--lime:#b8e84e;--lime2:#d9ff7a;--orange:#ffb25d;--shadow:0 18px 50px rgba(10,35,56,.10);--radius:20px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.container{width:min(1180px,calc(100% - 40px));margin:0 auto}.topline{background:#071c2e;color:#bed0dd;font-size:13px}.topline .container{display:flex;justify-content:space-between;padding:8px 0}.topline a{color:var(--lime)}.header-main{height:82px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px}.brand img{border-radius:14px}.brand span{display:grid;grid-template-columns:auto auto;line-height:1}.brand b{font-size:22px;letter-spacing:.04em}.brand em{font-style:normal;font-weight:800;color:var(--teal);font-size:22px}.brand small{grid-column:1/3;margin-top:7px;color:var(--muted);font-size:10px;letter-spacing:.08em}.main-nav{display:flex;align-items:center;gap:30px;font-size:15px;font-weight:700}.main-nav a:hover{color:var(--teal)}.menu-toggle{display:none;border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 14px}.hero{background:linear-gradient(135deg,#071c2e 0%,#0b3049 62%,#0c4d55 100%);color:#fff;overflow:hidden}.hero-grid{min-height:560px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:50px;padding:62px 0}.eyebrow{display:flex;align-items:center;gap:10px;color:#3ba49e;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.eyebrow:before{content:"";width:38px;height:2px;background:currentColor}.hero .eyebrow{color:var(--lime)}h1,h2,h3{line-height:1.13;margin-top:0}.hero h1{font-size:clamp(42px,5vw,72px);letter-spacing:-.045em;margin:20px 0}.hero h1 span{color:var(--lime2)}.hero p{max-width:680px;color:#cfdae1;font-size:19px}.hero-search{margin-top:32px;background:#fff;border-radius:16px;padding:8px;display:flex;box-shadow:0 15px 40px rgba(0,0,0,.22)}.hero-search input{flex:1;border:0;padding:15px 17px;font-size:16px;outline:0}.btn{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:12px;padding:14px 22px;background:var(--teal);color:#fff;font-weight:800;cursor:pointer}.btn-lime{background:var(--lime);color:#102332}.btn-outline{background:transparent;border:1px solid var(--line);color:var(--ink)}.hero-art{position:relative}.hero-art img{display:block;border-radius:30px;box-shadow:0 30px 80px rgba(0,0,0,.34)}.hero-stats{display:flex;gap:12px;margin-top:26px}.hero-stats span{padding:10px 14px;border:1px solid rgba(255,255,255,.15);border-radius:12px;color:#c9d8df;font-size:13px}.hero-stats b{color:#fff;font-size:17px;margin-right:4px}.section{padding:84px 0}.section-soft{background:var(--soft)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:34px}.section-head h2{font-size:clamp(30px,4vw,48px);letter-spacing:-.035em;margin:10px 0 0}.section-head p{max-width:560px;color:var(--muted)}.text-link{color:var(--teal);font-weight:800}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.category-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;min-height:210px;transition:.2s}.category-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#b3d5cf}.category-card img{width:58px;height:58px;border-radius:16px;margin-bottom:20px}.category-card h3{font-size:18px;margin:0 0 8px}.category-card p{color:var(--muted);font-size:14px;margin:0}.category-card strong{display:block;margin-top:13px;color:var(--teal);font-size:13px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project-card{border:1px solid var(--line);border-radius:var(--radius);padding:22px;background:#fff;display:flex;flex-direction:column;min-height:390px;transition:.2s}.project-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.project-top{display:flex;gap:14px}.project-top img{width:62px;height:62px;object-fit:cover;border-radius:16px;border:1px solid var(--line)}.project-top h3{font-size:20px;margin:7px 0 2px}.provider{color:var(--muted);font-size:12px;margin:0}.project-badges{display:flex;gap:6px;min-height:22px;flex-wrap:wrap}.price-badge,.editor-badge{display:inline-flex;border-radius:99px;padding:4px 8px;font-size:10px;font-weight:800}.is-free{background:#e4f5d1;color:#42651b}.is-freemium{background:#dff3f2;color:#116c68}.is-paid{background:#fff0dc;color:#96560b}.editor-badge{background:#e9edff;color:#3b4d97}.project-desc{color:#475969;font-size:14px;margin:18px 0}.project-meta{display:flex;gap:7px;flex-wrap:wrap}.project-meta span{background:var(--soft);padding:6px 8px;border-radius:8px;font-size:11px}.card-categories{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0}.card-categories a{border:1px solid var(--line);border-radius:8px;padding:5px 8px;font-size:10px;color:#50616e}.project-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:auto;border-top:1px solid var(--line);padding-top:15px}.stars{position:relative;display:inline-block;width:88px;height:16px;background:linear-gradient(90deg,#d9e0e4 0 100%);clip-path:polygon(5% 0,7% 35%,0 38%,5% 62%,3% 100%,10% 78%,17% 100%,15% 62%,20% 38%,13% 35%,12% 0,25% 0,27% 35%,20% 38%,25% 62%,23% 100%,30% 78%,37% 100%,35% 62%,40% 38%,33% 35%,32% 0,45% 0,47% 35%,40% 38%,45% 62%,43% 100%,50% 78%,57% 100%,55% 62%,60% 38%,53% 35%,52% 0,65% 0,67% 35%,60% 38%,65% 62%,63% 100%,70% 78%,77% 100%,75% 62%,80% 38%,73% 35%,72% 0,85% 0,87% 35%,80% 38%,85% 62%,83% 100%,90% 78%,97% 100%,95% 62%,100% 38%,93% 35%,92% 0)}.stars span{display:block;height:100%;background:#ffb64a}.project-bottom small{vertical-align:3px;margin-left:5px}.content-hero{background:var(--soft);padding:64px 0 46px;border-top:1px solid var(--line)}.content-hero h1{font-size:clamp(36px,5vw,62px);letter-spacing:-.04em;margin:13px 0}.content-hero p{font-size:18px;color:var(--muted);max-width:790px}.breadcrumbs{font-size:12px;color:var(--muted);margin-bottom:16px}.breadcrumbs a{color:var(--teal)}.catalog-layout{display:grid;grid-template-columns:260px 1fr;gap:28px;padding:50px 0 80px}.filters{border:1px solid var(--line);border-radius:18px;padding:20px;align-self:start;position:sticky;top:16px}.filters h3{font-size:15px;margin:0 0 15px}.filters label{display:block;font-size:13px;margin:10px 0}.filters input[type=text],.filters select,.form-control{width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:10px;background:#fff}.filters .btn{width:100%;margin-top:13px}.catalog-main .project-grid{grid-template-columns:repeat(2,1fr)}.catalog-tools{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;color:var(--muted)}.pagination{display:flex;justify-content:center;gap:8px;margin:34px 0}.pagination a{border:1px solid var(--line);border-radius:10px;padding:9px 13px}.pagination .active{background:var(--navy);color:#fff}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:40px;padding:50px 0 80px}.detail-title{display:flex;gap:22px;align-items:flex-start}.detail-title img{width:92px;height:92px;border-radius:22px;border:1px solid var(--line)}.detail-title h1{font-size:44px;margin:8px 0}.lead{font-size:19px;color:var(--muted)}.content-block{margin-top:34px}.content-block h2{font-size:29px}.prose{color:#334858}.prose p,.prose li{line-height:1.75}.spec-table{width:100%;border-collapse:collapse}.spec-table th,.spec-table td{padding:14px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.spec-table th{width:34%;color:var(--muted);font-weight:500}.side-card{border:1px solid var(--line);border-radius:20px;padding:22px;margin-bottom:18px}.side-card h3{font-size:17px}.side-card .btn{width:100%;margin-top:12px}.score-big{font-size:46px;font-weight:800}.faq-item{border:1px solid var(--line);border-radius:14px;padding:18px;margin:10px 0}.faq-item h3{font-size:16px;margin:0 0 8px}.faq-item p{margin:0;color:var(--muted)}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.blog-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff}.blog-card img{width:100%;height:180px;object-fit:cover}.blog-card-body{padding:21px}.blog-card h3{font-size:20px}.blog-card p{color:var(--muted);font-size:14px}.article{max-width:860px;margin:0 auto;padding:60px 0 90px}.article h1{font-size:48px}.article h2{font-size:30px;margin-top:44px}.article p,.article li{font-size:17px;line-height:1.8;color:#344a59}.article-meta{color:var(--muted);margin-bottom:24px}.article-cover{width:100%;border-radius:24px;margin:20px 0 34px}.callout{border-left:4px solid var(--lime);background:var(--soft);padding:18px 22px;margin:26px 0}.form-card{max-width:760px;border:1px solid var(--line);border-radius:22px;padding:30px;background:#fff}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:13px;font-weight:700;margin-bottom:6px}.form-group textarea{min-height:130px}.notice{padding:14px 16px;border-radius:12px;background:#e4f5d1;color:#35551a;margin-bottom:20px}.compare-table-wrap{overflow:auto}.compare-table{min-width:900px;width:100%;border-collapse:collapse}.compare-table th,.compare-table td{padding:14px;border:1px solid var(--line);vertical-align:top}.compare-table th{background:var(--soft)}.compare-float{position:fixed;right:24px;bottom:24px;z-index:20;background:var(--navy);color:#fff;padding:15px 20px;border-radius:13px;box-shadow:var(--shadow);font-weight:800}.cta{background:var(--navy);color:#fff;border-radius:28px;padding:46px;display:flex;align-items:center;justify-content:space-between;gap:30px}.cta h2{font-size:36px;margin:0 0 10px}.cta p{color:#c4d1d9;margin:0}.site-footer{background:#071c2e;color:#c5d2da;padding:58px 0 22px}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:42px}.footer-grid h3{color:#fff;font-size:14px}.footer-grid a{display:block;margin:9px 0;font-size:13px}.footer-grid p{font-size:13px;max-width:360px}.footer-brand{color:#fff;margin-bottom:18px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.12);padding-top:20px;margin-top:42px;font-size:12px}.admin-shell{background:#f3f5f6}.admin-wrap{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.admin-nav{background:#071c2e;color:#fff;padding:25px}.admin-nav a{display:block;padding:10px 0;color:#c8d5dd}.admin-main{padding:30px}.admin-table{width:100%;border-collapse:collapse;background:#fff}.admin-table th,.admin-table td{padding:10px;border:1px solid var(--line);text-align:left}.admin-actions{display:flex;gap:8px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat-card{background:#fff;padding:22px;border-radius:16px}.stat-card b{display:block;font-size:36px}.login-box{max-width:430px;margin:10vh auto;background:#fff;padding:35px;border-radius:20px;box-shadow:var(--shadow)}@media(max-width:1000px){.category-grid{grid-template-columns:repeat(3,1fr)}.project-grid{grid-template-columns:repeat(2,1fr)}.hero-grid{grid-template-columns:1fr}.hero-art{max-width:660px}.catalog-layout{grid-template-columns:1fr}.filters{position:static}.detail-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.admin-wrap{grid-template-columns:1fr}.admin-nav{display:flex;gap:16px;flex-wrap:wrap}}@media(max-width:720px){.container{width:min(100% - 26px,1180px)}.topline span{display:none}.header-main{height:72px}.main-nav{display:none;position:absolute;left:13px;right:13px;top:105px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;z-index:30;box-shadow:var(--shadow)}.main-nav.open{display:grid}.menu-toggle{display:block}.hero-grid{padding:45px 0}.hero h1{font-size:42px}.hero-search{display:grid}.hero-stats{flex-wrap:wrap}.section{padding:58px 0}.section-head{display:block}.category-grid,.project-grid,.catalog-main .project-grid,.blog-grid{grid-template-columns:1fr}.detail-title{display:block}.detail-title h1,.article h1{font-size:36px}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.form-grid{grid-template-columns:1fr}.cta{display:block;padding:30px}.cta .btn{margin-top:20px}.stat-grid{grid-template-columns:1fr 1fr}}
