@import url('https://fonts.googleapis.com/css2?family=Syne:wght@700;800&family=DM+Sans:wght@300;400;500;600&family=JetBrains+Mono:wght@400;500&display=swap');
*{margin:0;padding:0;box-sizing:border-box}
:root{--bg:#060E1A;--bg2:#0A1729;--g:#00C97A;--b:#00AAFF;--p:#7C5CFC;--o:#FF6B35;--a:#F5A524;--border:rgba(226,234,248,0.08);--muted:rgba(226,234,248,0.55);--mono:'JetBrains Mono',monospace;--serif:'Syne',sans-serif;--sans:'DM Sans',sans-serif}
html{scroll-behavior:smooth}
body{background:var(--bg);color:#E2EAF8;font-family:var(--sans);line-height:1.7;-webkit-font-smoothing:antialiased}
nav{position:fixed;top:0;left:0;right:0;z-index:999;background:rgba(6,14,26,0.95);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);padding:0 40px;height:60px;display:flex;align-items:center;justify-content:space-between}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo-ic{width:32px;height:32px;background:linear-gradient(135deg,var(--g),var(--b));border-radius:9px;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:800;font-size:15px;color:#060E1A}
.logo-name{font-family:var(--serif);font-weight:700;font-size:15px;color:#fff}
.nav-links{display:flex;gap:18px}
.nav-links a{font-size:13px;color:var(--muted);text-decoration:none}
.nav-links a:hover,.nav-links a.on{color:#fff}
.page{max-width:860px;margin:0 auto;padding:100px 40px 80px}
.hero{margin-bottom:40px}
.eyebrow{font-family:var(--mono);font-size:10px;color:var(--b);letter-spacing:3px;text-transform:uppercase;margin-bottom:12px}
h1{font-family:var(--serif);font-size:clamp(32px,5vw,48px);font-weight:800;letter-spacing:-1.5px;color:#fff;margin-bottom:12px}
.subtitle{font-size:15px;color:var(--muted);line-height:1.6}
.meta{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap}
.meta-item{font-family:var(--mono);font-size:11px;color:var(--muted);background:rgba(255,255,255,0.04);border:1px solid var(--border);padding:5px 14px;border-radius:100px}
.meta-item span{color:var(--b)}
hr{border:none;border-top:1px solid var(--border);margin:40px 0}
.section{margin-bottom:44px}
h2{font-family:var(--serif);font-weight:700;font-size:22px;color:#fff;letter-spacing:-0.5px;margin-bottom:14px;display:flex;align-items:center;gap:10px}
h3{font-family:var(--sans);font-weight:600;font-size:15px;color:#fff;margin:22px 0 8px}
.sec-num{font-family:var(--mono);font-size:11px;color:var(--b);background:rgba(0,170,255,0.1);border:1px solid rgba(0,170,255,0.2);padding:3px 10px;border-radius:100px}
p{font-size:14px;color:var(--muted);line-height:1.75;margin-bottom:12px}
ul{margin:8px 0 14px 0;padding-left:0;list-style:none}
ul li{font-size:14px;color:var(--muted);line-height:1.65;padding:4px 0 4px 20px;position:relative}
ul li::before{content:'→';position:absolute;left:0;color:var(--b);font-size:12px}
ol.steps{list-style:none;counter-reset:s;margin:12px 0;padding:0}
ol.steps>li{counter-increment:s;position:relative;padding:14px 0 14px 52px;border-top:1px solid var(--border);font-size:14px;color:#E2EAF8;line-height:1.7}
ol.steps>li::before{content:counter(s);position:absolute;left:0;top:14px;width:32px;height:32px;border-radius:50%;background:rgba(0,170,255,0.12);border:1px solid rgba(0,170,255,0.3);color:var(--b);font-family:var(--mono);font-size:12px;display:flex;align-items:center;justify-content:center}
ol.steps>li .where{display:block;font-family:var(--mono);font-size:11px;color:var(--g);margin-bottom:4px}
ol.steps>li .note{display:block;font-size:13px;color:var(--muted);margin-top:6px}
code{font-family:var(--mono);font-size:12.5px;background:rgba(255,255,255,0.06);border:1px solid var(--border);padding:1px 6px;border-radius:5px;color:#fff;word-break:break-all}
pre{background:#040A14;border:1px solid var(--border);border-radius:10px;padding:16px 18px;overflow-x:auto;margin:10px 0 14px;font-family:var(--mono);font-size:12px;line-height:1.6;color:#CFE3FF}
pre code{background:none;border:none;padding:0;word-break:normal}
.highlight{background:rgba(0,170,255,0.05);border:1px solid rgba(0,170,255,0.15);border-radius:12px;padding:18px 22px;margin:14px 0}
.highlight p,.warning p,.ok p{color:#E2EAF8;margin-bottom:0}
.warning{background:rgba(255,107,53,0.06);border:1px solid rgba(255,107,53,0.2);border-radius:12px;padding:18px 22px;margin:14px 0}
.ok{background:rgba(0,201,122,0.05);border:1px solid rgba(0,201,122,0.18);border-radius:12px;padding:18px 22px;margin:14px 0}
table{width:100%;border-collapse:collapse;margin:10px 0 16px;font-size:13px}
th{text-align:left;font-family:var(--mono);font-size:10.5px;letter-spacing:1px;text-transform:uppercase;color:var(--b);padding:8px 10px;border-bottom:1px solid var(--border)}
td{padding:9px 10px;border-bottom:1px solid var(--border);color:var(--muted);vertical-align:top;line-height:1.55}
td:first-child{color:#fff}
.tbl-wrap{overflow-x:auto}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:16px 0}
.card{background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:18px;text-decoration:none;display:block;transition:border-color .2s}
.card:hover{border-color:rgba(0,170,255,0.4)}
.card .tag{font-family:var(--mono);font-size:10px;letter-spacing:1px;text-transform:uppercase;margin-bottom:8px;display:inline-block;padding:2px 8px;border-radius:100px}
.card h4{font-family:var(--serif);font-weight:700;font-size:17px;color:#fff;margin-bottom:6px}
.card p{font-size:12.5px;margin:0}
.tag.gcp{color:#8AB4F8;background:rgba(138,180,248,0.12)}
.tag.aws{color:#FF9900;background:rgba(255,153,0,0.12)}
.tag.azure{color:#50E6FF;background:rgba(80,230,255,0.12)}
.toc{background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:16px 20px;margin-bottom:32px}
.toc a{display:block;font-size:13px;color:var(--muted);text-decoration:none;padding:3px 0}
.toc a:hover{color:#fff}
.toc .t{font-family:var(--mono);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--b);margin-bottom:6px}
footer{background:var(--bg2);border-top:1px solid var(--border);padding:28px 40px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--muted);font-family:var(--mono)}
footer a{color:var(--muted);text-decoration:none}
footer span:nth-child(2){flex-basis:100%;font-family:var(--sans);font-size:11px;order:3}
@media (max-width:640px){.page{padding:90px 20px 60px}nav{padding:0 20px}.nav-links{gap:12px}}
@media print{nav{display:none}.page{padding:20px}body{background:#fff;color:#111}p,ul li,td,.subtitle{color:#333}h1,h2,h3,td:first-child,ol.steps>li{color:#000}pre{background:#f4f4f4;color:#111}.card,.toc,.highlight,.warning,.ok{border-color:#ccc}}
