:root{color-scheme:light;--bg:#f4f7f8;--ink:#172026;--muted:#5d6b73;--line:#cfd9dd;--panel:#ffffff;--accent:#0b7285;--accent-strong:#075764;--good:#16794c;--warn:#9a5a00;--bad:#b42318;--soft-good:#e6f4ee;--soft-warn:#fff2d9;--soft-bad:#ffe8e5;--shadow:0 20px 60px rgba(23,32,38,0.08)}*{box-sizing:border-box}body,html{min-height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}button{min-height:42px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:40px 0}.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);grid-gap:32px;gap:32px;align-items:end;padding:12px 0 28px}.eyebrow{margin:0 0 12px;color:var(--accent);font-size:13px;font-weight:700;letter-spacing:0;text-transform:uppercase}h1,h2,p{margin-top:0}h1{max-width:720px;margin-bottom:16px;font-size:clamp(42px,7vw,86px);line-height:.95}h1,h2{letter-spacing:0}h2{margin-bottom:6px;font-size:22px}.lede{max-width:780px;margin-bottom:0;color:var(--muted);font-size:18px;line-height:1.55}.status{min-height:140px;padding:22px;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.check-card span,.device-summary span,.field span,.status span{display:block;margin-bottom:8px;color:var(--muted);font-size:13px;font-weight:700;letter-spacing:0;text-transform:uppercase}.status strong{display:block;font-size:20px;line-height:1.35}.status-good{border-color:#9bd7bb;background:var(--soft-good)}.status-warn{border-color:#f0ca7d;background:var(--soft-warn)}.status-bad{border-color:#ffb4ac;background:var(--soft-bad)}.compat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px;margin-bottom:18px}.check-card{padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.check-card.ok{border-color:#9bd7bb}.check-card.pending{border-color:#f0ca7d}.workspace{display:grid;grid-template-columns:360px minmax(0,1fr);grid-gap:18px;gap:18px;align-items:start}.panel{border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.controls-panel,.inspector-panel,.print-panel,.sensor-panel{padding:22px}.controls-panel{grid-row:span 2}.panel-heading{margin-bottom:22px}.empty span,.note-list p,.panel-heading p{color:var(--muted);line-height:1.45}.field{display:block;margin-bottom:16px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}.field input,.field select{height:44px;padding:0 12px}.field textarea{resize:vertical;padding:12px}.segmented{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px;padding:5px;margin-bottom:16px;border:1px solid var(--line);border-radius:8px;background:#eef3f5}.segmented button{border-color:transparent;background:transparent}.segmented button.active{border-color:#b8cbd2;background:#fff;box-shadow:0 6px 18px rgba(23,32,38,.08)}.actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin-bottom:18px}.actions .primary{grid-column:1/-1}.connection-summary{display:grid;grid-gap:4px;gap:4px;margin-bottom:18px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#f8fafb}.connection-summary span{color:var(--muted);font-size:13px;font-weight:700;text-transform:uppercase}.connection-summary small{color:var(--muted);line-height:1.4}.primary{border-color:var(--accent);background:var(--accent);color:#fff;font-weight:700}.primary:not(:disabled):hover{border-color:var(--accent-strong);background:var(--accent-strong)}.wide{width:100%}.stacked{margin-top:10px}.stacked-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:10px}.secondary{border-color:#b8cbd2;background:#eef3f5;color:var(--ink);font-weight:700}.status-actions,.status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px;margin-bottom:16px}.status-pill{min-height:40px;display:grid;place-items:center;padding:8px;border:1px solid var(--line);border-radius:8px;background:#f8fafb;color:var(--muted);font-size:13px;font-weight:700;text-align:center}.status-pill.active{border-color:#ffb4ac;background:var(--soft-bad);color:var(--bad)}.snapshot-list{display:grid;grid-gap:10px;gap:10px}.snapshot{display:grid;grid-gap:6px;gap:6px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#f8fafb}.raw-log span,.snapshot span{color:var(--muted);font-size:13px}.raw-log{grid-gap:8px;gap:8px}.movement-test,.raw-log{display:grid;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.movement-test{grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:end}.movement-test .field{margin-bottom:0}.note-list{display:grid;grid-gap:10px;gap:10px}.note-list p{margin:0;padding:10px 12px;border-left:3px solid var(--accent);background:#eef7f8}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.field.full{grid-column:1/-1}.device-summary{display:grid;grid-gap:4px;gap:4px;margin-bottom:18px;padding:16px;border:1px solid var(--line);border-radius:8px;background:#f8fafb}code{overflow-wrap:anywhere;color:#21424d;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px}.table{display:grid;overflow:hidden;border:1px solid var(--line);border-radius:8px}.table-head,.table-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(160px,.8fr);grid-gap:12px;gap:12px;padding:12px}.table-head{background:#eef3f5;color:var(--muted);font-size:13px;font-weight:700;text-transform:uppercase}.table-row+.table-row{border-top:1px solid var(--line)}.table-row span{color:var(--muted);overflow-wrap:anywhere}.empty{display:grid;grid-gap:8px;gap:8px;min-height:220px;place-content:center;padding:24px;border:1px dashed var(--line);border-radius:8px;text-align:center}.empty.compact{min-height:120px}@media (max-width:920px){.compat-grid,.hero,.workspace{grid-template-columns:1fr}.controls-panel{grid-row:auto}}@media (max-width:620px){.shell{width:min(100% - 20px,1180px);padding:22px 0}h1{font-size:42px}.actions,.form-grid,.movement-test,.stacked-actions,.status-actions,.status-grid,.table-head,.table-row{grid-template-columns:1fr}}