:root{--ink:#14292c;--ink-2:#22393c;--text:#2c3e41;--muted:#637275;--line:#e3e7ef;--bg:#fff;--bg-soft:#f5f7fb;--primary:#2b5a5e;--primary-ink:#fff;--primary-soft:#e6efef;--accent:#d97a3e;--warn:#e6a23c;--danger:#e2504c;--ok:#17a673;--radius:14px;--radius-sm:9px;--shadow:0 1px 2px #0b13240d, 0 8px 24px #0b13240f;--max:1160px;--font:"Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.6}h1,h2,h3,h4{color:var(--ink);letter-spacing:-.02em;margin:0 0 .5em;line-height:1.15}h1{font-size:calc(clamp(2rem,4.6vw,3.4rem))}h1,h2{font-weight:800}h2{font-size:calc(clamp(1.6rem,3vw,2.25rem))}h3{font-size:1.15rem;font-weight:700}p{margin:0 0 1em}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}img,svg{max-width:100%}.container{width:100%;max-width:var(--max);margin:0 auto;padding:0 20px}.section{padding:calc(clamp(56px,8vw,96px)) 0}.section.soft{background:var(--bg-soft)}.section-head{max-width:680px;margin-bottom:40px}.lead{color:var(--muted);font-size:1.12rem}.eyebrow{font-family:var(--mono);letter-spacing:.04em;color:var(--primary);background:var(--primary-soft);border-radius:99px;margin-bottom:18px;padding:4px 10px;font-size:.78rem;display:inline-block}.muted{color:var(--muted)}.mono{font-family:var(--mono)}.btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-family:inherit;font-size:.95rem;font-weight:700;transition:transform .12s,background .15s,box-shadow .15s;display:inline-flex;text-decoration:none!important}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--primary);color:var(--primary-ink);box-shadow:0 6px 18px #2b5a5e47}.btn-primary:hover{background:#234a4d}.btn-ghost{color:var(--ink);border-color:var(--line);background:0 0}.btn-ghost:hover{background:var(--bg-soft)}.btn-light{color:var(--ink);background:#fff}.btn-sm{border-radius:8px;padding:7px 12px;font-size:.85rem}.btn-danger{background:var(--danger);color:#fff}.btn[disabled]{opacity:.6;cursor:not-allowed}.grid{gap:20px;display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media (width<=960px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:24px}.card.hover{transition:border-color .15s,box-shadow .15s,transform .15s}.card.hover:hover{box-shadow:var(--shadow);border-color:#b9cfd0;transform:translateY(-2px)}.icon-box{background:var(--primary-soft);width:44px;height:44px;color:var(--primary);border-radius:11px;place-items:center;margin-bottom:16px;display:grid}.form,.form-row{gap:16px;display:grid}.form-row{grid-template-columns:1fr 1fr}@media (width<=640px){.form-row{grid-template-columns:1fr}}.field{gap:6px;display:grid}.field label{color:var(--ink);font-size:.9rem;font-weight:600}.field small{color:var(--muted);font-size:.82rem}.input,select.input,textarea.input{border-radius:var(--radius-sm);width:100%;font:inherit;color:var(--ink);background:#fff;border:1px solid #d5dbe6;padding:11px 13px;font-size:.95rem;transition:border-color .15s,box-shadow .15s}textarea.input{resize:vertical;min-height:140px}.input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #2b5a5e26}.hp{height:0;overflow:hidden;position:absolute!important;left:-9999px!important}.alert{border-radius:var(--radius-sm);padding:12px 14px;font-size:.92rem}.alert-ok{color:#0d6e4b;background:#e7f7f0}.alert-err{color:#a3302d;background:#fdecec}.alert-info{background:var(--primary-soft);color:#234a4d}.badge{color:var(--ink-2);white-space:nowrap;background:#eef1f6;border-radius:99px;padding:3px 9px;font-size:.76rem;font-weight:700;display:inline-block}.badge.blue{background:var(--primary-soft);color:#234a4d}.badge.green{color:#0f7a53;background:#e2f6ee}.badge.amber{color:#9a6410;background:#fdf2e0}.badge.red{color:#b0302c;background:#fde8e8}.badge.grey{color:#536079;background:#eef1f6}.table-wrap{border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow-x:auto}table.table{border-collapse:collapse;width:100%;font-size:.92rem}.table td,.table th{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:12px 14px}.table th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--bg-soft);font-size:.78rem}.table tr:last-child td{border-bottom:0}.progress{background:#e9edf5;border-radius:99px;height:8px;overflow:hidden}.progress>span{background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:99px;height:100%;display:block}.page-hero{background:linear-gradient(180deg,var(--bg-soft),#fff);padding:calc(clamp(56px,8vw,88px)) 0 calc(clamp(32px,5vw,48px))}.page-hero .lead{max-width:680px}.stack-list{flex-wrap:wrap;gap:10px;display:flex}.stack-list span{font-family:var(--mono);border:1px solid var(--line);color:var(--ink-2);background:#fff;border-radius:99px;padding:8px 14px;font-size:.85rem}
