[hidden]{display:none!important}:root{--bg:#0b1116;--panel:#111a21;--panel-2:#16222b;--line:#24333e;--text:#e8eef2;--muted:#9fb0bb;--accent:#3fd8c0;--accent-ink:#062a25;--ok:#43d19a;--warn:#f2c14e;--fail:#ff6f61;--info:#7fb6ff;--cold:#3b8fd9;--hot:#e8743b;--radius:12px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-contrast:more){:root{--muted:#d4dde3;--line:#6f8696;--panel:#000;--panel-2:#0b0b0b}}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);margin:0;font:15px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}button,select,input{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{z-index:50;background:var(--accent);color:var(--accent-ink);border-radius:8px;padding:8px 12px;font-weight:700;position:absolute;top:-60px;left:8px}.skip:focus{top:8px}.bar{border-bottom:1px solid var(--line);background:linear-gradient(#0f1a21,#0b1318);flex-wrap:wrap;align-items:center;gap:16px;padding:10px 16px;display:flex}.brand{align-items:center;gap:10px;margin-right:auto;display:flex}.brand strong{letter-spacing:.02em;display:block}.brand small{color:var(--muted)}.logo{color:#04201b;background:radial-gradient(circle at 30% 30%,#5ff0d8,#138a78);border-radius:9px;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.modes{background:var(--panel-2);border:1px solid var(--line);border-radius:999px;padding:3px;display:flex}.modes button{color:var(--muted);background:0 0;border:0;border-radius:999px;padding:7px 16px;font-weight:600}.modes button[aria-selected=true]{background:var(--accent);color:var(--accent-ink)}.tools{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line);background:var(--panel-2);border-radius:999px;padding:6px 12px;font-size:13px}.chip[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.chip.select select{background:0 0;border:0;margin-left:4px}.banner{color:#f6e3a6;background:#2a2410;border-bottom:1px solid #4a3f17;margin:0;padding:6px 16px;font-size:13px}body{flex-direction:column;display:flex}.stage{flex:auto;grid-template-columns:1fr 380px;height:0;min-height:520px;display:grid}.view{position:relative;overflow:hidden}.view canvas{touch-action:none;width:100%;height:100%;display:block}.overlay{pointer-events:none;position:absolute;inset:0}.hotspot{pointer-events:auto;background:0 0;border:0;align-items:center;gap:6px;margin:-16px 0 0 -16px;padding:0;display:flex;position:absolute;top:0;left:0}.hotspot span{border:2px solid var(--accent);width:32px;height:32px;color:var(--accent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a141ab8;border-radius:50%;place-items:center;font-style:italic;font-weight:800;display:grid;box-shadow:0 0 0 6px #3fd8c029}.hotspot em{opacity:0;background:#0a141acc;border-radius:6px;padding:2px 8px;font-size:12px;font-style:normal;transition:opacity .2s}.hotspot:hover em,.hotspot:focus-visible em{opacity:1}.mlabel{color:#1d1600;white-space:nowrap;background:#ffd24a;border-radius:6px;padding:2px 7px;font-size:12px;font-weight:700;position:absolute;top:0;left:0;translate:-50% -50%}.summary{border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap;background:#0c141ad1;border-radius:999px;align-items:center;gap:14px;padding:8px 16px;font-size:14px;display:flex;position:absolute;bottom:14px;left:50%;translate:-50%}.summary .state{font-weight:700}.state.ok{color:var(--ok)}.state.warn{color:var(--warn)}.state.fail{color:var(--fail)}.walkbar{border:1px solid var(--line);background:#0c141ad9;border-radius:999px;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;max-width:calc(100% - 32px);padding:8px 14px;font-size:13px;display:flex;position:absolute;top:12px;left:50%;translate:-50%}.walkbar select{background:var(--panel-2);border:1px solid var(--line);border-radius:6px;margin-left:4px;padding:3px 6px}.walkbar .hint{color:var(--muted)}.pad{touch-action:none;background:#ffffff14;border:1px solid #fff3;border-radius:50%;place-items:center;width:120px;height:120px;display:grid;position:absolute;bottom:70px;left:24px}.pad span{background:var(--accent);opacity:.85;border-radius:50%;width:46px;height:46px}.inspect{border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0c141ae0;width:min(380px,100% - 40px);padding:14px 16px;position:absolute;bottom:70px;left:20px}.inspect .step{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:12px;font-weight:700}.inspect h2{margin:4px 0 6px;font-size:20px}.inspect p{color:var(--text);margin:0 0 10px}.row{gap:8px;display:flex}.row button,.details button,.file-row button,.filebtn{border:1px solid var(--line);background:var(--panel-2);border-radius:8px;padding:7px 14px}.primary{font-weight:700;background:var(--accent)!important;color:var(--accent-ink)!important;border-color:var(--accent)!important}button:disabled{opacity:.45;cursor:default}.nogl{background:var(--bg);padding:24px;position:absolute;inset:0;overflow:auto}.panel{background:var(--panel);border-left:1px solid var(--line);flex-direction:column;display:flex;overflow:auto}.panel-head{padding:14px 18px 4px}.eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:12px;font-weight:700}.panel h1{margin:2px 0 0;font-size:17px}.steps{grid-template-columns:1fr 1fr;gap:6px;padding:10px 18px;display:grid}.steps button{border:1px solid var(--line);background:var(--panel-2);text-align:left;color:var(--muted);border-radius:8px;padding:7px 8px;font-size:13px}.steps button[aria-selected=true]{border-color:var(--accent);color:var(--text);background:#12302b}.step-body{flex:1;padding:0 18px 12px}.intro{color:var(--muted);margin:4px 0 12px}.limits{background:#12302b;border:1px solid #1f5c52;border-radius:8px;margin-bottom:12px;padding:8px 10px;font-size:13px}.field{margin-bottom:12px}.field label{margin-bottom:4px;font-weight:600;display:block}.field .unit{color:var(--muted);font-weight:400}.field small{color:var(--muted);margin-top:3px;font-size:12px;display:block}.field select{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;width:100%;padding:7px 8px}.pair{grid-template-columns:1fr 88px;align-items:center;gap:10px;display:grid}.pair input[type=number]{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;width:100%;padding:6px 8px}input[type=range]{accent-color:var(--accent);width:100%}.field.check{align-items:flex-start;gap:8px;display:flex}.field.check label{margin:0;font-weight:400}.results{gap:8px;margin:14px 0 0;padding:0;list-style:none;display:grid}.res{background:var(--panel-2);border:1px solid var(--line);border-left:4px solid var(--info);border-radius:8px;grid-template-columns:auto 1fr;gap:10px;padding:8px 10px;display:grid}.res.ok{border-left-color:var(--ok)}.res.warn{border-left-color:var(--warn)}.res.fail{border-left-color:var(--fail)}.res p{margin:2px 0 0;font-size:13px}.res .words{color:var(--muted)}.badge{text-transform:uppercase;letter-spacing:.04em;background:#1d2c36;border-radius:5px;height:fit-content;padding:2px 6px;font-size:11px;font-weight:800}.res.ok .badge{color:var(--ok)}.res.warn .badge{color:var(--warn)}.res.fail .badge{color:var(--fail)}.res.info .badge{color:var(--info)}.res details{margin-top:6px;font-size:13px}.res details ul{color:var(--muted);margin:4px 0 0;padding-left:18px}.more{list-style:none}.link{color:var(--accent);background:0 0;border:0;padding:0;text-decoration:underline}.file-row{border-top:1px solid var(--line);flex-wrap:wrap;gap:8px;padding:12px 18px 18px;display:flex}.filebtn{cursor:pointer;font-size:14px;position:relative}.filebtn input{opacity:0;width:1px;height:1px;position:absolute}.filebtn:focus-within{outline:3px solid var(--accent)}.plan-wrap h3{margin:16px 0 6px;font-size:14px}.plan-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.chip.small{padding:4px 10px;font-size:12px}.plan{border:1px solid var(--line);background:#0d151b;border-radius:8px;width:100%;height:auto}.plan .room{fill:#1a252d;stroke:#9fb0bb;stroke-width:.06px}.plan .cold{fill:var(--cold);opacity:.28}.plan .hot{fill:var(--hot);opacity:.28}.plan .it{stroke:#0b1116;stroke-width:.02px}.plan .compute{fill:#3c4a55}.plan .network{fill:#3a5f8f}.plan .ups{fill:#e4e6e7}.plan .pdu{fill:#9aa3a9}.plan .blank{fill:#0b0d0f;stroke:#3c4a55}.plan .out{fill:var(--fail)}.plan .doorgap{fill:var(--accent)}.plan .lbl{fill:#ffd24a;font-size:.42px;font-weight:700}.tour{z-index:40;background:#05090cb3;padding:24px 16px;position:fixed;inset:0;overflow:auto}.tour-inner{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);max-width:820px;margin:0 auto;padding:18px 22px 28px}.tour header{justify-content:space-between;align-items:center;display:flex}.tour header button{border:1px solid var(--line);background:var(--panel-2);border-radius:8px;padding:6px 12px}.tour .lead{font-size:17px}.tour .note{color:#f6e3a6;background:#2a2410;border-radius:8px;padding:8px 10px}.tour h3{color:var(--accent);margin:22px 0 6px}.tour h4{margin:12px 0 2px}.tour dl{grid-template-columns:max-content 1fr;gap:4px 16px;display:grid}.tour dt{color:var(--muted)}.tour dd{margin:0}.tour-check ul{color:var(--muted);margin:4px 0}.details{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);max-width:420px;padding:18px 20px}.details::backdrop{background:#0000008c}.details h2{margin-top:0}.send-chip{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:700}.details.send{width:calc(100% - 32px);max-width:480px}.send-form{gap:10px;display:grid}.send-form .field{gap:4px;display:grid}.send-form label{font-size:13px;font-weight:600}.send-form input,.send-form textarea{border:1px solid var(--line);background:var(--panel-2);border-radius:8px;width:100%;padding:8px 10px}.send-form .pair2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.send-form .hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.send-form .small{color:var(--muted);margin:0;font-size:12px}.send-form .small a{color:var(--accent)}.send-form .row{gap:8px;display:flex}.send-form .primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:700}.send-status{min-height:1.2em;margin:0;font-weight:600}body[data-mode=walk] .summary{bottom:14px}@media (width<=900px){.stage{flex:none;grid-template-columns:1fr;height:auto}.view{height:62vh;min-height:380px}.panel{border-left:0;border-top:1px solid var(--line)}.bar{gap:10px}.tools{width:100%}.summary{gap:8px;max-width:calc(100% - 32px);padding:6px 12px;font-size:12px;overflow:hidden}.walkbar .hint{display:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
