:root{color-scheme:light;--page:#f5f6f8;--surface:#fff;--surface-subtle:#f8f9fa;--ink:#171c26;--graphite:#3f444c;--muted:#697180;--line:#dfe3e8;--line-strong:#c9cfd7;--blue:#2457d6;--blue-hover:#1948bf;--success:#158267;--danger:#b4232c;--shadow:0 1px 2px rgba(19,27,38,.05),0 5px 18px rgba(19,27,38,.035)}*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;background:var(--page);color:var(--ink);font-family:Inter,Arial,"Helvetica Neue",sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}.topbar{height:88px;padding:0 40px;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.product-brand{height:100%;display:flex;align-items:center}.alta-logo{display:block;width:47px;height:auto;object-fit:contain}.environment-badge{display:flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid var(--line);border-radius:4px;background:var(--surface-subtle);color:var(--muted);font-size:12px;font-weight:600}.environment-badge span{width:7px;height:7px;border-radius:50%;background:var(--success)}.app-shell{width:min(1120px,calc(100% - 56px));min-height:calc(100vh - 151px);margin:0 auto;padding:46px 0 64px}.page-heading{max-width:760px;margin-bottom:30px}.section-label{margin:0 0 11px;color:var(--muted);font-size:10px;font-weight:750;letter-spacing:.13em}.page-heading h1{margin:0 0 10px;font-size:32px;line-height:1.2;letter-spacing:-.026em;font-weight:680}.page-heading>p:last-child{max-width:690px;margin:0;color:var(--muted);font-size:15px;line-height:1.6}.discovery-panel{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:25px 26px;background:var(--surface);border:1px solid var(--line);border-radius:7px;box-shadow:var(--shadow)}.discovery-copy{display:flex;align-items:center;gap:18px}.discovery-copy h2,.state-panel h2{margin:0 0 6px;font-size:17px;line-height:1.35;font-weight:680}.discovery-copy p,.state-panel p{margin:0;color:var(--muted);line-height:1.55}.network-icon{width:58px;height:58px;display:grid;place-items:center;flex:0 0 58px}.network-icon svg{width:54px;height:54px;fill:none;stroke:var(--blue);stroke-linecap:round;stroke-linejoin:round}.network-icon .radar-field{fill:rgba(36,87,214,.22);stroke-width:2.3}.network-icon .radar-sector{fill:#eef0f3;stroke:none}.network-icon .radar-ring,.network-icon .radar-sweep{stroke-width:2.15}.network-icon .radar-target{fill:#eef0f3;stroke:var(--blue);stroke-width:2.5}.scan-action{display:flex;align-items:center;gap:14px}.scan-action>span{white-space:nowrap;color:var(--muted);font-size:12px}.primary-button,.secondary-button,.copy-button{font:inherit;border-radius:5px;font-weight:650;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.primary-button{display:flex;align-items:center;justify-content:center;gap:9px;padding:11px 16px;border:1px solid var(--blue);background:var(--blue);color:#fff}.primary-button:hover{background:var(--blue-hover);border-color:var(--blue-hover)}.primary-button:focus-visible,.secondary-button:focus-visible,.copy-button:focus-visible{outline:3px solid rgba(36,87,214,.2);outline-offset:2px}.primary-button:disabled{opacity:.62;cursor:wait}.radar{width:12px;height:12px;border:2px solid currentColor;border-radius:50%;position:relative}.scanning .radar:after{content:"";position:absolute;inset:-6px;border:1px solid currentColor;border-radius:50%;animation:pulse 1.1s infinite}@keyframes pulse{to{transform:scale(1.45);opacity:0}}.results-panel,.state-panel{margin-top:24px;background:var(--surface);border:1px solid var(--line);border-radius:7px;box-shadow:var(--shadow)}.panel-header{padding:21px 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.panel-header h2{display:inline;margin:0 9px 0 0;font-size:18px;font-weight:680}.panel-header>div>span{font-size:12px;color:var(--muted)}.secondary-button,.copy-button{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink)}.secondary-button{padding:9px 13px}.secondary-button:hover,.copy-button:hover{border-color:#8f99a8;background:var(--surface-subtle)}.table-head{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(180px,.7fr) 96px;gap:20px;padding:11px 24px;background:var(--surface-subtle);border-bottom:1px solid var(--line);color:var(--muted);font-size:10px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.camera-list{display:grid}.camera{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(180px,.7fr) 96px;gap:20px;align-items:center;padding:18px 24px;border-bottom:1px solid var(--line)}.camera:last-child{border-bottom:0}.camera-key{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:14px;font-weight:700;letter-spacing:.025em}.camera-host{display:inline-block;margin-top:6px;color:var(--blue);font-size:12px;text-decoration:none}.camera-host:hover{text-decoration:underline}.network-data{display:grid;gap:5px}.camera-ip{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:12px}.network-label{color:var(--muted);font-size:11px}.copy-button{justify-self:end;padding:8px 12px;font-size:12px}.copy-button.copied{border-color:#8dc9ba;background:#f1faf7;color:#08715d}.panel-footer{min-height:43px;padding:12px 24px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.state-panel{padding:28px}.state-panel.error{border-left:3px solid var(--danger)}.state-panel.error h2{color:var(--danger)}.footer{height:63px;padding:0 40px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:#858c98;font-size:11px;background:#f8f9fa}@media(max-width:760px){.topbar{height:76px;padding:0 18px}.alta-logo{width:42px}.app-shell{width:min(100% - 28px,1120px);min-height:calc(100vh - 125px);padding-top:30px}.page-heading h1{font-size:27px}.discovery-panel,.scan-action{align-items:flex-start;flex-direction:column}.scan-action{width:100%}.primary-button{width:100%}.table-head{display:none}.camera{grid-template-columns:1fr auto;gap:14px}.network-data{grid-column:1}.copy-button{grid-column:2;grid-row:1 / span 2}.panel-header{align-items:flex-start;gap:14px}.panel-header h2{display:block}.panel-header>div>span{display:block;margin-top:4px}.footer{height:auto;padding:18px;gap:8px;align-items:flex-start;flex-direction:column}}