/* Shared SDK docs stylesheet */
:root { --bg:#101418; --border:#2c3e50; --text:#f5f7fa; --panel:#141a20; --panel-alt:#161d23; --muted:#9fa9b5; --accent:#3d82f7; --accent-grad:linear-gradient(135deg,#377DF6,#6FA6FF); }
body { margin:0; font-family:system-ui, Arial, sans-serif; background:var(--bg); color:var(--text); }
header { display:flex; align-items:center; gap:10px; padding:14px 22px; background:#0d1115; border-bottom:1px solid var(--border); }
header h1 { margin:0; font-size:18px; font-weight:600; letter-spacing:.5px; }
#sidebar { position:fixed; top:0; left:0; bottom:0; width:260px; background:var(--panel); padding:140px 18px 18px; box-sizing:border-box; border-right:1px solid var(--border); overflow-y:auto; }
main { margin-left:260px; padding:32px 40px 80px; max-width:980px; }
label { font-size:12px; text-transform:uppercase; letter-spacing:.6px; font-weight:600; color:var(--muted); display:block; margin-bottom:4px; }
select { background:#1f2831; color:var(--text); border:1px solid var(--border); padding:6px 10px; border-radius:6px; font-size:14px; }
.sidebar-logo { position:fixed; top:16px; left:18px; width:224px; display:flex; align-items:center; justify-content:center; padding:8px 0; }
.sidebar-logo img { max-height:36px; max-width:100%; opacity:.95; }
.lang-picker { position:fixed; top:72px; left:18px; width:224px; }
nav h3 { margin:22px 0 8px; font-size:12px; font-weight:700; letter-spacing:.8px; text-transform:uppercase; color:#7f8b96; }
nav ul { list-style:none; margin:0; padding:0; }
nav li { margin:0 0 6px; }
nav a { display:block; padding:7px 10px 8px; background:#1b242c; border:1px solid #222e38; border-radius:6px; color:#dfe6ee; font-size:13px; text-decoration:none; transition:.15s; }
nav a.active, nav a:hover { background:#22303b; border-color:#2f4454; }
pre { background:#0d1115; padding:14px 16px; border:1px solid #203042; border-radius:8px; font-size:12px; line-height:1.4; overflow-x:auto; }
code { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; color:#6FA6FF; }
h2 { font-size:24px; margin:40px 0 12px; font-weight:600; }
/* Extra spacing before language doc section headings */
h2#init,
h2#sensors,
h2#machines,
h2#live,
h2#iot,
h2#connections,
h2#events { margin-top: 250px; }
.panel { background:var(--panel-alt); border:1px solid #22303c; padding:16px 18px 18px; border-radius:10px; }
.panel h3 { margin:0 0 8px; font-size:15px; font-weight:600; }
.panel h4 { margin:10px 0 6px; font-size:13px; font-weight:600; }
.panel h5 { margin:8px 0 4px; font-size:12px; font-weight:600; }
.panel ul { margin:0 0 0 18px; font-size:12px; line-height:1.4; }
footer { margin-top:70px; font-size:12px; text-align:center; color:#5d6b78; }
/* cards/grid for index */
.grid { display:grid; gap:18px; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); }
.card { background:#161d23; border:1px solid #22303c; padding:16px 18px 18px; border-radius:10px; position:relative; overflow:hidden; }
.card h2 { margin:0 0 10px; font-size:15px; font-weight:600; }
.card p { margin:0; font-size:13px; color:#b6c1cc; }
.notice { background:#1c2530; padding:14px 16px; border:1px solid #203042; border-radius:8px; font-size:14px; line-height:1.4; }
.accent { background:var(--accent-grad); -webkit-background-clip:text; background-clip:text; color:transparent; font-weight:600; }
.pill { display:inline-block; padding:2px 8px 3px; background:#1b242c; border:1px solid #22303c; border-radius:14px; font-size:11px; margin-right:6px; }
.two { grid-template-columns:repeat(auto-fit,minmax(380px,1fr)); }
@media (max-width:940px){ #sidebar{position:static;width:auto;padding:20px;border-right:none;border-bottom:1px solid var(--border);} main{margin-left:0;padding:24px 22px 60px;} .sidebar-logo,.lang-picker{position:static;width:auto;} }
