:root{--bg:#f6f7fb;--card:#fff;--ink:#1a1f36;--muted:#5b6478;--brand:#4f46e5;--brand2:#06b6d4;--line:#e6e8f0;--ok:#059669;--bad:#dc2626}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
.gx-nav{background:linear-gradient(120deg,var(--brand),var(--brand2));color:#fff;padding:14px 0;box-shadow:0 2px 12px rgba(79,70,229,.25)}
.gx-nav .in{max-width:860px;margin:0 auto;padding:0 20px;display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center}
.gx-nav a{color:#fff;text-decoration:none;opacity:.9;font-weight:500}.gx-nav a:hover{opacity:1;text-decoration:underline}
.gx-nav .logo{font-weight:800;font-size:18px;margin-right:auto;opacity:1}
.gx-main{max-width:860px;margin:28px auto;padding:28px 32px;background:var(--card);border-radius:18px;box-shadow:0 10px 40px rgba(26,31,54,.08)}
h1{font-size:clamp(26px,4vw,36px);line-height:1.2;margin:.2em 0 .5em;background:linear-gradient(120deg,var(--brand),var(--brand2));-webkit-background-clip:text;background-clip:text;color:transparent}
h2,h3{color:var(--ink);margin-top:1.6em}
p,li{color:#2d3550}a{color:var(--brand)}
label{display:block;font-weight:600;font-size:14px;color:var(--muted);margin-top:8px}
input,textarea,select{width:100%;padding:11px 13px;margin:6px 0 12px;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fbfbfe;transition:border .15s,box-shadow .15s}
input:focus,textarea:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px rgba(79,70,229,.15)}
button,.btn{display:inline-block;background:linear-gradient(120deg,var(--brand),var(--brand2));color:#fff;border:0;border-radius:10px;padding:12px 22px;font:600 15px/1 inherit;cursor:pointer;text-decoration:none;box-shadow:0 6px 18px rgba(79,70,229,.3)}
button:hover,.btn:hover{transform:translateY(-1px)}
.box{border:1px solid var(--line);border-radius:14px;padding:16px 20px;margin:16px 0;background:linear-gradient(180deg,#fff,#f9faff)}
#o.box,#o{font-size:17px}#o b{font-size:19px}
table{width:100%;border-collapse:collapse;margin:10px 0}td,th{border:1px solid var(--line);padding:8px 10px;text-align:left}th{background:#f1f2fb}
code,pre{background:#f1f2fb;border-radius:6px;padding:2px 6px;font-size:14px}pre{padding:12px;overflow:auto}
small{color:var(--muted)}
.gx-foot{max-width:860px;margin:0 auto 40px;padding:0 20px;color:var(--muted);font-size:13px;text-align:center}
@media(max-width:600px){.gx-main{margin:0;border-radius:0;padding:20px 16px}}
@media print{.gx-nav,.gx-foot,.noprint{display:none}.gx-main{box-shadow:none;margin:0}body{background:#fff}}
.gx-hero{text-align:center;padding:10px 0 18px}.gx-hero p{font-size:18px;color:var(--muted);max-width:560px;margin:0 auto 18px}
.gx-badges{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:10px 0 4px}.gx-badges span{background:#eef2ff;color:var(--brand);border-radius:999px;padding:4px 12px;font-size:13px;font-weight:600}
.gx-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin:22px 0}
.gx-card{display:block;text-decoration:none;color:var(--ink);border:1px solid var(--line);border-radius:16px;padding:20px;background:#fff;transition:transform .15s,box-shadow .15s}
.gx-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(79,70,229,.15)}
.gx-card .ic{font-size:30px}.gx-card b{display:block;font-size:17px;margin:6px 0 4px}.gx-card span{color:var(--muted);font-size:14px}