:root{--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--radius:18px;--radius-lg:24px;--nav-h:74px;--safe-bottom:env(safe-area-inset-bottom);--safe-top:env(safe-area-inset-top);--mobile-top-height:calc(3.4rem + var(--safe-top));--bp-xs:360px;--bp-sm:390px;--bp-md:768px;--bp-lg:1024px;--mono-console:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--primary-ink:var(--primary);--muted-ink:var(--muted);--warn-ink:var(--warn);font-family:Inter,system-ui,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width>=1024px){:root{--mobile-top-height:0px}}html.light,html[data-theme=light]{--shadow:0 1px 2px #1b19160f, 0 16px 38px -22px #1b191636;--surface:#f6f4ee;--surface-2:#efece3;--text:#1b1916;--muted:#78736a;--border:#d5cfc2;--primary:#c1521e;--ok:#2f8a54;--warn:#a9701a;--danger:#bd3a2c;--login-bg:linear-gradient(#00000009 1px, transparent 1px) 0 0/34px 34px, linear-gradient(90deg, #00000009 1px, transparent 1px) 0 0/34px 34px, #e9e6de;--login-shell-bg:color-mix(in srgb, var(--surface) 92%, transparent);--login-hero-bg:linear-gradient(160deg, #f3efe6ee, #e9e6ddcc 54%), radial-gradient(circle at 28% 26%, #c1521e1c, transparent 34%);--login-card-bg:color-mix(in srgb, var(--surface) 97%, transparent);--login-field-bg:#fbf9f4;--login-field-text:var(--text);--login-accent-text:#a5461a;color:var(--text);background-color:#e9e6de;background-image:linear-gradient(#0000000a 1px,#0000 1px),linear-gradient(90deg,#0000000a 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:34px 34px,34px 34px,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box}html.dark,html[data-theme=dark]{--shadow:0 1px 2px #00000080, 0 20px 46px -24px #000000d9;--surface:#131316;--surface-2:#191a1e;--text:#d7d3ca;--muted:#6f6b62;--border:#2a2a2e;--primary:#d9642f;--ok:#4f9e6a;--warn:#d0902f;--danger:#d24a3c;--login-bg:linear-gradient(#ffffff09 1px, transparent 1px) 0 0/34px 34px, linear-gradient(90deg, #ffffff09 1px, transparent 1px) 0 0/34px 34px, #0b0b0d;--login-shell-bg:#0d0d10cc;--login-hero-bg:linear-gradient(160deg, #17171bdd, #0b0b0d88 54%), radial-gradient(circle at 28% 26%, #d9642f2e, transparent 30%);--login-card-bg:linear-gradient(180deg, #161619f5, #0e0e11f5);--login-field-bg:#0e0e11;--login-field-text:#e6e2d9;--login-accent-text:#e0855a;color:var(--text);background-color:#0b0b0d;background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:34px 34px,34px 34px,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box}html.hacker,html[data-theme=hacker]{--shadow:0 0 0 1px #0aff9a1f, 0 14px 40px #05ff8a26;--surface:#04120ae6;--surface-2:#020a06;--text:#74f5a6;--muted:#37b06c;--border:#0f5c34;--primary:#3dff8f;--ok:#3dff8f;--warn:#ffd24a;--danger:#ff6b6b;--login-bg:radial-gradient(circle at 50% -8%, #04ff8a18, transparent 40%), #020a06;--login-shell-bg:#010703;--login-hero-bg:radial-gradient(circle at 50% 0%, #04ff8a1c, transparent 46%), #020a06;--login-card-bg:#030f08;--login-field-bg:#010703;--login-field-text:#6eff9f;--login-accent-text:#3dff8f;--radius:2px;--radius-lg:3px;color:var(--text);text-shadow:0 0 2px #16ff8a3d;background:radial-gradient(circle at 50% -12%,#04ff8a1c,#0000 38%),linear-gradient(#020a06 0%,#010703 100%);font-family:ui-monospace,JetBrains Mono,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}*{box-sizing:border-box}html.hacker .card,html.hacker .metricCard,html.hacker .pageSection,html.hacker .actionSheet,html.hacker .detailsDrawer,html.hacker .btn,html.hacker .badge,html.hacker input,html.hacker select,html[data-theme=hacker] .card,html[data-theme=hacker] .metricCard,html[data-theme=hacker] .pageSection,html[data-theme=hacker] .actionSheet,html[data-theme=hacker] .detailsDrawer,html[data-theme=hacker] .btn,html[data-theme=hacker] .badge,html[data-theme=hacker] input,html[data-theme=hacker] select{border-radius:0}html,body,#root{max-width:100%;overflow-x:hidden}@supports (overflow:clip){body,#root{overflow:clip visible}}body{min-width:0;margin:0}button,input,select,textarea{font:inherit;min-width:0;max-width:100%}input,select,textarea{border:1px solid var(--border);background:var(--surface);width:100%;min-height:44px;color:var(--text);border-radius:14px;padding:.7rem .85rem}textarea{resize:vertical}button:disabled{cursor:not-allowed;opacity:.65}:focus-visible{outline:3px solid color-mix(in srgb, var(--primary) 70%, transparent);outline-offset:2px}.btn{background:var(--primary);color:#fff;cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;gap:.45rem;min-height:44px;padding:.72rem 1rem;font-weight:800;text-decoration:none;display:inline-flex}.btn.secondary{color:#fff;background:#1f2937}.btn.compact{width:auto;min-height:38px;padding:.4rem .7rem}.iconButton,.miniButton{border:1px solid var(--border);background:var(--surface);min-width:44px;min-height:44px;color:var(--text);border-radius:14px;font-weight:900}.miniButton{min-width:auto;min-height:34px;padding:.25rem .55rem}.card,.metricCard,.pageSection{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow-wrap:anywhere;min-width:0;padding:14px}.grid{gap:1rem;display:grid}.shell{min-height:100dvh}.side,.appTop{display:none}.main{width:100%;min-width:0;max-width:100%;padding:calc(.75rem + var(--safe-top)) .75rem calc(var(--nav-h) + var(--safe-bottom) + 1.25rem);margin:0 auto}.mobileTop{z-index:20;padding:calc(.65rem + var(--safe-top)) .75rem .65rem;background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--border);grid-template-columns:auto 1fr auto auto;align-items:center;gap:.5rem;margin:-.75rem -.75rem .85rem;display:grid;position:sticky;top:0}.mobileTop span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mobileBrandHome{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.35rem;text-decoration:none;display:inline-flex;overflow:hidden}.brandHome{color:inherit;align-items:center;gap:.5rem;font-size:1.15rem;font-weight:700;text-decoration:none;display:inline-flex}.brandHome:hover,.mobileBrandHome:hover{opacity:.85}.brandHome:focus-visible,.mobileBrandHome:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:8px}.mobileBottomNav{z-index:40;padding:.45rem .5rem calc(.45rem + var(--safe-bottom));min-height:calc(var(--nav-h) + var(--safe-bottom));background:color-mix(in srgb, var(--surface) 90%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-top:1px solid var(--border);grid-template-columns:repeat(5,1fr);gap:.25rem;display:grid;position:fixed;bottom:0;left:0;right:0}.mobileBottomNav a,.mobileBottomNav button{text-align:center;min-height:44px;color:var(--text);background:0 0;border:0;border-radius:14px;justify-content:center;align-items:center;font-size:.78rem;font-weight:800;line-height:1.15;text-decoration:none;display:flex}.mobileBottomNav a.active,.mobileBottomNav button:hover{color:var(--primary-ink);background:#2563eb18}.pageHeader{gap:.75rem;margin:0 0 1rem;display:grid}.pageTitleRow{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.pageHeader h1{letter-spacing:-.05em;margin:0;font-size:clamp(1.7rem,8vw,3rem)}.pageHeader p,.sectionHeader p,.muted{color:var(--muted);margin:.3rem 0 0;line-height:1.55}.responsiveGrid{grid-template-columns:1fr;gap:.75rem;margin:1rem 0;display:grid}.responsiveGrid.dense{grid-template-columns:1fr}.metricCard{gap:.45rem;display:grid}.metricTop{color:var(--muted);justify-content:space-between;gap:.5rem;font-weight:800;display:flex}.metricCard strong{font-size:clamp(1.5rem,7vw,2.2rem);line-height:1}.metricCard small{color:var(--muted)}.pageGrid,.mobileCards{grid-template-columns:1fr}.sectionHeader,.cardTop{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.sectionHeader h2,.card h3{margin:0}.sectionActions{align-items:center;gap:.5rem;display:flex}.sectionBody{grid-template-columns:minmax(0,1fr);gap:.75rem;margin-top:1rem;display:grid}.buttonRow{grid-template-columns:1fr;align-items:center;gap:.55rem;min-width:0;display:grid}.buttonRow .btn,.buttonRow button{width:100%}.chipRow{flex-wrap:wrap;gap:.4rem;margin:.6rem 0;display:flex}.badge,.statusBadge{overflow-wrap:anywhere;color:#1d4ed8;background:#dbeafe;border-radius:999px;align-items:center;gap:.25rem;max-width:100%;padding:.22rem .55rem;font-size:.74rem;font-weight:900;display:inline-flex}.statusBadge.online,.statusBadge.real,.statusBadge.mqtt,.statusBadge.espnow,.statusBadge.usb{color:#166534;background:#dcfce7}.statusBadge.offline{color:#991b1b;background:#fee2e2}.statusBadge.degraded,.statusBadge.warn{color:#92400e;background:#fef3c7}.statusBadge.simulated,.statusBadge.sim{color:#075985;background:#e0f2fe}.filterPanel{grid-template-columns:1fr;gap:.75rem;margin:1rem 0;display:grid}.touchField,.ledPanel label{color:var(--muted);gap:.4rem;font-weight:800;display:grid}.ledPanel{grid-template-columns:1fr;gap:.7rem;margin:1rem 0;display:grid}.colorInput{min-height:54px;padding:.2rem}.actionFeedback,.safeHint{color:var(--text);background:#f1f5f9;border-radius:14px;padding:.75rem;line-height:1.5}.dark .actionFeedback,.dark .safeHint{background:#0f172a}.listCard,.clientCard{border:1px solid var(--border);background:var(--surface-2);overflow-wrap:anywhere;border-radius:16px;gap:.6rem;padding:.75rem;display:grid}.kvCompact p{margin:.35rem 0}.kvList{gap:.65rem;margin:0;display:grid}.kvList div{border-bottom:1px solid var(--border);gap:.2rem;padding:.65rem;display:grid}.kvList dt{color:var(--muted);font-weight:900}.kvList dd{overflow-wrap:anywhere;margin:0}.copyable{flex-wrap:wrap;align-items:center;gap:.4rem;max-width:100%;display:inline-flex}.copyable code,.kvList code{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.sheetOverlay,.drawerOverlay{z-index:60;padding:1rem .5rem calc(.5rem + var(--safe-bottom));background:#02061780;align-items:flex-end;display:flex;position:fixed;inset:0}.actionSheet,.detailsDrawer{background:var(--surface);width:100%;max-height:min(82dvh,720px);color:var(--text);border:1px solid var(--border);border-radius:24px 24px 18px 18px;padding:1rem;overflow:auto;box-shadow:0 28px 80px #0008}.sheetHeader{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.sheetHeader h3{margin:0}.sheetActions,.sheetGroup{gap:.65rem;display:grid}.segmented{border:0;flex-wrap:wrap;gap:.35rem;margin:0;padding:0;display:flex}.segmented legend{width:100%;color:var(--muted);font-weight:900}.segmented button{border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--text);border-radius:999px;padding:.5rem .9rem}.segmented button.active{background:color-mix(in srgb, var(--primary) 18%, transparent);color:var(--primary-ink);border-color:var(--primary);font-weight:700}.stateCard{border:1px dashed var(--border);color:var(--muted);background:var(--surface);border-radius:16px;align-items:center;gap:.6rem;padding:1rem;display:flex}.errorState{color:#991b1b;border-color:#fecaca}.spinner{border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:1rem;height:1rem;animation:.8s linear infinite spin}.signalBar{background:#e2e8f0;border-radius:999px;height:10px;overflow:hidden}.signalBar span{background:linear-gradient(90deg,#ef4444,#f59e0b,#22c55e);height:100%;display:block}.logToolbar{z-index:10;background:var(--surface);grid-template-columns:1fr;gap:.55rem;padding-bottom:.75rem;display:grid;position:sticky;top:55px}.log{height:calc(100dvh - 260px - var(--nav-h));color:#d1fae5;white-space:nowrap;background:#05070a;border-radius:16px;max-width:100%;min-height:320px;padding:.75rem;font-family:ui-monospace,monospace;overflow:auto}.consolePage .pageHeader{margin-bottom:.75rem}.consolePage .logCard{flex-direction:column;min-height:0;display:flex;overflow:hidden}.consolePage .logToolbar{position:static;top:auto}.consolePage .log{flex:auto;height:auto;min-height:0}.dashboardProgressive{margin:1rem 0}.dashboardProgressive>summary{cursor:pointer;margin-bottom:.5rem;font-weight:900;list-style:none}.dashboardProgressive>summary::-webkit-details-marker{display:none}@media (width<=767px){.dashboardHero{padding:.9rem}.dashboardProgressive:not([open]){border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface-glass);padding:.85rem}}.logRow{border-bottom:1px solid #1f2937;padding:.55rem 0}.logRow summary{cursor:pointer;grid-template-columns:auto auto 1fr;align-items:start;gap:.45rem;display:grid}.logRow strong{grid-column:1/-1;font-weight:500}.desktopOnly{display:none}.settingsList,.wizard{gap:1rem;display:grid}.mobileMenuSelect{gap:.35rem;display:grid}.loginPage{background:var(--login-bg);min-height:100dvh;color:var(--text);place-items:stretch stretch;padding:.65rem;display:grid;overflow:hidden}.loginShell{z-index:1;border:1px solid var(--border);background:var(--login-shell-bg);width:100%;color:var(--text);box-shadow:var(--shadow), inset 0 0 0 1px color-mix(in srgb, var(--primary) 16%, transparent);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border-radius:24px;grid-template-columns:1fr;gap:.65rem;padding:.55rem;display:grid;position:relative}.loginHero,.loginCard{border-radius:20px}.loginHero{background:var(--login-hero-bg);border:1px solid var(--border);min-height:auto;color:var(--text);flex-direction:column;justify-content:flex-end;padding:1.25rem;display:flex;overflow:hidden}.loginHero h1{letter-spacing:-.08em;margin:.35rem 0;font-size:clamp(2.2rem,13vw,4.75rem);line-height:.95}.loginEyebrow,.loginKicker{color:var(--login-accent-text);text-transform:uppercase;letter-spacing:.16em;margin:0;font-size:.76rem;font-weight:800}.loginIntro{max-width:58ch;color:var(--muted);margin:1rem 0 0;font-size:.95rem;line-height:1.65}.loginSignals{flex-wrap:wrap;gap:.45rem;margin-top:1rem;display:flex}.loginCard{background:var(--login-card-bg);border:1px solid var(--border);color:var(--text);flex-direction:column;justify-content:center;gap:1rem;padding:1.1rem;display:flex}.loginCardHeader{align-items:center;gap:.9rem;display:flex}.loginIcon{background:linear-gradient(135deg, var(--primary), var(--ok));color:#fff;border-radius:18px;place-items:center;width:52px;height:52px;font-size:1.6rem;font-weight:900;display:grid}.loginCard h2{margin:.1rem 0 0;font-size:clamp(1.55rem,7vw,2.35rem)}.field{color:var(--text);gap:.5rem;font-weight:700;display:grid}.field input,.field textarea{border-color:var(--border);background:var(--login-field-bg);min-height:52px;color:var(--login-field-text);border-radius:16px}.passwordField{gap:.5rem;display:grid}.passwordToggle{border:1px solid var(--border);background:var(--surface-2);min-height:46px;color:var(--text);border-radius:12px}.loginButton{background:linear-gradient(135deg, var(--primary), var(--ok));color:#fff;border:0;border-radius:16px;width:100%;min-height:56px;font-weight:900}.loginStatus{border:1px solid var(--border);background:var(--surface-2);min-height:48px;color:var(--text);overflow-wrap:anywhere;border-radius:16px;margin:.1rem 0 0;padding:.85rem 1rem;line-height:1.45}.loginStatusSuccess{border-color:color-mix(in srgb, var(--ok) 45%, var(--border));background:color-mix(in srgb, var(--ok) 16%, var(--surface-2));color:var(--text)}.loginStatusError{border-color:color-mix(in srgb, var(--danger) 45%, var(--border));background:color-mix(in srgb, var(--danger) 16%, var(--surface-2));color:var(--text)}.loginFooter{color:#94a3b8;flex-wrap:wrap;justify-content:flex-start;gap:.4rem;display:flex}.loginFooter a{color:#93c5fd;align-items:center;min-height:44px;font-weight:800;text-decoration:none;display:inline-flex}@keyframes spin{to{transform:rotate(360deg)}}@media (width>=390px){.responsiveGrid.dense,.buttonRow{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1024px){.main{padding:1.25rem}.mobileTop,.mobileBottomNav{display:none}.shell{grid-template-columns:minmax(188px,240px) minmax(0,1fr);display:grid}.side{border-right:1px solid var(--border);background:color-mix(in srgb, var(--surface) 78%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:5;height:100vh;padding:1rem;display:block;position:sticky;top:0}.appTop{margin-bottom:1rem;display:flex}.brandRow{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.brandRow h2{margin:.5rem 0 1rem}.nav{gap:.25rem;display:grid}.nav a{color:inherit;white-space:nowrap;border-radius:12px;padding:.75rem;text-decoration:none;display:block}.nav a:hover,.nav a.active{background:#22c55e14}.top{justify-content:flex-end;align-items:center;gap:1rem;min-width:0;display:flex}.safeNotice{max-width:58ch;line-height:1.35}.topControls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;min-width:0;display:flex}.main{max-width:1400px}.card,.metricCard,.pageSection{padding:1.1rem}.responsiveGrid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.responsiveGrid.dense{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.pageGrid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}.mobileCards{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}.filterPanel,.ledPanel{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end}.buttonRow{flex-wrap:wrap;display:flex}.buttonRow .btn,.buttonRow button{width:auto}.sheetOverlay{background:0 0;padding:0;display:block;position:static}.actionSheet{border-radius:18px;max-height:none}.drawerOverlay{justify-content:flex-end;align-items:stretch;padding:0}.detailsDrawer{border-radius:24px 0 0 24px;max-width:460px;min-height:100dvh}.logToolbar{grid-template-columns:repeat(auto-fit,minmax(150px,auto));align-items:center;top:0}.log{height:min(56vh,560px)}.desktopOnly{display:inline-flex}.loginPage{place-items:center;padding:clamp(.75rem,3vw,2.5rem)}.loginShell{border-radius:32px;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);gap:1rem;width:min(1120px,100%);padding:1rem}.loginHero{border-radius:26px;min-height:560px;padding:clamp(1.5rem,4vw,3rem)}.loginHero h1{font-size:clamp(3rem,8vw,6.5rem);line-height:.9}.loginCard{border-radius:26px;padding:clamp(1.25rem,4vw,2.25rem)}.passwordField{align-items:center;display:flex;position:relative}.passwordField input{padding-right:6rem}.passwordToggle{width:auto;padding:.55rem .75rem;position:absolute;right:.45rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.guidedFlasher{grid-template-columns:minmax(0,1fr);gap:1rem;max-width:1040px;margin:0 auto 2rem;padding:0 1rem;display:grid}.guidedWizardToolbar{justify-content:flex-end;display:flex}.guidedStepper{grid-template-columns:repeat(5,1fr);gap:.5rem;display:grid}.guidedStepper button,.guidedStepSummary{border:1px solid var(--border,#d7dde8);background:var(--surface);min-height:44px;color:var(--text);text-align:left;border-radius:14px;padding:.8rem}.guidedStepper button.current,.guidedStepSummary.current,.roleChoiceCard.selected{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--primary) 24%, transparent)}.guidedStepper button.complete,.guidedStepSummary.complete{background:color-mix(in srgb, var(--ok) 14%, var(--surface));color:var(--text)}.guidedStepper button.locked,.guidedStepSummary.locked{opacity:.72}.guidedStepCard{background:var(--surface);color:var(--text);border:1px solid var(--border,#d7dde8);box-shadow:var(--shadow);overflow-wrap:anywhere;border-radius:20px;min-width:0;padding:clamp(1rem,3vw,1.5rem)}.guidedStepCard h2{margin-top:0;font-size:clamp(1.25rem,4vw,1.8rem)}.guidedStepCard p,.guidedStepCard li,.guidedStepCard label,.guidedStepCard summary,.guidedStepCard span{color:inherit}.guidedStepSummary{justify-content:space-between;align-items:center;width:100%;display:flex}.guidedStepSummary span{color:var(--muted)}.guidedPrimaryAction{width:100%;min-height:48px;margin:1rem 0}.roleChoiceGrid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.roleChoiceCard{border:1px solid var(--border,#d7dde8);background:var(--surface);min-height:110px;color:var(--text);text-align:left;border-radius:18px;gap:.5rem;padding:1rem;display:grid}.gatewayConfigGrid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.gatewayConfigGrid label{gap:.35rem;display:grid}.gatewayConfigGrid input,.gatewayConfigGrid select{border:1px solid var(--border);background:var(--surface-2);min-height:44px;color:var(--text);border-radius:10px;padding:.65rem}.passwordField{grid-template-columns:1fr auto;gap:.5rem;display:grid}.passwordField button{min-width:82px}.flashProgressBar{background:color-mix(in srgb, var(--muted) 24%, var(--surface-2));border-radius:999px;height:18px;overflow:hidden}.flashProgressBar span{background:linear-gradient(90deg, var(--primary), var(--ok));height:100%;transition:width .2s;display:block}.flashEta{font-weight:600}.verifyChecklist{gap:.5rem;padding-left:1.2rem;display:grid}.guidedLogPanel pre{overscroll-behavior:contain;white-space:pre-wrap;overflow-wrap:anywhere;color:#e5e7eb;background:#0f172a;border-radius:12px;max-height:min(280px,45vh);padding:1rem;overflow:auto}.badge.danger{color:#991b1b;background:#fee2e2;border-color:#fecaca}.chipRow .badge.trackerAlert{text-align:left;white-space:normal;flex-basis:100%;justify-content:flex-start;padding:.4rem .6rem;line-height:1.35}.badge.bluetooth{color:#1e40af;background:#dbeafe;border-color:#bfdbfe}.gatewayApLoop{margin:.35rem 0 .6rem}.gatewayApLoopList{gap:.2rem;margin:.3rem 0 0;padding-left:0;list-style:none;display:grid}.gatewayApLoopList li{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.gatewayApLoopIndex{color:var(--muted);font-weight:700}.badge.gatewayApLoopConnected{background:color-mix(in srgb, var(--ok) 16%, var(--surface));color:var(--ok);border-color:color-mix(in srgb, var(--ok) 45%, var(--border));margin-left:.4rem}@media (width<=760px){.guidedStepper{grid-template-columns:1fr}.guidedStepper button:not(.current):not(.complete){display:none}.roleChoiceGrid,.gatewayConfigGrid{grid-template-columns:1fr}.guidedStepCard{border-radius:16px}.guidedPrimaryAction{bottom:calc(.75rem + var(--nav-h) + var(--safe-bottom));z-index:41;position:sticky}.guidedStepSummary{font-size:1rem}.guidedLogPanel pre{overscroll-behavior:contain;white-space:pre-wrap;overflow-wrap:anywhere;max-height:220px;overflow:auto}}.verifyStatusBadge{width:fit-content;font-weight:900}.verifyChecklist{grid-template-columns:repeat(2,minmax(0,1fr));padding-left:0;list-style:none}.verifyChecklist li{border:1px solid var(--border);background:var(--surface-2);border-radius:14px;gap:.25rem;padding:.75rem;display:grid}.verifyChecklist li.ok{border-color:color-mix(in srgb, var(--ok) 50%, var(--border));background:color-mix(in srgb, var(--ok) 12%, var(--surface))}.verifyChecklist li.pending{border-color:color-mix(in srgb, var(--muted) 36%, var(--border))}.verifyChecklist li span{color:var(--muted);overflow-wrap:anywhere;font-size:.95rem}.badge.warning{color:#92400e;background:#fef3c7;border-color:#fde68a}.verifyLogPanel pre{max-height:320px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}@media (width<=760px){.verifyChecklist{grid-template-columns:1fr}.verifyLogPanel pre{max-height:280px}}:root,.dark{--surface:#0f172ad9;--surface-2:#08111fd9;--text:#e5eefc;--muted:#a8b3c7;--border:#ffffff20;--primary:#38bdf8;--shadow:0 22px 70px #0007, inset 0 1px 0 #ffffff12;background:radial-gradient(circle at 12% 6%,#1d4ed84d 0,#0000 30%),radial-gradient(circle at 86% 12%,#22c55e33 0,#0000 28%),linear-gradient(135deg,#020617 0%,#08111f 52%,#111827 100%)}.light{--surface:#fffffff0;--surface-2:#eef6fff0;--text:#172033;--muted:#52657f;--border:#c9d7ea;background:radial-gradient(circle at 8% 5%,#bfdbfe 0,#0000 30%),radial-gradient(circle at 88% 10%,#bbf7d0 0,#0000 25%),#f6f8fb}.hacker{--surface:#031107ee;--surface-2:#020403;--text:#bbf7d0;--muted:#86efac;--border:#166534;--primary:#22c55e;--radius:0px;--radius-lg:0px;background:#020403;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.shell{background:0 0}.card,.metricCard,.pageSection,.guidedStepCard,.actionSheet,.detailsDrawer{background:linear-gradient(180deg, color-mix(in srgb, var(--surface) 94%, white 4%), color-mix(in srgb, var(--surface-2) 92%, transparent));border-color:var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);position:relative}.card:before,.metricCard:before,.pageSection:before,.guidedStepCard:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#93c5fd66,#22c55e55,#0000);height:1px;position:absolute;inset:0 0 auto}.btn,.loginButton,.guidedPrimaryAction{background:linear-gradient(135deg,#2563eb,#16a34a);box-shadow:0 12px 28px #0284c733}.btn.secondary,.passwordToggle{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 72%, #020617 28%);color:var(--text);box-shadow:none}input,select,textarea{background:color-mix(in srgb, var(--surface-2) 78%, #020617 22%);border-color:var(--border);color:var(--text)}.pageHeader{padding:clamp(.2rem,2vw,.8rem) 0 .2rem}.pageHeader:after{content:"";background:linear-gradient(90deg,#2563eb,#22c55e,#0000);border-radius:999px;width:min(220px,62vw);height:3px}.mobileBottomNav,.mobileTop,.side{background:color-mix(in srgb, var(--surface) 78%, transparent);box-shadow:0 -16px 50px #0005}.mobileBottomNav a.active,.mobileBottomNav button:hover,.nav a:hover,.nav a.active{color:#93c5fd;background:linear-gradient(135deg,#2563eb29,#22c55e22);box-shadow:inset 0 0 0 1px #60a5fa33}.statusBadge,.badge{border:1px solid color-mix(in srgb, currentColor 20%, transparent);box-shadow:inset 0 1px #ffffff24}.dashboardHero{gap:.85rem;margin-bottom:1rem;padding:clamp(1rem,4vw,1.5rem);display:grid;overflow:hidden}.dashboardHero h2{letter-spacing:-.06em;margin:0;font-size:clamp(1.7rem,8vw,3.4rem)}.heroChips{flex-wrap:wrap;gap:.45rem;display:flex}body{background:inherit;color:var(--text)}html.light .btn.secondary,html[data-theme=light] .btn.secondary{color:#102033;border:1px solid var(--border);background:#fffc}html.light .mobileBottomNav a.active,html.light .mobileBottomNav button:hover{background:#14b8a626;box-shadow:0 0 24px #22c55e22}html.hacker .btn{color:#020403;background:linear-gradient(135deg,#14532d,#22c55e)}@media (width<=639px){.mobileCards,.pageGrid,.responsiveGrid,.responsiveGrid.dense{grid-template-columns:1fr!important}}.ledControl{--led-color:#0f8;--led-alpha:.25;border:1px solid var(--border);background:radial-gradient(circle at 12% 0%, color-mix(in srgb, var(--led-color) 16%, transparent), transparent 42%), color-mix(in srgb, var(--surface) 92%, transparent);box-shadow:var(--shadow);border-radius:24px;gap:.85rem;margin:1rem 0;padding:1rem;display:grid}.ledRemoteHeader{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.ledCompactRow{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.7rem;display:grid}.ledSwitch,.ledSwitchControl{background:color-mix(in srgb, var(--surface-2) 86%, transparent);width:100%;min-height:56px;color:var(--text);text-align:left;box-shadow:inset 0 0 0 1px var(--border);border:0;border-radius:22px;grid-template-columns:minmax(0,1fr) 82px;align-items:center;gap:.8rem;padding:.55rem;display:grid}.ledSwitch:disabled,.ledSwitchControl:disabled{opacity:.58;cursor:not-allowed}.ledSwitchLabel,.ledSwitchText{gap:.12rem;min-width:0;display:grid}.ledSwitchLabel strong,.ledSwitchText strong{font-size:1.05rem}.ledSwitchLabel small,.ledSwitchText small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ledSwitchTrack{background:#64748b66;border-radius:999px;width:78px;height:42px;transition:background .2s,box-shadow .2s;position:relative;box-shadow:inset 0 2px 8px #0005}.ledSwitch.on .ledSwitchTrack,.ledSwitchControl.on .ledSwitchTrack{background:var(--led-color);box-shadow:0 0 28px color-mix(in srgb, var(--led-color) 58%, transparent), inset 0 2px 8px #0004}.ledSwitchThumb{background:#fff;border-radius:999px;width:34px;height:34px;transition:transform .22s cubic-bezier(.2,.8,.2,1);position:absolute;top:4px;left:4px;box-shadow:0 8px 20px #0005}.ledSwitch.on .ledSwitchThumb,.ledSwitchControl.on .ledSwitchThumb{transform:translate(36px)}.ledPreview{border:2px solid color-mix(in srgb, var(--led-color) 45%, #fff);background:var(--led-color);width:52px;height:52px;opacity:calc(.48 + var(--led-alpha) * .52);box-shadow:0 0 calc(16px + 38px * var(--led-alpha)) color-mix(in srgb, var(--led-color) 58%, transparent);border-radius:18px}.ledOff .ledPreview{opacity:.5;filter:saturate(.72)}.ledCompactMeta{color:var(--muted);gap:.15rem;min-width:0;display:grid}.ledCompactMeta strong{color:var(--text);overflow-wrap:anywhere}.ledSheetButton{justify-content:center;width:100%;min-height:48px}.ledSheetBody{gap:.9rem;display:grid}.paletteWrap{scrollbar-width:thin;gap:.75rem;padding:.4rem .25rem .75rem;display:flex;overflow-x:auto}.colorSwatch{border:1px solid color-mix(in srgb, var(--text) 30%, transparent);border-radius:999px;flex:none;width:52px;min-width:52px;height:52px;min-height:52px;position:relative;box-shadow:inset 0 0 0 1px #ffffff47,0 8px 20px #0003}.colorSwatch:disabled{opacity:.45;cursor:not-allowed}.colorSwatch.selected{outline:3px solid color-mix(in srgb, var(--primary) 70%, #fff);outline-offset:3px;transform:translateY(-1px)}.customSwatch{background:color-mix(in srgb, var(--surface) 76%, var(--primary));color:var(--text);font-weight:900}.brightnessControl{color:var(--muted);gap:.5rem;font-weight:850;display:grid}.brightnessControl input[type=range]{min-height:48px;accent-color:var(--primary);background:0 0;padding-inline:0}.actionFeedback.compact{background:color-mix(in srgb, var(--surface-2) 72%, transparent);border-radius:14px;margin:0;padding:.65rem .75rem}.actionFeedback.saving{border:1px solid #38bdf866}.miniConsole{border:1px solid var(--border);background:#020617;border-radius:18px;margin-top:1rem;overflow:hidden}.miniConsoleToggle{background:color-mix(in srgb, var(--surface-2) 30%, #020617);color:#e5f6ff;border:0;justify-content:space-between;align-items:center;width:100%;min-height:48px;padding:.75rem .9rem;font-weight:900;display:flex}.miniConsoleBody{color:#c7f9cc;white-space:nowrap;max-height:220px;padding:.7rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(.62rem,2.7vw,.72rem);line-height:1.35;overflow:auto}.miniConsoleLine{white-space:nowrap;overflow-wrap:normal;word-break:normal;grid-template-columns:max-content max-content max-content max-content max-content;align-items:baseline;gap:.35rem;width:max-content;min-width:max-content;padding:.16rem 0;display:inline-grid}.miniConsoleMore{color:#93c5fd;border-top:1px solid #ffffff1a;padding:.65rem .8rem;display:block}.networkScanPanel{gap:.8rem;margin-bottom:1rem;display:grid}@media (width>=1024px){.paletteWrap{flex-wrap:wrap;overflow-x:visible}}.espOnlineSummary{contain:layout paint;justify-content:space-between;align-items:center;gap:.75rem;min-height:0;margin:.6rem 0 .75rem;padding:.7rem .85rem;display:flex}.summaryMain{justify-content:space-between;align-items:center;gap:1rem;display:flex}.summaryMain span,.summaryChildren span{color:var(--muted);font-weight:900}.summaryMain strong{font-variant-numeric:tabular-nums;font-size:clamp(2rem,9vw,3rem);line-height:1}.summaryChildren{flex-wrap:nowrap;gap:.5rem;display:flex}.summaryChildren>div{border:1px solid var(--border);background:var(--surface-2);border-radius:14px;gap:.15rem;min-width:5.5rem;min-height:0;padding:.45rem .6rem;display:grid}.summaryChildren strong{font-variant-numeric:tabular-nums;font-size:1.2rem}.filterPanelCollapsible{margin:1rem 0}.filterPanelCollapsible summary{cursor:pointer;justify-content:space-between;align-items:center;gap:.75rem;font-weight:900;list-style:none;display:flex}.filterPanelCollapsible summary::-webkit-details-marker{display:none}.filterPanelCollapsible[open] summary{margin-bottom:.75rem}.deviceCard{contain:layout paint;min-height:320px}.ledSheetBody.inline{border:1px solid var(--border);background:var(--surface-2);border-radius:16px;gap:.8rem;padding:.8rem;display:grid;position:static}.ledSheetBody.disabled{opacity:.68}.ledCollapseButton{justify-self:stretch}.networkHelpDetails summary,.networkGroup summary{cursor:pointer;font-weight:700}.scanSessionControls .scanGrid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.deviceChecklist{gap:8px;display:grid}.deviceChecklist label{align-items:center;gap:8px;min-height:44px;display:flex}.networkGroup{margin-top:18px}.networkGroup>summary{list-style:none}.networkObservationList{gap:8px;display:grid}.networkObservationList>div{border:1px solid var(--border);border-radius:12px;gap:3px;padding:10px;display:grid}.networkObservationList>div.best{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent)}.lostNetworkCard{opacity:.82}.kvInline{justify-content:space-between;align-items:center;gap:8px;margin-top:10px;display:flex}.activeScan{border:1px solid var(--border);border-radius:14px;flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;padding:10px;display:flex}.btn.danger{color:#fff;background:#dc2626}@media (width<=700px){.scanSessionControls .scanGrid,.mobileCards{grid-template-columns:1fr}.networkScanPanel{padding-bottom:calc(16px + env(safe-area-inset-bottom))}.networkCard{width:100%}}:root{--surface-glass:color-mix(in srgb, var(--surface) 78%, transparent);--surface-hover:color-mix(in srgb, var(--primary) 10%, var(--surface));--radius-card:18px;--radius-control:14px;--terminal-border:color-mix(in srgb, var(--border) 88%, var(--primary));--led-glow:0 0 28px color-mix(in srgb, var(--led-color,#0f8) 45%, transparent);--signal-strong:#16a34a;--signal-medium:#d97706;--signal-weak:#f59e0b;--signal-dead:#dc2626}html.light,html[data-theme=light]{--surface-glass:#ffffffe6;--surface-hover:#e7f7ef;--radius-card:20px;--radius-control:14px;--signal-strong:#15803d;--signal-medium:#0f766e;--signal-weak:#b45309;--signal-dead:#b91c1c;background:radial-gradient(circle at 12% 3%,#bbf7d066,#0000 28%),radial-gradient(circle at 88% 7%,#bfdbfe80,#0000 26%),linear-gradient(#fbfdfc 0%,#eef6f2 100%)}html.dark,html[data-theme=dark]{--surface-glass:#0f172ac2;--surface-hover:#17255499;--radius-card:20px;--radius-control:14px;--signal-strong:#22c55e;--signal-medium:#38bdf8;--signal-weak:#f59e0b;--signal-dead:#f87171;background:radial-gradient(circle at 18% 0,#2563eb40,#0000 30%),radial-gradient(circle at 82% 16%,#10b98122,#0000 28%),linear-gradient(135deg,#020617 0%,#08111f 54%,#111827 100%)}html.hacker,html[data-theme=hacker]{--radius:2px;--radius-lg:4px;--radius-card:2px;--radius-control:2px;--shadow:0 0 24px #0f83;--surface:#020403f2;--surface-2:#000;--surface-glass:#000d;--surface-hover:#022c12;--text:#9cffb7;--muted:#55d982;--border:#008f4c;--terminal-border:#0f8;--primary:#0f8;--ok:#0f8;--warn:#d6ff5c;--danger:#ff5c7a;--led-glow:0 0 24px #00ff8870;background:#020403;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.hacker body:before,html[data-theme=hacker] body:before{content:"";pointer-events:none;z-index:9999;opacity:.15;background:repeating-linear-gradient(#0000 0 2px,#00160c66 3px 3px),radial-gradient(#0000 60%,#00050333 100%);position:fixed;inset:0}@media (prefers-reduced-motion:no-preference){.hacker body:before,html[data-theme=hacker] body:before{animation:6s steps(40,end) infinite crtFlicker}}@keyframes crtFlicker{0%,96%,to{opacity:.15}97%{opacity:.12}98%{opacity:.17}}.card,.metricCard,.pageSection,.clientCard,.networkCard,.deviceCard{border-radius:var(--radius-card)}.btn,.iconButton,input,select,textarea,.mobileBottomNav a,.mobileBottomNav button{border-radius:var(--radius-control)}.networkCard,.clientCard,.deviceCard{gap:.45rem;padding:.85rem}.networkCard h3,.clientCard h3,.deviceCard h3{font-size:1rem;line-height:1.2}.networkCard .chipRow,.deviceCard .chipRow{margin:.45rem 0}.kvInline{font-size:.86rem}.signalBar span{background:linear-gradient(90deg, var(--signal-dead), var(--signal-weak), var(--signal-strong))}.responsiveOverlay,.sheetOverlay,.drawerOverlay{z-index:70;padding:1rem .5rem calc(.5rem + var(--safe-bottom));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#02061780;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.responsivePanel,.actionSheet,.detailsDrawer{background:var(--surface-glass);width:min(100%,760px);max-height:min(82dvh,760px);color:var(--text);border:1px solid var(--border);border-radius:24px 24px var(--radius-card) var(--radius-card);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);padding:1rem;overflow:auto;box-shadow:0 28px 80px #0009,inset 0 1px #ffffff12}.responsiveOverlay.drawer{justify-content:flex-end}@media (width>=768px){.responsiveOverlay,.sheetOverlay,.drawerOverlay{align-items:center;padding:1.25rem}.responsivePanel.modal,.actionSheet{border-radius:var(--radius-card);max-width:680px}.responsivePanel.drawer,.detailsDrawer{border-radius:var(--radius-card) 0 0 var(--radius-card);width:min(460px,92vw);min-height:100dvh;max-height:100dvh}.responsiveOverlay.drawer,.drawerOverlay{justify-content:flex-end;align-items:stretch;padding:0}}@media (width>=1024px){.sheetOverlay{background:#02061780;padding:1.25rem;display:flex;position:fixed}.actionSheet{border-radius:var(--radius-card);max-height:min(82dvh,760px)}}.hacker .card,.hacker .networkTile,.hacker .networkCard,.hacker .espTile,.hacker .deviceCard,.hacker .clientTile,.hacker .clientCard,.hacker .detailsDrawer,.hacker .actionSheet,html[data-theme=hacker] .card,html[data-theme=hacker] .networkCard,html[data-theme=hacker] .deviceCard,html[data-theme=hacker] .clientCard,html[data-theme=hacker] .detailsDrawer,html[data-theme=hacker] .actionSheet{border-color:var(--terminal-border);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--terminal-border) 46%, transparent), 0 0 24px #0f83;background:#020403f2;border-radius:2px}.hacker .card:before,html[data-theme=hacker] .card:before{background:linear-gradient(90deg,#0f8,#0000)}.hacker .badge,.hacker .statusBadge,html[data-theme=hacker] .badge,html[data-theme=hacker] .statusBadge{color:#0f8;background:#001f0d;border-color:#0f8a;border-radius:2px;box-shadow:0 0 10px #0f83}.hacker .signalBar:before,html[data-theme=hacker] .signalBar:before{content:"[RSSI]";color:var(--primary-ink);font-size:.68rem;position:absolute;transform:translateY(-1.3rem)}.hacker .btn,html[data-theme=hacker] .btn{color:#0f8;background:#001f0d;border:1px solid #0f8;border-radius:2px;box-shadow:0 0 14px #0f83}.hacker input,.hacker select,.hacker textarea,html[data-theme=hacker] input,html[data-theme=hacker] select,html[data-theme=hacker] textarea{color:#0f8;background:#000;border-color:#0f8}.hacker .ledControl,html[data-theme=hacker] .ledControl{box-shadow:var(--led-glow);background:#000;border-radius:2px}.hacker .mobileBottomNav a.active,.hacker .nav a.active,html[data-theme=hacker] .mobileBottomNav a.active,html[data-theme=hacker] .nav a.active{color:#000;background:#0f8;box-shadow:0 0 18px #00ff8870}@media (prefers-reduced-motion:reduce){.hacker body:before,html[data-theme=hacker] body:before{opacity:.04}}.networkToolbar{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end;gap:.75rem;display:grid}.networkTileList{grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:.75rem;width:100%;max-width:100%;display:grid;overflow-x:hidden}.networkTile{box-sizing:border-box;background:#0f172ad1;border:1px solid #94a3b838;border-radius:18px;flex-direction:column;gap:.55rem;width:100%;min-width:0;max-width:100%;padding:.85rem .9rem;display:flex;overflow:hidden;box-shadow:0 12px 30px #00000038}.networkTile.lostNetworkCard,.lostNetworkCard{opacity:.62}.networkTileHeader{justify-content:space-between;align-items:flex-start;gap:.6rem;min-width:0;display:flex}.networkTitle{flex:auto;min-width:0}.networkTileHeader h3{white-space:nowrap;text-overflow:ellipsis;min-width:0;margin:0;font-size:1.02rem;line-height:1.2;overflow:hidden}.networkTileHeader h3.hiddenSsid{color:var(--muted);font-style:italic;font-weight:600}.networkBssid{font-family:var(--mono-console,ui-monospace, monospace);letter-spacing:.02em;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:.15rem;font-size:.74rem;display:block;overflow:hidden}.networkSignal{white-space:nowrap;font-variant-numeric:tabular-nums;flex:none;gap:.3rem;font-weight:800}.networkSignal small{opacity:.8;font-size:.7rem;font-weight:500}.networkMeter{background:color-mix(in srgb, var(--muted) 22%, transparent);border-radius:999px;height:4px;overflow:hidden}.networkMeter>span{border-radius:inherit;background:currentColor;height:100%;transition:width .4s;display:block}.networkMeter.strong{color:#34d399}.networkMeter.medium{color:#facc15}.networkMeter.weak{color:#fb923c}.networkMeter.dead{color:#94a3b8}.networkTile .chipRow.networkCapabilityChips{gap:.3rem;margin:0}.networkMeta{min-width:0;color:var(--muted);flex-direction:column;gap:.3rem;font-size:.78rem;display:flex}.networkMeta .sourceEspPills{align-items:center;margin-top:0}.networkMeta .metaLabel{margin-right:.1rem}.networkSeen{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tileFooterActions{border-top:1px solid color-mix(in srgb, var(--border,#94a3b8) 55%, transparent);justify-content:space-between;align-items:center;gap:.5rem;margin-top:auto;padding-top:.55rem;display:flex}.tileFooterActions .detailsButton{margin-left:auto}.networkSignalIcon{align-items:center;gap:.35rem;font-size:.86rem;display:inline-flex}.networkSignalIcon.strong{color:#34d399}.networkSignalIcon.medium{color:#facc15}.networkSignalIcon.weak{color:#fb923c}.networkSignalIcon.dead{color:#94a3b8}.securityPill{border:1px solid #0000;border-radius:999px;padding:.28rem .55rem;font-size:.78rem;font-weight:800}.securityPill.danger{background:color-mix(in srgb, var(--danger) 14%, transparent);color:color-mix(in srgb, var(--danger) 66%, var(--text));border-color:color-mix(in srgb, var(--danger) 40%, transparent)}.securityPill.ok{background:color-mix(in srgb, var(--ok) 14%, transparent);color:color-mix(in srgb, var(--ok) 66%, var(--text));border-color:color-mix(in srgb, var(--ok) 40%, transparent)}.securityPill.strong{color:color-mix(in srgb, #0d9488 64%, var(--text));background:#14b8a629;border-color:#14b8a66b}.securityPill.unknown{background:color-mix(in srgb, var(--muted) 14%, transparent);color:color-mix(in srgb, var(--muted) 55%, var(--text));border-color:color-mix(in srgb, var(--muted) 32%, transparent)}.sourceEspPills{flex-wrap:wrap;gap:.35rem;margin-top:.65rem;display:flex}.networkDetailsGrid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;display:grid}.networkActionPanel,.networkConnectPanel{border-top:1px solid #94a3b82e;margin-top:1rem;padding-top:1rem}.networkActionPanel select,.networkConnectPanel select,.networkConnectPanel input{max-width:100%;margin:.35rem 0}.vulnerabilityList{gap:.5rem;display:grid}.riskNote{color:#fde68a;background:#fbbf241f;border:1px solid #fbbf2447;border-radius:12px;padding:.65rem .8rem}@media (width<=720px){.networkTileList,.networkToolbar{grid-template-columns:1fr}}.espTileGrid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.8rem}.espTile{isolation:isolate;background:radial-gradient(circle at 18% 0%, color-mix(in srgb, var(--led-color) 18%, transparent), transparent 48%), var(--surface-glass);border:1px solid color-mix(in srgb, var(--led-color) 24%, var(--border));min-height:138px;position:relative;overflow:hidden}.espTileGlow{z-index:-1;background:radial-gradient(circle at 22% 18%, color-mix(in srgb, var(--led-color) 26%, transparent), transparent 42%);filter:blur(10px);opacity:.9;position:absolute;inset:-30%}.espTileHeader{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.5rem .75rem;display:flex}.espTileHeader>div{min-width:0}.espTileHeader>div:first-child{flex:11rem}.espTileButtons{flex:none}.espTileHeader h3{overflow-wrap:break-word;margin:0;line-height:1.15}.espMac{color:var(--muted);font-family:var(--mono-console);font-size:var(--fs-meta);font-variant-numeric:tabular-nums;-webkit-user-select:all;user-select:all;white-space:nowrap;text-overflow:ellipsis;max-width:100%;margin:.18rem 0 0;font-weight:400;line-height:1.15;display:block;overflow:hidden}.espTileButtons{flex:none;align-self:flex-start;align-items:center;gap:.45rem;display:flex}.espTileDetailsRow{margin-top:.45rem}.espStatePills{flex-wrap:wrap;gap:.28rem;margin-top:.65rem;display:flex}.ledRoundButton{border:2px solid color-mix(in srgb, #fff 55%, var(--led-color));background:var(--led-color);width:44px;min-width:44px;height:44px;box-shadow:0 0 calc(14px + 34px * var(--led-alpha)) color-mix(in srgb, var(--led-color) 62%, transparent), inset 0 0 14px #ffffff40;cursor:pointer;border-radius:999px;flex:0 0 44px}.ledRoundButton.off{background:#64748b;border-color:#94a3b8;box-shadow:inset 0 0 10px #0005,0 0 16px #64748b33}.ledControlOverlay{gap:1rem;width:min(100%,560px);margin:0 auto;padding:.25rem;display:grid}.ledStatePanel{border:1px solid var(--border);border-radius:var(--radius-card);background:radial-gradient(circle at 0 0, color-mix(in srgb, var(--led-color) 16%, transparent), transparent 55%), var(--surface-2);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.8rem;padding:.85rem;display:grid}.ledSwatchGrid{border:1px solid var(--border);border-radius:var(--radius-card);background:color-mix(in srgb, var(--surface-2) 74%, transparent);grid-template-columns:repeat(6,minmax(0,1fr));gap:.55rem;padding:.85rem;display:grid}.ledSwatchGrid.disabled{opacity:.62}.ledSwatchGrid .colorSwatch{width:100%;min-width:0;height:48px;min-height:48px}.ledSwatchGrid .customSwatch{grid-column:span 2;font-size:.78rem}.fullSpan{grid-column:1/-1}.offlineNotice{border:1px solid color-mix(in srgb, #f59e0b 35%, var(--border));border-radius:var(--radius-control);color:#fbbf24;background:#f59e0b1a;margin:0;padding:.7rem .85rem}.brightnessSlider{border:1px solid var(--border);border-radius:var(--radius-card);background:color-mix(in srgb, var(--led-color) 8%, var(--surface-2));gap:.55rem;width:100%;padding:.85rem;display:grid}.espDetailsSections{gap:1rem;display:grid}.detailsSection{border:1px solid var(--border);border-radius:var(--radius-card);background:color-mix(in srgb, var(--surface-2) 74%, transparent);gap:.65rem;padding:.9rem;display:grid}.detailsSection h4{margin:0}.taskInlineLaunchPanel{border:1px solid color-mix(in srgb, var(--primary) 34%, var(--border));border-radius:var(--radius-card);background:radial-gradient(circle at top left, color-mix(in srgb, var(--primary) 16%, transparent), transparent 44%), color-mix(in srgb, var(--surface-2) 82%, transparent);gap:.75rem;padding:.85rem;display:grid}.taskInlineLaunchHeader{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.taskInlineLaunchHeader h5{margin:.15rem 0 0;font-size:1rem}.taskInlineLaunchHeader .compact{width:auto;min-height:38px;padding:.4rem .7rem}.taskInlineDeviceCard{border:1px solid var(--border);border-radius:var(--radius-control);background:color-mix(in srgb, var(--surface) 76%, transparent);gap:.25rem;padding:.75rem;display:grid}.taskInlineDeviceCard small{color:var(--muted);overflow-wrap:anywhere}.taskInlineLaunchPanel .scanGrid{margin-top:0}.taskInlineLaunchActions{margin-top:.15rem}.taskInlineLaunchPanel .actionFeedback.success{border:1px solid color-mix(in srgb, #22c55e 45%, var(--border));color:#86efac;background:color-mix(in srgb, #22c55e 12%, var(--surface-2))}.taskInlineLaunchPanel .actionFeedback.error{border:1px solid color-mix(in srgb, #ef4444 45%, var(--border));color:#fecaca;background:color-mix(in srgb, #ef4444 12%, var(--surface-2))}@media (width>=720px){.taskInlineLaunchActions{grid-template-columns:1fr 1fr}}.detailsList{grid-template-columns:minmax(8rem,auto) minmax(0,1fr);gap:.45rem .8rem;margin:0;display:grid}.detailsList dt{color:var(--muted);font-weight:900}.detailsList dd{overflow-wrap:anywhere;margin:0}.capabilityPills{flex-wrap:wrap;gap:.45rem;display:flex}.capabilitiesDetails>summary{cursor:pointer;align-items:center;gap:.5rem;display:flex}.capabilitiesDetails .capCount{background:var(--surface-2,#e2e8f0);min-width:1.4rem;height:1.4rem;color:var(--text-muted,#475569);border-radius:999px;justify-content:center;align-items:center;padding:0 .35rem;font-size:.72rem;font-weight:600;display:inline-flex}.capGroups{flex-direction:column;gap:.85rem;margin-top:.6rem;display:flex}.capGroupTitle{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted,#64748b);margin:0 0 .4rem;font-size:.72rem;font-weight:700}.capChips{flex-wrap:wrap;gap:.4rem;display:flex}.capChip{background:var(--surface-2,#eef2f7);color:var(--text,#1e293b);border:1px solid var(--border,#dbe2ea);border-radius:999px;align-items:center;padding:.22rem .6rem;font-size:.78rem;line-height:1.2;display:inline-flex}.capGroup--system .capChip{border-color:#94a3b8}.capGroup--connectivity .capChip{border-color:#60a5fa}.capGroup--wifi .capChip{border-color:#34d399}.capGroup--bluetooth .capChip{border-color:#818cf8}.capGroup--rf .capChip{border-color:#f59e0b}.capGroup--simulation .capChip{border-color:#f472b6}.capGroup--other .capChip{border-color:#cbd5e1}.espViewSwitch{margin:.75rem 0}.espGatewayGroup{margin:1.25rem 0 .5rem}.espGatewayGroupHeader{border-left:3px solid var(--accent,#22d3ee);background:var(--surface-2,#efece3);border-radius:.5rem;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.5rem 1rem;margin-bottom:.6rem;padding:.5rem .75rem;display:flex}.espGatewayGroupHeader h3{margin:0;font-size:1.05rem}.espGatewayGroupHeader p{overflow-wrap:anywhere;margin:.15rem 0 0;font-size:.8rem}.espGatewayGroup--none .espGatewayGroupHeader{border-left-color:#f59e0b}.espGatewayGroupCounts{flex-wrap:wrap;gap:.4rem;display:flex}.inlineField{flex-direction:column;gap:.3rem;display:flex}.inlineField input,.inlineField select{max-width:22rem}.gatewayHealthList{flex-direction:column;gap:.35rem;margin:0 0 .75rem;padding:0;list-style:none;display:flex}.gatewayHealthList li{flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.85rem;display:flex}.rfWarnings{background:#f59e0b1f;border:1px solid #f59e0b;border-radius:.5rem;margin:.5rem 0;padding:.6rem .8rem}.rfWarnings ul{margin:.35rem 0 0;padding-left:1.1rem}.btn.compact{padding:.15rem .5rem;font-size:.8rem}.consoleInDetails .miniConsole{margin-top:0}.consoleInDetails{min-height:260px}.rawMetadata pre{border-radius:var(--radius-control);color:#c7f9cc;background:#020617;max-height:260px;padding:.8rem;overflow:auto}.miniConsoleLine{grid-template-columns:max-content max-content max-content max-content max-content}@media (width<=767px){.espTileGrid{grid-template-columns:1fr}.espOnlineSummary{max-height:90px}.summaryMain strong{font-size:1.35rem}.summaryChildren{font-size:.85rem}.ledSwatchGrid{grid-template-columns:repeat(4,minmax(0,1fr));padding:.65rem}.ledSwatchGrid .colorSwatch{height:44px}}html[data-theme=hacker] .espTile,.hacker .espTile{background:radial-gradient(circle at 14% 0%, color-mix(in srgb, var(--led-color) 14%, transparent), transparent 38%), #020403f2;border-color:#0f8;box-shadow:inset 0 0 0 1px #0f86,0 0 18px #0f83}html[data-theme=hacker] .espStatePills .statusBadge,.hacker .espStatePills .statusBadge{text-transform:uppercase}html[data-theme=hacker] .ledRoundButton,.hacker .ledRoundButton,html[data-theme=hacker] .colorSwatch,.hacker .colorSwatch{border-radius:2px}html[data-theme=hacker] .ledSwatchGrid,.hacker .ledSwatchGrid{background:#000;border-color:#0f8}.clientTile{border:1px solid var(--border);background:var(--surface-2);overflow-wrap:anywhere;border-radius:16px;grid-template-columns:minmax(0,1fr);gap:.55rem;padding:.7rem;display:grid}.clientTile.lost{opacity:.68}.clientTileHeader{justify-content:space-between;align-items:flex-start;gap:.7rem;display:flex}.tileHeaderActions{flex-shrink:0;align-items:center;gap:.35rem;display:flex}.forgetBtn{white-space:nowrap;padding:.28rem .55rem;font-size:.72rem}.groupHeadRow{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;display:flex}.forgetAllBtn{white-space:nowrap}.clientIdentity{min-width:0}.clientIdentity h3{margin:.05rem 0;font-size:1rem;line-height:1.15}.clientMeta{color:var(--muted);margin:.2rem 0 0;font-size:.86rem}.sourceDevicePill{color:#5b21b6;background:#ede9fe}.consoleDeviceBadge{color:#a7f3d0;background:#052e2b;border:1px solid #065f46;border-radius:999px;align-items:center;padding:.1rem .45rem;font-weight:900;display:inline-flex}.logFollowToggle.active{background:var(--primary);color:#fff}.logRowDevice{white-space:nowrap}.logRowMeta{color:var(--muted-ink);font-size:.82rem}.deviceGroupToggle{min-width:max-content}.deviceToolbar{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end}.networkScanPanel summary{cursor:pointer;justify-content:space-between;align-items:center;gap:.7rem;font-weight:900;display:flex}.networkScanPanel[open] summary{margin-bottom:.7rem}.logRow summary{grid-template-columns:auto auto auto auto 1fr}.logRow strong{grid-column:1/-1}.miniConsoleBody{font-family:ui-monospace,monospace}.miniConsoleLine{grid-template-columns:auto auto auto auto 1fr;align-items:start;gap:.4rem;display:grid}@media (width<=700px){.logRow summary{grid-template-columns:auto auto 1fr}.logRowDevice{grid-column:1/-1}.miniConsoleLine{grid-template-columns:max-content max-content max-content max-content max-content}.miniConsoleLine span:last-child{grid-column:auto}}.consolePage{height:calc(100dvh - var(--mobile-top-height,56px) - var(--nav-h));flex-direction:column;gap:.5rem;min-height:0;display:flex;overflow:hidden}.consoleBody{flex-direction:column;flex:auto;gap:.5rem;min-height:0;display:flex;overflow:hidden}.consoleBody>.consoleShell,.consoleBody>.serialConsole{flex:auto;min-height:0}.consoleTabs{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 70%, transparent);border-radius:12px;flex:none;align-items:stretch;gap:.3rem;padding:.25rem;display:flex}.consoleTab{appearance:none;text-align:center;min-width:0;height:40px;max-height:40px;color:var(--muted);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;border-radius:9px;flex:1 1 0;justify-content:center;align-items:center;padding:0 .6rem;font-size:.86rem;font-weight:700;line-height:1.1;display:flex;overflow:hidden}.consoleTab.active{background:color-mix(in srgb, var(--primary) 18%, transparent);color:var(--primary-ink);box-shadow:inset 0 0 0 1px var(--primary)}.serialConsole{flex-direction:column;gap:.5rem;min-height:0;display:flex}.serialToolbar{flex-wrap:wrap;flex:none;align-items:center;gap:.4rem;display:flex}.serialTsToggle{color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;flex:none;align-items:center;gap:.35rem;font-size:.8rem;font-weight:600;display:inline-flex}.serialTsToggle input{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}.serialStatusDot{border-radius:50%;flex:none;width:10px;height:10px;margin-left:.15rem}.serialStatusDot.on{background:#22c55e;box-shadow:0 0 0 3px #22c55e33}.serialStatusDot.off{background:var(--border)}.serialStatusDot.warn{background:#f59e0b;animation:1s ease-in-out infinite serialPulse;box-shadow:0 0 0 3px #f59e0b33}@keyframes serialPulse{50%{opacity:.35}}.serialConsoleOutput{border:1px solid var(--border);color:#d6e2ff;white-space:pre-wrap;word-break:break-word;-webkit-overflow-scrolling:touch;background:#0b1020;border-radius:12px;flex:auto;min-height:160px;margin:0;padding:.65rem .75rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.76rem;line-height:1.35;overflow:auto}.serialConsoleOutput.nowrap{white-space:pre;word-break:normal;overflow-x:auto}.serialJumpBtn{flex:none;align-self:flex-end}.consoleHeaderCompact{align-items:baseline;gap:.5rem;min-height:0;display:flex;overflow:hidden}.consoleHeaderCompact strong{font-size:.95rem}.consoleHeaderCompact span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.consoleShell{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);gap:.6rem;min-height:0;display:grid}.consoleShellFull{height:100%;overflow:hidden}.consoleLogPane{flex-direction:column;min-height:0;display:flex;overflow:hidden}.consoleLogNotice{margin:0 0 .35rem}.consoleControlDock{border:1px solid var(--border);background:var(--surface);min-height:0;box-shadow:var(--shadow);border-radius:16px;gap:.45rem;padding:.55rem;display:grid;overflow:hidden}.consoleQuickRow{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.45rem;display:grid}.consoleQuickRow .btn{white-space:nowrap;padding-inline:.65rem}.consoleFilters{min-height:0;overflow:hidden}.consoleFilters>summary{cursor:pointer;width:100%;list-style:none}.consoleFilters>summary::-webkit-details-marker{display:none}.consoleFilters[open]{max-height:38dvh;padding-right:.1rem;overflow:auto}.consoleFilterGrid{gap:.45rem;padding-top:.45rem;display:grid}.consoleFilterGrid .chipRow{flex-wrap:wrap;gap:.35rem;display:flex}.consolePage .log,.consoleShell .log{flex:auto;height:100%;min-height:0;overflow:auto}.logRowSummary{grid-template-columns:minmax(0,1fr);gap:.22rem;display:grid}.logRowTop,.logRowMessage{align-items:baseline;gap:.45rem;min-width:0;display:flex}.logRowTop{flex-wrap:wrap}.logRowMessage strong{overflow-wrap:anywhere;min-width:0}.consoleDeviceBadge{color:#a7f3d0;background:#052e2b;border:1px solid #065f46;border-radius:999px;align-items:center;max-width:100%;padding:.1rem .45rem;font-weight:900;display:inline-flex}@media (width<=420px){.consoleQuickRow{grid-template-columns:minmax(0,1fr) 1fr}.consoleQuickRow .logFollowToggle{grid-column:1/-1}}@media (width>=1024px){.consolePage{height:calc(100dvh - 2.5rem - 54px)}.consoleHeaderCompact{display:none}.consoleShellFull{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) 320px}.consoleShellFull .consoleControlDock{align-content:start;max-height:100%;overflow:auto}.consoleShellFull .consoleQuickRow{grid-template-columns:minmax(0,1fr)}.consoleShellFull .consoleFilters{max-height:none;overflow:visible}.consoleShellFull .consoleFilters:not([open]) .consoleFilterGrid{display:grid}.consoleShellFull .consoleFilters>summary{cursor:default;pointer-events:none}}.inventoryTopBar{top:calc(var(--mobile-top-height,56px) + .35rem);z-index:20;border:1px solid var(--border);background:color-mix(in srgb, var(--surface-glass) 88%, transparent);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:18px;justify-content:space-between;align-items:center;gap:.7rem;margin:.45rem 0 .7rem;padding:.55rem;display:flex;position:sticky}.inventoryCounts{color:var(--muted);white-space:nowrap;font-size:.84rem;font-weight:900}.inventorySummaryStrip{border:1px solid var(--border);background:var(--surface-2);color:var(--muted);border-radius:16px;flex-wrap:wrap;align-items:center;gap:.45rem;margin:.45rem 0;padding:.6rem .7rem;font-weight:800;display:flex}.inventorySummaryStrip span:not(:last-child):after{content:"·";color:var(--muted);margin-left:.45rem}.inventorySummaryStrip strong{color:var(--text);font-size:1.05rem}.compactActionToolbar{flex-wrap:wrap;gap:.45rem;min-width:0;display:flex}.toolbarButton{border:1px solid var(--border);background:var(--surface);min-height:42px;color:var(--text);cursor:pointer;border-radius:999px;padding:.55rem .75rem;font-weight:900}.filterSummaryButton{background:color-mix(in srgb, var(--primary) 12%, var(--surface));border-color:color-mix(in srgb, var(--primary) 35%, var(--border))}.mobileCollapsedPanel{gap:.75rem;display:grid}.networkTileHeader>div,.clientIdentity{min-width:0}.networkTile .chipRow,.clientTile .chipRow{gap:.3rem;margin:.45rem 0}.sourceEspPills{flex-wrap:wrap;gap:.3rem;max-width:100%;display:flex;overflow:hidden}.sourceEspPills .badge{white-space:nowrap;text-overflow:ellipsis;min-width:0;max-width:100%;overflow:hidden}.responsivePanel .mobileCollapsedPanel{max-height:calc(82dvh - 5rem);padding-bottom:calc(.5rem + env(safe-area-inset-bottom));overflow:auto}@media (width<=720px){.inventoryTopBar{top:calc(var(--mobile-top-height,56px) + .25rem);flex-direction:column;align-items:stretch}.compactActionToolbar{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.compactActionToolbar .toolbarButton{min-width:0;padding-inline:.55rem}.compactActionToolbar .toolbarButton:nth-child(3){grid-column:1/-1}.inventoryCounts{white-space:normal}.inventorySummaryStrip{gap:.3rem;padding:.55rem;font-size:.85rem}.networkTile,.clientTile{border-radius:14px;padding:.65rem}.networkTileHeader,.clientTileHeader{gap:.45rem}.networkTileHeader h3,.clientIdentity h3{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:1rem;overflow:hidden}.networkSignalIcon{font-size:.78rem}.networkSignalIcon svg{width:18px;height:18px}.networkTile .badge,.networkTile .securityPill,.clientTile .badge,.clientTile .statusBadge{padding:.18rem .42rem;font-size:.68rem}.clientMeta{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.78rem;display:-webkit-box;overflow:hidden}.sourceEspPills .badge{max-width:calc(50% - .2rem)}}.dashboardHealthGrid{gap:1rem;margin-bottom:1rem;display:grid}.healthHeroCompact{gap:1rem;padding:clamp(1rem,3vw,1.35rem);display:grid}.healthHeroHeader,.healthStatusRows>div,.lastCriticalEvent,.dashboardSecondaryLinks{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.healthHeroHeader h2{margin:.1rem 0 0;font-size:clamp(1.35rem,5vw,2rem)}.healthStatusRows{gap:.55rem;display:grid}.healthStatusRows>div,.lastCriticalEvent{border:1px solid var(--border);border-radius:calc(var(--radius-card) - 6px);background:color-mix(in srgb, var(--surface-2) 72%, transparent);min-height:48px;padding:.7rem .8rem}.healthStatusRows span,.lastCriticalEvent span,.primaryNavCards span{color:var(--muted);font-size:.88rem}.lastCriticalEvent{flex-direction:column;align-items:flex-start}.lastCriticalEvent strong{line-height:1.35}.primaryNavCards{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.primaryNavCards a{border:1px solid var(--border);border-radius:var(--radius-card);background:color-mix(in srgb, var(--surface) 86%, transparent);min-height:86px;color:var(--text);box-shadow:var(--shadow);align-content:center;gap:.25rem;padding:.95rem;text-decoration:none;display:grid}.primaryNavCards a:hover,.primaryNavCards a:focus-visible{border-color:color-mix(in srgb, var(--primary) 70%, var(--border));transform:translateY(-1px)}.primaryNavCards strong{font-size:1.05rem}.dashboardActivityGrid{gap:1rem;margin-bottom:1rem;display:grid}.criticalEventList{gap:.65rem;display:grid}.criticalEventList .listCard{margin:0}.dashboardSecondaryPanel{align-content:start;gap:.8rem;display:grid}.dashboardSecondaryLinks{flex-wrap:wrap;justify-content:flex-start}.dashboardDiagnosticsCollapsed{gap:.75rem;margin-bottom:1rem;display:grid}.dashboardDiagnosticsCollapsed .dashboardProgressive{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface-glass);margin:0;padding:.85rem}.dashboardDiagnosticsCollapsed .dashboardProgressive[open]{gap:.8rem;display:grid}.dashboardDiagnosticsCollapsed summary{align-items:center;min-height:44px;display:flex}.textLink{color:var(--primary-ink);align-items:center;gap:.3rem;min-height:44px;font-weight:800;text-decoration:none;display:inline-flex}.textLink:hover{text-decoration:underline}@media (width>=900px){.dashboardHealthGrid{grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr);align-items:stretch}.primaryNavCards{grid-template-columns:repeat(2,minmax(0,1fr))}.primaryNavCards a{min-height:126px}.dashboardActivityGrid{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);align-items:start}.dashboardDiagnosticsCollapsed{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=639px){.dashboardHealthGrid,.dashboardActivityGrid,.dashboardDiagnosticsCollapsed{gap:.75rem}.primaryNavCards{grid-template-columns:1fr 1fr}.primaryNavCards a{min-height:76px;padding:.8rem}.primaryNavCards span{font-size:.78rem}.healthStatusRows>div,.lastCriticalEvent{padding:.65rem}}html.hacker .loginPage,html[data-theme=hacker] .loginPage{color:#0f8;background:#000}html.hacker .loginShell,html.hacker .loginHero,html.hacker .loginCard,html[data-theme=hacker] .loginShell,html[data-theme=hacker] .loginHero,html[data-theme=hacker] .loginCard{background:#000;border-color:#0f8;box-shadow:inset 0 0 0 1px #0f86,0 0 20px #00ff8828}html.hacker .loginHero:before,html[data-theme=hacker] .loginHero:before{content:"[ HACKYESP AUTH TERMINAL ]";color:#0f8;margin-bottom:.75rem;font-weight:900;display:block}html.hacker .loginButton,html[data-theme=hacker] .loginButton{color:#000;box-shadow:none;background:#0f8;border:1px solid #0f8}html.hacker .loginIcon,html[data-theme=hacker] .loginIcon{color:#0f8;background:#000;border:1px solid #0f8}html.hacker .loginSignals .badge,html[data-theme=hacker] .loginSignals .badge{color:#0f8;background:#000;border-color:#0f8}.loginUtilityBar{z-index:2;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;padding:.25rem;display:flex;position:relative}.loginLanguageSelect,.themeSwitcher,.themeSwitcherCompact{color:var(--text);align-items:center;gap:.35rem;font-size:.82rem;font-weight:800;display:inline-flex}.themeSwitcherCompact select,.loginLanguageSelect select{max-width:9.5rem;min-height:38px}@media (width>=768px){.loginUtilityBar{position:absolute;top:.85rem;right:.85rem}.loginCard{padding-top:3.2rem}}@media (width<=767px){.loginUtilityBar{justify-content:stretch;padding:0 .15rem}.loginUtilityBar>*{flex:auto}.loginUtilityBar select{width:100%}}.responsiveOverlay{z-index:1000;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#02061799;display:flex;position:fixed;inset:0}.responsivePanel{background:var(--surface-glass);color:var(--text);border:1px solid var(--border);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);padding:1rem;box-shadow:0 28px 80px #0009,inset 0 1px #ffffff12}@media (width<=767px){.responsiveOverlay{padding:0 .6rem calc(.6rem + env(safe-area-inset-bottom));justify-content:center;align-items:flex-end}.responsivePanel{border-radius:24px 24px var(--radius-card) var(--radius-card);width:min(100%,760px);max-height:min(88dvh,760px);overflow:auto}}@media (width>=768px){.responsiveOverlay{justify-content:center;align-items:center;padding:1.25rem}.responsivePanel.modal{border-radius:var(--radius-card);width:min(680px,100vw - 2.5rem);max-height:min(86dvh,760px);overflow:auto}.responsivePanel.drawer{border-radius:var(--radius-card) 0 0 var(--radius-card);width:min(480px,92vw);height:100dvh;max-height:100dvh;margin-left:auto;overflow:auto}.responsiveOverlay.drawer{justify-content:flex-end;align-items:stretch;padding:0}}.clientDetailsOverlayBody .metadataBlock{color:#c7f9cc;background:#020617;max-height:220px;padding:.75rem;display:block;overflow:auto}.main.mainConsole .mobileTop{margin-bottom:.5rem}.consoleShell .log{overscroll-behavior:contain;height:100%;min-height:0;overflow-y:auto}.consoleControlDock{max-height:34dvh;overflow:hidden}@media (width>=1024px){.main.mainConsole{grid-template-rows:minmax(0,1fr);height:100dvh;max-height:100dvh;padding:1.25rem;display:grid;overflow:hidden}.main.mainConsole .appTop,.main.mainConsole .mobileTop{display:none}.consoleShellFull{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) 320px;height:100%}.consoleControlDock{max-height:100%;overflow-y:auto}}html.hacker,html[data-theme=hacker]{--radius:0px;--radius-lg:0px;--radius-card:0px;--radius-control:0px}html.hacker :not(.statusBadge):not(.badge):not(.p1-pill):not(.toastDot):not(.rfLed):not(.rangeValuePill):not(.p1SwitchTrack):not(.p1SwitchThumb),html[data-theme=hacker] :not(.statusBadge):not(.badge):not(.p1-pill):not(.toastDot):not(.rfLed):not(.rangeValuePill):not(.p1SwitchTrack):not(.p1SwitchThumb){border-radius:0!important}.shell.shellConsole{height:100dvh;max-height:100dvh;overflow:hidden}body.consoleRoute{overflow:hidden}.main.mainConsole{height:calc(100dvh - var(--nav-h));max-height:calc(100dvh - var(--nav-h));padding:calc(.6rem + var(--safe-top)) .75rem calc(.45rem + var(--safe-bottom));grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden}.main.mainConsole .mobileTop{flex:none;margin-bottom:.5rem}.main.mainConsole .appTop{display:none}.consolePage{grid-template-rows:minmax(0,1fr);height:100%;min-height:0;display:grid;overflow:hidden}.consoleHeaderCompact{display:none}.consoleShellFull{grid-template-rows:minmax(0,1fr) auto;height:100%;min-height:0;display:grid;overflow:hidden}.consoleLogPane{min-height:0;overflow:hidden}.consoleShell .log{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;height:100%;min-height:0;overflow-y:auto}.consoleControlDock{flex:none;max-height:34dvh;overflow:hidden}.consoleFilters[open]{max-height:25dvh;overflow-y:auto}@media (width>=1024px){.main.mainConsole{grid-template-rows:minmax(0,1fr);height:100dvh;max-height:100dvh;padding:1.25rem;display:grid;overflow:hidden}.main.mainConsole .mobileTop,.main.mainConsole .appTop{display:none}.consoleShellFull{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) 320px;height:100%}.consoleControlDock{max-height:100%;overflow-y:auto}}.detectorPanel{margin:1rem 0}.warningBanner{background:#f59e0b1f;border:1px solid #f59e0b;border-radius:.75rem;padding:.75rem}.redIndicator{color:#ef4444;font-weight:700}.channelChecklist{flex-wrap:wrap;gap:.5rem 1rem;margin:.75rem 0;display:flex}.snifferTableWrap{margin-top:1rem;overflow-x:auto}.snifferTable{border-collapse:collapse;width:100%;min-width:max-content;font-size:.85rem}.snifferTable th{background:var(--panel,#111827);position:sticky;top:0}.snifferTable th,.snifferTable td{white-space:nowrap;white-space:nowrap;border-bottom:1px solid #94a3b840;padding:.45rem .6rem}.consolePage .log,.consoleShell .log{scrollbar-gutter:stable;white-space:nowrap;overflow-wrap:normal;word-break:normal;font-size:.72rem;overflow:auto!important}.consoleShell .logRowSummary{white-space:nowrap;cursor:pointer;grid-template-columns:max-content max-content max-content max-content max-content;align-items:baseline;gap:.5rem;min-width:max-content;display:inline-grid}.consoleShell .logRowTop,.consoleShell .logRowMessage{white-space:nowrap;flex-wrap:nowrap;min-width:max-content;display:contents}.consoleShell .logRowSource,.consoleShell .logRowDevice,.consoleShell .logRowMessage,.consoleShell .logRowMessage strong,.consoleShell .logRowSummary time{white-space:nowrap;overflow-wrap:normal;word-break:normal}.consoleShell .logRow>.logRowMeta{white-space:pre;max-width:calc(100vw - 2rem);overflow:auto}@media (width<=700px){.consoleShell .logRowSummary{grid-template-columns:max-content max-content max-content max-content max-content!important}.consoleShell .logRowDevice,.consoleShell .logRowMessage{grid-column:auto!important}}.networkTile.focusedTarget,.clientTile.focusedTarget{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 30%, transparent), 0 0 24px color-mix(in srgb, var(--primary) 35%, transparent)}.associatedDeviceList{gap:.5rem;display:grid}.associatedDeviceRow{border:1px solid var(--border);border-radius:12px;grid-template-columns:minmax(140px,1fr) max-content max-content max-content max-content max-content;align-items:center;gap:.5rem;padding:.55rem;display:grid}.associatedDeviceRow div{gap:.15rem;min-width:0;display:grid}.associatedDeviceRow span{white-space:nowrap}.networkChip{text-decoration:none}.deviceFrameHistory{max-width:100%;overflow-x:auto}@media (width<=700px){.associatedDeviceRow{grid-template-columns:1fr max-content}.associatedDeviceRow>span{grid-column:1/-1}}.flashStatusPanel{border:1px solid var(--border);background:var(--surface-2);color:var(--text);box-shadow:var(--shadow-sm);border-radius:14px;gap:.35rem;padding:.85rem 1rem;display:grid}.flashStatusLabel{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:.78rem;font-weight:800}.flashStatusValue{color:var(--text);overflow-wrap:anywhere;font-size:1rem;line-height:1.35}.flashEta{color:var(--text)}button:disabled,.btn:disabled{opacity:.72;color:var(--text);cursor:not-allowed}html.light .flashStatusPanel{color:#0f172a;background:#f8fafc;border-color:#94a3b8}html.light .flashStatusValue{color:#0f172a}html.dark .flashStatusPanel{color:#f9fafb;background:#111827;border-color:#475569}html.dark .flashStatusValue{color:#f9fafb}html.hacker .flashStatusPanel,html[data-theme=hacker] .flashStatusPanel{color:#d1fae5;background:#001b12;border-color:#10b981}html.hacker .flashStatusValue,html[data-theme=hacker] .flashStatusValue{color:#ecfdf5}html.hacker .safeHint,html[data-theme=hacker] .safeHint,html.hacker .mobileCollapsedPanel .safeHint,html[data-theme=hacker] .mobileCollapsedPanel .safeHint{color:#d1fae5;background:#001b12;border:1px solid #10b981}html.hacker .actionFeedback,html[data-theme=hacker] .actionFeedback{color:#dbeafe;background:#061423;border:1px solid #38bdf8}html.hacker .warningBanner,html[data-theme=hacker] .warningBanner,html.hacker .riskNote,html[data-theme=hacker] .riskNote{color:#fde68a;background:#241a00;border-color:#f59e0b}.associatedDeviceRow a.iconButton{justify-self:end}@media (width<=700px){.associatedDeviceRow{align-items:start}.associatedDeviceRow a.iconButton{grid-area:1/2}}.consoleShell .log{white-space:nowrap;font-size:.72rem;overflow:auto}.consoleShell .logRow{width:max-content;min-width:max-content}.consoleShell .logRowSummary{white-space:nowrap;grid-template-columns:max-content max-content max-content max-content max-content;width:max-content;min-width:max-content;display:inline-grid}.consoleShell .logRowSummary>*{white-space:nowrap;overflow-wrap:normal;word-break:normal}.miniConsoleBody{white-space:nowrap;font-size:clamp(.62rem,2.7vw,.72rem);line-height:1.35;overflow:auto}.miniConsoleLine{white-space:nowrap;overflow-wrap:normal;word-break:normal;grid-template-columns:max-content max-content max-content max-content max-content;align-items:baseline;gap:.35rem;width:max-content;min-width:max-content;display:inline-grid}.miniConsoleLine>span{white-space:nowrap;overflow-wrap:normal;word-break:normal}.miniConsoleLine span:last-child{grid-column:auto}.consoleInDetails{overflow:hidden}.consoleInDetails .miniConsole{max-width:100%}.consoleInDetails .miniConsoleBody{overflow:auto}.serialLog,.serialLogBody{white-space:pre;word-break:normal;overflow-wrap:normal;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;line-height:1.35;overflow:auto}.logList,.logViewerBody,.miniConsoleBody,.serialLog{overflow:auto}.logLine,.logEntry,.miniConsoleLine{white-space:nowrap;overflow-wrap:normal;word-break:normal;grid-template-columns:max-content max-content max-content max-content max-content;column-gap:.45rem;min-width:max-content;font-size:.72rem;display:inline-grid}.miniConsoleLine{font-size:.66rem}.logLine>*,.logEntry>*,.miniConsoleLine>*,.miniConsoleMessage,.miniConsoleSource{white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important;grid-column:auto!important}.serialLog{white-space:pre;overflow-wrap:normal;word-break:normal;font-size:.72rem}.espTaskState{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 72%, transparent);border-radius:14px;margin-top:.75rem;padding:.65rem .75rem;overflow:hidden}.espTaskHeader{justify-content:space-between;align-items:center;gap:.55rem;min-width:0;font-size:.88rem;display:flex}.espTaskHeader strong{overflow-wrap:anywhere;min-width:0}.espTaskIdleLine{align-items:center;gap:.45rem;min-width:0;display:inline-flex}.espTaskLastInline{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.espTaskLoader{border:2px solid color-mix(in srgb, var(--accent) 28%, transparent);border-top-color:var(--accent);border-radius:999px;flex:0 0 .9rem;width:.9rem;height:.9rem;animation:.85s linear infinite espTaskSpin}.espTaskIdleIcon{color:#fff;background:#16a34a;border-radius:999px;flex:0 0 1.15rem;place-items:center;width:1.15rem;height:1.15rem;font-size:.78rem;font-weight:800;display:inline-grid}.espTaskProgress{background:color-mix(in srgb, var(--muted) 18%, transparent);border-radius:999px;width:100%;height:.45rem;margin-top:.5rem;overflow:hidden}.espTaskProgressRow{align-items:center;gap:.45rem;display:flex}.espTaskProgressRow .espTaskProgress{flex:auto;min-width:0}.espTaskStopButton{white-space:nowrap;border:1px solid color-mix(in srgb, var(--danger) 55%, var(--border));background:color-mix(in srgb, var(--danger) 14%, var(--surface));width:1.7rem;min-width:1.7rem;height:1.7rem;color:var(--danger);border-radius:.42rem;flex:0 0 1.7rem;justify-content:center;align-items:center;margin-top:.5rem;font-size:.62rem;line-height:1;display:flex;position:relative;overflow:visible}.espTaskStopButton:after{content:"";width:44px;height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.espTaskStopButton:disabled{cursor:wait;opacity:.55}.espTaskProgress>span{border-radius:inherit;background:var(--progress-color,var(--led-color,var(--accent)));width:0%;max-width:100%;height:100%;box-shadow:0 0 12px color-mix(in srgb, var(--progress-color,var(--led-color,var(--accent))) 55%, transparent);transition:width .18s,background-color .18s;display:block}.espTaskDetail{color:var(--muted);overflow-wrap:anywhere;margin-top:.35rem;font-size:.78rem}html[data-theme=hacker] .espTaskState,.hacker .espTaskState{background:#020403cc;border-color:#0f86}html[data-theme=hacker] .espTaskProgress>span,.hacker .espTaskProgress>span{background:var(--progress-color,var(--led-color,#0f8));box-shadow:0 0 10px color-mix(in srgb, var(--progress-color,var(--led-color,#0f8)) 65%, transparent)}@keyframes espTaskSpin{to{transform:rotate(360deg)}}@media (width<=560px){.espTaskHeader{align-items:flex-start}}.snifferLivePanel{background:#0f172a52;border:1px solid #94a3b847;border-radius:14px;margin:12px 0;padding:12px}.snifferBadgeRow,.snifferMetrics{flex-wrap:wrap;gap:8px;margin:8px 0;display:flex}.snifferMetrics span{color:var(--muted,#94a3b8);font-size:.85rem}.espTaskProgress.cycle span{transition:width .25s,background-color .25s}.statusOk{color:#22c55e}.statusWarn{color:#f59e0b}.usersCreateCard,.usersTableCard{margin-bottom:1rem}.userForm,.usersGrid{gap:.75rem;display:grid}.userForm{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end}.userRow{border:1px solid var(--border);background:var(--surface);border-radius:1rem;gap:.5rem;padding:.9rem;display:grid}.userRow label{gap:.25rem;display:grid}.danger{color:#fff;background:#dc2626}.accessDenied{max-width:42rem;margin:2rem auto}.topControls .themeSwitcher,.topControls .mobileMenuSelect{grid-template-rows:minmax(1.1rem,auto) 48px;align-items:end;gap:.35rem;margin:0;display:grid}.topControls .themeSwitcher span,.topControls .mobileMenuSelect span{min-height:1.1rem;line-height:1.1;font:inherit;align-items:flex-end;font-weight:700;display:flex}.topControls .themeSwitcher,.topControls .mobileMenuSelect{min-width:9rem}.topControls .themeSwitcher select,.topControls .mobileMenuSelect select{width:100%;min-width:9rem;height:48px;min-height:48px}.topControls .btn{align-self:end;min-height:48px}.consolePage .log{white-space:nowrap;overflow-x:auto}.consolePage .logRow{width:max-content;min-width:max-content}.consolePage .logRowSummary{white-space:nowrap;flex-wrap:nowrap;align-items:baseline;gap:.45rem;width:max-content;min-width:max-content;display:flex}.consolePage .logRowSummary>*{flex:none}.consolePage .logRowMessage,.consolePage .logRowMessage strong{white-space:nowrap;overflow-wrap:normal;word-break:normal;min-width:max-content}.guidedStatusRow{flex-wrap:wrap;gap:.5rem;margin:.75rem 0;display:flex}.guidedStatusChip{border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.85rem;font-weight:700;display:inline-flex}.guidedStatusChip.ok{color:#047857;border-color:#10b981}.guidedStatusChip.running{color:#1d4ed8;border-color:#3b82f6}.guidedStatusChip.warning{color:#b45309;border-color:#f59e0b}.guidedStatusChip.pending{color:var(--muted)}.guidedSmartAction{justify-content:center;width:min(100%,28rem);margin:.5rem 0 .75rem}.guidedTroubleshootingPanel,.guidedTechnicalDetails,.guidedDownloadPanel{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;margin:.75rem 0;padding:.75rem 1rem}.guidedTroubleshootingPanel>summary,.guidedTechnicalDetails>summary,.guidedDownloadPanel>summary,.guidedLogPanel>summary{cursor:pointer;font-weight:800}.manualFlashOption{border:1px solid var(--border);background:var(--surface);border-radius:10px;margin:.75rem 0;padding:.5rem .75rem}.manualFlashFiles{flex-direction:column;gap:.4rem;margin:.5rem 0;padding:0;list-style:none;display:flex}.manualFlashFiles li{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.manualFlashCommand{white-space:pre-wrap;overflow-wrap:anywhere;font-family:var(--mono,monospace);background:var(--surface-2);border:1px solid var(--border);border-radius:8px;margin:.4rem 0;padding:.5rem .65rem;font-size:.82rem}.customFlashDropzone{text-align:center;border:2px dashed var(--border);background:var(--surface-2);min-height:96px;color:var(--muted,inherit);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;margin:.75rem 0;padding:1rem;transition:border-color .15s,background .15s;display:flex}.customFlashDropzone.isDragOver{border-color:var(--accent,#22c55e);background:color-mix(in srgb, var(--accent,#22c55e) 12%, var(--surface-2))}.customFlashRows{flex-direction:column;gap:.5rem;margin:.5rem 0;display:flex}.customFlashRow{border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:.5rem .75rem}.customFlashRowMain{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.customFlashName{overflow-wrap:anywhere;flex:12rem}.customFlashAddr{align-items:center;gap:.35rem;font-size:.85rem;display:flex}.customFlashAddr input{width:7rem;font-family:var(--mono,monospace)}.customFlashRowMeta{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.35rem;font-size:.8rem;display:flex}.customFlashErase{align-items:center;gap:.5rem;margin:.6rem 0;font-size:.9rem;display:flex}.customFlashErrors{flex-direction:column;gap:.3rem;margin:.5rem 0;padding:0;list-style:none;display:flex}.customFlashStatus{margin-top:.75rem}.guidedLogPanel pre{white-space:pre-wrap;overflow-wrap:anywhere}.structuredLogRow{white-space:nowrap;align-items:center;gap:.5rem;min-width:max-content;display:flex;overflow-x:auto}.logChip{border:1px solid #94a3b859;border-radius:999px;align-items:center;padding:.15rem .5rem;font-size:.78rem;font-weight:700;display:inline-flex}.userChip{color:#bfdbfe;background:#3b82f624}.espChip{color:#99f6e4;background:#14b8a624}.actionChip{color:#e9d5ff;background:#a855f729}.resultChip.ok{color:#bbf7d0;background:#22c55e2e}.resultChip.failed{color:#fecaca;background:#ef44442e}.resultChip.warn{color:#fde68a;background:#f59e0b2e}.resultChip.pending{color:#e2e8f0;background:#94a3b82e}.logParams{font-family:var(--mono,monospace);opacity:.9;text-overflow:ellipsis;max-width:42rem;overflow:hidden}.page,main{max-width:100%}.statusBadge{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.statusBadge.warning{color:#92400e;background:#fef3c7}.statusBadge.danger{color:#991b1b;background:#fee2e2}.statusBadge.success{color:#166534;background:#dcfce7}.statusBadge.neutral{color:#334155;background:#e2e8f0}.dashboardQuickTiles{margin:0 0 1rem}.espTaskStopButton.dangerStop{color:#fee2e2;white-space:nowrap;background:#dc2626;border-color:#ef4444;justify-content:center;align-items:center;width:36px;min-width:36px;max-width:36px;height:36px;min-height:36px;padding:0;font-size:1rem;line-height:1;display:flex;position:relative;overflow:visible}@media (width<=767px){.responsivePanel{padding-bottom:calc(1rem + env(safe-area-inset-bottom) + var(--mobile-bottom-height,64px))}.sheetHeader{z-index:2;background:var(--surface-glass);position:sticky;top:0}}.rangeField{border:1px solid var(--border);background:#0f172a59;border-radius:14px;gap:.55rem;padding:.75rem;display:grid}.rangeFieldHeader{justify-content:space-between;align-items:center;gap:.75rem;font-weight:700;display:flex}.rangeValuePill{color:var(--accent);white-space:nowrap;background:#22d3ee29;border-radius:999px;padding:.2rem .55rem}.rangeField input[type=range]{width:100%;accent-color:var(--accent);min-height:32px}.rangeField small{color:var(--muted)}.deviceChecklist .disabledOption{opacity:.58;cursor:not-allowed}.rangeField{gap:.55rem;min-width:220px;display:grid}.rangeFieldHeader{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.rangeValuePill{border:1px solid var(--border,#334155);border-radius:999px;padding:.15rem .55rem;font-weight:700}.rangeField input[type=range]{width:100%;min-height:36px}.activeScan{border:1px solid var(--border,#334155);border-radius:14px;gap:.35rem;margin-top:.8rem;padding:.8rem;display:grid}.espTitleButton{max-width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:inline-block}.espTitleButton:disabled{cursor:default}.espTitleButton:not(:disabled):focus-visible h3,.espTitleButton:not(:disabled):hover h3{text-underline-offset:.18em;text-decoration:underline}.espRenameForm input{border:1px solid var(--border);width:min(100%,22rem);color:var(--text);background:var(--surface-glass);font:inherit;border-radius:.75rem;padding:.2rem .45rem;font-weight:800}.espRenameError{color:var(--danger,#fecaca);margin:.2rem 0 0;font-size:.78rem;font-weight:700}.taskCard{border:1px solid var(--border,#263244);background:#0f172a8c;border-radius:14px;align-items:center;gap:.75rem;margin-top:.75rem;padding:.75rem;display:flex}.taskStateIcon{place-items:center;width:1.8rem;display:grid}.taskBody{flex-direction:column;flex:1;gap:.25rem;display:flex}.taskProgressFill{background:var(--progress-color,var(--led-color));height:100%;box-shadow:0 0 0 1px #0f172a59,0 0 10px var(--progress-color,var(--led-color))}.dangerStop{min-width:2rem;color:#fff!important;background:#dc2626!important;border-radius:6px!important}.ledControlOverlay,.ledControlCard{background:#0f172a8c;border:1px solid #94a3b847;border-radius:18px;padding:1rem}.ledPreview{box-shadow:0 0 0 2px #ffffff38,0 0 22px var(--led-color);border:1px solid #0f172a73}.ledQuickCard{border:1px solid var(--border,#94a3b859);background:#0f172a73;border-radius:16px;flex-direction:row;justify-content:center;align-items:center;gap:.45rem;padding:.45rem;display:flex;box-shadow:inset 0 1px #ffffff0f}.ledQuickCard.isOn{border-color:color-mix(in srgb, var(--quick-led-color,#0f8) 45%, #94a3b859)}.ledQuickButton{background:var(--quick-led-color,#0f8)!important;border:2px solid #0f172ad9!important;position:static!important;box-shadow:inset 0 0 0 1px #ffffffbf,0 0 0 2px #0f172a8c,0 6px 14px #00000040!important}.ledQuickButton.isOn{box-shadow:inset 0 0 0 1px #ffffffd9, 0 0 0 2px #0f172a8c, 0 0 18px color-mix(in srgb, var(--quick-led-color,#0f8) 70%, transparent), 0 8px 18px #00000047!important}.ledQuickButton.off{opacity:1;filter:none;box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--quick-led-color,#0f8) 38%, transparent), 0 0 0 2px #0f172a8c, 0 6px 14px #00000040!important;background:#0f172ae6!important}.ledRoundButtonWrap{place-items:center;display:inline-grid;position:relative}.ledPendingRing{border:3px solid #0000;border-top-color:var(--quick-led-color,#0f8);border-right-color:color-mix(in srgb, var(--quick-led-color,#0f8) 55%, transparent);pointer-events:none;border-radius:999px;animation:.7s linear infinite spin;position:absolute;inset:-7px}.ledFailedBadge{background:var(--danger,#dc2626);color:#fff;pointer-events:none;border-radius:999px;place-items:center;width:18px;height:18px;font-size:.72rem;font-weight:900;display:grid;position:absolute;top:-6px;right:-6px;box-shadow:0 0 0 2px #0f172a8c}.ledSignalBadge{background:color-mix(in srgb, var(--accent,#f97316) 85%, #000);pointer-events:none;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 3px;font-size:.66rem;display:grid;position:absolute;top:-6px;right:-6px;box-shadow:0 0 0 2px #0f172a8c}@media (prefers-reduced-motion:reduce){.ledPendingRing{animation-duration:1.6s}}.ledQuickSwitch{cursor:pointer;background:0 0;border:0;width:2.35rem;height:4.1rem;padding:0}.ledQuickSwitch:disabled{opacity:.65;cursor:wait}.ledQuickSwitchTrack{background:linear-gradient(#1e293bf2,#0f172af2);border:1px solid #94a3b88c;border-radius:999px;grid-template-rows:1fr 1fr;place-items:center;width:100%;height:100%;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 2px 8px #00000059}.ledQuickSwitchThumb{background:#64748bf2;border-radius:999px;height:1.75rem;transition:transform .18s,background .18s;position:absolute;bottom:.22rem;left:.22rem;right:.22rem;box-shadow:0 3px 8px #00000059,inset 0 1px #ffffff59}.ledQuickSwitch.isOn .ledQuickSwitchThumb{background:var(--quick-led-color,#0f8);transform:translateY(-1.74rem)}.ledQuickSwitchLabelTop,.ledQuickSwitchLabelBottom{z-index:1;letter-spacing:.03em;color:#e2e8f0bf;pointer-events:none;font-size:.58rem;font-weight:900;position:relative}.ledQuickSwitch.isOn .ledQuickSwitchLabelTop,.ledQuickSwitch:not(.isOn) .ledQuickSwitchLabelBottom{color:#08111f}.taskCard{background:#0f172a73;border:1px solid #94a3b840;border-radius:14px;align-items:center;gap:.75rem;padding:.7rem;display:flex}.taskStateIcon{background:#ffffff0f;border-radius:.55rem;place-items:center;width:1.8rem;min-width:1.8rem;height:1.8rem;display:grid}.taskBody{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.taskProgressTrack{background:#0f172abf;border:1px solid #94a3b873;border-radius:999px;height:.45rem;overflow:hidden}.taskProgressFill{background:var(--progress-color,var(--led-color,#22c55e));min-width:2px;height:100%;box-shadow:inset 0 0 0 1px #0f172a26}.taskSpinner{border:2px solid #94a3b873;border-top-color:var(--led-color,#22c55e);border-radius:50%;width:1rem;height:1rem;animation:.8s linear infinite spin}.espSelectorRow{border:1px solid #94a3b840;border-radius:12px;align-items:center;gap:.75rem;padding:.75rem;display:flex}.espSelectorRow input[type=checkbox]{flex:none;width:1.1rem;height:1.1rem}.modalStickyFooter{background:var(--surface,#0f172a);justify-content:flex-end;gap:.75rem;padding-top:.75rem;display:flex;position:sticky;bottom:0}@media (width<=640px){.taskCard{flex-wrap:wrap;align-items:flex-start}.espTaskStopButton{margin-left:auto}.ledQuickCard{flex-direction:row}}.statusError{color:#fecaca}.espTaskIdleIcon.failure{color:#f87171}.espTaskIdleIcon.warning{color:#f59e0b}.taskLaunchModal .card.compact{flex-direction:column;gap:.2rem;display:flex}.snifferTable tr{cursor:pointer}.advancedFields{grid-column:1/-1}.srOnly{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.taskStateIcon .successIcon{color:#22c55e;font-weight:800}.taskSpinner[role=status]{animation:1.6s linear infinite spin}.muted.compact{margin:.1rem 0 .35rem;font-size:.85rem}.taskProgressTrack[role=progressbar]{position:relative}.taskCard.snifferPhaseSniff{border-color:color-mix(in srgb, var(--led-color,var(--accent)) 45%, var(--border))}.taskCard.snifferPhaseEspnow{border-color:color-mix(in srgb, var(--progress-color,var(--accent)) 45%, var(--border))}.taskCard.snifferPhaseStop{border-color:color-mix(in srgb, #f59e0b 50%, var(--border))}.taskPhaseBadge{border:1px solid var(--border);width:fit-content;color:var(--muted);border-radius:999px;align-items:center;gap:.35rem;padding:.15rem .45rem;font-size:.75rem;display:inline-flex}.taskPhaseBadge.sniff{color:var(--text);border-color:color-mix(in srgb, var(--led-color,var(--accent)) 45%, var(--border))}.taskPhaseBadge.espnow{color:var(--text);border-color:color-mix(in srgb, var(--progress-color,var(--accent)) 45%, var(--border));background:color-mix(in srgb, var(--progress-color,var(--accent)) 12%, transparent)}.taskPhaseBadge.stop{color:#fde68a;border-color:color-mix(in srgb, #f59e0b 55%, var(--border))}.taskMetricsLine{color:var(--muted);font-size:.78rem;line-height:1.35}.taskStopPending{opacity:.72;cursor:wait}.gatewayWifiCredentialsPanel{gap:.8rem;display:grid}.gatewayWifiCredentialList{gap:.55rem;display:grid}.gatewayWifiCredentialRow{border:1px solid var(--border);border-radius:var(--radius-control);background:color-mix(in srgb, var(--surface-2) 82%, transparent);justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.75rem;display:flex}.gatewayWifiCredentialRow strong{display:block}.gatewayWifiCredentialRow small{color:var(--muted)}.gatewayWifiCredentialForm{gap:.75rem;display:grid}.gatewayWifiCredentialForm label{color:var(--muted);gap:.35rem;font-weight:700;display:grid}.gatewayWifiCredentialForm input[type=text],.gatewayWifiCredentialForm input[type=password]{width:100%}.checkboxLine{grid-template-columns:auto 1fr;align-items:center;color:var(--text)!important;gap:.55rem!important;font-weight:600!important;display:flex!important}.checkboxLine input{width:auto}@media (width<=640px){.gatewayWifiCredentialRow{display:grid}}.firmwareBuildLivePanel{border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:14px;grid-template-columns:minmax(0,1fr);gap:.75rem;min-width:0;margin:.75rem 0;padding:1rem;display:grid}.firmwareBuildLiveHeader{align-items:flex-start;gap:.75rem;min-width:0;display:flex}.firmwareBuildLiveHeader>div{overflow-wrap:anywhere;min-width:0}.firmwareBuildLiveHeader p,.firmwareBuildStatusDetail{color:var(--muted);margin:.2rem 0 0}.firmwareBuildSpinner{border:3px solid color-mix(in srgb, var(--primary) 24%, transparent);border-top-color:var(--primary);border-radius:50%;flex:none;width:1.15rem;height:1.15rem;margin-top:.15rem;animation:.8s linear infinite firmwareBuildSpin}.firmwareBuildMeta{color:var(--muted);flex-wrap:wrap;gap:.5rem .75rem;font-size:.92rem;display:flex}.firmwareBuildMeta span{border:1px solid var(--border);background:var(--surface-1);border-radius:999px;padding:.25rem .55rem}.firmwareBuildLatestLine{overflow-wrap:anywhere;word-break:break-word;font-family:var(--mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);color:var(--text);margin:0}.flashProgressBar.isBuildRunning span{background-image:linear-gradient(45deg, color-mix(in srgb, var(--primary) 78%, var(--surface-1)) 25%, var(--primary) 25%, var(--primary) 50%, color-mix(in srgb, var(--primary) 78%, var(--surface-1)) 50%, color-mix(in srgb, var(--primary) 78%, var(--surface-1)) 75%, var(--primary) 75%, var(--primary));background-size:1.5rem 1.5rem;animation:.8s linear infinite firmwareBuildProgressStripes}@keyframes firmwareBuildSpin{to{transform:rotate(360deg)}}@keyframes firmwareBuildProgressStripes{0%{background-position:0 0}to{background-position:1.5rem 0}}@media (width<=640px){.firmwareBuildLivePanel{padding:.85rem}.firmwareBuildLiveHeader{gap:.6rem}.firmwareBuildMeta{display:grid}}@media (prefers-reduced-motion:reduce){.firmwareBuildSpinner,.flashProgressBar.isBuildRunning span{animation:none}}.rangeFieldValueControls{justify-content:flex-end;align-items:center;display:inline-flex}.rangeNumberControl{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-2) 82%, transparent);color:var(--text);border-radius:999px;align-items:center;gap:.35rem;padding:.15rem .5rem;display:inline-flex}.rangeNumberControl input{width:5.25rem;min-height:32px;color:inherit;font:inherit;text-align:right;background:0 0;border:0;outline:0;padding:.1rem .25rem;font-weight:800}.rangeNumberControl input:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--primary) 42%, transparent);border-radius:.35rem}.taskProgressFill,.espTaskProgress>span{background:linear-gradient(90deg, color-mix(in srgb, #94a3b8 82%, var(--progress-color,var(--led-color,var(--accent))) 18%), color-mix(in srgb, #64748b 76%, var(--progress-color,var(--led-color,var(--accent))) 24%));box-shadow:0 0 0 1px #0f172a61, 0 0 9px color-mix(in srgb, var(--progress-color,var(--led-color,var(--accent))) 24%, transparent)}html[data-theme=hacker] .espTaskProgress>span,.hacker .espTaskProgress>span{background:linear-gradient(90deg, color-mix(in srgb, #64748b 80%, var(--progress-color,var(--led-color,#0f8)) 20%), color-mix(in srgb, #475569 72%, var(--progress-color,var(--led-color,#0f8)) 28%))}.wifiDiscoveryTasksPanel{min-height:190px}.wifiDiscoveryTasksPanel .espTaskList{min-height:132px}.wifiDiscoveryTasksPanel .taskCard{align-items:flex-start;min-height:126px}.wifiDiscoveryTasksPanel .taskBody{justify-content:flex-start;min-height:100px}.wifiDiscoveryTasksPanel .taskMetricsLine{min-height:1.1em}.espTileGrid{align-items:start}.espTile{flex-direction:column;min-height:304px;display:flex}.espTileHeader{min-height:82px}.espStatePills{align-content:flex-start;min-height:32px}.espTaskState,.espTaskList{min-height:112px}.dashboardQuickTiles{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboardQuickTiles a{align-items:center;gap:.85rem;min-height:112px;display:flex}.dashboardQuickTileIcon{border:1px solid color-mix(in srgb, var(--primary) 30%, var(--border));width:46px;height:46px;color:var(--primary-ink);background:color-mix(in srgb, var(--primary) 12%, var(--surface-2));border-radius:14px;flex:0 0 46px;place-items:center;display:grid}.dashboardQuickTileText{gap:.25rem;min-width:0;display:grid}.dashboardQuickTileText strong,.dashboardQuickTileText>span{display:block}.dashboardHealthGrid .healthHeroCompact{width:100%}.espNowSignalChart{border-top:1px solid var(--border);gap:.75rem;margin-top:.9rem;padding-top:.9rem;display:grid}.espNowSignalPeriods{flex-wrap:wrap;gap:.45rem;display:flex}.espNowSignalPeriods button{border:1px solid var(--border);min-height:34px;color:var(--muted);background:var(--surface-2);border-radius:999px;padding:.35rem .75rem;font-weight:800}.espNowSignalPeriods button.active{border-color:color-mix(in srgb, var(--primary) 65%, var(--border));color:var(--text);background:color-mix(in srgb, var(--primary) 16%, var(--surface-2))}.espNowSignalChartFrame{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-2) 82%, transparent);border-radius:14px;min-height:220px;padding:.5rem}.espNowSignalChartFrame svg{width:100%;height:210px;display:block;overflow:visible}.espNowSignalChartGrid{stroke:color-mix(in srgb, var(--muted) 28%, transparent);stroke-width:1px}.espNowSignalChartLine{fill:none;stroke:var(--primary);stroke-width:2.5px;vector-effect:non-scaling-stroke}.espNowSignalChartPoint{fill:var(--primary)}.espNowSignalChartLabel{fill:var(--muted);font-size:10px}@media (width<=1050px){.dashboardQuickTiles{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=639px){.dashboardQuickTiles a{min-height:94px;padding:.75rem}.dashboardQuickTileIcon{flex-basis:38px;width:38px;height:38px}.espTile{min-height:286px}.wifiDiscoveryTasksPanel{min-height:210px}}.wifiDiscoveryTasksPlaceholder{border:1px dashed var(--border);min-height:8.25rem;color:var(--muted);text-align:center;border-radius:.9rem;place-items:center;padding:1rem;display:grid}.brandRow h2{align-items:center;gap:.55rem;display:flex}.brandRow h2 svg{flex:none}.mobileTop span{align-items:center;gap:.4rem;display:inline-flex}.mobileTop span svg{flex:none}.loginHeroMark{align-self:flex-start;width:64px;height:64px;margin-bottom:.35rem}.loginIcon svg{width:30px;height:30px}.signalCadence{flex-direction:column;gap:.5rem;margin:.25rem 0 .75rem;display:flex}.signalCadenceHead{flex-direction:column;gap:.1rem;display:flex}.signalCadenceLabel{font-size:.9rem;font-weight:800}.signalCadenceSub{color:var(--muted);font-size:.78rem}.signalCadenceOptions{flex-wrap:wrap;gap:.45rem;display:flex}.signalCadenceOptions button{border:1px solid var(--border);min-width:74px;min-height:44px;color:var(--muted);background:var(--surface-2);cursor:pointer;border-radius:14px;flex-direction:column;align-items:center;gap:.05rem;padding:.3rem .8rem;display:flex}.signalCadenceOptions button:disabled{opacity:.55;cursor:default}.signalCadenceOptions button.active{border-color:color-mix(in srgb, var(--primary) 65%, var(--border));color:var(--text);background:color-mix(in srgb, var(--primary) 16%, var(--surface-2))}.signalCadenceOptionLabel{font-size:.85rem;font-weight:800}.signalCadenceOptionHint{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem}.signalCadenceError{color:var(--danger);margin:0;font-size:.78rem}.gatewayWifiSuggestion{border:1px solid color-mix(in srgb, var(--ok) 45%, var(--border));background:color-mix(in srgb, var(--ok) 12%, var(--surface-2));border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem .8rem;display:flex}.gatewayWifiSuggestion strong{font-size:.9rem;display:block}.gatewayWifiSuggestion small{color:var(--muted);font-size:.78rem}.gatewayWifiScanRow{flex-wrap:wrap;align-items:center;gap:.6rem;margin:.25rem 0;display:flex}.gatewayWifiCredentialRowSide{white-space:nowrap;flex-direction:column;align-items:flex-end;gap:.35rem;display:flex}.gatewayWifiCurrentTag{color:var(--ok);font-size:.72rem;font-weight:800}.internetOk{color:var(--ok,#16a34a);font-weight:800}.internetKo{color:var(--danger,#dc2626);font-weight:800}.gatewayWifiRowActions{flex-wrap:wrap;justify-content:flex-end;gap:.3rem;display:flex}.gatewayWifiLock{border:1px solid var(--border);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;padding:.15rem .5rem;font-size:.72rem;font-weight:700;display:inline-flex}.btn.danger.compact{background:color-mix(in srgb, var(--danger,#dc2626) 16%, var(--surface-2));border-color:color-mix(in srgb, var(--danger,#dc2626) 55%, var(--border));color:var(--danger,#dc2626)}.toastViewport{z-index:1000;left:50%;bottom:max(1rem, env(safe-area-inset-bottom));pointer-events:none;width:min(30rem,100vw - 1.5rem);position:fixed;transform:translate(-50%)}@media (width<=767px){.toastViewport{bottom:calc(var(--nav-h,56px) + env(safe-area-inset-bottom) + .5rem)}}.toastLiveRegion{flex-direction:column;gap:.5rem;display:flex}.toast{pointer-events:auto;border-radius:var(--radius,10px);border:1px solid var(--border);background:var(--surface);color:var(--text);align-items:center;gap:.6rem;padding:.7rem .85rem;font-size:.9rem;line-height:1.3;animation:.18s ease-out toastIn;display:flex;box-shadow:0 8px 24px -12px #0000008c,0 2px 6px -3px #0006}.toastDot{background:var(--primary);border-radius:999px;flex:none;width:.6rem;height:.6rem}.toast-success .toastDot{background:var(--ok,#1f9d63)}.toast-info .toastDot{background:var(--primary)}.toast-warning .toastDot{background:var(--warn,#b8760f)}.toast-danger .toastDot{background:var(--danger,#d6423f)}.toast-success{border-color:color-mix(in srgb, var(--ok,#1f9d63) 45%, var(--border))}.toast-warning{border-color:color-mix(in srgb, var(--warn,#b8760f) 45%, var(--border))}.toast-danger{border-color:color-mix(in srgb, var(--danger,#d6423f) 45%, var(--border))}.toastMessage{flex:auto}.toastClose{appearance:none;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;min-width:1.75rem;min-height:1.75rem;padding:.15rem .3rem;font-size:1.15rem;line-height:1}.toastClose:hover{color:var(--text);background:var(--surface-2)}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.dashboardVerdict{border-radius:var(--radius,12px);border:1px solid var(--border);background:var(--surface);align-items:center;gap:.9rem;margin-bottom:1rem;padding:1rem 1.1rem;display:flex}.dashboardVerdictIcon{flex:none;display:inline-flex}.dashboardVerdictText{flex-direction:column;flex:auto;gap:.15rem;min-width:0;display:flex}.dashboardVerdictText strong{font-size:1.05rem}.dashboardVerdictText span{color:var(--muted);font-size:.88rem}.dashboardVerdictAction{flex:none}.dashboardVerdict.verdict-ok{border-color:color-mix(in srgb, var(--ok,#1f9d63) 45%, var(--border));background:color-mix(in srgb, var(--ok,#1f9d63) 9%, var(--surface))}.dashboardVerdict.verdict-ok .dashboardVerdictIcon{color:var(--ok,#1f9d63)}.dashboardVerdict.verdict-warn{border-color:color-mix(in srgb, var(--warn,#b8760f) 50%, var(--border));background:color-mix(in srgb, var(--warn,#b8760f) 11%, var(--surface))}.dashboardVerdict.verdict-warn .dashboardVerdictIcon{color:var(--warn,#b8760f)}.dashboardVerdict.verdict-danger{border-color:color-mix(in srgb, var(--danger,#d6423f) 55%, var(--border));background:color-mix(in srgb, var(--danger,#d6423f) 12%, var(--surface))}.dashboardVerdict.verdict-danger .dashboardVerdictIcon{color:var(--danger,#d6423f)}@media (width<=560px){.dashboardVerdict{flex-wrap:wrap}.dashboardVerdictAction{width:100%}}.detailsButton{border-radius:var(--radius,10px);border:1px solid var(--border);background:var(--surface-2);min-height:2.25rem;color:var(--text);cursor:pointer;white-space:nowrap;align-items:center;gap:.25rem;padding:.35rem .6rem;font-size:.82rem;font-weight:600;display:inline-flex;position:relative}.detailsButton:after{content:"";width:100%;min-width:44px;height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.detailsButton:hover{border-color:color-mix(in srgb, var(--primary) 55%, var(--border));color:var(--primary-ink)}.detailsButton:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (width<=340px){.detailsButtonLabel{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.detailsButton{padding:.35rem .5rem}}.progressiveToolbar{flex-wrap:wrap;align-items:center;gap:.6rem;margin:.25rem 0 .9rem;display:flex}.progressiveToolbar .progressiveSearch{flex:12rem;min-width:10rem}.progressiveToolbar .progressiveSearch input,.progressiveToolbar .progressiveSort select{width:100%}.progressiveToolbar .touchField,.progressiveToolbar .segmented{margin:0}.progressiveToolbar .filterSummaryButton{align-items:center;gap:.4rem;display:inline-flex}.progressiveToolbar .filterSummaryButton .badge{background:var(--primary);color:var(--surface);text-align:center;border-radius:999px;min-width:1.2rem;padding:0 .4rem;font-size:.72rem;font-weight:700}@media (width<=640px){.progressiveToolbar>*{flex:100%}.progressiveToolbar .segmented{overflow-x:auto}}.userMenu{position:relative}.userMenuTrigger{border-radius:var(--radius,10px);border:1px solid var(--border);background:var(--surface-2);min-height:2.5rem;color:var(--text);cursor:pointer;align-items:center;gap:.45rem;max-width:16rem;padding:.35rem .6rem;font-weight:600;display:inline-flex}.userMenuTrigger:hover{border-color:color-mix(in srgb, var(--primary) 55%, var(--border))}.userMenuTrigger:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.userMenuAvatar{background:color-mix(in srgb, var(--primary) 18%, var(--surface));width:1.75rem;height:1.75rem;color:var(--primary-ink);border-radius:999px;flex:none;justify-content:center;align-items:center;display:inline-flex}.userMenuName{text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;overflow:hidden}.userMenuPanel{z-index:60;border-radius:var(--radius,12px);border:1px solid var(--border);background:var(--surface);flex-direction:column;gap:.5rem;width:15rem;padding:.85rem;display:flex;position:absolute;top:calc(100% + .4rem);right:0;box-shadow:0 12px 32px -14px #0009}.userMenuHeader{border-bottom:1px solid var(--border);flex-direction:column;gap:.15rem;padding-bottom:.5rem;display:flex}.userMenuHeader strong{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.userMenuRole{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.75rem}.userMenuField{color:var(--muted);margin-bottom:-.25rem;font-size:.78rem}.userMenuControl select,.userMenuControl .themeSwitcherCompact select{width:100%;min-height:2.25rem}.userMenuControl .themeSwitcherCompact{width:100%}.userMenuControl .themeSwitcherCompact>span{display:none}.userMenuLogout{justify-content:center;align-items:center;gap:.4rem;width:100%;margin-top:.25rem;display:inline-flex}.emptyState{text-align:center;flex-direction:column;align-items:center;gap:.35rem}.emptyState>p{max-width:46ch;margin:0}.emptyStateAction{justify-content:center;width:100%;margin-top:.85rem;display:flex}.emptyStateAction>*{flex:0 auto;min-width:0}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.threatBanner{border-radius:var(--radius,12px);border:1px solid var(--border);background:var(--surface);align-items:flex-start;gap:.6rem;margin:0 0 1rem;padding:.7rem .9rem;display:flex}.threatBanner-ok{color:var(--muted);border-color:color-mix(in srgb, var(--ok,#1f9d63) 35%, var(--border));align-items:center}.threatBanner-ok svg{color:var(--ok,#1f9d63);flex:none}.threatBanner-warning{border-color:color-mix(in srgb, var(--warn,#b8760f) 50%, var(--border));background:color-mix(in srgb, var(--warn,#b8760f) 8%, var(--surface))}.threatBanner-critical{border-color:color-mix(in srgb, var(--danger,#d6423f) 55%, var(--border));background:color-mix(in srgb, var(--danger,#d6423f) 9%, var(--surface))}.threatBanner details{width:100%}.threatBanner summary{cursor:pointer;align-items:center;gap:.5rem;list-style:none;display:flex}.threatBanner summary svg{color:var(--danger,#d6423f);flex:none}.threatBanner-warning summary svg{color:var(--warn,#b8760f)}.threatBannerCount{color:var(--muted);margin-left:auto;font-size:.8rem;font-weight:600}.threatList{flex-direction:column;gap:.6rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}.threatItem{border:1px solid var(--border);border-radius:var(--radius,10px);background:var(--surface-2);padding:.6rem .7rem}.threatItem.sev-critical{border-left:3px solid var(--danger,#d6423f)}.threatItem.sev-warning{border-left:3px solid var(--warn,#b8760f)}.threatItem.sev-info{border-left:3px solid var(--muted)}.threatItemHead{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.threatItemType{font-size:.85rem;font-weight:600}.threatItemSsid{font-size:.9rem}.threatItemReason{color:var(--muted);margin:.35rem 0 0;font-size:.82rem}.threatItemActions{gap:.4rem;margin-top:.5rem;display:flex}.blePresenceStats{flex-wrap:wrap;gap:.4rem;margin:.4rem 0 .7rem;display:flex}.blePresenceChartHead{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.3rem;display:flex}.segmented.compact button{padding:.2rem .45rem;font-size:.72rem}.bleSparkline{border:1px solid var(--border);border-radius:var(--radius,8px);background:var(--surface-2);display:block}.muted.small{font-size:.8rem}.deauthOwnRow{background:color-mix(in srgb, var(--danger,#d6423f) 10%, transparent)}.deauthOwnBadge{margin-left:.4rem}.pnlPrivacyNotice{color:var(--warn,#b8760f);align-items:flex-start;gap:.4rem;margin:0 0 .6rem;font-size:.78rem;display:flex}.pnlPrivacyNotice svg{flex:none;margin-top:.1rem}.pnlList{flex-wrap:wrap;gap:.35rem;display:flex}.pnlChip{align-items:center;gap:.3rem;display:inline-flex}.pnlChip .pnlCount{background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:0 .35rem;font-size:.68rem}.channelHeatmap h3{margin-bottom:.2rem}.channelHeatmapTable{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.channelHeatmapTable th,.channelHeatmapTable td{border:1px solid var(--border);text-align:center;padding:.3rem .4rem;font-size:.78rem}.channelHeatmapRowLabel{white-space:nowrap;font-weight:600;text-align:left!important}.channelHeatmapCell{min-width:2rem}.channelHeatmap5g{box-shadow:inset 2px 0 0 var(--accent,#3987e5)}.channelHeatmapTable th.channelHeatmap5g{color:var(--accent,#3987e5)}.channelHeatmap5gLegend{margin-top:.35rem}.simArtifactsPanel .cardTop{justify-content:space-between;align-items:center;display:flex}.simArtifactsPanel h3{align-items:center;gap:.4rem;display:inline-flex}.simArtifactRow{flex-direction:column;gap:.25rem;display:flex}.simArtifactHead{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.roleChoiceCard{cursor:pointer;transition:border-color .15s,box-shadow .15s,transform 60ms;position:relative}.roleChoiceCard:hover{border-color:color-mix(in srgb, var(--primary) 45%, var(--border))}.roleChoiceCard:active{transform:translateY(1px)}.roleChoiceCard strong{font-size:1.02rem}.roleChoiceCard>span:not(.roleCheck):not(.roleIcon){color:var(--muted);font-size:.85rem;line-height:1.35}.roleChoiceCard .roleIcon{background:color-mix(in srgb, var(--primary) 14%, var(--surface-2));width:40px;height:40px;color:var(--primary-ink);border-radius:11px;justify-content:center;align-items:center;display:inline-flex}.roleChoiceCard .roleIcon svg{width:22px;height:22px}.roleCheck{background:var(--primary);color:#fff;opacity:0;border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;transition:opacity .15s,transform .15s;display:inline-flex;position:absolute;top:.7rem;right:.7rem;transform:scale(.5)}.roleCheck svg{width:13px;height:13px}.roleChoiceCard.selected .roleCheck{opacity:1;transform:scale(1)}.gwConfig{gap:1.5rem;margin-top:1.1rem;display:grid}.gwSection{gap:.85rem;display:grid}.gwSectionHead{gap:.2rem;display:grid}.gwSectionHead h3{margin:0;font-size:1.05rem}.gwSectionSub{color:var(--muted);margin:0;font-size:.85rem;line-height:1.4}.wifiCards{gap:.75rem;display:grid}.wifiCard{border:1px solid var(--border);background:var(--surface-2);border-radius:16px;gap:.7rem;padding:.9rem;display:grid}.wifiCardHead{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.wifiPriorityChip{letter-spacing:.03em;text-transform:uppercase;background:color-mix(in srgb, var(--muted) 20%, transparent);color:var(--muted);border-radius:999px;align-items:center;padding:.28rem .65rem;font-size:.7rem;font-weight:700;display:inline-flex}.wifiPriorityChip.primary{background:color-mix(in srgb, var(--primary) 18%, transparent);color:var(--primary-ink)}.field{gap:.32rem;display:grid}.fieldLabel{color:var(--text);font-size:.82rem;font-weight:600}.field input{border:1px solid var(--border);background:var(--surface);width:100%;min-height:44px;color:var(--text);border-radius:10px;padding:.6rem .7rem;font-size:.95rem;transition:border-color .15s,box-shadow .15s}.field input::placeholder{color:color-mix(in srgb, var(--muted) 75%, transparent)}.field input:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 22%, transparent);outline:none}.inputWithIcon{display:block;position:relative}.inputWithIcon input{padding-right:2.7rem}.inlineIconBtn{width:34px;height:34px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex;position:absolute;top:50%;right:.4rem;transform:translateY(-50%)}.inlineIconBtn:hover{background:color-mix(in srgb, var(--muted) 16%, transparent);color:var(--text)}.inlineIconBtn svg{width:18px;height:18px}.iconBtn{border:1px solid var(--border);background:var(--surface);width:36px;height:36px;color:var(--muted);cursor:pointer;border-radius:9px;flex:none;justify-content:center;align-items:center;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.iconBtn svg{width:18px;height:18px}.iconBtn:hover{color:var(--text)}.iconBtn.danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 35%, var(--border))}.iconBtn.danger:hover{background:color-mix(in srgb, var(--danger) 14%, transparent);border-color:var(--danger)}.addWifiBtn{border:1.5px dashed color-mix(in srgb, var(--primary) 50%, var(--border));width:100%;min-height:46px;color:var(--primary-ink);cursor:pointer;background:0 0;border-radius:12px;justify-content:center;align-items:center;gap:.45rem;font-size:.9rem;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.addWifiBtn:hover{background:color-mix(in srgb, var(--primary) 10%, transparent);border-color:var(--primary)}.addWifiBtn svg{width:18px;height:18px}.gwFieldGrid{grid-template-columns:1fr 1fr;gap:.9rem;display:grid}.gwAdvanced{border-top:1px solid var(--border);padding-top:.75rem}.gwAdvanced>summary{cursor:pointer;color:var(--muted);-webkit-user-select:none;user-select:none;align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;list-style:none;display:inline-flex}.gwAdvanced>summary::-webkit-details-marker{display:none}.gwAdvanced>summary:before{content:"▸";transition:transform .15s;display:inline-block}.gwAdvanced[open]>summary:before{transform:rotate(90deg)}.gwAdvanced[open]>summary{margin-bottom:.8rem}.gwErrors{border:1px solid color-mix(in srgb, var(--danger) 40%, var(--border));background:color-mix(in srgb, var(--danger) 10%, var(--surface-2));border-radius:12px;gap:.4rem;padding:.7rem .85rem;display:grid}.gwError{color:var(--danger);margin:0;font-size:.85rem;font-weight:500}.gwSlaveNote{color:var(--muted);margin-top:1rem;font-size:.9rem;line-height:1.4}@media (width<=640px){.gwFieldGrid{grid-template-columns:1fr}}.bleActionRow{flex-wrap:wrap;gap:.5rem;margin-top:.3rem;display:flex}.bleActionRow .btn{flex:auto;min-height:42px}.bleResultsLink{color:var(--primary-ink);margin-top:.6rem;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-block}.bleResultsLink:hover{text-decoration:underline}.commPairs{gap:.4rem;display:grid}.commGraphWrap{border:1px solid var(--border);background:var(--surface-2);border-radius:14px;padding:.5rem;overflow-x:auto}.commGraph{width:100%;max-width:440px;height:auto;margin:0 auto;display:block}.commEdge{stroke:color-mix(in srgb, var(--primary) 55%, transparent);stroke-linecap:round;opacity:.8}.commNode circle{fill:var(--surface);stroke:var(--primary);stroke-width:2px}.commNode.focus circle{fill:var(--primary)}.commNode.known circle{fill:color-mix(in srgb, var(--primary) 30%, var(--surface))}.commNode.known{cursor:pointer}.commNode.known:hover circle{fill:var(--primary)}.commNode.known:hover text{fill:var(--text)}.commNode.known:focus-visible circle{outline:2px solid var(--primary)}.commNode text{fill:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px}.commNode.focus text,.commNode.known text{fill:var(--text);font-weight:700}.commPairMacs a{color:var(--primary-ink);font-weight:600;text-decoration:none}.commPairMacs a:hover{text-decoration:underline}.commPairList{gap:.35rem;margin:.3rem 0 0;padding:0;list-style:none;display:grid}.commPairList li{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;justify-content:space-between;align-items:center;gap:.6rem;padding:.5rem .65rem;display:flex}.commPairMacs{flex-wrap:wrap;align-items:center;gap:.25rem;font-size:.85rem;display:inline-flex}.commPairMacs code{background:color-mix(in srgb, var(--muted) 15%, transparent);border-radius:5px;padding:.05rem .3rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82em}.commPairMeta{flex:none;align-items:center;gap:.5rem;display:inline-flex}.commPairNet{color:var(--primary-ink);font-size:.75rem;font-weight:600}.commPairNet.muted{color:var(--muted);font-weight:500}.commPairFrames{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.75rem}.launchActionCta{width:100%;min-height:48px;margin:.2rem 0 1rem;font-size:1rem;font-weight:700}.launcherStep{gap:.7rem;display:grid}.launcherCapList{gap:.55rem;display:grid}.launcherCapCard{text-align:left;border:1px solid var(--border);background:var(--surface-2);width:100%;color:var(--text);cursor:pointer;border-radius:14px;align-items:center;gap:.8rem;padding:.85rem .9rem;transition:border-color .15s,background .15s;display:flex}.launcherCapCard:hover{border-color:color-mix(in srgb, var(--primary) 45%, var(--border));background:color-mix(in srgb, var(--primary) 7%, var(--surface-2))}.launcherCapIcon{background:color-mix(in srgb, var(--primary) 15%, var(--surface));width:42px;height:42px;color:var(--primary-ink);border-radius:11px;flex:none;justify-content:center;align-items:center;display:inline-flex}.launcherCapText{gap:.15rem;display:grid}.launcherCapText strong{font-size:.98rem}.launcherCapText span{color:var(--muted);font-size:.83rem;line-height:1.3}.launcherBack{color:var(--primary-ink);cursor:pointer;background:0 0;border:none;align-self:start;padding:.2rem 0;font-weight:600}.launcherDeviceList{gap:.5rem;display:grid}.launcherDeviceRow{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);cursor:pointer;border-radius:12px;justify-content:space-between;align-items:center;gap:.6rem;min-height:48px;padding:.75rem .85rem;display:flex}.launcherDeviceRow:disabled{opacity:.5;cursor:not-allowed}.launcherDeviceRow:not(:disabled):hover{border-color:var(--primary)}.launcherDeviceName{font-weight:600}.launcherDeviceState{text-transform:uppercase;letter-spacing:.02em;font-size:.75rem;font-weight:700}.launcherDeviceState.on{color:var(--ok)}.launcherDeviceState.off{color:var(--muted)}.cardLaunchAction{width:100%;min-height:44px;margin-top:.6rem;font-weight:600}.dashboardRunningTasks{gap:.6rem;display:grid}.dashboardRunningTasks .runningTasksCount{background:color-mix(in srgb, var(--primary) 20%, transparent);min-width:1.6rem;height:1.6rem;color:var(--primary-ink);border-radius:999px;justify-content:center;align-items:center;padding:0 .45rem;font-size:.8rem;font-weight:700;display:inline-flex}.runningTaskList{gap:.6rem;display:grid}.actionUnavailable{gap:.5rem;display:grid}.actionReasonList{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.actionReasonList li{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;justify-content:space-between;align-items:center;gap:.6rem;padding:.55rem .7rem;display:flex}.actionReasonName{font-size:.9rem;font-weight:600}.actionReasonWhy{color:var(--muted);text-align:right;font-size:.8rem}.simLab{border-color:color-mix(in srgb, var(--warn,#b8760f) 30%, var(--border))}.simScenarioField{margin:.4rem 0 .6rem}.simScenarioField select{border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--text);border-radius:10px;padding:.55rem .7rem;font-size:.95rem}.simGroup{gap:.4rem;margin-top:.7rem;display:grid}.simGroupCaption{letter-spacing:.03em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:700}.simButtonGrid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem;display:grid}.simBtn{min-height:42px}.simFooterRow{gap:.5rem;margin-top:.9rem;display:flex}.simMetaBtn{flex:auto;min-height:40px}.advancedViewBanner{color:var(--muted);align-items:center;gap:.5rem;margin:0 0 .9rem;font-size:.85rem;display:flex}.advancedViewBanner .badge{background:color-mix(in srgb, var(--warn,#b8760f) 20%, var(--surface-2));border:1px solid color-mix(in srgb, var(--warn,#b8760f) 45%, var(--border));color:var(--warn,#b8760f);white-space:nowrap;border-radius:999px;padding:.05rem .5rem;font-size:.72rem;font-weight:700}.framesFilters>summary{cursor:pointer;padding:.3rem 0;font-weight:600}.frameGuideIntro{margin:0 0 1rem}.frameGuideList{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem;display:grid}.frameGuideCard{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:.85rem .95rem}.frameGuideHead{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.frameGuideTerm{background:color-mix(in srgb, var(--primary) 12%, var(--surface));border-radius:6px;padding:.1rem .4rem;font-size:.9rem;font-weight:700}.frameGuideCat{white-space:nowrap;border-radius:999px;padding:.05rem .5rem;font-size:.68rem;font-weight:700}.frameGuideCat.info{background:color-mix(in srgb, var(--info,#2563eb) 18%, var(--surface-2));color:var(--info,#2563eb)}.frameGuideCat.success{background:color-mix(in srgb, var(--ok,#16a34a) 18%, var(--surface-2));color:var(--ok,#16a34a)}.frameGuideCat.muted{background:var(--surface);color:var(--muted)}.frameGuideWhat{margin:0 0 .45rem;font-size:.86rem}.frameGuideRead{color:var(--muted);margin:0;font-size:.84rem}.frameGuideRead strong{color:var(--text)}.sniffTl{flex-direction:column;gap:.4rem;margin-top:.5rem;display:flex}.sniffTlHead{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.sniffTlNow{font-size:.9rem}.sniffTlNow strong{font-size:1rem}.sniffTlNext{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.8rem}.sniffTlTrack{align-items:stretch;gap:.4rem;display:flex}.sniffTlSeg{border:1px solid var(--border);background:var(--surface-2);opacity:.55;border-radius:10px;flex-basis:0;min-width:0;padding:.45rem .55rem;transition:opacity .2s;position:relative;overflow:hidden}.sniffTlSeg.active{opacity:1}.sniffTlSeg.sniff.active{border-color:color-mix(in srgb, #ef4444 60%, var(--border));background:color-mix(in srgb, #ef4444 14%, var(--surface-2))}.sniffTlSeg.comm.active{border-color:color-mix(in srgb, #22c55e 60%, var(--border));background:color-mix(in srgb, #22c55e 14%, var(--surface-2))}.sniffTlSegHead{justify-content:space-between;align-items:baseline;gap:.35rem;font-size:.82rem;font-weight:700;display:flex}.sniffTlSegDur{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.72rem;font-weight:600}.sniffTlSeg small{color:var(--muted);margin-top:.1rem;font-size:.72rem;display:block}.sniffTlFill{border-radius:999px;height:3px;transition:width .9s linear;position:absolute;bottom:0;left:0}.sniffTlSeg.sniff .sniffTlFill{background:#ef4444;box-shadow:0 0 8px #ef4444}.sniffTlSeg.comm .sniffTlFill{background:#22c55e;box-shadow:0 0 8px #22c55e}.sniffTlFoot{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.78rem}.sniffTlStatus{align-items:center;gap:.45rem;padding:.4rem 0;font-size:.86rem;display:flex}.sniffTlStatus .sniffTlDot{border-radius:999px;flex:none;width:.55rem;height:.55rem;animation:1s ease-in-out infinite sniffTlPulse}.sniffTlStatus.stop .sniffTlDot{background:#f59e0b}.sniffTlStatus.recover .sniffTlDot{background:#38bdf8}@keyframes sniffTlPulse{0%,to{opacity:1}50%{opacity:.3}}html.light,html[data-theme=light],html.dark,html[data-theme=dark]{--radius:8px;--radius-lg:10px}html.light .pageHeader h1,html[data-theme=light] .pageHeader h1,html.dark .pageHeader h1,html[data-theme=dark] .pageHeader h1{font-family:var(--mono-console);text-transform:uppercase;letter-spacing:.16em;font-weight:600}html.light .sectionHeader h2,html[data-theme=light] .sectionHeader h2,html.dark .sectionHeader h2,html[data-theme=dark] .sectionHeader h2,html.light .sectionHeader h3,html[data-theme=light] .sectionHeader h3,html.dark .sectionHeader h3,html[data-theme=dark] .sectionHeader h3{font-family:var(--mono-console);text-transform:uppercase;letter-spacing:.1em}html.light .badge,html[data-theme=light] .badge,html.dark .badge,html[data-theme=dark] .badge{font-family:var(--mono-console);text-transform:uppercase;letter-spacing:.07em;border-radius:3px}html.light .appBrand,html[data-theme=light] .appBrand,html.dark .appBrand,html[data-theme=dark] .appBrand{font-family:var(--mono-console);letter-spacing:.12em}.baRow{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:1rem;padding:.5rem 0;display:flex}.baRow:last-child{border-bottom:0}.baRowLabel{font-family:var(--mono-console,ui-monospace, monospace);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.76rem}.baRowValue{font-family:var(--mono-console,ui-monospace, monospace);font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:1.05rem;font-weight:700}.baRow.accent .baRowValue{color:var(--primary-ink);font-size:1.25rem}html.light,html[data-theme=light]{--surface:#f6f4ee;--surface-2:#efece3;--text:#1b1916;--muted:#78736a;--border:#d5cfc2;--primary:#c1521e;--ok:#2f8a54;--warn:#a9701a;--danger:#bd3a2c;--shadow:0 1px 2px #1b19160f, 0 16px 38px -22px #1b191636;background-color:#e9e6de;background-image:linear-gradient(#0000000a 1px,#0000 1px),linear-gradient(90deg,#0000000a 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:34px 34px,34px 34px,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box}html.dark,html[data-theme=dark]{--surface:#131316;--surface-2:#191a1e;--text:#d7d3ca;--muted:#6f6b62;--border:#2a2a2e;--primary:#d9642f;--ok:#4f9e6a;--warn:#d0902f;--danger:#d24a3c;--shadow:0 1px 2px #00000080, 0 20px 46px -24px #000000d9;background-color:#0b0b0d;background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:34px 34px,34px 34px,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box}html.light,html[data-theme=light]{--primary-ink:#8e3c16;--muted-ink:#6a655d;--warn-ink:#8b5c15}html.dark,html[data-theme=dark]{--primary-ink:#de794b;--muted-ink:#8d897e;--warn-ink:var(--warn)}html.hacker,html[data-theme=hacker]{--primary-ink:var(--primary);--muted-ink:var(--muted);--warn-ink:var(--warn)}:where(html.light,html[data-theme=light],html.dark,html[data-theme=dark]) .btn,:where(html.light,html[data-theme=light],html.dark,html[data-theme=dark]) .launchActionCta,:where(html.light,html[data-theme=light],html.dark,html[data-theme=dark]) .loginButton,:where(html.light,html[data-theme=light],html.dark,html[data-theme=dark]) .guidedPrimaryAction{font-family:var(--mono-console);text-transform:uppercase;letter-spacing:.06em;font-weight:700}html.light .btn:not(.secondary):not(.danger),html[data-theme=light] .btn:not(.secondary):not(.danger),html.dark .btn:not(.secondary):not(.danger),html[data-theme=dark] .btn:not(.secondary):not(.danger),html.light .launchActionCta,html.dark .launchActionCta,html[data-theme=light] .launchActionCta,html[data-theme=dark] .launchActionCta,html.light .loginButton,html.dark .loginButton,html[data-theme=light] .loginButton,html[data-theme=dark] .loginButton,html.light .guidedPrimaryAction,html.dark .guidedPrimaryAction,html[data-theme=light] .guidedPrimaryAction,html[data-theme=dark] .guidedPrimaryAction{background:color-mix(in srgb, var(--primary) 8%, transparent);border:1px solid var(--primary);color:var(--primary-ink);box-shadow:none}html.light .btn:not(.secondary):not(.danger):hover,html.dark .btn:not(.secondary):not(.danger):hover,html.light .launchActionCta:hover,html.dark .launchActionCta:hover,html.light .guidedPrimaryAction:hover,html.dark .guidedPrimaryAction:hover{background:color-mix(in srgb, var(--primary) 18%, transparent)}html.light .btn.secondary,html.dark .btn.secondary,html[data-theme=light] .btn.secondary,html[data-theme=dark] .btn.secondary{border:1px solid var(--border);color:var(--muted);box-shadow:none;background:0 0}html.light .btn.danger,html.dark .btn.danger,html[data-theme=light] .btn.danger,html[data-theme=dark] .btn.danger{background:color-mix(in srgb, var(--danger) 10%, transparent);border:1px solid var(--danger);color:var(--danger);box-shadow:none}html.light .iconButton,html.dark .iconButton,html.light .miniButton,html.dark .miniButton{border:1px solid var(--border);color:var(--text);background:0 0}html.light .pageHeader:after,html.dark .pageHeader:after{background:linear-gradient(90deg, var(--primary), transparent)}html.light .nav a.active,html.dark .nav a.active,html.light .mobileBottomNav a.active,html.dark .mobileBottomNav a.active,html.light .mobileBottomNav button:hover,html.dark .mobileBottomNav button:hover{background:color-mix(in srgb, var(--primary) 14%, transparent);color:var(--primary-ink)}:where(html.light,html[data-theme=light],html.dark,html[data-theme=dark]) :is(.badge,.statusBadge){color:var(--muted);border:1px solid var(--border);font-family:var(--mono-console);text-transform:uppercase;letter-spacing:.06em;background:0 0;border-radius:4px;font-weight:700}:where(html.light,html[data-theme=light],html.dark,html[data-theme=dark]) :is(.statusBadge.online,.statusBadge.success,.badge.success,.statusBadge.real){color:var(--ok);border-color:color-mix(in srgb, var(--ok) 50%, var(--border));background:color-mix(in srgb, var(--ok) 8%, transparent)}:where(html.light,html[data-theme=light],html.dark,html[data-theme=dark]) :is(.statusBadge.warning,.badge.warning){color:var(--warn);border-color:color-mix(in srgb, var(--warn) 50%, var(--border));background:color-mix(in srgb, var(--warn) 8%, transparent)}:where(html.light,html[data-theme=light],html.dark,html[data-theme=dark]) :is(.statusBadge.danger,.badge.danger,.statusBadge.offline,.badge.offline){color:var(--danger);border-color:color-mix(in srgb, var(--danger) 50%, var(--border));background:color-mix(in srgb, var(--danger) 8%, transparent)}:where(html.light,html[data-theme=light],html.dark,html[data-theme=dark]) :is(.statusBadge.espnow,.statusBadge.mqtt,.statusBadge.usb,.statusBadge.info,.badge.info,.statusBadge.sim,.statusBadge.simulated){color:var(--primary-ink);border-color:color-mix(in srgb, var(--primary) 50%, var(--border));background:color-mix(in srgb, var(--primary) 8%, transparent)}html.light,html[data-theme=light],html.dark,html[data-theme=dark]{--surface-glass:var(--surface);--surface-hover:color-mix(in srgb, var(--primary) 10%, var(--surface));--radius-card:10px;--radius-control:8px}html.light .responsiveOverlay,html.dark .responsiveOverlay,html.light .sheetOverlay,html.dark .sheetOverlay,html.light .drawerOverlay,html.dark .drawerOverlay{background:#000c}html.light :is(.responsivePanel,.actionSheet,.detailsDrawer),html.dark :is(.responsivePanel,.actionSheet,.detailsDrawer){background:var(--surface);box-shadow:var(--shadow);border-radius:12px 12px var(--radius-card) var(--radius-card)}html.light :is(.card,.taskCard,.ledControlOverlay,.ledControlCard,.ledQuickCard,.stateCard),html.dark :is(.card,.taskCard,.ledControlOverlay,.ledControlCard,.ledQuickCard,.stateCard){background:var(--surface);border-color:var(--border)}html.light .taskCard,html.dark .taskCard{border-radius:var(--radius-card)}html.light .espTile,html.dark .espTile{background:var(--surface);border:1px solid color-mix(in srgb, var(--led-color) 22%, var(--border))}html.light .espTileGlow,html.dark .espTileGlow{display:none}html.light .segmented button,html.dark .segmented button{color:var(--muted);background:0 0;border-radius:6px}html.light .segmented button.active,html.dark .segmented button.active{background:color-mix(in srgb, var(--primary) 14%, transparent);color:var(--primary-ink);border-color:var(--primary)}html.light :is(.metadataBlock,.snifferTable th,.flashStatusPanel,.snifferLivePanel,.rangeField,.ledQuickSwitchTrack,.miniConsole,.deviceMiniConsole,.logViewer,.verifyLogPanel,.consolePanel,.rawMetadata pre,.kvBlock),html.dark :is(.metadataBlock,.snifferTable th,.flashStatusPanel,.snifferLivePanel,.rangeField,.ledQuickSwitchTrack,.miniConsole,.deviceMiniConsole,.logViewer,.verifyLogPanel,.consolePanel,.rawMetadata pre,.kvBlock){background:var(--surface-2);border-color:var(--border)}html.light .snifferTable td,html.dark .snifferTable td{border-color:var(--border)}:where(html.light,html[data-theme=light],html.dark,html[data-theme=dark]){--row-gap:1rem}.dataRow{justify-content:space-between;align-items:baseline;gap:var(--row-gap,1rem);border-bottom:1px solid var(--border);padding:.5rem 0;display:flex}.dataRow:last-child{border-bottom:0}.dataRowLabel{font-family:var(--mono-console);font-size:var(--fs-meta);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.dataRowValue{font-family:var(--mono-console);font-variant-numeric:tabular-nums;color:var(--text)}.dataRow.accent .dataRowValue{color:var(--primary-ink)}html.light .sectionMarker,html.dark .sectionMarker{font-family:var(--mono-console);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 .5rem;font-size:.72rem;display:block}html.light .sectionMarker:before,html.dark .sectionMarker:before{content:"— "}html.light .valueEmpty,html.dark .valueEmpty{font-family:var(--mono-console);letter-spacing:.12em;text-transform:uppercase;color:var(--danger);border:1px solid color-mix(in srgb, var(--danger) 50%, var(--border));border-radius:3px;padding:.05rem .4rem;font-size:.66rem}html.light :is(.metricValue,.metricLabel,.kvInline,.taskMetricsLine,.sectionActions .btn,th,.segmented button,.tabButton,.filterPanel>summary),html.dark :is(.metricValue,.metricLabel,.kvInline,.taskMetricsLine,.sectionActions .btn,th,.segmented button,.tabButton,.filterPanel>summary){font-family:var(--mono-console)}html.light th,html.dark th{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.72rem}html.light .metricValue,html.dark .metricValue{font-variant-numeric:tabular-nums}html.light .metricLabel,html.dark .metricLabel{text-transform:uppercase;letter-spacing:.1em;font-size:.72rem}html.light :is(.btn,.segmented button,.iconButton,input,select,textarea),html.dark :is(.btn,.segmented button,.iconButton,input,select,textarea){border-radius:var(--radius-control)}html.light :is(input,select,textarea),html.dark :is(input,select,textarea){background:var(--surface-2);border:1px solid var(--border);color:var(--text);font-family:var(--mono-console)}html.light :is(input,select,textarea):focus-visible,html.dark :is(input,select,textarea):focus-visible{outline:1px solid var(--primary);outline-offset:0;border-color:var(--primary)}html.light .taskProgressTrack,html.dark .taskProgressTrack{background:var(--border);border:0;border-radius:0;height:3px}html.light .taskProgressFill,html.dark .taskProgressFill{box-shadow:none;border-radius:0}html.light .badge,html.dark .badge,html.light .statusBadge,html.dark .statusBadge{border-radius:4px}html.light .kvList,html.dark .kvList{gap:0;display:block}html.light .kvList>div,html.dark .kvList>div{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:1rem;padding:.5rem 0;display:flex}html.light .kvList>div:last-child,html.dark .kvList>div:last-child{border-bottom:0}html.light .detailsList,html.dark .detailsList{display:block}html.light .detailsList>dt,html.dark .detailsList>dt{padding-top:.5rem}html.light .detailsList>dd,html.dark .detailsList>dd{border-bottom:1px solid var(--border);margin-bottom:.25rem;padding-bottom:.5rem}html.light :is(.kvList dt,.detailsList dt),html.dark :is(.kvList dt,.detailsList dt){font-family:var(--mono-console);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.76rem;font-weight:700}html.light :is(.kvList dd,.detailsList dd),html.dark :is(.kvList dd,.detailsList dd){font-family:var(--mono-console);color:var(--text);text-align:right;font-variant-numeric:tabular-nums}html.light .detailsList dd,html.dark .detailsList dd{text-align:left}html.light .sectionHeader h2,html.dark .sectionHeader h2,html.light .sectionHeader h3,html.dark .sectionHeader h3{letter-spacing:.16em;color:var(--muted);font-size:.78rem;font-weight:700}html.light .sectionHeader h2:before,html.dark .sectionHeader h2:before,html.light .sectionHeader h3:before,html.dark .sectionHeader h3:before{content:"— "}html.light .sectionHeader p,html.dark .sectionHeader p{color:var(--muted);font-size:.82rem}html.light :is(.healthStatusRows>*,.dashboardHealthGrid>*,.criticalEventList>*),html.dark :is(.healthStatusRows>*,.dashboardHealthGrid>*,.criticalEventList>*){border-color:var(--border)}html.light :is(.dashboardQuickTileText,.dashboardVerdictText,.healthHeroHeader,.runningTasksCount,.inventoryCounts,.inventorySummaryStrip),html.dark :is(.dashboardQuickTileText,.dashboardVerdictText,.healthHeroHeader,.runningTasksCount,.inventoryCounts,.inventorySummaryStrip){font-family:var(--mono-console)}html.light :is(.dashboardQuickTiles .card,.primaryNavCards .card,.listCard,.dashboardSecondaryPanel),html.dark :is(.dashboardQuickTiles .card,.primaryNavCards .card,.listCard,.dashboardSecondaryPanel){background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card)}html.light .loginEyebrow,html.dark .loginEyebrow{font-family:var(--mono-console);text-transform:uppercase;letter-spacing:.16em;color:var(--muted)}html.light :is(.consoleLogPane,.consoleFilters,.consoleControlDock,.consoleLogNotice,.structuredLogRow,.logRow),html.dark :is(.consoleLogPane,.consoleFilters,.consoleControlDock,.consoleLogNotice,.structuredLogRow,.logRow){background:var(--surface-2);border-color:var(--border)}html.light :is(.logRow,.structuredLogRow,.logParams,.logRowMeta,.logRowSource,.logRowDevice,.logRowSummary),html.dark :is(.logRow,.structuredLogRow,.logParams,.logRowMeta,.logRowSource,.logRowDevice,.logRowSummary){font-family:var(--mono-console)}html.light :is(.logChip,.espChip,.userChip,.actionChip),html.dark :is(.logChip,.espChip,.userChip,.actionChip){border:1px solid var(--border);color:var(--muted);font-family:var(--mono-console);text-transform:uppercase;letter-spacing:.06em;background:0 0;border-radius:4px}html.light :is(.flashStatusPanel,.guidedLogPanel,.guidedTroubleshootingPanel,.firmwareBuildLivePanel,.guidedTechnicalDetails),html.dark :is(.flashStatusPanel,.guidedLogPanel,.guidedTroubleshootingPanel,.firmwareBuildLivePanel,.guidedTechnicalDetails){background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-card)}html.light :is(.flashStatusLabel,.flashStatusValue,.flashEta,.firmwareBuildMeta,.firmwareBuildLatestLine,.guidedStatusRow),html.dark :is(.flashStatusLabel,.flashStatusValue,.flashEta,.firmwareBuildMeta,.firmwareBuildLatestLine,.guidedStatusRow){font-family:var(--mono-console)}html.light .flashStatusLabel,html.dark .flashStatusLabel{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:.74rem}html.light .guidedStatusChip,html.dark .guidedStatusChip{border:1px solid var(--border);color:var(--muted);font-family:var(--mono-console);text-transform:uppercase;letter-spacing:.06em;background:0 0;border-radius:4px}html.light .guidedStatusChip.running,html.dark .guidedStatusChip.running{color:var(--primary-ink);border-color:color-mix(in srgb, var(--primary) 50%, var(--border));background:color-mix(in srgb, var(--primary) 8%, transparent)}html.light :is(.usersCreateCard,.usersTableCard,.userRow,.userForm),html.dark :is(.usersCreateCard,.usersTableCard,.userRow,.userForm){background:var(--surface);border-color:var(--border)}html.light .userRow,html.dark .userRow,html.light :is(.networkTileHeader,.sourceEspPills,.toolbarButton,.filterSummaryButton,.progressiveSearch,.progressiveSort,.deviceGroupToggle),html.dark :is(.networkTileHeader,.sourceEspPills,.toolbarButton,.filterSummaryButton,.progressiveSearch,.progressiveSort,.deviceGroupToggle){font-family:var(--mono-console)}html.light :is(.toolbarButton,.filterSummaryButton,.deviceGroupToggle),html.dark :is(.toolbarButton,.filterSummaryButton,.deviceGroupToggle){border:1px solid var(--border);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;border-radius:var(--radius-control);background:0 0}html.light :is(.networkGroup,.networkToolbar,.deviceToolbar,.inventoryTopBar,.compactActionToolbar,.wifiDiscoveryTasksPanel),html.dark :is(.networkGroup,.networkToolbar,.deviceToolbar,.inventoryTopBar,.compactActionToolbar,.wifiDiscoveryTasksPanel){background:var(--surface);border-color:var(--border)}html.light .toastViewport>*,html.dark .toastViewport>*{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);font-family:var(--mono-console);box-shadow:var(--shadow)}html.light :is(.emptyState,.stateCard),html.dark :is(.emptyState,.stateCard){border:1px dashed var(--border);border-radius:var(--radius-card);background:0 0}html.light :is(.emptyState,.stateCard) p,html.dark :is(.emptyState,.stateCard) p{color:var(--muted)}html.light :is(.guidedLogPanel pre,.rawMetadata pre,.miniConsole,.miniConsoleToggle,.networkTile,.actionFeedback.saving,.flashStatusValue),html.dark :is(.guidedLogPanel pre,.rawMetadata pre,.miniConsole,.miniConsoleToggle,.networkTile,.actionFeedback.saving,.flashStatusValue){background:var(--surface-2);color:var(--text);border-color:var(--border)}html.light :is(.badge.bluetooth,.statusBadge.bluetooth),html.dark :is(.badge.bluetooth,.statusBadge.bluetooth),html[data-theme=light] :is(.badge.bluetooth,.statusBadge.bluetooth),html[data-theme=dark] :is(.badge.bluetooth,.statusBadge.bluetooth){color:#60a5fa;border:1px solid color-mix(in srgb, #3b82f6 55%, var(--border));background:#3b82f61f}html.light :is(.badge.bluetooth,.statusBadge.bluetooth),html[data-theme=light] :is(.badge.bluetooth,.statusBadge.bluetooth){color:#1d4ed8}html.light .actionFeedback.saving,html.dark .actionFeedback.saving{color:var(--muted)}html.light :is(.passwordToggle,textarea,.miniConsoleToggle),html.dark :is(.passwordToggle,textarea,.miniConsoleToggle){background:var(--surface-2);border:1px solid var(--border);color:var(--text)}.espTroubleshootPanel{margin-top:1rem}.espTroubleshootPanel>summary{cursor:pointer;font-family:var(--mono-console);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);align-items:center;gap:.5rem;font-size:.78rem;list-style:none;display:flex}.espTroubleshootPanel>summary::-webkit-details-marker{display:none}.espTroubleshootPanel>summary>span:last-child{margin-left:auto;transition:transform .15s}.espTroubleshootPanel[open]>summary>span:last-child{transform:rotate(180deg)}.espTroubleshootBody{gap:.75rem;margin-top:.75rem;display:grid}.espTileGrid{grid-auto-rows:1fr;align-items:stretch}.espTileGrid>.espTile{height:100%}.espTile>.espTaskList{margin-top:auto}.espTile{min-height:376px}.espTile>.espTaskState,.espTile>.espTaskList{overscroll-behavior:contain;min-height:186px;max-height:186px;margin-top:auto;overflow-y:auto}.espStatePills{min-height:52px}.espTile .cardLaunchActionSlot{min-height:44px;margin-top:.6rem}.espTile .cardLaunchActionSlot>.cardLaunchAction{margin-top:0}@media (width<=639px){.espTile{min-height:356px}.espTile>.espTaskState,.espTile>.espTaskList{overscroll-behavior:auto;min-height:176px;max-height:none;overflow-y:visible}}.espStatePills :is(.badge,.statusBadge){white-space:normal;overflow-wrap:anywhere;text-overflow:clip}:root{--control-h:44px;--control-h-compact:36px;--chip-font:.74rem;--card-pad:.85rem}:is(.btn,.toolbarButton,.segmented button,.launchActionCta,.cardLaunchAction,.bleActionRow .btn,.simBtn,.simMetaBtn,.topControls .btn){min-height:var(--control-h)}:is(.btn.compact,.miniButton,.detailsButton,.espNowSignalPeriods button){min-height:var(--control-h-compact)}:is(.iconButton,.espTaskStopButton,.espTaskStopButton.dangerStop){min-height:var(--control-h-compact);min-width:var(--control-h-compact)}:is(.iconButton,.miniButton,.toolbarButton,.segmented button,.espTaskStopButton,.ledRoundButton){text-align:center;justify-content:center;align-items:center;gap:.35rem;line-height:1;display:inline-flex}:is(.btn,.miniButton,.detailsButton,.launchActionCta,.cardLaunchAction,.simBtn,.simMetaBtn),:is(.iconButton,.espTaskStopButton){border-radius:var(--radius-control)}:is(.badge,.statusBadge,.taskPhaseBadge,.logChip,.userChip,.espChip,.actionChip,.resultChip,.frameGuideCat,.rangeValuePill){font-size:var(--chip-font);font-weight:700;line-height:1.35}.rangeField input[type=range]{min-height:var(--control-h-compact)}.rangeField{background:var(--surface-2);border-color:var(--border)}:is(.card,.metricCard,.pageSection,.networkCard,.clientCard,.deviceCard,.detailsSection,.taskInlineLaunchPanel,.launcherCapCard,.userRow){padding:var(--card-pad);border-radius:var(--radius-card)}.responsiveGrid.dense,.ledSwatchGrid,.gwFieldGrid,.scanGrid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}@media (width<=767px){.rangeField{min-width:0}:is(.topControls .mobileMenuSelect,.topControls select){width:100%;min-width:0}.channelHeatmap{overscroll-behavior-x:contain;overflow-x:auto}:is(.badge,.statusBadge){white-space:normal;overflow-wrap:anywhere;text-overflow:clip}.logParams{max-width:100%}}.pageStateBanner{padding:var(--card-pad);border-radius:var(--radius-card);border:1px solid var(--border);background:var(--surface);border-left-width:3px;flex-wrap:wrap;align-items:center;gap:.75rem 1.2rem;margin-bottom:.9rem;display:flex}.pageStateBanner.tone-ok{border-left-color:var(--ok)}.pageStateBanner.tone-info{border-left-color:var(--primary)}.pageStateBanner.tone-warning{border-left-color:var(--warn)}.pageStateBanner.tone-danger{border-left-color:var(--danger)}.pageStateBanner.tone-idle{border-left-color:var(--muted)}.pageStateBanner.tone-ok .pageStateTitle{color:var(--ok)}.pageStateBanner.tone-warning .pageStateTitle{color:var(--warn-ink)}.pageStateBanner.tone-danger .pageStateTitle{color:var(--danger)}.pageStateMain{flex:14rem;gap:.15rem;min-width:0;display:grid}.pageStateTitle{font-size:.95rem}.pageStateDetail{color:var(--muted);font-size:.82rem}.pageStateMetrics{flex-wrap:wrap;gap:.4rem 1.1rem;display:flex}.pageStateMetric{gap:.05rem;min-width:3.5rem;display:grid}.pageStateMetricValue{font-family:var(--mono-console,monospace);font-size:1.15rem;line-height:1.1}.pageStateMetricLabel{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.68rem}.pageStateMetric.tone-warning .pageStateMetricValue{color:var(--warn-ink)}.pageStateMetric.tone-danger .pageStateMetricValue{color:var(--danger)}.pageStateMetric.tone-ok .pageStateMetricValue{color:var(--ok)}.pageStateAction{margin-left:auto}@media (width<=639px){.pageStateAction{width:100%;margin-left:0}.pageStateAction>*{width:100%}}.taskPresetRow{grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:.5rem;display:grid}.taskPresetButton{text-align:left;min-height:var(--control-h);justify-items:start;gap:.15rem;height:auto;padding:.5rem .7rem;display:grid}.taskPresetButton small{color:var(--muted);white-space:normal;font-size:.7rem;line-height:1.3}.taskPresetButton.isActive{border-color:var(--primary)}.taskPresetButton.isActive strong{color:var(--primary-ink)}.taskPlanSummary{border-radius:var(--radius-control);border:1px dashed var(--border);color:var(--text);grid-column:1/-1;margin:.2rem 0 0;padding:.55rem .7rem;font-size:.82rem;line-height:1.4}.correlationGraphHeader{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem;display:flex}.correlationGraphHeader p{max-width:46rem;margin:.2rem 0 0}.correlationGraphScroll{overscroll-behavior-x:contain;overflow-x:auto}.correlationGraphSvg{width:100%;min-width:640px;display:block}.correlationAxis{fill:var(--muted);letter-spacing:.08em;font-size:11px;font-family:var(--mono-console,monospace)}.correlationLabel{fill:var(--text);font-size:11px}.correlationEdge{stroke:var(--border);opacity:.75}.correlationEdge.kind-device_esp.signal-excellent{stroke:var(--ok);opacity:.9}.correlationEdge.kind-device_esp.signal-good{stroke:var(--ok);opacity:.55}.correlationEdge.kind-device_esp.signal-weak{stroke:var(--warn);opacity:.6}.correlationEdge.kind-device_esp.signal-poor{stroke:var(--danger);opacity:.5}.correlationEdge.kind-device_network{stroke:var(--muted);opacity:.45}.correlationNode{cursor:pointer}.correlationNode:hover .correlationLabel{fill:var(--primary)}.correlationNode:focus-visible{outline:none}.correlationNode:focus-visible .correlationNetworkDisc,.correlationNode:focus-visible .correlationEspNode,.correlationNode:focus-visible .correlationDeviceNode{stroke:var(--primary);stroke-width:3px;paint-order:stroke}.correlationNode:focus-visible .correlationLabel{fill:var(--primary)}.correlationEspNode{fill:var(--surface-2);stroke:var(--text);stroke-width:1.5px}.correlationEspNode.isSelected{stroke:var(--primary);stroke-width:2.5px}.correlationNetworkDisc{stroke:#0006;stroke-width:1px}.correlationDeviceNode{fill:var(--surface-2);stroke:var(--text);stroke-width:1.5px}.correlationDeviceNode.isBluetooth{stroke:#3b82f6}.correlationDeviceNode.isTracker{fill:color-mix(in srgb, var(--danger) 30%, var(--surface-2));stroke:var(--danger)}.correlationDeviceNode.isSelected{stroke-width:3px}.correlationGraphFooter{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.6rem;display:flex}.roomGrid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:.75rem;margin-top:.75rem;display:grid}.roomColumn{border:1px solid var(--border);border-radius:var(--radius-card);padding:.65rem}.roomColumn h4{align-items:center;gap:.4rem;margin:0 0 .5rem;display:flex}.roomDeviceList{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.roomDeviceRow{text-align:left;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-control);width:100%;min-height:var(--control-h);color:inherit;cursor:pointer;border-left-width:3px;gap:.2rem;padding:.45rem .55rem;display:grid}.roomDeviceRow.signal-excellent,.roomDeviceRow.signal-good{border-left-color:var(--ok)}.roomDeviceRow.signal-weak{border-left-color:var(--warn)}.roomDeviceRow.signal-poor{border-left-color:var(--danger)}.roomDeviceRow.confidence-low,.roomDeviceRow.confidence-single_probe{opacity:.72;border-left-style:dashed}.roomDeviceLabel{overflow-wrap:anywhere;font-weight:600}.roomDeviceMeta{flex-wrap:wrap;gap:.25rem;display:flex}.timelineList{gap:.4rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid}.timelineItem{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-2);border-left-width:3px;grid-template-columns:5.5rem 1fr;gap:.5rem;padding:.5rem .6rem;display:grid}.timelineItem.signal-excellent,.timelineItem.signal-good{border-left-color:var(--ok)}.timelineItem.signal-weak{border-left-color:var(--warn)}.timelineItem.signal-poor{border-left-color:var(--danger)}.timelineWhen{font-family:var(--mono-console,monospace);color:var(--muted);font-size:.72rem}.timelineHeadline{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.timelineFrames{color:var(--muted);font-size:.75rem}.timelineDetail{overflow-wrap:anywhere;margin-top:.15rem}@media (width<=639px){.timelineItem{grid-template-columns:1fr}}.espCommandMenu{position:relative}.espCommandMenu>summary{cursor:pointer;list-style:none}.espCommandMenu>summary::-webkit-details-marker{display:none}.espCommandMenuBody{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);gap:.25rem;margin-top:.35rem;padding:.35rem;display:grid;position:absolute;left:0;right:0;box-shadow:0 12px 28px #0006}.espCommandItem{text-align:left;width:100%;min-height:var(--control-h);border-radius:var(--radius-control);color:inherit;cursor:pointer;background:0 0;border:1px solid #0000;justify-items:start;gap:.1rem;padding:.4rem .55rem;display:grid}.espCommandItem:hover:not(:disabled){border-color:var(--primary)}.espCommandItem small{color:var(--muted);font-size:.7rem;line-height:1.3}.espCommandItem:disabled{cursor:not-allowed;opacity:.6}.espCommandItem:disabled small{color:var(--warn)}.espTileGrid:has(.espCommandMenu[open]){grid-auto-rows:auto}.espTile:has(.espCommandMenu[open]){z-index:20;height:auto;overflow:visible}.espTile:has(.espCommandMenu[open]) .espTileGlow{opacity:0}.espCommandMenu[open]>.espCommandMenuBody{box-shadow:none;margin-top:.4rem;position:static}.clientRenameRow{gap:.4rem;margin-bottom:.5rem;display:grid}.clientRenameRow>span:first-child{font-size:.9rem;font-weight:700}.clientRenameControls{align-items:center;gap:.5rem;display:flex}.clientRenameControls input{min-width:0;height:var(--control-h,44px);border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:12px;flex:auto;padding:0 .7rem}.clientRenameControls .btn{flex:none}.clientRenameHint{margin:0 0 .75rem;font-size:.8rem}.segmentedControl{border:1px solid var(--border,#94a3b84d);background:#0f172a80;border-radius:10px;gap:2px;margin:.4rem 0;padding:3px;display:inline-flex}.segmentedOption{appearance:none;color:var(--muted,#94a3b8);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;min-height:40px;padding:.35rem .9rem;font-weight:600}.segmentedOption.selected{background:color-mix(in srgb, var(--accent,#f97316) 22%, transparent);color:var(--text,#e2e8f0);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent,#f97316) 55%, transparent)}.segmentedOption:disabled{opacity:.5;cursor:not-allowed}.collapsibleSection>.collapsibleSummary{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;list-style:none;display:flex}.collapsibleSection>.collapsibleSummary::-webkit-details-marker{display:none}.collapsibleSection>.collapsibleSummary:before{content:"▸";color:var(--muted,#94a3b8);font-size:.8em;transition:transform .15s}.collapsibleSection[open]>.collapsibleSummary:before{transform:rotate(90deg)}.collapsibleSummaryTitle{color:var(--text,#e2e8f0);font-size:1rem;font-weight:700}.collapsibleSummaryHint{white-space:nowrap;margin-left:auto}.signalLegend{align-items:center;gap:.6rem;margin:.5rem 0 .7rem;display:flex}.signalLegendBar{background:linear-gradient(90deg,red,orange,#ff0,#00e000,#04f);border-radius:999px;flex:1;height:12px;box-shadow:inset 0 0 0 1px #0f172a59}.signalLegendCap{color:var(--text,#e2e8f0);white-space:nowrap;font-size:.82rem;font-weight:700}.fsToolbar{flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:10px;display:flex}.fsBoardPicker{flex:260px;min-width:260px}.fsBoardPicker select{width:100%}.fsPreviewNote{color:var(--warn);margin-top:6px;font-size:.82rem;display:block}.fsIntro{margin:4px 0 12px}.fsSchematicWrap{border:1px solid var(--border);border-radius:var(--radius);background:radial-gradient(1200px 300px at 50% -40%, color-mix(in srgb, var(--primary) 8%, transparent), transparent), var(--surface-2);width:100%;padding:8px;overflow-x:auto}.fsSchematic{width:100%;min-width:720px;height:auto;color:var(--text);display:block}.fsPinLabel{font:600 15px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.fsModuleLabel{letter-spacing:.04em;transform-box:fill-box;font:700 18px/1 ui-monospace,Menlo,monospace}.fsCompLabel{fill:var(--muted);font:600 12px/1 system-ui,sans-serif}.fsPin .fsPinHalo{fill:color-mix(in srgb, var(--primary) 26%, transparent);opacity:0;transition:opacity .12s}.fsPinClickable:hover .fsPinHalo,.fsPinClickable:focus-visible .fsPinHalo{opacity:1}.fsPinClickable:focus-visible{outline:none}.fsPinSelRing{fill:none;stroke:var(--primary);stroke-width:3px}.fsPinClickable circle:first-of-type{transition:r .1s}.fsCompClickable{transition:filter .12s}.fsCompClickable:hover{filter:brightness(1.18) drop-shadow(0 0 6px color-mix(in srgb, var(--primary) 60%, transparent))}.fsCompClickable:focus-visible{filter:brightness(1.18) drop-shadow(0 0 6px var(--primary));outline:none}.fsTipTitle{fill:#e6fff5;font:700 15px/1 ui-monospace,Menlo,monospace}.fsTipLine{fill:#b9c4d0;font:500 12px/1 system-ui,sans-serif}.fsTipWarn{fill:#ffce6b;font:600 11px/1 system-ui,sans-serif}.fsLegend{color:var(--muted);flex-wrap:wrap;gap:14px;margin-top:12px;font-size:.82rem;display:flex}.fsLegend span{align-items:center;gap:6px;display:inline-flex}.fsDot{border:1px solid #0b0f16;border-radius:50%;width:12px;height:12px;display:inline-block}.fsDotWarn{background:#f6c344;box-shadow:0 0 0 2px #f6c34466}.fsFocusCard{margin-top:16px}.fsFocusPin h3{margin:0 0 4px;font-family:ui-monospace,Menlo,monospace}.fsFocusCaps{gap:4px;margin:8px 0 0;padding:0;list-style:none;display:grid}.fsWarnLine{color:var(--warn)}.fsSoon{margin-top:10px;font-style:italic}.fsSectionHead{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.fsSectionHead h3{margin:0}.fsAddDevice{border:1px dashed var(--border);border-radius:var(--radius);background:var(--surface-2);flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:12px;padding:12px;display:flex}.fsAddDevice .touchField,.fsAddDevice .fsBoardPicker{flex:200px}.fsDeviceGrid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.fsDeviceCard{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);transition:border-color .12s,box-shadow .12s;position:relative;overflow:hidden}.fsDeviceCard.selected{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.fsDeviceSelect{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:0;padding:12px;display:block}.fsDeviceTop{justify-content:space-between;align-items:center;gap:8px;display:flex}.fsDeviceMeta{color:var(--muted);margin-top:4px;font-size:.82rem}.fsDeviceAp{margin-top:6px;font-size:.82rem}.fsDeviceAp code{background:var(--surface);border-radius:6px;padding:1px 6px}.fsDeviceDel{opacity:.6;padding:2px 8px;position:absolute;top:8px;right:8px}.fsDeviceDel:hover{opacity:1}.fsBoardName{font-size:.95rem}.fsBoardName .muted{font-size:.78rem;display:block}.fsPickBanner{border-radius:var(--radius);background:color-mix(in srgb, var(--primary) 14%, transparent);border:1px solid var(--primary);align-items:center;gap:12px;margin:8px 0;padding:8px 12px;font-size:.9rem;display:flex}.fsRuleList{gap:10px;display:grid}.fsRuleItem{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:12px}.fsRuleItem.disabled{opacity:.55}.fsRuleItemHead{justify-content:space-between;align-items:center;gap:10px;display:flex}.fsRuleItemBtns{align-items:center;gap:6px;display:flex}.fsRuleSummary{margin-top:8px;font-size:.88rem;line-height:1.7}.fsRuleIf{color:var(--primary-ink);margin-right:6px;font-weight:700}.fsRuleThen{margin:0 6px;font-weight:700}.fsRuleOp{color:var(--warn);font-style:normal;font-weight:700}.fsRuleActionChip{background:var(--surface);border:1px solid var(--border);border-radius:999px;margin:0 4px 4px 0;padding:1px 10px;display:inline-block}.fsSwitch{cursor:pointer;width:40px;height:22px;display:inline-block;position:relative}.fsSwitch input{opacity:0;position:absolute}.fsSwitch span{background:var(--border);border-radius:999px;transition:background .15s;position:absolute;inset:0}.fsSwitch span:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:2px;left:2px}.fsSwitch input:checked+span{background:var(--ok)}.fsSwitch input:checked+span:after{transform:translate(18px)}.fsRuleEditor{gap:16px;display:grid}.fsRuleBlock{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:12px}.fsRuleBlockHead{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.fsRuleBlockHead h4{margin:0;font-size:1rem}.fsOpToggle{border:1px solid var(--border);border-radius:8px;display:inline-flex;overflow:hidden}.fsOpToggle button{background:var(--surface);cursor:pointer;color:var(--muted);border:0;padding:4px 12px;font-weight:700}.fsOpToggle button.active{background:var(--primary);color:#fff}.fsCond,.fsAction{border:1px solid var(--border);background:var(--surface);border-radius:10px;align-items:flex-start;gap:10px;margin-bottom:10px;padding:10px;display:flex;position:relative}.fsOpBadge{background:var(--warn);color:#1b1916;border-radius:999px;padding:1px 8px;font-size:.72rem;font-weight:700;position:absolute;top:-10px;left:10px}.fsCondGrid,.fsActionGrid{flex-wrap:wrap;flex:1;align-items:flex-end;gap:10px;display:flex}.fsCondGrid label,.fsActionGrid label{flex-direction:column;gap:3px;font-size:.8rem;display:flex}.fsCondGrid label span,.fsActionGrid label span{color:var(--muted)}.fsCondGrid select,.fsCondGrid input,.fsActionGrid select,.fsActionGrid input{padding:6px 8px}.fsGrow{flex:180px}.fsGrow input{width:100%}.fsCheck{align-items:center;flex-direction:row!important;gap:6px!important}.fsPinPick{gap:4px;display:flex}.fsPickBtn{padding:4px 8px}.fsPickBtn.armed{background:var(--primary);color:#fff}.fsRemoveBtn{align-self:flex-start;padding:2px 8px}.fsDur{align-items:center;gap:6px;display:flex}.fsDur input{width:74px}.fsActionType{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;align-self:center;margin-left:auto;font-size:.72rem}.fsBlinkColors{flex-direction:column;gap:3px;display:flex}.fsColLabel{color:var(--muted);font-size:.8rem}.fsColorList{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.fsColorItem{display:inline-flex;position:relative}.fsColorItem input[type=color]{border:1px solid var(--border);border-radius:6px;width:34px;height:30px;padding:0}.fsColorDel{background:var(--danger);color:#fff;cursor:pointer;border:0;border-radius:50%;width:16px;height:16px;font-size:10px;line-height:1;position:absolute;top:-6px;right:-6px}.fsColorAdd{padding:4px 10px}.fsAddActionRow{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fsAddActionRow>span{color:var(--muted);font-size:.85rem}.fsAddCondRow{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fsAntennaCond{padding-top:4px}.fsAntennaBadge{background:color-mix(in srgb, var(--primary) 16%, transparent);color:var(--primary-ink);white-space:nowrap;border-radius:999px;align-self:center;padding:3px 9px;font-size:.78rem;font-weight:700}.fsThrottle em{margin-top:2px;font-size:.78rem;display:block}.fsRuleActions{margin-top:4px}@media (width<=640px){.fsCondGrid,.fsActionGrid{flex-direction:column;align-items:stretch}.fsActionType{margin-left:0}}.fsPushCard .buttonRow{margin-top:10px}.fsCredTableWrap{overflow-x:auto}.fsCredTable{border-collapse:collapse;width:100%;font-size:.88rem}.fsCredTable th,.fsCredTable td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:6px 10px}.fsCredTable th{color:var(--muted);font-weight:600}.fsCredPw{align-items:center;gap:8px;display:inline-flex}.fsEyeBtn{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;padding:1px 6px;font-size:.9rem}.fsEyeBtn:hover{border-color:var(--primary)}.fsDeviceActions{gap:6px;display:flex;position:absolute;top:8px;right:8px}.fsDeviceFlash{padding:3px 10px;font-size:.82rem}.fsDeviceDel{opacity:.7;padding:3px 8px}.fsModalBackdrop{z-index:1000;background:#06090eb8;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.fsModal{width:min(560px,100%);max-height:90vh;overflow-y:auto}.fsFlashSteps{counter-reset:step;flex-wrap:wrap;gap:8px;margin:12px 0;padding:0;list-style:none;display:flex}.fsFlashSteps li{counter-increment:step;border:1px solid var(--border);color:var(--muted);border-radius:10px;flex:140px;padding:8px 10px;font-size:.85rem;position:relative}.fsFlashSteps li:before{content:counter(step);background:var(--border);width:20px;height:20px;color:var(--text);border-radius:50%;justify-content:center;align-items:center;margin-right:8px;font-size:.75rem;font-weight:700;display:inline-flex}.fsFlashSteps li.active{border-color:var(--primary);color:var(--text)}.fsFlashSteps li.active:before{background:var(--primary);color:#fff}.fsFlashSteps li.done{border-color:var(--ok);color:var(--text)}.fsFlashSteps li.done:before{content:"✓";background:var(--ok);color:#fff}.fsSpinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:34px;height:34px;margin:12px auto;animation:.8s linear infinite fsspin}@keyframes fsspin{to{transform:rotate(360deg)}}.fsBuildLog{color:#9fb3c8;white-space:pre-wrap;background:#0b0f16;border-radius:8px;max-height:140px;padding:8px;font-size:.72rem;overflow:auto}.fsFlashReady{text-align:center;gap:10px;display:grid}.fsProgressBar{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;height:12px;overflow:hidden}.fsProgressBar span{background:var(--primary);height:100%;transition:width .2s;display:block}.fsFlashProgress{text-align:center;gap:6px;display:grid}.fsFlashWarn{font-size:.8rem}.fsFlashDone{text-align:center;gap:12px;display:grid}.fsBigOk{color:var(--ok);font-size:1.2rem;font-weight:700}.fsApBox{background:var(--surface-2);border:1px solid var(--border);text-align:left;border-radius:10px;gap:6px;padding:12px;display:grid}.fsApBox code{background:var(--surface);border-radius:6px;padding:2px 8px;font-size:1.05rem}.fsStep{border-left:3px solid var(--border);position:relative}.fsStep.active{border-left-color:var(--primary)}.fsStep.done{border-left-color:var(--ok)}.fsStepHead{align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.fsStepHead h3{margin:0;font-size:1.05rem}.fsStepHead p{margin:2px 0 0;font-size:.85rem}.fsStepNum{background:var(--border);width:30px;height:30px;color:var(--text);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.fsStep.active .fsStepNum{background:var(--primary);color:#fff}.fsStep.done .fsStepNum{background:var(--ok);color:#fff}.fsStepBody{padding-left:42px}@media (width<=640px){.fsStepBody{padding-left:0}}.fsEmptyCta{justify-items:start;gap:10px;display:grid}.fsAddMore{margin-top:12px}.fsStep2{gap:10px;display:grid}.fsMiniSteps{color:var(--muted);gap:4px;margin:4px 0;padding-left:20px;font-size:.9rem;display:grid}.fsBigFlash{justify-self:start;margin-top:6px;padding:12px 22px;font-size:1.05rem}.fsGuide{counter-reset:g;gap:14px;margin:0;padding:0;list-style:none;display:grid}.fsGuide li{counter-increment:g;padding-left:42px;position:relative}.fsGuide li:before{content:counter(g);background:var(--surface-2);border:1px solid var(--border);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.85rem;font-weight:700;display:flex;position:absolute;top:0;left:0}.fsGuide li b{margin-bottom:2px;display:block}.fsGuide li span{color:var(--muted);font-size:.9rem}.fsApChip{background:var(--surface-2);border:1px solid var(--primary);color:var(--text);border-radius:6px;padding:1px 8px;font-weight:700}.fsOnlineOk{text-align:left}.fsRulesArea{border-top:1px solid var(--border);margin-top:16px;padding-top:14px}.fsDeviceCard{flex-direction:column;display:flex}.fsDeviceActions{gap:8px;padding:0 12px 12px;display:flex;position:static}.fsDeviceActions .btn{flex:1;padding:8px 10px;font-size:.85rem}.fsDeviceDel{opacity:1;flex:none;position:static;top:auto;right:auto}.fsDeviceFlash{font-weight:700}.fsModal .fsSectionHead{align-items:flex-start;gap:12px}.fsModal .fsSectionHead h3{font-size:1rem;line-height:1.3}.fsModal .fsSectionHead .btn{white-space:nowrap;flex:none}.fsFlashError{gap:12px;display:grid}.fsConnectHelp{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:10px 12px}.fsConnectHelp strong{margin-bottom:6px;display:block}.fsConnectHelp ol{color:var(--muted);gap:5px;margin:0;padding-left:18px;font-size:.88rem;display:grid}:root{--chart-1:#2a78d6;--chart-2:#eb6834;--chart-3:#1baf7a;--chart-4:#eda100;--chart-5:#e87ba4;--chart-6:#008300;--chart-7:#4a3aa7;--chart-8:#e34948;--chart-seq:#2a78d6;--chart-grid:#00000017}html.dark,html[data-theme=dark],html.hacker,html[data-theme=hacker]{--chart-1:#3987e5;--chart-2:#d95926;--chart-3:#199e70;--chart-4:#c98500;--chart-5:#d55181;--chart-6:#2fa32f;--chart-7:#9085e9;--chart-8:#e66767;--chart-seq:#3987e5;--chart-grid:#ffffff1a}.statsGrid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:1rem;display:grid}.statsKpiRow{grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:.75rem;margin-bottom:1rem;display:grid}.statKpi{background:var(--surface-2);border:1px solid var(--border);border-radius:14px;min-width:0;padding:.8rem .9rem}.statKpi .kpiVal{font-size:1.6rem;font-weight:900;line-height:1.05}.statKpi .kpiLbl{color:var(--muted);margin-top:.15rem;font-size:.78rem}.chartCard{background:var(--surface-2);border:1px solid var(--border);border-radius:16px;min-width:0;padding:.9rem 1rem 1rem;overflow:hidden}.chartCard h3{margin:0 0 .15rem;font-size:.98rem}.chartCard .chartSub{color:var(--muted);margin:0 0 .7rem;font-size:.78rem}.chartSvg{width:100%;height:auto;display:block;overflow:visible}.chartLegend{flex-wrap:wrap;gap:.35rem .8rem;margin-top:.7rem;display:flex}.chartLegend .lg{color:var(--muted);align-items:center;gap:.35rem;min-width:0;font-size:.76rem;display:inline-flex}.chartLegend .lgDot{border-radius:3px;flex-shrink:0;width:10px;height:10px}.chartLegend .lgVal{color:var(--text);font-weight:800}.chartEmpty{color:var(--muted);text-align:center;padding:1.4rem 0;font-size:.85rem}.hbarList{flex-direction:column;gap:.45rem;display:flex}.hbarRow{grid-template-columns:minmax(4.5rem,8rem) 1fr auto;align-items:center;gap:.5rem;display:grid}.hbarLabel{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.hbarTrack{background:var(--chart-grid);border-radius:6px;height:12px;overflow:hidden}.hbarFill{border-radius:6px;min-width:2px;height:100%;display:block}.hbarVal{color:var(--text);font-size:.78rem;font-weight:800}.taskLauncherGrid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:.55rem;display:grid}.taskLauncherGrid>.btn{text-align:center;justify-content:center;align-items:center;width:100%;min-height:3.1rem;padding:.6rem .9rem;display:inline-flex}.rfPage{gap:var(--space-5);padding-bottom:2rem;display:grid}.rfPanel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem}.rfPanel h2,.rfPanel h3{margin:.1rem 0 .35rem}.rfPanel p{color:var(--muted)}.rfPanelHead{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.rfPanelHead select{min-width:15rem}.rfSafetyNote{border:1px solid color-mix(in srgb,var(--warn) 55%,var(--border));background:color-mix(in srgb,var(--warn) 8%,var(--surface));border-radius:var(--radius);padding:.9rem 1rem}.rfLed{vertical-align:middle;border-radius:50%;width:.75rem;height:.75rem;margin:0 .2rem;display:inline-block}.rfLed.green{background:var(--ok)}.rfLed.red{background:var(--danger)}.rfSetupGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:1rem;display:grid}.rfSetupGrid label,.rfCoords label{color:var(--muted);gap:.3rem;font-size:.85rem;display:grid}.rfSetupGrid input,.rfSetupGrid select,.rfLinkEdit select,.rfCoords input,.rfPanelHead select{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:.68rem}.rfLinksEditor{gap:.75rem;margin-top:1rem;display:grid}.rfLinksHead,.rfControls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;display:flex}.rfLinkEdit{border:1px solid var(--border);border-radius:14px;grid-template-columns:auto minmax(10rem,1fr) auto minmax(10rem,1fr) auto;align-items:center;gap:.5rem;padding:.75rem;display:grid}.rfCoords{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;display:grid}.rfWarn,.rfMessage{border-left:3px solid var(--warn);background:color-mix(in srgb,var(--warn) 7%,transparent);border-radius:6px;padding:.6rem .8rem}.rfMetricsGrid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.7rem;display:grid}.rfMetric{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);gap:.3rem;padding:1rem;display:grid}.rfMetric span,.rfMetric small{color:var(--muted)}.rfMetric strong{letter-spacing:.02em;font-size:1.35rem}.rfVisualGrid{grid-template-columns:1fr 1fr 1fr;gap:.75rem;display:grid}.rfSpark{width:100%;height:12rem;color:var(--primary-ink);background:linear-gradient(to bottom,transparent 49%,var(--border) 50%,transparent 51%);border-radius:10px}.rfChartEmpty{height:12rem;color:var(--muted);place-items:center;display:grid}.rfBands{align-items:flex-end;gap:.4rem;height:12rem;display:flex}.rfBands>div{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:.25rem;height:100%;display:flex}.rfBands span{background:var(--primary);border-radius:5px 5px 1px 1px;width:100%;min-height:3px;display:block}.rfBands small{color:var(--muted)}.rfRoomWrap{gap:.7rem;display:grid}.rfRoom{background:var(--surface-2);border-radius:14px;width:100%;max-height:30rem}.rfRoomBorder{fill:none;stroke:var(--border);stroke-width:.8px}.rfLinkLine{stroke:var(--primary)}.rfTxDot{fill:var(--warn)}.rfRxDot{fill:var(--primary)}.rfMapText{fill:var(--text);paint-order:stroke;stroke:var(--surface-2);stroke-width:.9px;stroke-linejoin:round;font-size:3.4px;font-weight:600}.rfEstimateHalo{fill:color-mix(in srgb,var(--danger) 18%,transparent);stroke:var(--danger);stroke-width:.5px}.rfEstimateDot{fill:var(--danger)}.rfMapLegend{color:var(--muted);font-size:.9rem}.rfNodeList{flex-wrap:wrap;gap:.5rem;display:flex}.rfNodeList span{border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:.35rem .55rem;font-size:.8rem}@media (width<=1100px){.rfMetricsGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.rfVisualGrid{grid-template-columns:1fr}.rfSetupGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.rfPanelHead{flex-direction:column}.rfPanelHead select{width:100%;min-width:0}.rfSetupGrid,.rfMetricsGrid,.rfLinkEdit{grid-template-columns:1fr}.rfCoords{grid-column:auto;grid-template-columns:repeat(2,1fr)}.rfLinkEdit>span{display:none}}.rfScene3dWrap{flex-direction:column;gap:.5rem;display:flex}.rfScene3d{background:var(--surface-2);border:1px solid var(--border);touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;border-radius:14px;width:100%;max-height:30rem}.rfScene3d:active{cursor:grabbing}.rfScene3d.isStale{opacity:.55}.rfScene3dGrid{stroke:var(--border);stroke-width:1px;opacity:.38}.rfScene3dEdge{stroke:var(--border);stroke-width:1.6px;opacity:.85}.rfScene3dRadar{fill:var(--accent,#22c55e);opacity:.9}.rfScene3dLabel{fill:var(--text);opacity:1;paint-order:stroke;stroke:var(--surface-2);stroke-width:3px;stroke-linejoin:round;font-size:11px}.rfScene3dShadow{fill:currentColor;opacity:.16}.rfScene3dDrop{stroke:currentColor;stroke-width:1px;opacity:.35;stroke-dasharray:3 3}.rfScene3dHalo{fill:var(--danger,#ef4444);opacity:.18}.rfScene3dDot{fill:var(--danger,#ef4444)}.rfScene3dTarget{color:inherit}.rfScene3dFoot{opacity:.8;flex-wrap:wrap;justify-content:space-between;gap:.75rem;font-size:.82rem;display:flex}.rfScene3dHint{opacity:.65}.rfRadarAbsent{flex-direction:column;gap:.5rem;font-size:.9rem;display:flex}.rfRadarWiring{opacity:.85}.rfRadarWiring code{font-family:var(--mono,monospace);background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:.05rem .35rem}.rfRadarStale{opacity:.8;margin:0 0 .5rem;font-size:.85rem}.rfNodeMac{opacity:.6;font-family:var(--mono,monospace);font-size:.78em}.rfDiagGrid{flex-direction:column;gap:.5rem;display:flex}.rfDiagRow{border:1px solid var(--border);border-left:3px solid var(--border);background:var(--surface-2);border-radius:10px;padding:.55rem .75rem}.rfDiagRow.isOk{border-left-color:var(--ok,#22c55e)}.rfDiagRow.isFailed{border-left-color:var(--danger,#ef4444)}.rfDiagHead{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.rfDiagState{opacity:.8;margin-left:auto;font-size:.8rem}.rfDiagStats{flex-wrap:wrap;gap:.25rem .9rem;margin-top:.35rem;font-size:.82rem;display:flex}.rfDiagWarn{color:var(--danger,#ef4444)}.rfDiagHint{opacity:.85;margin:.4rem 0 0;font-size:.8rem}:root{--fs-page:1.5rem;--fs-id:1rem;--fs-body:.875rem;--fs-meta:.75rem;--fs-hero:clamp(1.75rem, 5vw, 2.5rem);--r-control:8px;--r-card:12px;--r-pill:999px;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--radius:var(--r-control);--radius-lg:var(--r-card);--radius-card:var(--r-card);--radius-control:var(--r-control);--on-primary:#fff;--tone-ok-fg:#1f6e41;--tone-ok-bg:#e3f1e8;--tone-ok-border:#9ccdb0;--tone-warn-fg:#7a4f0e;--tone-warn-bg:#f7ecd8;--tone-warn-border:#d9b986;--tone-danger-fg:#a12f22;--tone-danger-bg:#f7e2df;--tone-danger-border:#dea59d;--tone-info-fg:#1a5f96;--tone-info-bg:#e1edf7;--tone-info-border:#9dbfdd;--tone-neutral-fg:#6b665d;--tone-neutral-bg:#edeae2;--tone-neutral-border:#d5cfc2;--signal-strong:var(--tone-ok-fg);--signal-medium:var(--tone-warn-fg);--signal-weak:var(--tone-warn-fg);--signal-dead:var(--tone-danger-fg)}@media (width<=767px){:root{--fs-page:1.25rem}}html.light,html[data-theme=light]{--muted:#6b665d;--radius:var(--r-control);--radius-lg:var(--r-card);--radius-card:var(--r-card);--radius-control:var(--r-control);--on-primary:#fff;--tone-ok-fg:#1f6e41;--tone-ok-bg:color-mix(in srgb, var(--ok) 12%, var(--surface));--tone-ok-border:color-mix(in srgb, var(--ok) 45%, var(--border));--tone-warn-fg:#7a4f0e;--tone-warn-bg:color-mix(in srgb, var(--warn) 14%, var(--surface));--tone-warn-border:color-mix(in srgb, var(--warn) 50%, var(--border));--tone-danger-fg:#a12f22;--tone-danger-bg:color-mix(in srgb, var(--danger) 12%, var(--surface));--tone-danger-border:color-mix(in srgb, var(--danger) 45%, var(--border));--info:#1f6fae;--tone-info-fg:#1a5f96;--tone-info-bg:color-mix(in srgb, var(--info) 12%, var(--surface));--tone-info-border:color-mix(in srgb, var(--info) 45%, var(--border));--tone-neutral-fg:var(--muted);--tone-neutral-bg:color-mix(in srgb, var(--text) 6%, var(--surface));--tone-neutral-border:var(--border);--signal-strong:var(--tone-ok-fg);--signal-medium:var(--tone-warn-fg);--signal-weak:var(--tone-warn-fg);--signal-dead:var(--tone-danger-fg)}html.dark,html[data-theme=dark]{--muted:#8a867c;--radius:var(--r-control);--radius-lg:var(--r-card);--radius-card:var(--r-card);--radius-control:var(--r-control);--on-primary:#0b0b0d;--tone-ok-fg:#6fc48a;--tone-ok-bg:color-mix(in srgb, var(--ok) 16%, var(--surface));--tone-ok-border:color-mix(in srgb, var(--ok) 45%, var(--border));--tone-warn-fg:#e2a94a;--tone-warn-bg:color-mix(in srgb, var(--warn) 16%, var(--surface));--tone-warn-border:color-mix(in srgb, var(--warn) 45%, var(--border));--tone-danger-fg:#ef6f61;--tone-danger-bg:color-mix(in srgb, var(--danger) 16%, var(--surface));--tone-danger-border:color-mix(in srgb, var(--danger) 45%, var(--border));--info:#4d9fdc;--tone-info-fg:#6fb3ea;--tone-info-bg:color-mix(in srgb, var(--info) 16%, var(--surface));--tone-info-border:color-mix(in srgb, var(--info) 45%, var(--border));--tone-neutral-fg:var(--muted);--tone-neutral-bg:color-mix(in srgb, var(--text) 7%, var(--surface));--tone-neutral-border:var(--border);--signal-strong:var(--tone-ok-fg);--signal-medium:var(--tone-warn-fg);--signal-weak:var(--tone-warn-fg);--signal-dead:var(--tone-danger-fg)}html.hacker,html[data-theme=hacker]{--r-control:0px;--r-card:0px;--r-pill:999px;--ok:#2fbf6b;--warn:#ffd24a;--danger:#ff6b6b;--info:#4dd8ff;--on-primary:#020403;--tone-ok-fg:#2fbf6b;--tone-ok-bg:color-mix(in srgb, var(--ok) 14%, var(--surface-2));--tone-ok-border:color-mix(in srgb, var(--ok) 55%, var(--border));--tone-warn-fg:#ffd24a;--tone-warn-bg:color-mix(in srgb, var(--warn) 12%, var(--surface-2));--tone-warn-border:color-mix(in srgb, var(--warn) 55%, var(--border));--tone-danger-fg:#ff6b6b;--tone-danger-bg:color-mix(in srgb, var(--danger) 14%, var(--surface-2));--tone-danger-border:color-mix(in srgb, var(--danger) 55%, var(--border));--tone-info-fg:#4dd8ff;--tone-info-bg:color-mix(in srgb, var(--info) 12%, var(--surface-2));--tone-info-border:color-mix(in srgb, var(--info) 55%, var(--border));--tone-neutral-fg:var(--muted);--tone-neutral-bg:color-mix(in srgb, var(--text) 8%, var(--surface-2));--tone-neutral-border:var(--border);--signal-strong:var(--tone-ok-fg);--signal-medium:var(--tone-warn-fg);--signal-weak:var(--tone-warn-fg);--signal-dead:var(--tone-danger-fg)}html .pageHeader h1,html:is(.light,.dark,.hacker,[data-theme]) .pageHeader h1{font-size:var(--fs-page);letter-spacing:-.01em;text-transform:none;font-weight:700;line-height:1.2}html .btn{font-size:var(--fs-body);text-transform:none;letter-spacing:0;border-radius:var(--r-control);font-weight:600}html .btn.danger,html:is(.light,.dark,.hacker,[data-theme]) .btn.danger{background:var(--tone-danger-bg);color:var(--tone-danger-fg);border:1px solid var(--tone-danger-border);box-shadow:none}html:is(.light,.dark,.hacker,[data-theme]) .btn.danger:hover{background:color-mix(in srgb, var(--danger) 24%, var(--tone-danger-bg))}html .statusBadge,html:is(.light,.dark,.hacker,[data-theme]) .statusBadge{min-height:22px;font-size:var(--fs-meta);letter-spacing:.02em;border:1px solid var(--tone-neutral-border);border-radius:var(--r-pill);background:var(--tone-neutral-bg);color:var(--tone-neutral-fg);box-shadow:none;padding:.1rem .55rem;font-weight:600;line-height:1.25}html .statusBadge:is(.online,.real,.success),html:is(.light,.dark,.hacker,[data-theme]) .statusBadge:is(.online,.real,.success),html:is(.light,.dark,.hacker,[data-theme]) .badge.success{color:var(--tone-ok-fg);background:var(--tone-ok-bg);border-color:var(--tone-ok-border)}html .statusBadge:is(.degraded,.warning),html:is(.light,.dark,.hacker,[data-theme]) .statusBadge:is(.degraded,.warning),html:is(.light,.dark,.hacker,[data-theme]) .badge.warning{color:var(--tone-warn-fg);background:var(--tone-warn-bg);border-color:var(--tone-warn-border)}html .statusBadge:is(.offline,.danger),html:is(.light,.dark,.hacker,[data-theme]) .statusBadge:is(.offline,.danger),html:is(.light,.dark,.hacker,[data-theme]) .badge.danger{color:var(--tone-danger-fg);background:var(--tone-danger-bg);border-color:var(--tone-danger-border)}html .statusBadge:is(.info,.mqtt,.espnow,.usb,.sim,.simulated),html:is(.light,.dark,.hacker,[data-theme]) .statusBadge:is(.info,.mqtt,.espnow,.usb,.sim,.simulated),html:is(.light,.dark,.hacker,[data-theme]) .badge.info{color:var(--tone-info-fg);background:var(--tone-info-bg);border-color:var(--tone-info-border)}html .statusBadge:is(.neutral,.unknown),html:is(.light,.dark,.hacker,[data-theme]) .statusBadge:is(.neutral,.unknown){color:var(--tone-neutral-fg);background:var(--tone-neutral-bg);border-color:var(--tone-neutral-border)}html:is(.hacker,[data-theme=hacker]) .statusBadge:is(.online,.real,.success):before{content:"● "}html:is(.hacker,[data-theme=hacker]) .statusBadge:is(.degraded,.warning):before{content:"▲ "}html:is(.hacker,[data-theme=hacker]) .statusBadge:is(.offline,.danger):before{content:"✕ "}html:is(.hacker,[data-theme=hacker]) .statusBadge{text-transform:none}.themeSwitcher{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:inline-flex}.themeSwitcherLabel{font-size:var(--fs-body);color:var(--text);font-weight:600}.p1-segmentedGroup{border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface-2);align-items:stretch;max-width:100%;display:inline-flex;overflow:hidden}.p1-segmentedItem{justify-content:center;align-items:center;gap:var(--space-1);min-width:36px;min-height:36px;padding:0 var(--space-3);border:0;border-left:1px solid var(--border);color:var(--muted);font-size:var(--fs-body);cursor:pointer;white-space:nowrap;background:0 0;font-weight:600;line-height:1;display:inline-flex}.p1-segmentedItem:first-child{border-left:0}.p1-segmentedItem:hover{color:var(--text)}.p1-segmentedItem.active{background:color-mix(in srgb, var(--primary) 16%, transparent);color:var(--primary-ink)}.p1-segmentedItem:focus-visible{outline-offset:-3px}.themeSwitcherCompact .p1-segmentedItem{padding:0 var(--space-2)}@media (width<=767px){.p1-segmentedItem{min-width:44px;min-height:44px;padding:0 var(--space-1)}.p1-segmentedGroup{scrollbar-width:none;overflow:auto hidden}.p1-segmentedGroup::-webkit-scrollbar{display:none}}.topControls .themeSwitcher .p1-segmentedGroup,.userMenuControl .themeSwitcher .p1-segmentedGroup{width:100%}.topControls .themeSwitcher .p1-segmentedItem,.userMenuControl .themeSwitcher .p1-segmentedItem{flex:1 1 0}html.light,html[data-theme=light],html.dark,html[data-theme=dark],html.hacker,html[data-theme=hacker]{--tone-neutral-fg:var(--muted-ink)}.p1AdminPurge{flex-direction:column;gap:14px;display:flex}.p1AdminPurgeList{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.p1AdminPurgeRow{border:1px solid var(--border);background:var(--surface-2,var(--surface));border-radius:10px;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.p1AdminPurgeLabel{overflow-wrap:anywhere;min-width:0}.p1AdminPurgeCount{text-align:right;opacity:.8;font-variant-numeric:tabular-nums}.p1AdminPreserved{font-size:var(--fs-small,.85rem);opacity:.8;margin:0}.p2EspDanger{border-color:var(--danger,#c0392b)}.p2EspHeaderDanger{color:var(--danger,#c0392b)}.p2EspHeaderDanger:hover:not(:disabled){background:color-mix(in srgb, var(--danger,#c0392b) 14%, transparent)}.p1FreshValue{min-width:calc(var(--p1-fresh-ch,13) * 1ch);font-variant-numeric:tabular-nums;display:inline-block}.p1FreshPrefix,.p1FreshFrozen{white-space:nowrap}.p1Fresh{text-align:inherit}.p1SignalValue{min-width:calc(var(--p1-signal-ch,8) * 1ch);font-variant-numeric:tabular-nums;text-align:left;display:inline-block}.p1MetricValue{min-width:calc(var(--p1-metric-ch,0) * 1ch);text-align:left;display:inline-block}.p1Metric{min-width:0;overflow:hidden}.p1Metric>.p1MetricValue,.p1Metric>.p1MetricUnit{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.p1ChipLabel{min-width:calc(var(--p1-chip-ch,0) * 1ch);text-align:center;display:inline-block}.statusBadge[data-stability-template]{min-width:calc(var(--p1-badge-ch,0) * 1ch);text-align:center;font-variant-numeric:tabular-nums;display:inline-block}.p1TechId .p1TechIdIcon{opacity:0;visibility:hidden}.p1TechId:hover .p1TechIdIcon,.p1TechId:focus-visible .p1TechIdIcon{opacity:1;visibility:visible}@media (hover:none){.p1TechId .p1TechIdIcon{opacity:.6;visibility:visible}}.p2SkeletonTiles{gap:var(--space-3,.75rem);grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));padding:0;display:grid}.p2SkeletonTiles>.p2SkeletonTile{min-height:var(--p2-tile-height,264px);border:1px solid var(--border);border-radius:var(--r-card,12px);background:var(--surface-2)}.p2Reserved:empty,.p2Reserved[data-empty=true]{visibility:hidden}.p2Lines-1,.p2Lines-2{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.p2Lines-1{-webkit-line-clamp:1;min-height:1.35em}.p2Lines-2{-webkit-line-clamp:2;min-height:2.7em}.tone-ok{--p1-fg:var(--tone-ok-fg,var(--ok));--p1-bg:var(--tone-ok-bg,color-mix(in srgb, var(--ok) 14%, transparent));--p1-border:var(--tone-ok-border,color-mix(in srgb, var(--ok) 40%, transparent))}.tone-warn{--p1-fg:var(--tone-warn-fg,var(--warn));--p1-bg:var(--tone-warn-bg,color-mix(in srgb, var(--warn) 14%, transparent));--p1-border:var(--tone-warn-border,color-mix(in srgb, var(--warn) 40%, transparent))}.tone-danger{--p1-fg:var(--tone-danger-fg,var(--danger));--p1-bg:var(--tone-danger-bg,color-mix(in srgb, var(--danger) 14%, transparent));--p1-border:var(--tone-danger-border,color-mix(in srgb, var(--danger) 40%, transparent))}.tone-info{--p1-fg:var(--tone-info-fg,var(--primary));--p1-bg:var(--tone-info-bg,color-mix(in srgb, var(--primary) 12%, transparent));--p1-border:var(--tone-info-border,color-mix(in srgb, var(--primary) 36%, transparent))}.tone-neutral{--p1-fg:var(--tone-neutral-fg,var(--muted));--p1-bg:var(--tone-neutral-bg,color-mix(in srgb, var(--muted) 12%, transparent));--p1-border:var(--tone-neutral-border,var(--border))}.p1Fresh{font-family:var(--mono-console,ui-monospace, monospace);font-size:var(--fs-meta,.75rem);font-variant-numeric:tabular-nums;color:var(--p1-fg,var(--muted));white-space:nowrap;font-weight:500}.p1Fresh.tone-neutral{color:var(--muted)}.p1Fresh.isFrozen{color:var(--muted);font-style:italic}.p1TechId{align-items:center;gap:var(--space-1,.25rem);max-width:100%;padding:0 var(--space-1,.25rem);border-radius:var(--r-control,8px);min-height:24px;color:var(--muted);font:inherit;font-family:var(--mono-console,ui-monospace, monospace);font-size:var(--fs-meta,.75rem);font-variant-numeric:tabular-nums;letter-spacing:.01em;text-align:left;cursor:text;background:0 0;border:0;margin:0;font-weight:400;line-height:1.4;display:inline-flex}button.p1TechId{cursor:copy}.p1TechId code{font:inherit;color:inherit;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:all;user-select:all;background:0 0;padding:0;overflow:hidden}.p1TechId .p1TechIdIcon{opacity:0;flex:none;transition:opacity .12s}.p1TechId:hover .p1TechIdIcon,.p1TechId:focus-visible .p1TechIdIcon{opacity:1}.p1TechId:hover,.p1TechId:focus-visible{color:var(--text);background:var(--surface-2)}.p1TechId.isMasked{text-underline-offset:3px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}@media (hover:none){.p1TechId .p1TechIdIcon{opacity:.6}}.p1Signal{align-items:center;gap:var(--space-1,.25rem);color:var(--p1-fg,var(--muted));font-family:var(--mono-console,ui-monospace, monospace);font-size:var(--fs-body,.875rem);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600;line-height:1;display:inline-flex}.p1SignalBars{flex:none;display:block}.p1SignalBars rect.isOn{fill:currentColor}.p1SignalBars rect.isOff{fill:currentColor;opacity:.22}.p1Signal.tone-neutral{color:var(--muted)}.p1Signal.isStale .p1SignalValue{font-style:italic}.p1SignalValue{font-size:var(--fs-meta,.75rem)}.p1Metric{align-items:baseline;gap:var(--space-1,.25rem);color:var(--text);white-space:nowrap;line-height:1.2;display:inline-flex}.p1MetricIcon{color:var(--muted);align-self:center;display:inline-flex}.p1MetricIcon>svg{width:16px;height:16px}.p1MetricValue{font-family:var(--mono-console,ui-monospace, monospace);font-size:var(--fs-body,.875rem);font-variant-numeric:tabular-nums;font-weight:600}.p1MetricUnit{font-size:var(--fs-meta,.75rem);color:var(--muted)}.p1Metric.tone-ok .p1MetricValue,.p1Metric.tone-warn .p1MetricValue,.p1Metric.tone-danger .p1MetricValue,.p1Metric.tone-ok .p1MetricIcon,.p1Metric.tone-warn .p1MetricIcon,.p1Metric.tone-danger .p1MetricIcon{color:var(--p1-fg)}.p1Switch{align-items:flex-start;gap:var(--space-1,.25rem);flex-direction:column;max-width:100%;display:inline-flex}.p1SwitchControl{align-items:center;gap:var(--space-2,.5rem);min-height:44px;padding:0 var(--space-1,.25rem);border-radius:var(--r-control,8px);color:var(--text);font:inherit;font-size:var(--fs-body,.875rem);cursor:pointer;text-align:left;background:0 0;border:0;margin:0;font-weight:500;display:inline-flex}.p1SwitchLabel{white-space:nowrap}.p1SwitchTrack{border-radius:var(--r-pill,999px);background:var(--surface-2);border:1px solid var(--border);flex:none;width:40px;height:22px;transition:background .15s,border-color .15s;position:relative}.p1SwitchThumb{background:var(--muted);border-radius:50%;width:18px;height:18px;transition:transform .15s,background .15s;position:absolute;top:1px;left:1px}.p1Switch.isOn .p1SwitchThumb{background:var(--p1-thumb,var(--primary));transform:translate(18px)}.p1Switch.isOn .p1SwitchTrack{border-color:color-mix(in srgb, var(--p1-thumb,var(--primary)) 55%, var(--border));background:color-mix(in srgb, var(--p1-thumb,var(--primary)) 22%, var(--surface-2))}.p1Switch.state-pending .p1SwitchThumb:after{content:"";border:2px solid var(--primary);border-right-color:#0000;border-radius:50%;animation:.9s linear infinite p1-spin;position:absolute;inset:-4px}.p1Switch.state-failed .p1SwitchTrack:after{content:"";background:var(--tone-danger-fg,var(--danger));width:8px;height:8px;box-shadow:0 0 0 2px var(--surface);border-radius:50%;position:absolute;top:-3px;right:-3px}.p1Switch.state-locked .p1SwitchTrack{background:repeating-linear-gradient(135deg, var(--surface-2) 0 4px, color-mix(in srgb, var(--muted) 35%, var(--surface-2)) 4px 8px);border-style:dashed}.p1Switch.state-locked .p1SwitchThumb{background:var(--muted)}.p1SwitchMode{font-size:var(--fs-meta,.75rem);color:var(--tone-info-fg,var(--primary));background:var(--tone-info-bg,color-mix(in srgb, var(--primary) 12%, transparent));border:1px solid var(--tone-info-border,color-mix(in srgb, var(--primary) 36%, transparent));border-radius:var(--r-pill,999px);padding:0 var(--space-2,.5rem);font-weight:600;line-height:20px}.p1Switch.state-offline .p1SwitchControl{color:var(--muted)}.p1Switch.state-offline .p1SwitchTrack{opacity:.55}.p1Switch.state-offline .p1SwitchThumb{background:var(--muted)}.p1SwitchHint{font-size:var(--fs-meta,.75rem);color:var(--muted);padding-left:var(--space-1,.25rem);line-height:1.35}.p1SwitchHint.tone-danger{color:var(--p1-fg)}.p1Switch.hideLabel .p1SwitchControl{justify-content:center;min-width:44px}@keyframes p1-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.p1Switch.state-pending .p1SwitchThumb:after{border-right-color:var(--primary);opacity:.6;animation:none}}.p1TabsScroller{-webkit-overflow-scrolling:touch;scrollbar-width:none;border-bottom:1px solid var(--border);overflow:auto hidden}.p1TabsScroller::-webkit-scrollbar{display:none}.p1Tabs{gap:var(--space-1,.25rem);min-width:max-content;display:flex}.p1Tab{align-items:center;gap:var(--space-2,.5rem);min-height:40px;padding:0 var(--space-3,.75rem);border-radius:var(--r-control,8px) var(--r-control,8px) 0 0;color:var(--muted);font:inherit;font-size:var(--fs-body,.875rem);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin:0 0 -1px;font-weight:600;display:inline-flex;position:relative}.p1Tab:hover{color:var(--text);background:var(--surface-2)}.p1Tab.isActive{color:var(--text);border-bottom-color:var(--primary)}.p1Tab.isDisabled{opacity:.5;cursor:not-allowed}.p1TabIcon{display:inline-flex}.p1TabIcon>svg{width:18px;height:18px}.p1TabBadge{min-width:18px;height:18px;padding:0 var(--space-1,.25rem);border-radius:var(--r-pill,999px);background:var(--tone-info-bg,color-mix(in srgb, var(--primary) 14%, transparent));color:var(--tone-info-fg,var(--primary));font-family:var(--mono-console,ui-monospace, monospace);font-size:var(--fs-meta,.75rem);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.p1TabBadge.isDot{background:var(--primary);width:8px;min-width:8px;height:8px;padding:0}.p1TabPanel{padding-top:var(--space-3,.75rem)}.p1TabPanel:focus-visible{outline-offset:-3px}.p1ConfirmBackdrop{z-index:1200;padding:var(--space-4,1rem);padding-bottom:calc(var(--space-4,1rem) + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--surface-2) 55%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.p1Confirm{width:min(100%,440px);padding:var(--space-5,1.25rem);border:1px solid var(--border);border-radius:var(--r-card,12px);background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.p1ConfirmTitle{margin:0 0 var(--space-2,.5rem);font-size:var(--fs-id,1rem);text-shadow:none;font-weight:600;line-height:1.3}.p1ConfirmBody{margin:0 0 var(--space-4,1rem);font-size:var(--fs-body,.875rem);color:var(--muted);line-height:1.45}.p1ConfirmBody p{margin:0 0 var(--space-2,.5rem)}.p1ConfirmActions{justify-content:flex-end;gap:var(--space-2,.5rem);flex-wrap:wrap;display:flex}.p1ConfirmActions .btn{min-height:44px;font-size:var(--fs-body,.875rem);border-radius:var(--r-control,8px);text-transform:none;font-weight:600}.p1ConfirmActions .btn:before{content:none}.p1ConfirmCancel.btn{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.p1ConfirmOk.btn.danger{background:var(--tone-danger-fg,var(--danger));color:var(--surface)}@media (width<=640px){.p1ConfirmBackdrop{align-items:flex-end;padding:0}.p1Confirm{border-radius:var(--r-card,12px) var(--r-card,12px) 0 0;width:100%;padding-bottom:calc(var(--space-5,1.25rem) + env(safe-area-inset-bottom))}.p1ConfirmActions{flex-direction:column-reverse}.p1ConfirmActions .btn{width:100%}}.p1Skeleton{gap:var(--space-2,.5rem);padding:var(--space-3,.75rem) 0;flex-direction:column;display:flex}.p1SkeletonLine{border-radius:var(--r-control,8px);background:linear-gradient(90deg, var(--surface-2) 25%, color-mix(in srgb, var(--muted) 18%, var(--surface-2)) 50%, var(--surface-2) 75%);background-size:200% 100%;height:14px;animation:1.4s ease-in-out infinite p1-shimmer;display:block}.p1SkeletonLine:nth-child(2n){width:82%}.p1SkeletonLine:nth-child(3n){width:64%}@keyframes p1-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.p1SkeletonLine{animation:none}}.p1StaleBanner{justify-content:space-between;align-items:center;gap:var(--space-2,.5rem);margin-bottom:var(--space-3,.75rem);padding:var(--space-2,.5rem) var(--space-3,.75rem);border:1px solid var(--p1-border);border-radius:var(--r-control,8px);background:var(--p1-bg);color:var(--p1-fg);font-size:var(--fs-body,.875rem);border-left-width:3px;flex-wrap:wrap;display:flex}.p1StaleBannerRetry.btn,.errorStateRetry.btn{min-height:44px;padding:0 var(--space-3,.75rem);border:1px solid var(--border);border-radius:var(--r-control,8px);background:var(--surface);color:var(--text);font-size:var(--fs-body,.875rem);text-transform:none;font-weight:600}.p1StaleBannerRetry.btn:before,.errorStateRetry.btn:before{content:none}.stateCard.emptyState,.stateCard.errorState{align-items:flex-start;gap:var(--space-2,.5rem);border-radius:var(--r-card,12px);flex-direction:column}.stateCard.emptyState strong,.stateCard.errorState strong{font-size:var(--fs-id,1rem);color:var(--text);font-weight:600}.stateCard.emptyState p,.stateCard.errorState p{font-size:var(--fs-body,.875rem);color:var(--muted);margin:0}.stateCard.emptyState.isCompact{padding:var(--space-3,.75rem);border-style:solid}.emptyStateIcon{color:var(--muted);display:inline-flex}.emptyStateIcon>svg{width:24px;height:24px}.stateCard.errorState{color:var(--tone-danger-fg,var(--danger));border-color:var(--tone-danger-border,color-mix(in srgb, var(--danger) 40%, transparent));background:var(--tone-danger-bg,color-mix(in srgb, var(--danger) 8%, var(--surface)));border-style:solid}.stateCard.errorState .errorStateTitle{color:var(--tone-danger-fg,var(--danger))}.stateCard.errorState .errorStateMessage{color:var(--text)}.errorStateDetail{font-family:var(--mono-console,ui-monospace, monospace);font-size:var(--fs-meta,.75rem);color:var(--muted);-webkit-user-select:all;user-select:all;word-break:break-word;background:0 0;padding:0}.errorStateAction{margin-top:var(--space-1,.25rem)}.p1Copyable{align-items:center;gap:var(--space-2,.5rem);flex-wrap:wrap;display:inline-flex}.p1Copyable code{font-family:var(--mono-console,ui-monospace, monospace);font-size:var(--fs-meta,.75rem);font-variant-numeric:tabular-nums;-webkit-user-select:all;user-select:all}.p1CopyableButton.miniButton{align-items:center;gap:var(--space-1,.25rem);min-width:44px;min-height:44px;padding:0 var(--space-3,.75rem);border-radius:var(--r-control,8px);font-size:var(--fs-meta,.75rem);font-weight:600;display:inline-flex}.p1Chip{align-items:center;gap:var(--space-1,.25rem);max-width:100%;height:22px;padding:0 var(--space-2,.5rem);border:1px solid var(--p1-border);border-radius:var(--r-pill,999px);background:var(--p1-bg);color:var(--p1-fg);font-size:var(--fs-meta,.75rem);white-space:nowrap;vertical-align:middle;font-weight:600;line-height:1;display:inline-flex}.p1ChipLabel{text-overflow:ellipsis;overflow:hidden}.p1ChipIcon{display:inline-flex}.p1ChipIcon>svg{width:14px;height:14px}.p1ChipLinkMark{font-size:var(--fs-meta,.75rem)}.p1Chip.tone-ok:before,.p1Chip.tone-warn:before,.p1Chip.tone-danger:before{content:"";background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.p1ChipActionWrap{flex-direction:column;align-items:flex-start;gap:2px;max-width:100%;display:inline-flex}button.p1Chip.p1ChipAction{height:36px;padding:0 var(--space-3,.75rem);border-radius:var(--r-control,8px);background:var(--surface-2);border-color:var(--border);color:var(--text);font:inherit;font-size:var(--fs-body,.875rem);cursor:pointer;margin:0;font-weight:600}button.p1Chip.p1ChipAction:before{content:none}button.p1Chip.p1ChipAction .p1ChipIcon>svg{width:16px;height:16px}button.p1Chip.p1ChipAction:hover{border-color:var(--primary)}button.p1Chip.p1ChipAction[aria-pressed=true]{background:var(--tone-info-bg,color-mix(in srgb, var(--primary) 12%, transparent));border-color:var(--primary);color:var(--tone-info-fg,var(--primary))}button.p1Chip.p1ChipAction.isDisabled{opacity:.55;cursor:not-allowed}.p1ChipReason{font-size:var(--fs-meta,.75rem);color:var(--muted);padding-left:var(--space-1,.25rem);white-space:normal;line-height:1.3}@media (width<=767px){button.p1Chip.p1ChipAction{height:44px}}html.hacker .p1Chip.tone-ok:before,html[data-theme=hacker] .p1Chip.tone-ok:before{content:"●";width:auto;height:auto;font-size:var(--fs-meta,.75rem);background:0 0;border-radius:0;line-height:1}html.hacker .p1Chip.tone-warn:before,html[data-theme=hacker] .p1Chip.tone-warn:before{content:"▲";width:auto;height:auto;font-size:var(--fs-meta,.75rem);background:0 0;border-radius:0;line-height:1}html.hacker .p1Chip.tone-danger:before,html[data-theme=hacker] .p1Chip.tone-danger:before{content:"✕";width:auto;height:auto;font-size:var(--fs-meta,.75rem);background:0 0;border-radius:0;line-height:1}html.hacker .p1Confirm,html[data-theme=hacker] .p1Confirm,html.hacker .p1Tab,html[data-theme=hacker] .p1Tab,html.hacker button.p1Chip.p1ChipAction,html[data-theme=hacker] button.p1Chip.p1ChipAction{border-radius:var(--r-control,0)}.card:before,.metricCard:before,.pageSection:before,.guidedStepCard:before,html.hacker .card:before,html[data-theme=hacker] .card:before{content:none}html.light .btn:not(.secondary):not(.danger):disabled,html[data-theme=light] .btn:not(.secondary):not(.danger):disabled,html.dark .btn:not(.secondary):not(.danger):disabled,html[data-theme=dark] .btn:not(.secondary):not(.danger):disabled,html.light .btn.secondary:disabled,html.dark .btn.secondary:disabled,html[data-theme=light] .btn.secondary:disabled,html[data-theme=dark] .btn.secondary:disabled,html.hacker .btn:disabled,html[data-theme=hacker] .btn:disabled,.btn:disabled{opacity:1;background:var(--surface-2);border:1px solid var(--border);color:var(--muted);box-shadow:none;cursor:not-allowed}html.hacker .btn.secondary,html[data-theme=hacker] .btn.secondary{background:var(--surface-2);border:1px solid var(--border);color:var(--text);box-shadow:none}html.hacker .btn.secondary:hover,html[data-theme=hacker] .btn.secondary:hover{border-color:var(--primary);color:var(--primary)}.sectionHeader h2,.sectionHeader h3,html.light .sectionHeader h2,html.light .sectionHeader h3,html.dark .sectionHeader h2,html.dark .sectionHeader h3,html.hacker .sectionHeader h2,html.hacker .sectionHeader h3,html[data-theme] .sectionHeader h2,html[data-theme] .sectionHeader h3{font-family:inherit;font-size:var(--fs-id);letter-spacing:normal;text-transform:none;color:var(--text);font-weight:600;line-height:1.3}.sectionHeader h2:before,.sectionHeader h3:before,html.light .sectionHeader h2:before,html.light .sectionHeader h3:before,html.dark .sectionHeader h2:before,html.dark .sectionHeader h3:before,html[data-theme] .sectionHeader h2:before,html[data-theme] .sectionHeader h3:before{content:none}.sectionHeader p,html.light .sectionHeader p,html.dark .sectionHeader p,html[data-theme] .sectionHeader p{margin:var(--space-1) 0 0;font-size:var(--fs-body);color:var(--muted)}.responsivePanel.drawer:has(.p2EntityPanel){flex-direction:column;padding:0;display:flex;overflow:hidden}@media (width<=1023px){.responsiveOverlay.drawer:has(.p2EntityPanel){justify-content:flex-start;align-items:stretch;padding:0}.responsivePanel.drawer:has(.p2EntityPanel){border-width:0;border-radius:0;width:100%;max-width:none;height:100dvh;min-height:100dvh;max-height:100dvh;margin:0;padding-bottom:0}}@media (width>=1024px){.responsivePanel.drawer:has(.p2EntityPanel){border-radius:var(--r-card,12px) 0 0 var(--r-card,12px);width:min(480px,96vw);max-width:480px;height:100dvh;min-height:100dvh;max-height:100dvh}}.responsivePanel:has(>.p2EntityPanel)>.sheetHeader{z-index:2;align-items:center;gap:var(--space-2,.5rem);height:52px;min-height:52px;padding:0 var(--space-2,.5rem) 0 var(--space-4,1rem);border-bottom:1px solid var(--border);background:var(--surface);margin:0;display:flex;position:sticky;top:0}.responsivePanel:has(>.p2EntityPanel)>.sheetHeader h3{min-width:0;font-size:var(--fs-id,1rem);text-overflow:ellipsis;white-space:nowrap;flex:auto;margin:0;font-weight:600;line-height:1.3;overflow:hidden}.responsivePanel:has(>.p2EntityPanel)>.sheetHeader .iconButton{flex:none;width:36px;height:36px}.p2EntityPanel{flex-direction:column;flex:auto;min-height:0;display:flex}.p2EntityHead{gap:var(--space-1,.25rem);padding:var(--space-2,.5rem) var(--space-4,1rem);border-bottom:1px solid var(--border);flex-direction:column;flex:none;display:flex}.p2EntitySubtitle,.p2EntityStatus{align-items:center;gap:var(--space-2,.5rem);min-height:22px;font-size:var(--fs-meta,.75rem);white-space:nowrap;text-overflow:ellipsis;line-height:22px;display:flex;overflow:hidden}.p2EntitySubtitle{color:var(--muted)}.p2EntityStatus{min-height:24px;font-size:var(--fs-body,.875rem);color:var(--text);line-height:24px}.p2EntityActions{align-items:center;gap:var(--space-2,.5rem);min-height:40px;display:flex}.p2EntitySteppers{gap:var(--space-1,.25rem);flex:none;display:flex}.p2EntityStepper{border:1px solid var(--border);border-radius:var(--r-control,8px);width:36px;height:36px;color:var(--muted);justify-content:center;align-items:center;display:inline-flex}.p2EntityStepper:hover{color:var(--text);border-color:var(--primary)}.p2EntityActionSlot{justify-content:flex-end;align-items:center;gap:var(--space-2,.5rem);flex:auto;min-width:0;display:flex}.p2EntityTabs{min-height:42px;padding:0 var(--space-3,.75rem);border-bottom:1px solid var(--border);flex:none}.p2EntityBody{overscroll-behavior:contain;min-height:0;padding:var(--space-4,1rem);padding-bottom:calc(var(--space-4,1rem) + env(safe-area-inset-bottom));flex:auto;overflow:auto}@media (width<=767px){.responsivePanel:has(>.p2EntityPanel)>.sheetHeader{height:56px;min-height:56px}.responsivePanel:has(>.p2EntityPanel)>.sheetHeader .iconButton{width:44px;height:44px}.p2EntityStepper{width:44px;height:44px}.p2EntityActions{min-height:48px}.p2EntityBody{padding:var(--space-3,.75rem);padding-bottom:calc(var(--space-6,2rem) + env(safe-area-inset-bottom))}}.p2DenseList{--p2-dense-row-h:44px;--p2-dense-head-h:36px;--p2-dense-head-top:0px;--p2-dense-columns:minmax(0, 1fr);border:1px solid var(--border);border-radius:var(--r-card,12px);background:var(--surface);width:100%;display:block;overflow:hidden}.p2DenseHead{top:var(--p2-dense-head-top);z-index:3;grid-template-columns:var(--p2-dense-columns);align-items:center;gap:var(--space-2,.5rem);height:var(--p2-dense-head-h);padding:0 var(--space-3,.75rem);border-bottom:1px solid var(--border);background:var(--surface-2,var(--surface));display:grid;position:sticky}.p2DenseHeadCell{min-width:0;font-size:var(--fs-meta,.75rem);color:var(--muted);text-transform:none;align-items:center;font-weight:600;display:flex}.p2DenseHeadCell[data-align=end]{justify-content:flex-end}.p2DenseHeadCell[data-align=center]{justify-content:center}.p2DenseSortButton,.p2DenseHeadStatic{align-items:center;gap:var(--space-1,.25rem);min-width:0;max-width:100%;height:100%;color:inherit;font:inherit;background:0 0;border:0;padding:0;display:inline-flex}.p2DenseSortButton{cursor:pointer}.p2DenseSortButton:hover{color:var(--text)}.p2DenseHeadLabel{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.p2DenseSortMark{width:14px;height:14px;color:var(--primary);flex:none;justify-content:center;align-items:center;display:inline-flex}.p2DenseBody{display:block}.p2DenseRow{grid-template-columns:var(--p2-dense-columns);align-items:center;gap:var(--space-2,.5rem);height:var(--p2-dense-row-h);padding:0 var(--space-3,.75rem);border-bottom:1px solid var(--border);font-size:var(--fs-body,.875rem);color:var(--text);display:grid;position:relative;overflow:hidden}.p2DenseRow:last-child{border-bottom:0}.p2DenseRow.isInteractive{cursor:pointer}.p2DenseRow.isInteractive:hover{background:var(--surface-2,var(--surface))}.p2DenseRow:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.p2DenseCell{align-items:center;gap:var(--space-1,.25rem);white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums;min-width:0;height:100%;display:flex;overflow:hidden}.p2DenseCell[data-align=end]{justify-content:flex-end}.p2DenseCell[data-align=center]{justify-content:center}.p2DenseRowLink{align-items:center;gap:var(--space-1,.25rem);min-width:0;max-width:100%;color:inherit;white-space:nowrap;text-overflow:ellipsis;text-decoration:none;display:inline-flex;overflow:hidden}.p2DenseRowLink:hover,.p2DenseRowLink:focus-visible{color:var(--primary);text-decoration:underline}.p2DenseBreak{display:none}.p2DenseSpacer{display:block}.p2DenseEmpty{min-height:calc(var(--p2-dense-row-h) * 3);padding:var(--space-4,1rem);justify-content:center;align-items:center;display:flex}.p2DenseRow.isSkeleton{cursor:default}.p2DenseSkeletonBar{border-radius:var(--r-control,8px);background:var(--surface-2,var(--border));opacity:.6;grid-column:1/-1;width:100%;height:12px;display:block}@media (width<=767px){.p2DenseList{--p2-dense-row-h:56px}.p2DenseHead{display:none}.p2DenseRow{align-content:center;align-items:center;gap:0 var(--space-2,.5rem);padding:0 var(--space-3,.75rem);flex-wrap:wrap;display:flex}.p2DenseBreak{flex:1 0 100%;width:100%;height:0;display:block}.p2DenseCell{flex:0 auto;height:26px;line-height:26px}.p2DenseCell[data-line=line2]{font-size:var(--fs-meta,.75rem);color:var(--muted)}.p2DenseCell[data-line=line2]:last-child{margin-left:auto}.p2DenseSkeletonBar{flex:100%}}.p2StubBody{justify-content:center;align-items:center;min-height:160px;display:flex}.p2TopBar{align-items:center;gap:var(--space-3);height:36px}@media (width>=1024px){.p2TopBar{margin-bottom:var(--space-4)}}.p2SearchTrigger{align-items:center;gap:var(--space-2);width:min(440px,100%);height:36px;padding:0 var(--space-2) 0 var(--space-3);border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface-2);color:var(--muted);font-size:var(--fs-body);text-align:left;cursor:text;display:inline-flex}.p2SearchTrigger:hover{border-color:var(--primary)}.p2SearchTrigger:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.p2SearchTriggerIcon{flex:none}.p2SearchTriggerText{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.p2SearchKbd{padding:0 var(--space-1);border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface);color:var(--muted);font-family:var(--mono-console,ui-monospace, monospace);font-size:var(--fs-meta);white-space:nowrap;flex:none;line-height:18px}.p2SearchIconButton{border-radius:var(--r-control);min-width:44px;min-height:44px;color:var(--text);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.p2SearchIconButton:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.p2NavBadge{min-width:22px;height:18px;padding:0 var(--space-1);border:1px solid var(--tone-info-border);border-radius:var(--r-pill);background:var(--tone-info-bg);color:var(--tone-info-fg);font-size:var(--fs-meta);font-variant-numeric:tabular-nums;flex:none;justify-content:center;align-items:center;margin-left:auto;font-weight:600;line-height:1;display:inline-flex}.p2NavBadge[data-shown=false]{visibility:hidden}.responsivePanel.modal:has(.p2Search){gap:var(--space-2);flex-direction:column;width:min(600px,100vw - 2.5rem);height:min(520px,86dvh);max-height:min(520px,86dvh);display:flex;overflow:hidden}.responsivePanel:has(.p2Search)>.sheetHeader{flex:none;min-height:36px}.p2Search{gap:var(--space-2);flex-direction:column;flex:auto;min-height:0;display:flex}@media (width<=767px){.responsiveOverlay:has(.p2Search){justify-content:stretch;align-items:stretch;padding:0}.responsivePanel.modal:has(.p2Search){width:100%;max-width:none;height:100dvh;max-height:100dvh;padding:calc(var(--space-3) + env(safe-area-inset-top)) var(--space-3) calc(var(--space-3) + env(safe-area-inset-bottom));border-radius:0;overflow:hidden}}.p2Search .p2SearchField{align-items:center;gap:var(--space-2);height:44px;padding:0 var(--space-1) 0 var(--space-3);border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface-2);flex:none;display:flex}.p2Search .p2SearchField:focus-within{border-color:var(--primary)}.p2Search .p2SearchFieldIcon{color:var(--muted);flex:none}.p2Search .p2SearchField .p2SearchInput{min-width:0;height:100%;color:var(--text);font-family:inherit;font-size:var(--fs-body);background:0 0;border:0;flex:auto;padding:0}.p2Search .p2SearchField .p2SearchInput:focus,.p2Search .p2SearchField .p2SearchInput:focus-visible{outline:none}.p2Search .p2SearchField .p2SearchInput::placeholder{color:var(--muted)}.p2Search .p2SearchSpinner{border:2px solid var(--border);border-top-color:var(--primary);border-radius:var(--r-pill);visibility:hidden;flex:none;width:16px;height:16px;animation:.7s linear infinite p2SearchSpin}.p2Search .p2SearchSpinner[data-shown=true]{visibility:visible}@keyframes p2SearchSpin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.p2SearchSpinner{animation:none}}.p2Search .p2SearchClear{border-radius:var(--r-control);width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;display:inline-flex}.p2Search .p2SearchClear[data-shown=false]{visibility:hidden}.p2Search .p2SearchClear:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.p2SearchBody{overscroll-behavior:contain;gap:var(--space-2);flex-direction:column;flex:auto;min-height:0;display:flex;overflow-y:auto}.p2SearchResults,.p2SearchSection{flex-direction:column;display:flex}.p2SearchResults{gap:var(--space-2)}.p2SearchGroupHead{justify-content:space-between;align-items:center;gap:var(--space-2);height:36px;padding:0 var(--space-2);display:flex}.p2SearchGroupTitle{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);font-size:var(--fs-meta);letter-spacing:.06em;text-transform:uppercase;margin:0;font-weight:600;overflow:hidden}.p2SearchGroupCount{text-align:right;min-width:2ch;color:var(--muted);font-size:var(--fs-meta);font-variant-numeric:tabular-nums;flex:none}.p2Search .p2SearchGroupAction{height:36px;padding:0 var(--space-2);border-radius:var(--r-control);color:var(--primary);font-size:var(--fs-meta);cursor:pointer;background:0 0;border:0;flex:none}.p2Search .p2SearchGroupAction[data-shown=false]{visibility:hidden}.p2Search .p2SearchGroupAction:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.p2SearchList{margin:0;padding:0;list-style:none}.p2Search .p2SearchOption{align-items:center;gap:var(--space-3);width:100%;height:56px;padding:0 var(--space-2);border-radius:var(--r-control);color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;grid-template-columns:36px minmax(0,1fr);text-decoration:none;display:grid}.p2Search .p2SearchOption:hover,.p2Search .p2SearchOption:focus-visible{background:var(--surface-2);border-color:var(--border);outline:none}.p2Search .p2SearchOption[data-active=true]{background:var(--surface-2);border-color:var(--primary);box-shadow:inset 3px 0 0 var(--primary);outline:none}.p2Search .p2SearchOptionIcon{border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface);width:36px;height:36px;color:var(--muted);justify-content:center;align-items:center;display:inline-flex}.p2SearchOptionText{grid-template-rows:20px 16px;align-content:center;min-width:0;display:grid}.p2SearchOptionLabel{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--fs-body);font-weight:600;line-height:20px;overflow:hidden}.p2SearchOptionSub{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);font-family:var(--mono-console,ui-monospace, monospace);font-size:var(--fs-meta);font-variant-numeric:tabular-nums;line-height:16px;overflow:hidden}.p2SearchRecent .p2SearchOptionLabel{font-weight:500}.p2SearchSkeleton{cursor:default}.p2SearchSkeleton .p2SearchOptionIcon,.p2SearchSkeleton .p2SearchOptionLabel,.p2SearchSkeleton .p2SearchOptionSub{background:var(--surface-2);border-radius:var(--r-control)}.p2SearchSkeleton .p2SearchOptionLabel{align-self:center;width:45%;height:12px}.p2SearchSkeleton .p2SearchOptionSub{align-self:center;width:70%;height:10px}.p2SearchNotice{align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-2);flex-direction:column;display:flex}.p2SearchNoticeTitle{font-size:var(--fs-body);margin:0;font-weight:600}.p2SearchNote{min-height:18px;color:var(--muted);font-size:var(--fs-meta);margin:0;line-height:18px}.p2SearchNote[data-shown=false]{visibility:hidden}.p2SearchRetry{align-self:flex-start}.p2SearchGoTo{gap:var(--space-2);flex-wrap:wrap;display:flex}.p2Search .p2SearchGoToLink{min-height:36px;padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--r-pill);color:var(--text);font-size:var(--fs-body);align-items:center;text-decoration:none;display:inline-flex}.p2Search .p2SearchGoToLink:hover{border-color:var(--primary);color:var(--primary)}.p2Search .p2SearchGoToLink:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.p2SearchFoot{text-overflow:ellipsis;white-space:nowrap;text-align:center;height:20px;color:var(--muted);line-height:20px;font-size:var(--fs-meta);flex:none;margin:0;overflow:hidden}@media (width<=767px){.p2Search .p2SearchField{height:48px}.p2Search .p2SearchClear,.p2Search .p2SearchGroupAction{width:44px;height:44px}.p2Search .p2SearchGroupAction{width:auto;min-width:44px}.p2SearchGroupHead{height:44px}.p2Search .p2SearchOption{height:60px}.p2Search .p2SearchGoToLink{min-height:44px}.p2SearchFoot{display:none}}.p2EspDot{border-radius:var(--r-pill,999px);background:var(--tone-neutral-fg,var(--muted));flex:none;width:8px;height:8px}.p2EspDot.tone-ok{background:var(--tone-ok-fg)}.p2EspDot.tone-warn{background:var(--tone-warn-fg)}.p2EspDot.tone-danger{background:var(--tone-danger-fg)}.p2EspDot.tone-info{background:var(--tone-info-fg)}.p2EspSubtitleText{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.p2EntitySubtitle .p2EspSubtitleText:first-of-type{flex:0 auto;min-width:0}.p2EntitySubtitle .p1TechId{flex:none}.p2EspStatusDetail{min-width:0;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;flex:auto;overflow:hidden}.p2EntityStatus>.p1Chip,.p2EntityStatus>.p1Fresh{flex:none}.p2EspPaletteButton,.p2EspHeaderLink{border:1px solid var(--border);border-radius:var(--r-control,8px);width:36px;height:36px;color:var(--muted);flex:none;justify-content:center;align-items:center;display:inline-flex}.p2EspPaletteButton:hover,.p2EspHeaderLink:hover{color:var(--text);border-color:var(--primary)}.p2EntityActionSlot .p1LedSwitch{flex:none}.p2EspTab{gap:var(--space-4,1rem);flex-direction:column;display:flex}.p2EspSection{gap:var(--space-2,.5rem);flex-direction:column;display:flex}.p2EspSection>h4{font-size:var(--fs-body,.875rem);color:var(--text);margin:0;font-weight:600;line-height:20px}.p2EspSkeleton{gap:var(--space-4,1rem);flex-direction:column;display:flex}.p2EspSkeleton>span{border:1px solid var(--border);border-radius:var(--r-card,12px);background:var(--surface-2,var(--surface));opacity:.5;height:84px;display:block}.p2EspSkeleton>span:nth-child(2){height:168px}.p2EspSkeleton>span:nth-child(3){height:210px}.p2EspBanner{gap:var(--space-3,.75rem);padding:var(--space-3,.75rem);border:1px solid var(--border);border-radius:var(--r-card,12px);background:var(--surface-2,var(--surface));grid-template-columns:minmax(0,1fr);display:grid}.p2EspBannerSignal{align-items:center;min-height:24px;display:flex}.p2EspMeasures{gap:var(--space-2,.5rem) var(--space-3,.75rem);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.p2EspMeasures>.p1Metric{min-height:22px}.p2EspRows{flex-direction:column;gap:0;margin:0;display:flex}.p2EspRow{border-bottom:1px solid var(--border);align-items:center;column-gap:var(--space-2,.5rem);grid-template-columns:40% minmax(0,60%);min-height:32px;display:grid}.p2EspRow:last-child{border-bottom:0}.p2EspRow>dt{font-size:var(--fs-meta,.75rem);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.p2EspRow>dd{align-items:center;gap:var(--space-2,.5rem);font-size:var(--fs-body,.875rem);white-space:nowrap;text-overflow:ellipsis;margin:0;display:flex;overflow:hidden}.p2EspRow.isWide{min-height:68px;padding:var(--space-1,.25rem) 0;align-items:start;row-gap:var(--space-1,.25rem);grid-template-columns:minmax(0,1fr)}.p2EspRow.isWide>dd{white-space:normal;display:block}.p2EspRow>dd>*,.p2EspRow>dd select,.p2EspRow>dd input{max-width:100%}.p2EspRow.isWide>dd select,.p2EspRow.isWide>dd input{width:100%}.p2EspVerdict{padding:var(--space-2,.5rem);border-left:3px solid var(--tone-neutral-border,var(--border));border-radius:var(--r-control,8px);background:var(--tone-neutral-bg,var(--surface-2,var(--surface)));font-size:var(--fs-body,.875rem);color:var(--text);margin:0}.p2EspVerdict.tone-ok{border-left-color:var(--tone-ok-border);background:var(--tone-ok-bg)}.p2EspVerdict.tone-warn{border-left-color:var(--tone-warn-border);background:var(--tone-warn-bg)}.p2EspVerdict.tone-danger{border-left-color:var(--tone-danger-border);background:var(--tone-danger-bg)}.p2EspRoomField{align-items:center;gap:var(--space-2,.5rem);flex:auto;min-width:0;display:flex}.p2EspRoomField>input{flex:auto;min-width:0;height:32px}.p2EspFieldState{font-size:var(--fs-meta,.75rem);color:var(--tone-ok-fg);white-space:nowrap;text-overflow:ellipsis;flex:0 0 11ch;overflow:hidden}.p2EspFieldState[data-empty=true]{visibility:hidden}.p2EspRoomStatic{color:var(--text)}.p2EspFold{border:1px solid var(--border);border-radius:var(--r-card,12px);background:var(--surface-2,var(--surface))}.p2EspFold>summary{justify-content:space-between;align-items:center;gap:var(--space-2,.5rem);min-height:40px;padding:0 var(--space-3,.75rem);cursor:pointer;font-size:var(--fs-body,.875rem);font-weight:600;list-style:none;display:flex}.p2EspFold>summary::-webkit-details-marker{display:none}.p2EspFold>summary:after{content:"";border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);flex:none;width:8px;height:8px;transform:rotate(45deg)translate(-2px,-2px)}.p2EspFold[open]>summary:after{transform:rotate(-135deg)translate(-2px,-2px)}.p2EspFoldCount{font-size:var(--fs-meta,.75rem);color:var(--muted);flex:none;margin-left:auto;font-weight:400}.p2EspFold>:not(summary){margin:0 var(--space-3,.75rem) var(--space-3,.75rem)}.p2EspChartPicker{margin-top:var(--space-2,.5rem)!important}.p2EspChartSlot{min-height:268px}.p2EspChartSlot .espNowSignalChartFrame{justify-content:center;align-items:center;min-height:210px;display:flex}.p2EspChartSlot .espNowSignalChartFrame svg{width:100%;height:auto}.p2EspChartSlot .espNowSignalPeriods{gap:var(--space-1,.25rem);scrollbar-width:none;height:36px;display:flex;overflow:auto hidden}.p2EspChartSlot .espNowSignalPeriods::-webkit-scrollbar{display:none}.p2EspChartSlot .espNowSignalPeriods>button{height:32px;padding:0 var(--space-2,.5rem);font-size:var(--fs-meta,.75rem);flex:none}.p2EspCapGroups{gap:var(--space-2,.5rem);flex-direction:column;display:flex}.p2EspCapGroup>h5{margin:0 0 var(--space-1,.25rem);font-size:var(--fs-meta,.75rem);color:var(--muted);font-weight:600}.p2EspCapChips{gap:var(--space-1,.25rem);flex-wrap:wrap;display:flex}.p2EspRaw{max-height:320px;font-size:var(--fs-meta,.75rem);overflow:auto}.p2EspActivity{gap:var(--space-2,.5rem);flex-direction:column;min-height:132px;display:flex}.p2EspActivityIdle{border:1px dashed var(--border);border-radius:var(--r-card,12px);text-align:center;justify-content:center;align-items:center;min-height:132px;margin:0;display:flex}.p2EspTaskChips{gap:var(--space-2,.5rem);flex-wrap:wrap;min-height:44px;display:flex}.p2EspHistory{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.p2EspHistoryRow{align-items:center;gap:var(--space-2,.5rem);border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) 12ch 13ch;height:36px;display:grid}.p2EspHistoryRow>.p1Chip{min-width:0;max-width:100%;overflow:hidden}.p2EspHistoryRow:last-child{border-bottom:0}.p2EspHistoryName{font-size:var(--fs-body,.875rem);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.p2EspHistoryWhen{font-size:var(--fs-meta,.75rem);color:var(--muted);white-space:nowrap;overflow:hidden}.p2EspCounters{gap:var(--space-2,.5rem);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.p2EspCounter{justify-content:center;align-items:center;gap:var(--space-1,.25rem);min-height:76px;padding:var(--space-2,.5rem);border:1px solid var(--border);border-radius:var(--r-card,12px);background:var(--surface-2,var(--surface));color:var(--text);text-align:center;flex-direction:column;display:flex}.p2EspCounter:hover{border-color:var(--primary)}.p2EspCounter,.p2EspCounter:hover{text-decoration:none}.p2EspCounter>strong{font-family:var(--mono-console,monospace);font-size:var(--fs-id,1rem);font-variant-numeric:tabular-nums}.p2EspCounter>span{font-size:var(--fs-meta,.75rem);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.p2EspChannels{flex-direction:column;gap:0;min-height:32px;margin:0;padding:0;list-style:none;display:flex}.p2EspChannelRow{align-items:center;gap:var(--space-2,.5rem);height:28px;font-size:var(--fs-meta,.75rem);grid-template-columns:10ch minmax(0,1fr) 10ch;display:grid}.p2EspChannelRow.isEmpty{grid-template-columns:minmax(0,1fr)}.p2EspChannelName{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.p2EspChannelBar{border-radius:var(--r-pill,999px);background:var(--tone-neutral-bg,var(--surface-2,var(--surface)));height:8px;display:block}.p2EspChannelBar>span{border-radius:var(--r-pill,999px);background:var(--tone-info-fg,var(--primary));height:100%;display:block}.p2EspChannelValue{font-family:var(--mono-console,monospace);font-variant-numeric:tabular-nums;text-align:right;color:var(--muted)}.p2EspLog{border:1px solid var(--border);border-radius:var(--r-card,12px);flex-direction:column;gap:0;max-height:420px;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.p2EspLogRow{align-items:center;gap:var(--space-2,.5rem);height:26px;padding:0 var(--space-2,.5rem);font-size:var(--fs-meta,.75rem);grid-template-columns:9ch minmax(0,1fr);display:grid}.p2EspLogRow.isEmpty{grid-template-columns:minmax(0,1fr);justify-content:center;height:40px}.p2EspLogTime{font-family:var(--mono-console,monospace);font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap;overflow:hidden}.p2EspLogMessage{font-family:var(--mono-console,monospace);white-space:nowrap;text-overflow:ellipsis;line-height:18px;overflow:hidden}.p2EspLogRow.level-error .p2EspLogMessage,.p2EspLogRow.level-fatal .p2EspLogMessage{color:var(--tone-danger-fg)}.p2EspLogRow.level-warn .p2EspLogMessage,.p2EspLogRow.level-warning .p2EspLogMessage{color:var(--tone-warn-fg)}.p2EspDetail .detailsSection{gap:var(--space-2,.5rem);background:0 0;border:0;flex-direction:column;margin:0;padding:0;display:flex}.p2EspDetail .detailsSection>h4,.p2EspDetail .detailsSection>h3{font-size:var(--fs-body,.875rem);margin:0;font-weight:600;line-height:20px}.p2EspDetail .detailsSection.collapsibleSection,.p2EspAdvanced .detailsSection{padding:0}.p2EspAdvanced>:not(summary){margin-bottom:var(--space-3,.75rem)}.p2EspDetail .simButtonGrid{gap:var(--space-2,.5rem);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.p2EspDetail .simButtonGrid>.btn{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.p2EspDetail .simFooterRow{gap:var(--space-2,.5rem);display:flex}.p2EspDetail .gatewayWifiCredentialRow{align-items:center;gap:var(--space-2,.5rem);min-height:64px;padding:var(--space-2,.5rem) 0;border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) minmax(0,40%);display:grid}.p2EspDetail .gatewayWifiCredentialRow>div{min-width:0}.p2EspDetail .gatewayWifiCredentialRow strong,.p2EspDetail .gatewayWifiCredentialRow small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.p2EspWifiFeedback{min-height:36px;font-size:var(--fs-meta,.75rem);align-items:center;margin:0;display:flex}.p2EspWifiFeedback[data-empty=true]{visibility:hidden}.p2EspFieldError{min-height:18px;font-size:var(--fs-meta,.75rem);color:var(--tone-danger-fg);display:block}.p2EspFieldError[data-empty=true]{visibility:hidden}.p2EspFieldCount{min-height:18px;font-size:var(--fs-meta,.75rem);font-variant-numeric:tabular-nums;color:var(--muted);display:block}.p2EspSimCurrent{justify-content:center;gap:var(--space-1,.25rem);min-height:48px;padding:var(--space-2,.5rem);border:1px solid var(--border);border-radius:var(--r-control,8px);background:var(--tone-neutral-bg,var(--surface-2,var(--surface)));font-size:var(--fs-meta,.75rem);flex-direction:column;display:flex}.p2EspSimCurrent>strong{font-size:var(--fs-meta,.75rem);color:var(--muted)}.p2EspOtaStatus{min-height:24px;font-size:var(--fs-meta,.75rem);align-items:center;margin:0;display:flex}.p2EspOtaStatus[data-empty=true]{visibility:hidden}.p2EntityBody{container:p2EspBody/inline-size}@container p2EspBody (width>=520px){.p2EspMeasures{grid-template-columns:repeat(4,minmax(0,1fr))}.p2EspBanner{grid-template-columns:13ch minmax(0,1fr);align-items:center}}@media (width<=767px){.p2EspPaletteButton,.p2EspHeaderLink{width:44px;height:44px}.p2EspRow{min-height:40px}.p2EspRow.isWide{min-height:76px}.p2EspRoomField>input{height:44px}.p2EspFold>summary{min-height:44px}.p2EspHistoryRow{height:44px}.p2EspLogRow{height:30px}.p2EspCounter{min-height:84px}}.p2Num{font-family:var(--mono-console,ui-monospace, monospace);font-variant-numeric:tabular-nums;font-size:var(--fs-meta)}html .p2Composer{gap:var(--space-3);flex-direction:column;min-height:0;display:flex}html .p2Composer>.p2ComposerBody{gap:var(--space-3);overscroll-behavior:contain;flex-direction:column;min-height:0;display:flex;overflow-y:auto}html .p2Composer.isInline>.p2ComposerBody{overflow:visible}html .p2Composer>.p2ComposerFooter{flex:none}.p2ComposerTypes{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));display:grid}.p2ComposerType{min-height:52px;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface);color:var(--text);text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:2px;display:flex}.p2ComposerType:hover{border-color:var(--primary)}.p2ComposerType.isActive{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 12%, transparent);color:var(--primary)}.p2ComposerType.isBlocked{border-color:var(--tone-warn-border,var(--border));background:var(--tone-warn-bg,transparent)}.p2ComposerType.isBlocked .p2ComposerTypeName{opacity:.7}.p2ComposerType.isBlocked .p2ComposerTypeReason{color:var(--tone-warn-fg,var(--muted));opacity:1}.p2ComposerTypeName{align-items:center;gap:var(--space-1);font-size:var(--fs-body);font-weight:600;display:inline-flex}.p2ComposerTypeReason{font-size:var(--fs-meta);color:var(--muted);max-width:100%}@media (width<=767px){.p2ComposerType{min-height:60px}}.p2ComposerTarget{margin:0}.p2ComposerBlocked{margin:calc(-1 * var(--space-2)) 0 0;min-height:18px;font-size:var(--fs-meta);color:var(--muted);visibility:hidden}.p2ComposerBlocked.isVisible{visibility:visible;color:var(--tone-warn-fg,var(--muted))}html .p2ComposerFooter{gap:var(--space-2);flex-direction:column;display:flex}.p2ComposerError{min-height:20px;font-size:var(--fs-meta);color:var(--tone-danger-fg,var(--muted));visibility:hidden;margin:0}.p2ComposerError.isVisible{visibility:visible}.p2TaskSelector{gap:var(--space-2);flex-direction:column;display:flex}.p2TaskSelectorBar{align-items:center;gap:var(--space-2);min-height:36px;display:flex}.p2TaskSelectorCount{font-size:var(--fs-meta);color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto}.p2TaskSelectorGroup{gap:var(--space-1);flex-direction:column;display:flex}.p2TaskSelectorGroupHead{margin:var(--space-2) 0 0;font-size:var(--fs-meta);color:var(--muted);text-transform:none;font-weight:600}.p2TaskSelectorList{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.p2TaskSelectorRow{align-items:center;gap:var(--space-2);min-height:52px;padding:var(--space-1) var(--space-2);border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface);cursor:pointer;grid-template-columns:24px minmax(0,1fr) 12rem;display:grid}.p2TaskSelectorRow.isBlocked{border-color:var(--tone-warn-border,var(--border));background:var(--tone-warn-bg,var(--surface));cursor:not-allowed}.p2TaskSelectorRow.isBlocked .p2TaskSelectorIdentity{opacity:.7}.p2TaskSelectorIdentity{flex-direction:column;min-width:0;display:flex}.p2TaskSelectorIdentity>strong{font-size:var(--fs-body);font-weight:600}.p2TaskSelectorIdentity>small{font-size:var(--fs-meta);color:var(--muted)}.p2TaskSelectorState{flex-direction:column;align-items:flex-end;gap:2px;min-width:0;display:flex}.p2TaskSelectorReason{font-size:var(--fs-meta);color:var(--muted);text-align:right;max-width:100%;font-style:normal}.p2TaskSelectorRow.isBlocked .p2TaskSelectorReason{color:var(--tone-warn-fg,var(--muted))}@media (width<=767px){.p2TaskSelectorRow{grid-template-columns:24px minmax(0,1fr) 8.5rem;min-height:60px}}html .p2EspChips{flex-direction:column;gap:2px;width:100%;min-width:0;display:flex}html .p2EspChipsRow{align-items:center;gap:var(--space-1);flex-wrap:nowrap;height:36px;display:flex;overflow:hidden}html .p2EspChipsRow>.p1ChipActionWrap{flex:0 auto;min-width:0}html .p2EspChipsRow>.p1ChipActionWrap>button.p1Chip{width:100%;min-width:0}html .p2EspChipsRow .p1ChipLabel{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}html .p2EspChipsRow .p1ChipReason{display:none}html .p2EspChipsRow button.p1Chip.p1ChipAction{height:32px;padding:0 var(--space-1);justify-content:center;gap:3px}html .p2EspChipsRow button.p1Chip.p1ChipAction .p1ChipIcon>svg{width:13px;height:13px}html .p2EspChipsNote{min-height:16px;font-size:var(--fs-meta);color:var(--tone-warn-fg,var(--muted));max-width:100%;margin:0}@media (width<=767px){html .p2EspChipsRow{height:44px}html .p2EspChipsRow button.p1Chip.p1ChipAction{height:40px}html .p2EspChipsNote{min-height:18px}}.p2DurationField{gap:var(--space-1);flex-direction:column;display:flex}.p2DurationRead{text-align:right;min-width:7ch;font-family:var(--mono-console,ui-monospace, monospace);font-variant-numeric:tabular-nums;font-size:var(--fs-meta);color:var(--muted);display:inline-block}.p2DurationUnit{min-width:4.5rem;min-height:36px;padding:0 var(--space-1);border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface);color:var(--text);font-size:var(--fs-meta)}.p2DurationField .rangeNumberControl>input[type=number],.p2DurationField input[type=number]{text-align:right;width:5.5rem;min-width:5.5rem}.p2FieldHelp{min-height:18px;font-size:var(--fs-meta);color:var(--muted);line-height:1.35;display:block}.p2LimitSlot{min-height:88px}.p2LimitInfiniteHint{margin:var(--space-2) 0 0}@media (width<=767px){.p2LimitSlot{min-height:104px}.p2DurationUnit{min-height:44px}}html .sniffTl.p2Timeline{justify-content:center;gap:var(--space-1);flex-direction:column;height:132px;display:flex;overflow:hidden}html .sniffTl.p2Timeline .sniffTlTrack{flex:none}html .sniffTl.p2Timeline .sniffTlFoot{min-height:16px}.p2TimelineStatus{align-items:center;gap:var(--space-2);font-size:var(--fs-body);color:var(--muted);display:flex}.p2TimelineStatus.stop{color:var(--tone-warn-fg,var(--muted))}.p2TimelineStatus.recover{color:var(--tone-info-fg,var(--muted))}@media (width<=767px){html .sniffTl.p2Timeline{height:150px}}.p2TasksPage{gap:var(--space-3);flex-direction:column;display:flex}.p2TasksBar{justify-content:space-between;align-items:center;gap:var(--space-2);z-index:5;padding:var(--space-2) 0;background:var(--surface);flex-wrap:wrap;display:flex;position:sticky;top:0}.p2TasksFilters{align-items:flex-end;gap:var(--space-2);display:flex}.p2TasksFilters .touchField{min-width:10rem}.p2TaskCards{gap:var(--space-2);flex-direction:column;display:flex}.p2TasksMore{justify-content:center;align-items:center;min-height:44px;display:flex}.p2TaskStatus{font-size:var(--fs-meta);font-weight:600}.p2TaskStatus.tone-ok{color:var(--tone-ok-fg)}.p2TaskStatus.tone-warn{color:var(--tone-warn-fg)}.p2TaskStatus.tone-danger{color:var(--tone-danger-fg)}.p2TaskStatus.tone-info{color:var(--tone-info-fg)}.p2TaskStatus.tone-neutral{color:var(--muted)}@media (width<=767px){.p2TasksBar{flex-direction:column;align-items:stretch}.p2TasksFilters{grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;min-width:0;display:grid}.p2TasksFilters .touchField,.p2TasksFilters .touchField>select{min-width:0;max-width:100%}}.p2TaskRecord{gap:var(--space-3);flex-direction:column;display:flex}.p2TaskFacts{flex-direction:column;gap:0;margin:0;display:flex}.p2TaskFacts>div{align-items:center;gap:var(--space-2);border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) minmax(0,12rem);min-height:36px;display:grid}.p2TaskFacts>div:last-child{border-bottom:none}.p2TaskFacts dt{font-size:var(--fs-meta);color:var(--muted)}.p2TaskFacts dd{text-align:right;font-size:var(--fs-body);margin:0}.p2TaskFailure{min-height:20px;font-size:var(--fs-meta);color:var(--tone-danger-fg,var(--muted));visibility:hidden;margin:0}.p2TaskFailure.isVisible{visibility:visible}.p2TaskOccurrenceList{margin:0;padding:0;list-style:none}.p2TaskOccurrence{align-items:center;gap:var(--space-2);border-bottom:1px solid var(--border);min-height:40px;font-size:var(--fs-meta);grid-template-columns:9rem minmax(0,1fr) 8rem;display:grid}.p2TaskOccurrence:last-child{border-bottom:none}.p2TaskOccurrenceTime{color:var(--muted);font-variant-numeric:tabular-nums}.p2TaskOccurrenceStatus{text-align:right;color:var(--muted)}@media (width<=767px){.p2TaskFacts>div{grid-template-columns:minmax(0,1fr) minmax(0,9rem);min-height:44px}.p2TaskOccurrence{grid-template-columns:7rem minmax(0,1fr);min-height:48px}.p2TaskOccurrenceStatus{text-align:left;grid-column:1/-1}}.p2TaskItem{flex-direction:column;gap:2px;display:flex}.p2TaskItemSummary{margin:0 0 var(--space-1);min-height:18px;padding-left:var(--space-2);font-size:var(--fs-meta);color:var(--muted)}.p1TaskDevice{font-size:var(--fs-meta);color:var(--muted);max-width:14rem}html .taskCard.p1TaskCard:not(.isCompact) .p1TaskHead{align-items:baseline;gap:var(--space-2);grid-template-columns:auto minmax(0,1fr) auto;min-height:20px;display:grid}html .taskCard.p1TaskCard:not(.isCompact) .p1TaskHead>.p1TaskMeta{text-align:right;justify-self:end}html .taskCard.p1TaskCard .p1TaskMeta{white-space:nowrap}html .taskCard.p1TaskCard{container:p1TaskCard/inline-size}@container p1TaskCard (width<=520px){html .taskCard.p1TaskCard:not(.isCompact) .p1TaskHead{grid-template-columns:auto minmax(0,1fr);min-height:34px}html .taskCard.p1TaskCard:not(.isCompact) .p1TaskHead>.p1TaskMeta{text-align:left;grid-column:1/-1;justify-self:start}}@media (width<=767px){html .taskCard.p1TaskCard:not(.isCompact) .p1TaskHead{grid-template-columns:auto minmax(0,1fr);min-height:34px}html .taskCard.p1TaskCard:not(.isCompact) .p1TaskHead>.p1TaskMeta{text-align:left;grid-column:1/-1;justify-self:start}}html .taskCard.p1TaskCard>.p1TaskBody{min-width:0}html .taskCard.p1TaskCard .p1TaskDetail{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}@media (width<=640px){html .taskCard.p1TaskCard:not(.isCompact)>.p1TaskIcon{flex:none}html .taskCard.p1TaskCard:not(.isCompact)>.p1TaskBody{flex:1 1 0;min-width:0}html .taskCard.p1TaskCard:not(.isCompact)>.p1TaskActions{justify-content:flex-end;gap:var(--space-2);flex:1 0 100%;display:flex}}.p2TaskFacts dd{padding-right:var(--space-1)}html .p2DurationField>.rangeFieldHeader{align-items:center;gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto;display:grid}html .p2DurationField>.rangeFieldHeader>.rangeFieldValueControls{align-items:center;gap:var(--space-1);justify-self:end;display:inline-flex}@media (width<=767px){html .p2DurationField>.rangeFieldHeader{grid-template-columns:minmax(0,1fr)}html .p2DurationField>.rangeFieldHeader>.rangeFieldValueControls{justify-self:start}html .p2DurationField .p2DurationRead{display:none}}html .p2Composer>.p2ComposerFooter{z-index:2;padding:var(--space-2) var(--space-2) var(--space-3);margin:0 calc(-1 * var(--space-2));border-top:1px solid var(--border);border-radius:0 0 var(--r-card) var(--r-card);background:var(--surface);position:sticky;bottom:0;box-shadow:0 -8px 16px -12px #0000008c}html .p2Composer.isInline>.p2ComposerFooter{box-shadow:none;position:static}.p2DetailPanel .p2EntityBody{gap:var(--space-3,.75rem);flex-direction:column;display:flex}.p2DetailSubIp,.p2DetailSubMeta{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:0 auto;overflow:hidden}.p2DetailSubIp{font-family:var(--mono-console,ui-monospace, monospace);font-variant-numeric:tabular-nums}.p2DetailSubMeta:before,.p2DetailPanel .p2EntitySubtitle>*+.p2DetailSubMeta:before{content:""}.p2DetailChipLink{gap:var(--space-1,.25rem);flex:0 auto;align-items:center;min-width:0;max-width:100%;min-height:28px;text-decoration:none;display:inline-flex}.p2DetailChipLink>svg{flex:none}.p2DetailChipLink .p1ChipLabel{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.p2DetailDanger{flex:none;min-height:36px}.p2DetailVerdict{gap:var(--space-2,.5rem);padding:var(--space-3,.75rem);border:1px solid var(--border);border-radius:var(--r-card,12px);background:var(--surface-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width>=480px){.p2DetailVerdict{grid-template-columns:repeat(4,minmax(0,1fr))}}.p2VerdictCell{gap:var(--space-1,.25rem);flex-direction:column;min-width:0;min-height:44px;display:flex}.p2VerdictLabel{font-size:var(--fs-meta,.75rem);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;line-height:16px;overflow:hidden}.p2VerdictValue{align-items:center;gap:var(--space-1,.25rem);min-width:0;min-height:24px;font-size:var(--fs-body,.875rem);line-height:24px;display:flex}.p2VerdictMuted{color:var(--muted);font-variant-numeric:tabular-nums}.p2VerdictValue>.p1Chip,.p2VerdictValue>.p1ChipActionWrap{flex:0 auto;min-width:0;max-width:100%}.p2VerdictValue>.p1Chip>.p1ChipLabel{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.p2DetailSection{gap:var(--space-2,.5rem);padding:var(--space-3,.75rem);border:1px solid var(--border);border-radius:var(--r-card,12px);background:var(--surface);flex-direction:column;display:flex}.p2DetailSectionHead{align-items:center;gap:var(--space-2,.5rem);min-height:24px;display:flex}.p2DetailSectionTitle{align-items:center;gap:var(--space-1,.25rem);min-width:0;font-size:var(--fs-body,.875rem);text-overflow:ellipsis;white-space:nowrap;flex:auto;margin:0;font-weight:600;line-height:24px;display:flex;overflow:hidden}.p2DetailSectionAction{flex:none;justify-content:flex-end;align-items:center;min-height:24px;display:flex}.p2DetailSectionLink{font-size:var(--fs-meta,.75rem);color:var(--primary);white-space:nowrap}.p2DetailHint{font-size:var(--fs-meta,.75rem);color:var(--muted);margin:0;line-height:1.4}.p2DetailNotes{gap:var(--space-1,.25rem);flex-direction:column;display:flex}.p2DetailEmpty{min-height:32px;font-size:var(--fs-body,.875rem);color:var(--muted);align-items:center;margin:0;display:flex}.p2DetailChips{gap:var(--space-1,.25rem);flex-wrap:wrap;align-content:flex-start;min-height:26px;display:flex}.p2DetailRows{flex-direction:column;gap:0;margin:0;display:flex}.p2DetailRow{gap:var(--space-2,.5rem);min-height:32px;padding:var(--space-1,.25rem) 0;border-bottom:1px solid var(--border);grid-template-columns:minmax(0,11rem) minmax(0,1fr);align-items:center;display:grid}.p2DetailRow:last-child{border-bottom:0}.p2DetailRow>dt{min-width:0;font-size:var(--fs-meta,.75rem);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.p2DetailRow>dd{align-items:center;gap:var(--space-1,.25rem);min-width:0;font-size:var(--fs-body,.875rem);text-overflow:ellipsis;white-space:nowrap;margin:0;display:flex;overflow:hidden}@media (width<=480px){.p2DetailRow{grid-template-columns:minmax(0,8.5rem) minmax(0,1fr)}}.p2DetailList{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.p2DetailList>li{border-bottom:1px solid var(--border)}.p2DetailList>li:last-child{border-bottom:0}.p2DetailListRow{gap:var(--space-2,.5rem);min-height:44px;padding:var(--space-1,.25rem) 0;color:var(--text);grid-template-columns:minmax(0,1fr) auto;align-items:center;text-decoration:none;display:grid}a.p2DetailListRow:hover .p2DetailListName{color:var(--primary)}.p2DetailListMain{flex-direction:column;min-width:0;display:flex}.p2DetailListName{font-size:var(--fs-body,.875rem);font-weight:600;line-height:18px}.p2DetailListMeta{font-family:var(--mono-console,ui-monospace, monospace);font-size:var(--fs-meta,.75rem);font-variant-numeric:tabular-nums;color:var(--muted);min-height:16px;line-height:16px}.p2DetailListSide{justify-content:flex-end;align-items:center;gap:var(--space-2,.5rem);flex:none;display:flex}.p2DetailTableWrap{overflow-x:auto}.p2DetailTable{border-collapse:collapse;table-layout:fixed;width:100%}.p2DetailTable th,.p2DetailTable td{height:32px;padding:0 var(--space-1,.25rem);font-size:var(--fs-meta,.75rem);text-align:left;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.p2DetailTable th{border-bottom:1px solid var(--border);color:var(--muted);font-weight:600}.p2DetailTable td{border-bottom:1px solid var(--border)}.p2DetailTable tbody tr:last-child td{border-bottom:0}.p2DetailTable tr.isLost td{color:var(--muted)}.p2DetailTable .p2Num{font-family:var(--mono-console,ui-monospace, monospace);font-variant-numeric:tabular-nums}.p2CellStack{flex-direction:column;justify-content:center;min-width:0;display:flex}.p2CellMain{line-height:16px}.p2CellSub{font-size:var(--fs-meta,.75rem);color:var(--muted);line-height:14px}.p2DetailTable td:has(.p2CellStack){height:40px}.p2SourceTable th:first-child,.p2SourceTable td:first-child{width:34%}.p2SourceTable th:nth-child(2),.p2SourceTable td:nth-child(2){width:26%}.p2SourceTable th:nth-child(3),.p2SourceTable td:nth-child(3){width:12%}.p2SourceTable th:nth-child(4),.p2SourceTable td:nth-child(4){width:28%}.p2FrameTable th:first-child,.p2FrameTable td:first-child{width:22%}.p2FrameTable th:nth-child(2),.p2FrameTable td:nth-child(2){width:38%}.p2FrameTable th:nth-child(3),.p2FrameTable td:nth-child(3){width:14%}.p2FrameTable th:nth-child(4),.p2FrameTable td:nth-child(4){width:26%}.p2Ellipsis{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.p2Num{font-family:var(--mono-console,ui-monospace, monospace);font-variant-numeric:tabular-nums;white-space:nowrap}.p2DetailForm{gap:var(--space-2,.5rem);flex-direction:column;display:flex}.p2DetailField{gap:var(--space-1,.25rem);flex-direction:column;display:flex}.p2DetailFieldLabel{font-size:var(--fs-meta,.75rem);color:var(--muted)}.p2DetailFieldRow{gap:var(--space-2,.5rem);align-items:center;display:flex}.p2DetailFieldRow>input{flex:auto;min-width:0}.p2DetailForm input,.p2DetailForm select{min-height:36px}.p2DetailForm .btn{flex:none;min-height:36px}.p2DetailDebug>summary{cursor:pointer;min-height:36px;font-size:var(--fs-meta,.75rem);color:var(--muted);align-items:center;display:flex}.p2DetailRadios{gap:var(--space-2,.5rem);padding:var(--space-3,.75rem);border:1px solid var(--border);border-radius:var(--r-card,12px);background:var(--surface);flex-direction:column;display:flex}.p2RadioList{gap:var(--space-1,.25rem);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.p2RadioRow{gap:var(--space-2,.5rem);min-height:40px;padding:0 var(--space-2,.5rem);border:1px solid var(--border);border-radius:var(--r-control,8px);color:var(--text);grid-template-columns:minmax(0,9rem) auto minmax(0,1fr);align-items:center;text-decoration:none;display:grid}.p2RadioRow:hover{border-color:var(--primary)}.p2RadioRow.isCurrent{border-color:var(--primary);background:var(--tone-info-bg,var(--surface-2))}.p2RadioBand{font-size:var(--fs-body,.875rem);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.p2RadioSignal{flex:none;align-items:center;display:flex}.p2RadioId{font-family:var(--mono-console,ui-monospace, monospace);font-size:var(--fs-meta,.75rem);font-variant-numeric:tabular-nums;color:var(--muted);text-align:right;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.p2DetailSkeleton{gap:var(--space-3,.75rem);flex-direction:column;display:flex}.p2DetailSkeletonBlock{border:1px solid var(--border);border-radius:var(--r-card,12px);background:var(--surface-2)}.p2DetailVerdict.p2DetailSkeletonBlock{min-height:92px}.p2DetailSkeletonRows{min-height:220px}.probeHistoryPanel .pnlPrivacyNotice{gap:var(--space-1,.25rem);font-size:var(--fs-meta,.75rem);color:var(--muted);align-items:flex-start;margin:0;line-height:1.4;display:flex}.p2PnlList .p2DetailListRow{min-height:32px}@media (width<=479px){.p2RadioRow{grid-template-columns:minmax(0,1fr) auto}.p2RadioId{display:none}}@media (width<=767px){.p2DetailListRow{min-height:48px}.p2DetailForm input,.p2DetailForm select,.p2DetailForm .btn,.p2DetailDanger,.p2DetailDebug>summary,.p2RadioRow{min-height:44px}.p2DetailChipLink{min-height:36px}.p2PnlList .p2DetailListRow{min-height:40px}}.p2DenseRow.focusedTarget{outline:2px solid var(--primary);outline-offset:-2px;background:color-mix(in srgb, var(--primary) 8%, transparent)}.p2ListDot{border-radius:var(--r-pill,999px);background:var(--tone-neutral-fg,var(--muted));flex:none;width:8px;height:8px}.p2ListDot.tone-ok{background:var(--tone-ok-fg)}.p2ListDot.tone-warn{background:var(--tone-warn-fg)}.p2ListDot.tone-danger{background:var(--tone-danger-fg)}.p2ListDot.tone-info{background:var(--tone-info-fg)}.p2ListName{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-weight:600;overflow:hidden}.p2ListPlain{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.p2ListName.hiddenSsid{color:var(--muted);font-style:italic;font-weight:500}.p2ListTech{align-items:center;gap:var(--space-2,.5rem);min-width:0;display:inline-flex;overflow:hidden}.p2ListTechId{flex:none;min-width:0}.p2ListTechLead{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}.p2ListTechMeta{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:var(--fs-meta,.75rem);color:var(--muted);flex:auto;overflow:hidden}.p2ListNum{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-family:var(--mono-console,ui-monospace, monospace);font-variant-numeric:tabular-nums;overflow:hidden}.p2ListMuted{color:var(--muted);font-variant-numeric:tabular-nums}@media (width<=767px){.p2ListTechMeta,.p2ListTechLead{display:none}.p2ListTech{gap:var(--space-1,.25rem)}.p2ListTechId{flex:0 auto;min-width:0}.p2ListDash{display:none}}.p2ListTask{align-items:center;gap:var(--space-2,.5rem);min-width:0;display:inline-flex;overflow:hidden}.p2ListSpinner{flex:none;width:12px;height:12px}.p2ListTaskName{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.p2DenseCell .p1Chip{max-width:100%}.p2ListExpand{align-items:center;gap:var(--space-1,.25rem);min-width:0;min-height:36px;padding:0 var(--space-1,.25rem);border-radius:var(--r-control,8px);color:var(--muted);font:inherit;font-size:var(--fs-meta,.75rem);white-space:nowrap;cursor:pointer;background:0 0;border:0;display:inline-flex}.p2ListExpand:hover,.p2ListExpand:focus-visible{color:var(--text)}.p2ListExpand svg{flex:none}.p2ListIndent{width:var(--space-4,1rem);flex:none;height:1px}.p2ListMemberName{color:var(--muted);font-variant-numeric:tabular-nums;font-weight:400}.p2ListActions{justify-content:flex-end;align-items:center;gap:var(--space-1,.25rem);min-width:0;display:inline-flex}.p1LedSwitch.p2ListLed{flex-wrap:nowrap;position:relative}.p1LedSwitch.p2ListLed .p1SwitchControl{min-height:36px}@media (width>=768px){.p2EspDense .p2DenseRow,.p2EspDense .p2DenseCell:last-child{overflow:visible}}.p2ListOpen.iconButton{width:36px;height:36px;color:var(--muted);flex:none}.p2ListOpen.iconButton:hover,.p2ListOpen.iconButton:focus-visible{color:var(--primary)}@media (width<=767px){.p2DenseRow .p2ListExpand,html .p2DenseRow .p1LedSwitch.p2ListLed .p1SwitchControl{height:26px;min-height:26px;position:relative}.p2DenseRow .p2ListExpand:after,html .p2DenseRow .p1LedSwitch.p2ListLed .p1SwitchControl:after{content:"";height:44px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.p2EspDense .p2ListOpen.iconButton{display:none}.p2EspDense .p2DenseCell[data-align=end][data-line=line1]{margin-left:auto}.p2EspDense .p2ListTask{gap:var(--space-1,.25rem)}.p2EspDense .p2DenseCell[data-line=line1]{flex:none}.p2EspDense .p2DenseCell[data-line=line1]:first-child{flex:auto;min-width:0}}.p1ScanRunning .espTaskList{align-items:stretch;gap:var(--space-3,.75rem);grid-template-columns:repeat(auto-fill,minmax(380px,1fr));grid-auto-rows:244px;display:grid}.p1ScanRunning .espTaskList>*{min-width:0;min-height:0;overflow:hidden}@media (width<=767px){.p1ScanRunning .espTaskList{grid-template-columns:1fr;grid-auto-rows:112px}}.p1StickyBar .segmented,.p1EspToolbar .segmented{flex:none}.p3PeriodBar{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;min-height:44px;display:flex}.p3PeriodGroup{align-items:center;gap:var(--space-2);display:flex}.p3PeriodGroup .segmented{margin:0}.p3PeriodCustom{position:relative}.p3PeriodCustomBtn{align-items:center;gap:var(--space-1);min-height:var(--control-h-compact);padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--r-control);color:var(--muted);font-size:var(--fs-body);cursor:pointer;background:0 0;display:inline-flex}.p3PeriodCustomBtn:hover,.p3PeriodCustomBtn:focus-visible{color:var(--text);border-color:var(--primary)}.p3PeriodCustomBtn.isActive{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.p3PeriodPopover{z-index:40;top:calc(100% + var(--space-2));width:min(20rem, calc(100vw - var(--space-6)));gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow);flex-direction:column;display:flex;position:absolute;inset-inline-start:0}.p3PeriodField{gap:var(--space-1);font-size:var(--fs-meta);color:var(--muted);flex-direction:column;display:flex}.p3PeriodField input{min-height:var(--control-h);padding:0 var(--space-2);border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface-2);color:var(--text);font-size:var(--fs-body);font-family:var(--mono-console)}.p3PeriodHint{font-size:var(--fs-meta);color:var(--muted);margin:0}.p3PeriodError{min-height:2.4em;font-size:var(--fs-meta);color:var(--tone-danger-fg);margin:0}.p3PeriodError[data-shown=false]{visibility:hidden}.p3PeriodActions{justify-content:flex-end;gap:var(--space-2);display:flex}.p3PeriodApplied{min-width:12ch;font-size:var(--fs-meta);color:var(--muted);text-align:end;text-overflow:ellipsis;white-space:nowrap;flex:auto;margin:0;overflow:hidden}.p3SummaryStrip{align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface-2);flex-wrap:wrap;min-height:48px;display:flex}.p3SummaryState{align-items:center;gap:var(--space-2);font-size:var(--fs-body);min-width:14ch;margin:0;font-weight:600;display:inline-flex}.p3SummaryDot{border-radius:var(--r-pill);background:currentColor;flex:none;width:8px;height:8px}.p3SummaryState.tone-ok{color:var(--tone-ok-fg)}.p3SummaryState.tone-warn{color:var(--tone-warn-fg)}.p3SummaryState.tone-info{color:var(--tone-info-fg)}.p3SummaryState.tone-neutral{color:var(--muted)}.p3SummaryMetrics{align-items:center;gap:var(--space-2) var(--space-4);flex-wrap:wrap;flex:auto;display:flex}.p3SummaryItem{align-items:baseline;gap:var(--space-1);display:inline-flex}.p3SummaryLabel{font-size:var(--fs-meta);color:var(--muted);white-space:nowrap}.p3SummaryTail{margin:0;min-width:14ch;min-height:1.4em;font-size:var(--fs-meta);color:var(--muted);text-align:end;margin-inline-start:auto}.p3SummaryError{color:var(--tone-warn-fg)}.p3SummaryStrip.isLoading .p3SummaryMetrics,.p3SummaryStrip.isLoading .p3SummaryState{opacity:.55}.p3AnalysisSticky{z-index:30;gap:var(--space-2);padding:var(--space-2) 0;margin-bottom:var(--space-3);background:var(--surface-glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-direction:column;display:flex;position:sticky;top:0}@media (width<=767px){.p3AnalysisSticky{top:var(--mobile-top-height)}.p3PeriodGroup{flex-direction:column;align-items:stretch;width:100%}.p3PeriodGroup .segmented{display:flex}.p3PeriodGroup .segmented button{white-space:nowrap;padding-inline:var(--space-2);flex:1 1 0}.p3PeriodCustomBtn{justify-content:center;width:100%}.p3PeriodPopover{inset-inline:auto 0}.p3PeriodGroup .segmented button,.p3PeriodCustomBtn{min-height:var(--control-h)}.p3PeriodApplied,.p3SummaryTail{text-align:start;flex-basis:100%}}.p3AnalysisTabs{margin:0}.p3FlashTabs{margin-bottom:var(--space-3)}.p3FlashPanels{min-height:0}.p3LegacyMount>.page,.p3LegacyMount>main{padding:0}.p3LegacyMount header.pageHeader.p1PageHeader{display:none}@media (width<=767px){.p1Tab,.consoleTab,.p1-segmentedItem{min-height:44px}}button.p1TechId{align-self:center;min-height:36px}@media (width<=767px){button.p1TechId{min-height:44px}}:is(.p1EspTile,.p1NetTile,.p1DeviceTile,.p1TaskCard,.p2TaskItem,.p2DenseRow,.p1DenseRow,.p1EspIdentityLine) button.p1TechId{min-height:24px}.p3Card{border:1px solid var(--border);border-radius:var(--r-card,12px);background:var(--surface);padding:var(--space-3);margin-bottom:var(--space-3);min-width:0}.p3CardHead{justify-content:space-between;align-items:flex-start;gap:var(--space-2) var(--space-3);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.p3CardHeadText{flex:16rem;min-width:0}.p3CardHead h2{font-size:var(--fs-id);margin:0;font-weight:600}.p3CardSub{margin:var(--space-1) 0 0;font-size:var(--fs-meta);color:var(--muted);min-height:2.4em}.p3Muted{margin:var(--space-2) 0;font-size:var(--fs-body);color:var(--muted)}.p3Note{margin:var(--space-2) 0 0;font-size:var(--fs-meta);color:var(--muted)}.p3Tag{padding:0 var(--space-2);border:1px solid var(--border);border-radius:var(--r-pill,999px);background:var(--surface-2);font-size:var(--fs-meta);white-space:nowrap;align-items:center;line-height:1.7;display:inline-flex}.p3TagBle{padding:0 var(--space-1);border-radius:var(--r-pill,999px);background:var(--tone-info-bg,var(--surface-2));color:var(--tone-info-fg,var(--text));font-size:var(--fs-meta);align-items:center;line-height:1.6;display:inline-flex}.p3Card .segmented button,.p3Card .btn.compact,.p3Card .iconButton{min-height:var(--control-h-compact)}.p3Card .segmented{margin:0}.p3PresenceTab{gap:var(--space-3);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}.p3PresenceMain{min-width:0}@media (width>=1160px){.p3PresenceTab.hasRail{grid-template-columns:minmax(0,1fr) 22rem}}.p3PresenceRail{min-width:0}.p3PresenceRestTitle{margin:0 0 var(--space-1) 0;font-size:var(--fs-id)}.p3PresenceRest .p3ConfidenceLegend{margin-top:var(--space-3)}.p3PresencePanel{border:1px solid var(--border);border-radius:var(--r-card,12px);background:var(--surface-2);padding:var(--space-3);min-width:0;max-height:calc(100vh - var(--p3PanelTop,0px) - var(--space-4,16px));box-shadow:var(--shadow);overflow:auto}@media (width<=1159px){.p3PresencePanel{max-height:none;box-shadow:none;overflow:visible}}.p3PanelHead{justify-content:space-between;align-items:flex-start;gap:var(--space-2);display:flex}.p3PanelTitle{min-width:0}.p3PanelKind{font-size:var(--fs-meta);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;display:block}.p3PanelTitle h2{font-size:var(--fs-id);overflow-wrap:anywhere;margin:0;font-weight:600}.p3PanelFacts{gap:var(--space-2);margin:var(--space-3) 0;display:grid}.p3PanelFacts>div{gap:var(--space-2);grid-template-columns:minmax(6rem,40%) minmax(0,1fr);align-items:baseline;display:grid}.p3PanelFacts dt{font-size:var(--fs-meta);color:var(--muted)}.p3PanelFacts dd{font-size:var(--fs-body);overflow-wrap:anywhere;margin:0}.p3PanelLinks{gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.p3RoomCounts{align-items:center;gap:var(--space-1) var(--space-3);padding:var(--space-2) 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex-wrap:wrap;min-height:42px;display:flex}.p3RoomCountText{font-size:var(--fs-meta);color:var(--muted);margin-inline-end:var(--space-2)}.p3RoomGrid{gap:var(--space-2);margin-top:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));display:grid}.p3RoomColumn{border:1px solid var(--border);border-radius:var(--r-card,12px);padding:var(--space-2);background:var(--surface-2);min-width:0}.p3RoomHead{justify-content:space-between;align-items:flex-start;gap:var(--space-2);display:flex}.p3RoomTitleText{min-width:0;font:inherit;flex:auto;margin:0}.p3RoomName{-webkit-line-clamp:2;font-size:var(--fs-body);overflow-wrap:anywhere;-webkit-box-orient:vertical;min-height:2.7em;font-weight:600;display:-webkit-box;overflow:hidden}.p3RoomProbes{gap:var(--space-1);margin:var(--space-1) 0;min-height:var(--control-h-compact);flex-wrap:wrap;align-items:center;display:flex}.p3RoomProbeChip{min-height:var(--control-h-compact);padding:0 var(--space-2);border:1px solid var(--border);border-radius:var(--r-pill,999px);background:var(--surface);color:var(--muted);font:inherit;font-size:var(--fs-meta);cursor:pointer;align-items:center;gap:4px;max-width:100%;display:inline-flex}.p3RoomProbeChip>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.p3RoomProbeChip:hover,.p3RoomProbeChip:focus-visible{border-color:var(--primary);color:var(--text)}.p3RoomDeviceProbe{font-size:var(--fs-meta);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1 0 100%;overflow:hidden}.p3RoomCount{min-width:2ch;padding:0 var(--space-2);border-radius:var(--r-pill,999px);background:var(--surface);border:1px solid var(--border);font-size:var(--fs-meta);font-variant-numeric:tabular-nums;text-align:center;flex:none;line-height:1.8}.p3RoomActions{min-height:34px;margin:var(--space-1) 0;align-items:center;display:flex;position:relative}.p3RoomEmpty{font-size:var(--fs-meta);color:var(--muted);min-height:2.2em;margin:0}.p3RoomDevices{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.p3RoomDevice{justify-content:space-between;align-items:center;gap:var(--space-1) var(--space-2);width:100%;min-height:var(--control-h-compact);padding:var(--space-1) var(--space-2);border:1px solid var(--border);border-radius:var(--r-control,8px);background:var(--surface);color:inherit;font:inherit;cursor:pointer;text-align:start;border-inline-start-width:3px;flex-wrap:wrap;display:flex}.p3RoomDevice:hover,.p3RoomDevice:focus-visible{border-color:var(--primary)}.p3RoomDevice.isSelected{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.p3RoomDeviceName{min-width:0;font-size:var(--fs-body);text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.p3RoomDeviceMeta{align-items:center;gap:var(--space-2);flex:none;display:inline-flex}.p3Confidence{align-items:center;gap:var(--space-1);display:inline-flex}.p3ConfidenceDots{gap:2px;display:inline-flex}.p3ConfidenceDots span{border:1px solid var(--muted);border-radius:50%;width:7px;height:7px}.p3ConfidenceDots span.isOn{background:var(--muted)}.p3Confidence.level-3 .p3ConfidenceDots span{border-color:var(--tone-ok-fg,var(--ok))}.p3Confidence.level-3 .p3ConfidenceDots span.isOn{background:var(--tone-ok-fg,var(--ok))}.p3Confidence.level-2 .p3ConfidenceDots span{border-color:var(--tone-warn-fg,var(--warn))}.p3Confidence.level-2 .p3ConfidenceDots span.isOn{background:var(--tone-warn-fg,var(--warn))}.p3Confidence.level-1 .p3ConfidenceDots span{border-color:var(--tone-danger-fg,var(--danger))}.p3Confidence.level-1 .p3ConfidenceDots span.isOn{background:var(--tone-danger-fg,var(--danger))}.p3ConfidenceWord{font-size:var(--fs-meta);color:var(--muted);text-align:end;text-overflow:ellipsis;white-space:nowrap;min-width:9ch;overflow:hidden}.p3ConfidenceMargin{font-size:var(--fs-meta);color:var(--muted);font-variant-numeric:tabular-nums;text-align:end;min-width:6ch}.p3ConfidenceLegend{align-items:center;gap:var(--space-1) var(--space-3);margin:var(--space-2) 0 0;font-size:var(--fs-meta);color:var(--muted);flex-wrap:wrap;display:flex}.p3ConfidenceLegendTitle{color:var(--text);font-weight:600}.p3ConfidenceLegendItem{align-items:center;gap:var(--space-1);display:inline-flex}.p3RoomNameWrap{display:inline-flex;position:relative}.p3RoomNamePop{z-index:45;top:calc(100% + var(--space-1));width:min(18rem, calc(100vw - var(--space-6,2rem)));gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--r-card,12px);background:var(--surface);box-shadow:var(--shadow);flex-direction:column;display:flex;position:absolute;inset-inline-start:0}.p3RoomNameField{gap:var(--space-1);font-size:var(--fs-meta);color:var(--muted);flex-direction:column;display:flex}.p3RoomNameField input{min-height:var(--control-h);padding:0 var(--space-2);border:1px solid var(--border);border-radius:var(--r-control,8px);background:var(--surface-2);color:var(--text);font-size:var(--fs-body)}.p3RoomNameError{min-height:2.4em;font-size:var(--fs-meta);color:var(--tone-danger-fg,var(--danger))}.p3RoomNameError[data-shown=false]{visibility:hidden}.p3RoomNameActions{justify-content:flex-end;gap:var(--space-2);display:flex}.p3GraphTools{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;min-height:44px;display:flex}.p3SearchField{align-items:center;gap:var(--space-2);max-width:22rem;min-height:var(--control-h-compact);padding:0 var(--space-2);border:1px solid var(--border);border-radius:var(--r-control,8px);background:var(--surface-2);color:var(--muted);flex:14rem;display:inline-flex}.p3SearchField input{min-width:0;color:var(--text);font-size:var(--fs-body);min-height:var(--control-h-compact);background:0 0;border:0;flex:auto}.p3SearchField input:focus{outline:none}.p3SearchField:focus-within{border-color:var(--primary)}.p3GraphMore{min-height:var(--control-h-compact);align-items:center;min-width:8ch;display:inline-flex}.p3GraphMore[data-empty=true]{visibility:hidden}.p3GraphCounts{font-size:var(--fs-meta);color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;margin-inline-start:auto}.p3GraphLegend{gap:var(--space-1) var(--space-3);margin:var(--space-2) 0;font-size:var(--fs-meta);color:var(--muted);flex-wrap:wrap;padding:0;list-style:none;display:flex}.p3GraphLegend li{align-items:center;gap:var(--space-1);display:inline-flex}.p3LegendMark{flex:none;width:12px;height:12px;display:inline-block}.p3LegendMark.isEsp{background:var(--text);border-radius:3px}.p3LegendMark.isDevice{background:var(--primary);width:10px;height:10px;transform:rotate(45deg)}.p3LegendMark.isNetwork{background:var(--muted);border-radius:50%}.p3LegendMark.isSignal{background:linear-gradient(to right, var(--tone-ok-fg,var(--ok)) 0 33%, var(--tone-warn-fg,var(--warn)) 33% 66%, var(--tone-danger-fg,var(--danger)) 66% 100%);border-radius:2px}.p3LegendMark.isTracker{background:var(--tone-danger-fg,var(--danger));width:10px;height:10px;transform:rotate(45deg)}.p3LegendMark.isWidth{background:var(--muted);clip-path:polygon(0 45%,100% 15%,100% 85%,0 55%);width:16px;height:10px}.p3GraphScroll{overscroll-behavior-x:contain;overflow-x:auto}.p3GraphSvg{width:100%;min-width:800px;display:block}.p3GraphAxis{fill:var(--muted);font-size:var(--fs-meta);letter-spacing:.06em}.p3GraphLabel{fill:var(--text);font-size:var(--fs-meta)}.p3GraphEdge{stroke:var(--muted);opacity:.5}.p3GraphEdge.signal-excellent,.p3GraphEdge.signal-good{stroke:var(--tone-ok-fg,var(--ok));opacity:.7}.p3GraphEdge.signal-weak{stroke:var(--tone-warn-fg,var(--warn));opacity:.7}.p3GraphEdge.signal-poor{stroke:var(--tone-danger-fg,var(--danger));opacity:.7}.p3GraphEdge.kind-device_network{stroke-dasharray:4 3}.p3GraphNode{cursor:pointer}.p3GraphNode:focus-visible{outline:none}.p3GraphNode:focus-visible .p3GraphLabel,.p3GraphNode:hover .p3GraphLabel{fill:var(--primary)}.p3NodeEsp{fill:var(--surface-2);stroke:var(--text);stroke-width:1.5px}.p3NodeNetwork{fill:var(--surface-2);stroke:var(--muted);stroke-width:1.5px}.p3NodeDevice{fill:var(--surface-2);stroke:var(--primary);stroke-width:1.5px}.p3NodeDevice.isTracker{stroke:var(--tone-danger-fg,var(--danger));fill:var(--tone-danger-bg,var(--surface-2))}.p3NodeDevice.isBle{stroke-dasharray:3 2}.p3GraphNode.isSelected .p3NodeEsp,.p3GraphNode.isSelected .p3NodeNetwork,.p3GraphNode.isSelected .p3NodeDevice{stroke:var(--primary);stroke-width:3px}.p3GraphFocus{align-items:center;gap:var(--space-2);margin:var(--space-2) 0 0;font-size:var(--fs-meta);color:var(--muted);min-height:var(--control-h-compact);display:flex}.p3GraphFocus[data-empty=true]{visibility:hidden}.p3MatrixScroll{overscroll-behavior-x:contain;overflow-x:auto}.p3Matrix{border-collapse:collapse;width:100%;font-size:var(--fs-meta)}.p3MatrixCaption{caption-side:top;text-align:start;font-size:var(--fs-meta);color:var(--muted);padding-bottom:var(--space-1)}.p3Matrix th,.p3Matrix td{border:1px solid var(--border);text-align:center;vertical-align:middle;padding:0}.p3Matrix thead th{padding:var(--space-1);background:var(--surface-2);white-space:nowrap;font-weight:600}.p3Matrix tbody th{text-align:start;max-width:12rem}.p3MatrixDevice,.p3MatrixValue{justify-content:center;align-items:center;gap:var(--space-1);width:100%;min-height:var(--control-h-compact);color:inherit;font:inherit;cursor:pointer;padding:0 var(--space-1);background:0 0;border:0;display:flex}.p3MatrixDevice{text-overflow:ellipsis;white-space:nowrap;justify-content:flex-start;overflow:hidden}.p3Matrix tbody tr.isSelected{outline:2px solid var(--primary);outline-offset:-2px}.p3MatrixCell.isEmpty{color:var(--muted)}.p3MatrixDot{background:var(--muted);border-radius:50%;flex:none;width:8px;height:8px}.p3MatrixCell.signal-excellent .p3MatrixDot,.p3MatrixCell.signal-good .p3MatrixDot{background:var(--tone-ok-fg,var(--ok))}.p3MatrixCell.signal-weak .p3MatrixDot{background:var(--tone-warn-fg,var(--warn))}.p3MatrixCell.signal-poor .p3MatrixDot{background:var(--tone-danger-fg,var(--danger))}.p3MatrixDbm{font-variant-numeric:tabular-nums;white-space:nowrap}.p3TagTracker{background:var(--tone-danger-bg,var(--surface-2));width:14px;height:14px;color:var(--tone-danger-fg,var(--danger));font-size:var(--fs-meta);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.p3EntityPresence{margin-top:var(--space-3)}.p3BandTitle{margin:0 0 var(--space-1);font-size:var(--fs-meta);color:var(--muted)}.p3Band{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;margin:0;padding:0;list-style:none;display:grid}.p3BandCell{border:1px solid var(--border);border-radius:var(--r-control,8px);background:var(--surface-2);width:100%;min-height:40px;color:var(--muted);font:inherit;cursor:pointer;justify-content:center;align-items:flex-end;padding:2px;display:flex}.p3BandCell.level-1{background:color-mix(in srgb, var(--primary) 18%, var(--surface-2))}.p3BandCell.level-2{background:color-mix(in srgb, var(--primary) 34%, var(--surface-2))}.p3BandCell.level-3{background:color-mix(in srgb, var(--primary) 55%, var(--surface-2))}.p3BandCell.level-4{background:color-mix(in srgb, var(--primary) 76%, var(--surface-2));color:var(--on-primary,var(--text))}.p3BandCell.isSelected{outline:2px solid var(--primary);outline-offset:1px}.p3BandDay{font-size:var(--fs-meta);white-space:nowrap;text-overflow:ellipsis;line-height:1.2;overflow:hidden}.p3BandTail{align-items:center;gap:var(--space-2);margin:var(--space-2) 0;min-height:var(--control-h-compact);font-size:var(--fs-meta);color:var(--muted);display:flex}.p3BandTail[data-empty=true]{visibility:hidden}.p3Timeline{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.p3TimelineItem{gap:var(--space-2);padding:var(--space-1) var(--space-2);border:1px solid var(--border);border-radius:var(--r-control,8px);background:var(--surface);border-inline-start-width:3px;grid-template-columns:7rem minmax(0,1fr);display:grid}.p3TimelineItem.signal-excellent,.p3TimelineItem.signal-good{border-inline-start-color:var(--tone-ok-fg,var(--ok))}.p3TimelineItem.signal-weak{border-inline-start-color:var(--tone-warn-fg,var(--warn))}.p3TimelineItem.signal-poor{border-inline-start-color:var(--tone-danger-fg,var(--danger))}.p3TimelineWhen{font-size:var(--fs-meta);color:var(--muted);font-variant-numeric:tabular-nums}.p3TimelineBody{min-width:0}.p3TimelineHead{align-items:center;gap:var(--space-1) var(--space-2);flex-wrap:wrap;display:flex}.p3TimelineSignal,.p3TimelineFrames{font-size:var(--fs-meta);font-variant-numeric:tabular-nums;color:var(--muted)}.p3TimelineDetail{font-size:var(--fs-meta);color:var(--muted);overflow-wrap:anywhere}.p3ChartCard{border:1px solid var(--border);border-radius:var(--r-card,12px);background:var(--surface);padding:var(--space-3);min-width:0}.p3ChartCard.isWide{margin-bottom:var(--space-3);grid-column:1/-1}.p3ChartTitle{font-size:var(--fs-body);margin:0;font-weight:600}.p3ChartSub{margin:var(--space-1) 0 var(--space-2);font-size:var(--fs-meta);color:var(--muted);min-height:2.4em}.p3ChartSub[data-empty=true]{visibility:hidden}.p3ChartEmpty{padding:var(--space-3) 0;font-size:var(--fs-meta);color:var(--muted);min-height:4rem;margin:0}.p3ChartFrame{min-width:0;position:relative}.p3ChartTip{z-index:50;max-width:16rem;padding:var(--space-1) var(--space-2);border:1px solid var(--border);border-radius:var(--r-control,8px);background:var(--surface);color:var(--text);font-size:var(--fs-meta);box-shadow:var(--shadow);pointer-events:none;position:absolute;transform:translate(-50%,-115%)}.p3ChartScroll{overscroll-behavior-x:contain;overflow-x:auto}.p3ChartSvg{max-width:none;display:block}.p3ChartGrid{stroke:var(--chart-grid);stroke-width:1px}.p3ChartTickText{fill:var(--muted);font-size:var(--fs-meta)}.p3ChartAxisText{fill:var(--muted);font-size:var(--fs-meta);font-weight:600}.p3Bar{cursor:default}.p3Bar.isClickable{cursor:pointer}.p3BarHit{fill:#0000}.p3Bar:hover .p3BarHit{fill:var(--chart-grid)}.p3Bar:focus-visible .p3BarHit{fill:var(--chart-grid);stroke:var(--text);stroke-width:2px}.p3Bar:focus-visible{outline:none}.p3BarFill{fill:var(--chart-seq)}.p3Bar.isSelected .p3BarFill{fill:var(--primary)}.p3BarValue{fill:var(--text);font-size:var(--fs-meta);font-weight:700}.p3HBarList{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.p3HBarRow{align-items:center;gap:var(--space-2);width:100%;min-height:var(--control-h-compact);color:inherit;font:inherit;text-align:start;background:0 0;border:0;grid-template-columns:minmax(4.5rem,8rem) minmax(0,1fr) auto;padding:0;display:grid}.p3HBarRow.isClickable{cursor:pointer}.p3HBarLabel{font-size:var(--fs-meta);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.p3HBarTrack{background:var(--chart-grid);border-radius:var(--r-pill,999px);height:12px;overflow:hidden}.p3HBarFill{background:var(--chart-seq);height:100%;display:block}.p3HBarList li.isSelected .p3HBarFill{background:var(--primary)}.p3HBarValue{font-size:var(--fs-meta);font-variant-numeric:tabular-nums;font-weight:600}.p3StackSvg{border-radius:var(--r-control,8px);display:block;overflow:hidden}.p3StackSeg{cursor:default}.p3StackSeg.isClickable{cursor:pointer}.p3StackSeg:focus-visible{outline:none}.p3StackSeg:focus-visible rect,.p3StackSeg.isSelected rect{stroke:var(--text);stroke-width:2px}.p3StackPctPlate{fill:var(--surface);opacity:.92}.p3StackPct{fill:var(--text);font-size:var(--fs-meta);font-weight:700}.p3StackLegend{margin:var(--space-2) 0 0;gap:2px;padding:0;list-style:none;display:grid}.p3StackLegend.isInline{gap:var(--space-1) var(--space-4);flex-wrap:wrap;display:flex}.p3StackLegend.isInline .p3StackLegendRow{grid-template-columns:12px auto;min-height:1.6em}.p3StackLegendRow{align-items:center;gap:var(--space-2);width:100%;min-height:var(--control-h-compact);color:inherit;font:inherit;text-align:start;font-size:var(--fs-meta);background:0 0;border:0;grid-template-columns:12px minmax(0,1fr) auto;padding:0;display:grid}.p3StackLegendRow.isClickable{cursor:pointer}.p3StackLegendRow.isSelected .p3StackName{color:var(--primary);font-weight:600}.p3StackDot{border-radius:3px;width:10px;height:10px}.p3StackName{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.p3StackValue{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.p3AreaSvg{max-width:none;display:block}.p3AreaLine{stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.p3AreaLine.isPartial{stroke-dasharray:4 3}.p3AreaHit{fill:#0000}.p3AreaPoint{cursor:pointer}.p3AreaPoint:focus-visible{outline:none}.p3AreaPoint:hover .p3AreaHit{fill:var(--chart-grid)}.p3AreaPoint:focus-visible .p3AreaHit{fill:var(--chart-grid);stroke:var(--text);stroke-width:2px}.p3AreaPartialNote{fill:var(--muted);font-size:var(--fs-meta);font-style:italic}.p3Spark{width:100%;height:20px;margin-top:var(--space-1);display:block}.p3Spark.isEmpty{background:var(--chart-grid);border-radius:var(--r-control,8px);opacity:.5}.p3SparkLine{fill:none;stroke:var(--chart-seq);stroke-width:1.5px}.p3SparkArea{fill:var(--chart-seq);opacity:.14}.p3ChartData{margin-top:var(--space-2);font-size:var(--fs-meta)}.p3ChartData>summary{cursor:pointer;min-height:var(--control-h-compact);color:var(--muted);align-items:center;display:flex}.p3ChartDataScroll{max-height:16rem;margin-top:var(--space-1);overflow:auto}.p3ChartData table{border-collapse:collapse;width:100%}.p3ChartData th,.p3ChartData td{border-bottom:1px solid var(--border);padding:var(--space-1);text-align:start;white-space:nowrap}.p3ChartData td:not(:first-child),.p3ChartData th:not(:first-child){text-align:end;font-variant-numeric:tabular-nums}.p3Section{margin-bottom:var(--space-5,1.5rem)}.p3SectionTitle{font-size:var(--fs-id);margin:0;font-weight:600}.p3SectionSub{margin:var(--space-1) 0 var(--space-2);font-size:var(--fs-meta);color:var(--muted);min-height:1.4em}.p3ChartGrid{gap:var(--space-3);margin-top:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));display:grid}.p3KpiRow{gap:var(--space-2);margin:var(--space-2) 0 var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));display:grid}.p3Kpi{border:1px solid var(--border);border-radius:var(--r-card,12px);background:var(--surface-2);padding:var(--space-2) var(--space-3);min-width:0}.p3KpiLabel{font-size:var(--fs-meta);color:var(--muted);min-height:2.6em;margin:0}.p3KpiValue{font-size:var(--fs-page);font-variant-numeric:tabular-nums;margin:0;font-weight:700;line-height:1.1}.p3KpiDelta{align-items:center;gap:var(--space-1);margin:var(--space-1) 0 0;font-size:var(--fs-meta);color:var(--muted);min-height:2.6em;display:flex}.p3KpiDelta svg{flex:none}.p3Drill{margin-top:var(--space-3);border:1px solid var(--primary);border-radius:var(--r-card,12px);background:var(--surface-2);padding:var(--space-3)}.p3DrillHead{align-items:center;gap:var(--space-2);display:flex}.p3DrillHead h3{font-size:var(--fs-body);flex:auto;min-width:0;margin:0;font-weight:600}.p3DrillCount{font-size:var(--fs-meta);color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.p3DrillList{margin:var(--space-2) 0 0;gap:2px;max-height:24rem;padding:0;list-style:none;display:grid;overflow-y:auto}.p3DrillRow{align-items:center;gap:var(--space-2);min-height:var(--control-h-compact);padding:0 var(--space-2);border:1px solid var(--border);border-radius:var(--r-control,8px);background:var(--surface);color:inherit;font-size:var(--fs-meta);grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;text-decoration:none;display:grid}a.p3DrillRow:hover,a.p3DrillRow:focus-visible{border-color:var(--primary)}.p3DrillName{font-size:var(--fs-body);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.p3DrillMeta{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.p3DrillValue{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}@media (width<=767px){.p3Card .segmented button,.p3Card .btn.compact,.p3Card .iconButton,.p3RoomDevice,.p3SearchField,.p3SearchField input,.p3GraphMore,.p3MatrixDevice,.p3MatrixValue,.p3BandTail,.p3ChartData>summary,.p3StackLegendRow,.p3HBarRow,.p3DrillRow,.p3Drill .iconButton,.p3PresencePanel .iconButton,.p3BandCell{min-height:var(--control-h)}.p3CardHead{flex-direction:column;align-items:stretch}.p3CardHeadText{flex:none}.p3Card .segmented{display:flex}.p3Card .segmented button{white-space:nowrap;padding-inline:var(--space-2);flex:1 1 0}.p3RoomGrid{grid-template-columns:minmax(0,1fr)}.p3RoomProbeChip,.p3RoomDevice,.p3RoomProbes{min-height:var(--control-h)}.p3GraphCounts{flex-basis:100%;margin-inline-start:0}.p3DrillRow{padding-block:var(--space-1);grid-template-columns:minmax(0,1fr) auto}.p3DrillMeta{grid-column:1/-1}.p3TimelineItem{grid-template-columns:minmax(0,1fr)}.p3Band{gap:3px}}.p3SummaryLabel{display:inline-grid}.p3SummaryLabel>.p3SummaryLabelGhost,.p3SummaryLabel>.p3SummaryLabelText{white-space:nowrap;grid-area:1/1}.p3SummaryLabel>.p3SummaryLabelGhost{visibility:hidden;pointer-events:none}.p3TrafficTab{--p3t-heat:var(--primary);--p3t-row-h:34px;--p3t-list-h:52vh;--p3t-gap:var(--space-4);gap:var(--space-5);flex-direction:column;display:flex}.p3tBlock{border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface);padding:var(--space-4)}.p3tBlockHead{margin-bottom:var(--space-3)}.p3tBlockTitle{font-size:var(--fs-id);margin:0;font-weight:600}.p3tBlockHint{margin:var(--space-1) 0 0;color:var(--muted);font-size:var(--fs-meta)}.p3tWindowNote{color:var(--muted);font-size:var(--fs-meta);white-space:nowrap}.p3tListTitle{margin:var(--space-4) 0 var(--space-2);font-size:var(--fs-meta);color:var(--muted);text-transform:none;font-weight:600}.p3tDot{color:var(--muted)}.p3tSmallBtn{min-height:var(--control-h-compact);align-items:center;gap:var(--space-2);display:inline-flex}@media (width<=767px){.p3tSmallBtn{min-height:var(--control-h);justify-content:center;width:100%}}.p3tThreat{gap:var(--space-3);border:1px solid var(--tone-neutral-border);border-radius:var(--r-card);background:var(--tone-neutral-bg);color:var(--tone-neutral-fg);padding:var(--space-4);grid-template-columns:20px minmax(0,1fr);align-items:start;display:grid}.p3tThreat-ok{border-color:var(--tone-ok-border);background:var(--tone-ok-bg);color:var(--tone-ok-fg)}.p3tThreat-warn{border-color:var(--tone-warn-border);background:var(--tone-warn-bg);color:var(--tone-warn-fg)}.p3tThreat-danger{border-color:var(--tone-danger-border);background:var(--tone-danger-bg);color:var(--tone-danger-fg)}.p3tThreatIcon{margin-top:2px}.p3tThreatText{min-width:0}.p3tThreatVerdict{font-size:var(--fs-id);margin:0;font-weight:600}.p3tThreatDetail{margin:var(--space-1) 0 0;font-size:var(--fs-meta);opacity:.9}.p3tTargetList{margin:var(--space-3) 0 0;gap:var(--space-2);padding:0;list-style:none;display:grid}.p3tTarget{border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface);color:var(--text);padding:var(--space-3);gap:var(--space-1);display:grid}.p3tTarget.isOwn{border-color:var(--tone-danger-border)}.p3tTargetHead{align-items:center;gap:var(--space-2);justify-content:space-between;display:flex}.p3tTargetName{font-size:var(--fs-id);min-width:0;font-weight:600}.p3tTargetBadge{flex:none;align-items:center;min-height:22px;display:inline-flex}.p3tTargetId,.p3tTargetMeta{align-items:center;gap:var(--space-2);font-size:var(--fs-meta);color:var(--muted);flex-wrap:wrap;min-height:22px;display:flex}.p3tTargetCounts{font-family:var(--mono-console);font-variant-numeric:tabular-nums}.p3tTargetChannel{font-variant-numeric:tabular-nums}.p3tTargetRssi{white-space:nowrap;color:var(--muted);align-items:center;gap:4px;display:inline-flex}.p3tTargetProbes{min-width:0}.p3tTargetFoot{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:var(--control-h-compact);display:flex}.p3tTargetLink{min-height:var(--control-h-compact);align-items:center;display:inline-flex}.p3tTargetTruncated{min-height:1.15em;font-size:var(--fs-meta);color:var(--tone-warn-fg);margin:0}.p3tMoreBtn{margin-top:var(--space-3);min-height:var(--control-h-compact)}@media (width<=767px){.p3tTargetFoot{align-items:stretch;gap:var(--space-2);flex-direction:column}.p3tTargetLink .btn,.p3tMoreBtn{min-height:var(--control-h);width:100%}}.p3tHeatScroll{-webkit-overflow-scrolling:touch;contain:paint;overflow-x:auto}.p3tHeatTable{border-collapse:separate;border-spacing:2px;table-layout:fixed;font-size:var(--fs-meta)}.p3tHeatTable .p3tHeatCorner,.p3tHeatTable .p3tHeatRowLabel{z-index:1;background:var(--surface);text-align:start;width:17ch;min-width:17ch;max-width:17ch;font-size:var(--fs-meta);text-transform:none;letter-spacing:0;overflow-wrap:anywhere;word-break:break-word;padding-inline-end:var(--space-2);font-weight:600;line-height:1.25;position:sticky;left:0}.p3tHeatTable .p3tHeatBandCorner{z-index:1;background:var(--surface);position:sticky;left:0}.p3tHeatTable .p3tHeatBandHead{font-size:var(--fs-meta);color:var(--muted);text-align:center;text-transform:none;letter-spacing:0;border-bottom:1px solid var(--border);padding-block:2px;font-weight:600}.p3tHeatTable .p3tHeatBandHead.is5g{border-bottom-style:dashed}.p3tHeatHead,.p3tHeatCell{text-align:center;font-variant-numeric:tabular-nums;width:3.4ch;min-width:3.4ch}.p3tHeatHead{color:var(--muted);padding-bottom:var(--space-1);font-weight:600}.p3tHeatHead.is5g,.p3tHeatCell.is5g{border-inline-start:1px dashed var(--border)}.p3tHeatCell{height:var(--p3t-row-h);border-radius:var(--r-control);background:var(--surface-2);color:var(--text);font-family:var(--mono-console)}.p3tHeatCell.isBlank{color:var(--muted);border:1px dashed var(--border);background:0 0}.p3tHeatFoot{margin-top:var(--space-3);gap:var(--space-1);display:grid}.p3tHeatScale{align-items:center;gap:var(--space-2);display:flex}.p3tHeatScaleLabel{font-size:var(--fs-meta);color:var(--muted);white-space:nowrap}.p3tHeatRamp{border-radius:var(--r-pill);border:1px solid var(--border);background:linear-gradient(to right, color-mix(in srgb, var(--p3t-heat) 12%, var(--surface-2)), color-mix(in srgb, var(--p3t-heat) 88%, var(--surface-2)));flex:auto;min-width:60px;height:8px}.p3tHeatBusiest,.p3tHeatBand{min-height:1.15em;font-size:var(--fs-meta);color:var(--muted);margin:0}.p3tTypeBar{border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface-2);height:18px;display:flex;overflow:hidden}.p3tTypeSeg{height:100%}.p3tTypeTotal{margin:var(--space-1) 0 0;font-size:var(--fs-meta);color:var(--muted);font-variant-numeric:tabular-nums}.p3tTypeSeg.is-management,.p3tTypeDot.is-management{background:var(--tone-info-fg)}.p3tTypeSeg.is-data,.p3tTypeDot.is-data{background:var(--tone-ok-fg)}.p3tTypeSeg.is-control,.p3tTypeDot.is-control{background:var(--tone-warn-fg)}.p3tTypeSeg.is-other,.p3tTypeDot.is-other{background:var(--tone-neutral-fg)}.p3tTypeDot{border-radius:var(--r-pill);width:10px;height:10px;margin-inline-end:var(--space-2);display:inline-block}.p3tTypeTable{width:100%;margin:var(--space-3) 0;border-collapse:collapse;font-size:var(--fs-body);table-layout:fixed}.p3tTypeTable th,.p3tTypeTable td{padding:var(--space-2) var(--space-1);border-bottom:1px solid var(--border);text-align:start;height:var(--p3t-row-h)}.p3tTypeTable thead th{color:var(--muted);font-size:var(--fs-meta);font-weight:600}.p3tTypeTable .isNum{text-align:end;width:12ch;font-family:var(--mono-console);font-variant-numeric:tabular-nums}.p3tGraphWrap{gap:var(--space-4);grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start;display:grid}.p3tGraph{width:100%;height:300px;display:block}.p3tGraphEdge{stroke:color-mix(in srgb, var(--primary) 55%, var(--border));stroke-linecap:round;opacity:.75}.p3tGraphNode circle{fill:var(--surface);stroke:var(--muted);stroke-width:2px}.p3tGraphNode.isKnown circle{fill:color-mix(in srgb, var(--primary) 22%, var(--surface));stroke:var(--primary)}.p3tGraphNode.isFocus circle{stroke:var(--tone-info-fg);stroke-width:4px}.p3tGraphNode text{font-family:var(--mono-console);fill:var(--text);font-size:20px;font-weight:600}.p3tLegendTitle{margin:0 0 var(--space-2);font-size:var(--fs-meta);color:var(--muted);font-weight:600}.p3tLegendRules{margin:0 0 var(--space-3);color:var(--muted);font-size:var(--fs-meta);gap:var(--space-1);padding-inline-start:var(--space-4);display:grid}.p3tLegendNodes{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.p3tLegendNode{align-items:center;gap:var(--space-2);min-height:var(--control-h-compact);display:flex}.p3tLegendIndex{border-radius:var(--r-pill);border:2px solid var(--muted);width:22px;height:22px;font-family:var(--mono-console);font-size:var(--fs-meta);flex:none;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.p3tLegendIndex.isKnown{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 22%, var(--surface))}.p3tLegendName{min-width:0;font-size:var(--fs-body)}.p3tPairList{margin:0;padding:0;list-style:none}.p3tPairRow{gap:var(--space-3);border-bottom:1px solid var(--border);min-height:40px;font-size:var(--fs-body);grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) 120px 12ch;align-items:center;display:grid}.p3tPairEnds{align-items:center;gap:var(--space-2);flex-wrap:nowrap;min-width:0;display:flex;overflow:hidden}.p3tPairEnds>a,.p3tPairEnds>code{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.p3tPairEnds code{font-family:var(--mono-console);font-size:var(--fs-meta)}.p3tPairArrow{color:var(--muted)}.p3tPairNet{color:var(--muted);font-size:var(--fs-meta);min-width:0}.p3tPairBar{border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--border);height:8px;display:block;overflow:hidden}.p3tPairBarFill{background:var(--primary);height:100%;display:block}.p3tPairFrames{text-align:end;font-family:var(--mono-console);font-variant-numeric:tabular-nums;font-size:var(--fs-meta)}.p3tPairMore{margin:var(--space-2) 0 0;min-height:1.15em;font-size:var(--fs-meta);color:var(--muted)}@media (width<=1023px){.p3tGraphWrap{grid-template-columns:minmax(0,1fr)}}@media (width<=767px){.p3tGraphWrap{display:none}.p3tPairRow{row-gap:var(--space-1);padding:var(--space-2) 0;grid-template-columns:minmax(0,1fr) 12ch;grid-template-areas:"ends frames""net net""bar bar";min-height:76px}.p3tPairEnds{grid-area:ends}.p3tPairFrames{grid-area:frames}.p3tPairNet{grid-area:net}.p3tPairBar{grid-area:bar}}.p3tFramesEntryRow{align-items:center;gap:var(--space-3);min-height:var(--control-h);flex-wrap:wrap;display:flex}.p3tOpenInspector{align-items:center;gap:var(--space-2);min-height:var(--control-h);display:inline-flex}.p3tFramesEntryLast{font-size:var(--fs-meta);color:var(--muted);align-items:center;gap:var(--space-1);margin:0;display:inline-flex}@media (width<=767px){.p3tOpenInspector{justify-content:center;width:100%}}.p3tInspector{--p3t-cols:10ch;--p3t-row-h:34px;--p3t-list-h:max(240px, calc(100dvh - 440px));gap:var(--space-3);flex-direction:column;display:flex}@media (width>=768px){.responsivePanel.drawer:has(.p3tInspector){flex-direction:column;width:min(1120px,96vw);max-width:min(1120px,96vw);display:flex}}.p3tInspBar{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--control-h);flex-wrap:wrap;display:flex}.p3tInspBarLeft,.p3tInspBarRight{align-items:center;gap:var(--space-2);min-height:var(--control-h);display:flex}.p3tPauseBtn,.p3tColumnsBtn{align-items:center;gap:var(--space-2);min-height:var(--control-h-compact);display:inline-flex}.p3tPending{min-width:14ch;min-height:22px;padding:0 var(--space-2);border-radius:var(--r-pill);font-size:var(--fs-meta);font-variant-numeric:tabular-nums;color:var(--muted);visibility:hidden;border:1px solid #0000;align-items:center;display:inline-flex}.p3tPending.isVisible{visibility:visible}.p3tPending.hasNew{color:var(--tone-info-fg);background:var(--tone-info-bg);border-color:var(--tone-info-border)}.p3tInspCount{font-family:var(--mono-console);font-variant-numeric:tabular-nums;font-size:var(--fs-meta);color:var(--muted);text-align:end;min-width:18ch}.p3tInspHint{min-height:1.15em;font-size:var(--fs-meta);color:var(--muted);margin:0}.p3tFilters{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}@media (width>=768px){.p3tFilters{grid-template-columns:repeat(3,minmax(0,1fr))}}.p3tFiltersBtn,.p3tGuideCompactBtn{align-items:center;gap:var(--space-2);display:none}.p3tFilterField{gap:var(--space-1);min-width:0;display:grid}.p3tFilterLabel{font-size:var(--fs-meta);color:var(--muted)}.p3tFilterField select{min-height:var(--control-h-compact);border-radius:var(--r-control);border:1px solid var(--border);background:var(--surface);width:100%;color:inherit;padding:0 var(--space-2);font-size:var(--fs-body)}.p3tChips{align-items:center;gap:var(--space-2);min-height:var(--control-h-compact);flex-wrap:wrap;display:flex}.p3tChipsEmpty{font-size:var(--fs-meta);color:var(--muted)}@media (width<=767px){.p3tFilters{grid-template-columns:minmax(0,1fr);display:none}.p3tFilters.isOpen{display:grid}.p3tFiltersBtn{min-height:var(--control-h);display:inline-flex}.p3tGuideCompactBtn{min-height:var(--control-h);flex:100%;justify-content:center;display:inline-flex}.p3tFilterField select,.p3tPauseBtn,.p3tColumnsBtn{min-height:var(--control-h)}.p3tInspBarLeft,.p3tInspBarRight{flex-wrap:wrap;justify-content:space-between;width:100%}.p3tInspCount{text-align:start;flex:100%;order:-1;min-width:0}.p3tFiltersBtn,.p3tColumnsBtn{white-space:nowrap;flex:1 1 0;justify-content:center}.p3tGuideCompactBtn span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}}.p3tFrames{border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface);overflow:hidden}.p3tFramesHead{grid-template-columns:var(--p3t-cols);gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);background:var(--surface-2);font-size:var(--fs-meta);color:var(--muted);min-height:var(--control-h-compact);align-items:center;font-weight:600;display:grid}.p3tHeadCell{align-items:center;gap:var(--space-1);text-overflow:ellipsis;white-space:nowrap;min-width:0;display:inline-flex;overflow:hidden}.p3tHeadCell.isNum{justify-content:flex-end}.p3tGuideBtn{border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface);width:22px;height:22px;color:var(--muted);cursor:pointer;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.p3tGuideBtn:hover,.p3tGuideBtn:focus-visible{color:var(--primary);border-color:var(--primary)}.p3tFramesScroll{height:var(--p3t-list-h);-webkit-overflow-scrolling:touch;overflow-y:auto}.p3tRows{margin:0;padding:0;list-style:none}.p3tRowItem{border-bottom:1px solid var(--border)}.p3tRow{grid-template-columns:var(--p3t-cols);gap:var(--space-2);text-align:start;width:100%;min-height:var(--p3t-row-h);padding:var(--space-1) var(--space-3);color:inherit;font:inherit;font-size:var(--fs-body);cursor:pointer;background:0 0;border:0;align-items:center;display:grid}.p3tRow:hover,.p3tRow:focus-visible{background:var(--surface-2)}.p3tCell{min-width:0}.p3tCell.isNum{text-align:end;font-family:var(--mono-console);font-variant-numeric:tabular-nums}.p3tCellValue{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.p3tFramesFoot{align-items:center;gap:var(--space-3);min-height:var(--control-h-compact);flex-wrap:wrap;display:flex}.p3tFramesLimit{min-height:1.15em;font-size:var(--fs-meta);color:var(--tone-warn-fg);margin:0}@media (width<=639px){.p3tFramesHead{display:none}.p3tFramesScroll{height:auto;max-height:none;overflow:visible}.p3tRow{gap:var(--space-1);padding:var(--space-3);min-height:var(--control-h);grid-template-columns:minmax(0,1fr)}.p3tCell{gap:var(--space-2);grid-template-columns:12ch minmax(0,1fr);align-items:baseline;min-height:22px;display:grid}.p3tCell:before{content:attr(data-label);color:var(--muted);font-size:var(--fs-meta)}.p3tCell.isNum{text-align:start}.p3tFramesFoot .btn{width:100%;min-height:var(--control-h)}}.p3tBackBtn{align-self:flex-start;align-items:center;gap:var(--space-2);min-height:var(--control-h-compact);display:inline-flex}.p3tColumnsPanel,.p3tGuidePanel{gap:var(--space-3);border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface-2);padding:var(--space-3);display:grid}.p3tGuidePanelHead{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.p3tGuidePanel .p3tGuideList{max-height:320px;overflow-y:auto}.p3tColumnsList{gap:var(--space-1);grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin:0;padding:0;list-style:none;display:grid}.p3tColumnsItem{justify-content:flex-start;align-items:center;gap:var(--space-2);min-height:var(--control-h-compact);cursor:pointer;display:flex}.p3tColumnsItem input[type=checkbox]{width:18px;min-width:18px;height:18px;min-height:18px;accent-color:var(--primary);flex:none;margin:0;padding:0}.p3tColumnsItem>span{text-align:start;font-size:var(--fs-body);flex:auto}.p3tColumnsActions{gap:var(--space-2);flex-wrap:wrap;display:flex}@media (width<=767px){.p3tBackBtn{min-height:var(--control-h);justify-content:center;width:100%}.p3tColumnsItem{min-height:var(--control-h)}.p3tColumnsActions .btn{min-height:var(--control-h);flex:100%}}.p3tDetail{gap:var(--space-3);display:grid}.p3tDetailSafe{padding:var(--space-2) var(--space-3);border-radius:var(--r-control);border:1px solid var(--tone-info-border);background:var(--tone-info-bg);color:var(--tone-info-fg);font-size:var(--fs-meta);margin:0}.p3tDetailGroup{font-size:var(--fs-meta);color:var(--muted);margin:0;font-weight:600}.p3tDetailList{gap:var(--space-1) var(--space-3);font-size:var(--fs-body);grid-template-columns:minmax(0,12rem) minmax(0,1fr);margin:0;display:grid}.p3tDetailList dt{color:var(--muted);font-size:var(--fs-meta);min-height:22px}.p3tDetailList dd{overflow-wrap:anywhere;min-width:0;min-height:22px;margin:0}.p3tDetailList code{font-family:var(--mono-console);font-size:var(--fs-meta)}.p3tDetailEmpty{color:var(--muted)}.p3tDetailDefinition{font-size:var(--fs-body);margin:0}.p3tDetailLinks{gap:var(--space-2);flex-wrap:wrap;display:flex}.p3tDetailLinks .btn{min-height:var(--control-h-compact)}.p3tDetailRaw pre{margin:var(--space-2) 0 0;max-height:240px;padding:var(--space-3);border-radius:var(--r-control);border:1px solid var(--border);background:var(--surface-2);font-family:var(--mono-console);font-size:var(--fs-meta);overflow:auto}@media (width<=767px){.p3tDetailList{grid-template-columns:minmax(0,1fr);gap:0}.p3tDetailList dd{margin-bottom:var(--space-2)}.p3tDetailLinks .btn{min-height:var(--control-h);flex:100%}}.p3tGuideIntro{margin:0 0 var(--space-3);color:var(--muted);font-size:var(--fs-meta)}.p3tGuideList{gap:var(--space-3);display:grid}.p3tGuideCard{border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface-2);padding:var(--space-3)}.p3tGuideHead{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.p3tGuideTerm{font-family:var(--mono-console);font-size:var(--fs-body);font-weight:600}.p3tGuideWhat,.p3tGuideRead{margin:0 0 var(--space-1);font-size:var(--fs-body)}.p3tGuideRead{color:var(--muted)}.p3FsSchematic{gap:var(--space-2);min-width:0;display:grid}.p3FsSchematic,.p3FsPinPanel,.p3FsPinRows,.p3FsLegend{--p3PinGpio:var(--tone-ok-fg);--p3PinPower:var(--tone-danger-fg);--p3PinGnd:var(--muted);--p3PinSpecial:var(--tone-warn-fg);--p3PinReserved:var(--border);--p3PinCaution:var(--tone-warn-fg)}.p3FlashTimeline{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface-2);display:grid}.p3FlashTimeline>*,.p3FlashMilestone>*,.p3FsFlashModal>*{min-width:0}.p3FlashTimelineList{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.p3FlashMilestone{align-items:center;gap:var(--space-2);grid-template-columns:24px minmax(0,8rem) 6.5rem minmax(0,1fr);min-height:32px;display:grid}.p3FlashMilestoneMark{border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface);width:24px;height:24px;color:var(--muted);font-size:var(--fs-meta);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;display:inline-flex}.p3FlashMilestoneTitle{font-size:var(--fs-body);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.p3FlashMilestoneState{font-size:var(--fs-meta);color:var(--muted);white-space:nowrap}.p3FlashMilestoneDetail{font-size:var(--fs-meta);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.p3FlashMilestone.is-current .p3FlashMilestoneMark{border-color:var(--tone-info-border);background:var(--tone-info-bg);color:var(--tone-info-fg)}.p3FlashMilestone.is-current .p3FlashMilestoneState{color:var(--tone-info-fg)}.p3FlashMilestone.is-done .p3FlashMilestoneMark{border-color:var(--tone-ok-border);background:var(--tone-ok-bg);color:var(--tone-ok-fg)}.p3FlashMilestone.is-done .p3FlashMilestoneState{color:var(--tone-ok-fg)}.p3FlashMilestone.is-error .p3FlashMilestoneMark{border-color:var(--tone-danger-border);background:var(--tone-danger-bg);color:var(--tone-danger-fg)}.p3FlashMilestone.is-error .p3FlashMilestoneState{color:var(--tone-danger-fg)}.p3FlashMilestone.is-todo .p3FlashMilestoneTitle{color:var(--muted)}.p3FlashWriteBar{border-radius:var(--r-pill);background:var(--surface-hover);grid-column:4/-1;align-self:start;max-width:18rem;height:6px;display:block;overflow:hidden}.p3FlashWriteBar>span{background:var(--muted);width:0;height:100%;transition:width .2s linear;display:block}.p3FlashWriteBar.is-active>span{background:var(--primary)}.p3FlashTimelineTiming{gap:var(--space-1) var(--space-3);min-height:1.25rem;font-size:var(--fs-meta);color:var(--muted);flex-wrap:wrap;margin:0;display:flex}.p3FlashElapsed{font-variant-numeric:tabular-nums;min-width:16ch;color:var(--text)}.p3FlashUsual{font-variant-numeric:tabular-nums}.p3FlashLastLine{gap:var(--space-2);min-height:1.4rem;font-size:var(--fs-meta);align-items:baseline;margin:0;display:flex}.p3FlashLastLineLabel{color:var(--muted);white-space:nowrap}.p3FlashLastLineValue{font-family:var(--mono-console);color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.p3FlashLogsBlock{gap:var(--space-2);min-width:0;display:grid}.p3FlashLog{min-width:0;max-width:100%;max-height:40vh;padding:var(--space-2);border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface-2);color:var(--text);font-family:var(--mono-console);font-size:var(--fs-meta);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;overflow:auto}.p3FlashLogsToggle,.p3FlashOptionsToggle,.p3FlashErrorLogLink{align-items:center;gap:var(--space-1);min-height:var(--control-h-compact);color:var(--primary-ink);font-size:var(--fs-meta);text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:inline-flex}.p3FlashLogsToggle svg{transition:transform .15s}.p3FlashLogsToggle svg.is-open{transform:rotate(90deg)}.p3FlashErrorCard{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--tone-danger-border);border-radius:var(--r-card);background:var(--tone-danger-bg);color:var(--tone-danger-fg);display:grid}.p3FlashErrorCard .p3FlashErrorTitle{align-items:center;gap:var(--space-2);font-size:var(--fs-id);margin:0;font-weight:600;display:flex}.p3FlashErrorCause{font-size:var(--fs-body);color:var(--text);margin:0}.p3FlashErrorRemedies{padding-left:var(--space-4);font-size:var(--fs-body);color:var(--text);gap:var(--space-1);margin:0;display:grid}.p3FlashErrorFooter{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.p3FlashErrorDetails{font-size:var(--fs-meta)}.p3FlashErrorDetails summary{cursor:pointer;color:var(--muted);min-height:var(--control-h-compact);align-items:center;display:flex}.p3FlashErrorDetails code{margin-top:var(--space-1);padding:var(--space-2);border-radius:var(--r-control);background:var(--surface-2);color:var(--muted);font-family:var(--mono-console);white-space:pre-wrap;word-break:break-word;display:block}.p3FlashResult{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--tone-ok-border);border-radius:var(--r-card);background:var(--tone-ok-bg);display:grid}.p3FlashResult.is-warn{border-color:var(--tone-warn-border);background:var(--tone-warn-bg)}.p3FlashResultSentence{font-size:var(--fs-id);color:var(--text);margin:0;font-weight:600}.p3FlashResultActions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.p3FlashResultRecheck{min-height:var(--control-h-compact);color:var(--primary-ink);font-size:var(--fs-meta);cursor:pointer;background:0 0;border:0;padding:0}.p3FlashHelp,.p3FlashOptions{border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface);padding:var(--space-3)}.p3FlashHelp>summary{cursor:pointer;font-size:var(--fs-body);min-height:var(--control-h-compact);align-items:center;display:flex}.p3FlashOptionsBody{gap:var(--space-2);margin-top:var(--space-2);display:grid}.p3FsStep{gap:var(--space-3);display:grid}.p3FsStepHead{align-items:center;gap:var(--space-3);display:flex}.p3FsStepNum{border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface-2);width:28px;height:28px;color:var(--muted);font-weight:600;font-size:var(--fs-meta);font-variant-numeric:tabular-nums;flex:0 0 28px;justify-content:center;align-items:center;display:inline-flex}.p3FsStep.is-active .p3FsStepNum{border-color:var(--tone-info-border);background:var(--tone-info-bg);color:var(--tone-info-fg)}.p3FsStep.is-done .p3FsStepNum{border-color:var(--tone-ok-border);background:var(--tone-ok-bg);color:var(--tone-ok-fg)}.p3FsStepToggle{min-width:0;min-height:var(--control-h);text-align:left;cursor:pointer;color:inherit;background:0 0;border:0;flex:1;gap:2px;padding:0;display:grid}.p3FsStepTitle{font-size:var(--fs-id);font-weight:600}.p3FsStepSummary{font-size:var(--fs-meta);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;min-height:1.15rem;overflow:hidden}.p3FsStepBody{gap:var(--space-3);display:grid}.p3FsStep.is-todo .p3FsStepTitle{color:var(--muted)}.p3FsWarnLine{padding:var(--space-2) var(--space-3);border:1px solid var(--tone-warn-border);border-radius:var(--r-control);background:var(--tone-warn-bg);color:var(--tone-warn-fg);font-size:var(--fs-body);margin:0}.p3FsMiniSteps,.p3FsGuide{padding-left:var(--space-4);gap:var(--space-2);font-size:var(--fs-body);margin:0;display:grid}.p3FsGuide li{gap:2px;display:grid}.p3FsApChip{font-family:var(--mono-console);padding:2px var(--space-1);border-radius:var(--r-control);background:var(--surface-2)}.p3FsBigFlash{align-items:center;gap:var(--space-2);min-height:var(--control-h);display:inline-flex}.p3FsEmpty{gap:var(--space-2);justify-items:start;display:grid}.p3FsDeviceGrid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.p3FsDeviceCard{border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface);display:flex;position:relative}.p3FsDeviceCard.is-selected{border-color:var(--primary)}.p3FsDeviceSelect{gap:var(--space-1);min-width:0;padding:var(--space-3);padding-right:calc(var(--space-3) + 36px);text-align:left;cursor:pointer;color:inherit;background:0 0;border:0;flex:1;display:grid}.p3FsDeviceTop{justify-content:space-between;align-items:center;gap:var(--space-2);min-width:0;display:flex}.p3FsDeviceTop .badge{white-space:nowrap;overflow-wrap:normal;flex:none}.p3FsDeviceTop>strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.p3FsDeviceMeta{font-size:var(--fs-meta);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;min-height:1.15rem;overflow:hidden}.p3FsDeviceMenu{top:var(--space-2);right:var(--space-2);border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface-2);width:36px;height:36px;color:var(--muted);cursor:pointer;justify-content:center;align-items:center;display:inline-flex;position:absolute}.p3FsMenu{gap:var(--space-1);display:grid}.p3FsMenuItem{align-items:center;gap:var(--space-2);min-height:var(--control-h);padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface);color:inherit;font-size:var(--fs-body);cursor:pointer;display:flex}.p3FsMenuItem.is-danger{color:var(--tone-danger-fg);border-color:var(--tone-danger-border)}.p3FsWorkshop{gap:var(--space-3);grid-template-columns:minmax(0,1fr) minmax(240px,19rem);align-items:start;display:grid}.p3FsWorkshopMain{gap:var(--space-2);min-width:0;display:grid}.p3FsToolbar{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.p3FsPickBanner{z-index:3;justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--tone-info-border);border-radius:var(--r-control);background:var(--tone-info-bg);color:var(--tone-info-fg);font-size:var(--fs-body);flex-wrap:wrap;display:flex;position:sticky;top:0}.p3FsSchematicScroll{border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface-2);min-width:0;max-width:100%;overflow:auto hidden}.p3FsSvg{width:1400px;height:470px;display:block}.p3FsSchematicHint{font-size:var(--fs-meta);color:var(--muted);margin:0}.p3FsPcb{fill:var(--surface);stroke:var(--border);stroke-width:3px}.p3FsSvg.is-photo .p3FsPcb{fill:var(--surface-2)}.p3FsModule{fill:var(--surface-2);stroke:var(--border);stroke-width:2px}.p3FsModuleLabel{fill:var(--muted);font-size:var(--fs-body);font-weight:600}.p3FsChipBlock,.p3FsButton,.p3FsUsb{fill:var(--surface-2);stroke:var(--border);stroke-width:1.5px}.p3FsButtonCap,.p3FsUsbSlot{fill:var(--surface-hover)}.p3FsLed{fill:var(--tone-info-bg);stroke:var(--tone-info-border);stroke-width:2px}.p3FsLedLens{fill:var(--tone-info-fg);opacity:.55}.p3FsAntenna{stroke:var(--border);stroke-width:2px}.p3FsHatchBg{fill:var(--surface-2)}.p3FsHatchLine{stroke:var(--border);stroke-width:3px}.p3FsCompLabel{fill:var(--muted);font-size:var(--fs-meta)}.p3FsTrace{stroke:var(--border);stroke-width:2px}.p3FsComp.is-clickable{cursor:pointer}.p3FsComp.is-clickable:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.p3FsHit{fill:#0000}.p3FsPin.is-active{cursor:pointer}.p3FsPin.is-dim{opacity:.35}.p3FsPinDot{stroke:var(--surface);stroke-width:1.5px}.p3FsPinDot.k-gpio{fill:var(--p3PinGpio)}.p3FsPinDot.k-power{fill:var(--p3PinPower)}.p3FsPinDot.k-gnd{fill:var(--p3PinGnd)}.p3FsPinDot.k-special{fill:var(--p3PinSpecial)}.p3FsPinDot.k-reserved{fill:var(--p3PinReserved)}.p3FsPinCaution{fill:var(--p3PinCaution);stroke:var(--surface);stroke-width:1px}.p3FsPinLabel{fill:var(--muted);font-size:var(--fs-meta)}.p3FsPinSel{fill:none;stroke:var(--primary);stroke-width:3px;opacity:0}.p3FsPin.is-selected .p3FsPinSel{opacity:1}.p3FsPin.is-selected .p3FsPinLabel{fill:var(--text);font-weight:600}.p3FsPinFocus{fill:none;stroke:var(--primary);stroke-width:2px;stroke-dasharray:3 3;opacity:0}.p3FsPin:focus{outline:none}.p3FsPin:focus-visible .p3FsPinFocus{opacity:1}.p3FsPin.is-eligible .p3FsPinDot{stroke:var(--primary);stroke-width:3px}.p3FsPin.is-eligible .p3FsPinSel{opacity:.45;animation:1.6s ease-in-out infinite p3FsPulse}@keyframes p3FsPulse{50%{opacity:.9}}@media (prefers-reduced-motion:reduce){.p3FsPin.is-eligible .p3FsPinSel{opacity:.7;animation:none}}.p3FsPinListIntro{font-size:var(--fs-meta);color:var(--muted);margin:0}.p3FsPinRows{gap:var(--space-3);display:grid}.p3FsPinRowTitle{margin:0 0 var(--space-1);font-size:var(--fs-meta);color:var(--muted);text-transform:none}.p3FsPinRowList{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.p3FsPinRowItem{align-items:center;gap:var(--space-2);width:100%;min-height:44px;padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface);color:inherit;font-size:var(--fs-body);text-align:left;cursor:pointer;display:flex}.p3FsPinRowItem:disabled{opacity:.45;cursor:default}.p3FsPinRowItem.is-selected{border-color:var(--primary);background:var(--surface-hover)}.p3FsPinRowItem.is-eligible{border-color:var(--primary)}.p3FsPinRowName{font-family:var(--mono-console);min-width:7ch;font-weight:600}.p3FsPinRowKind,.p3FsPinRowWarn{font-size:var(--fs-meta);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.p3FsPinRowWarn{color:var(--tone-warn-fg);margin-left:auto}.p3FsLegend{gap:var(--space-1) var(--space-3);font-size:var(--fs-meta);color:var(--muted);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.p3FsLegend li{align-items:center;gap:var(--space-1);display:inline-flex}.p3FsPinChipDot{border-radius:var(--r-pill);background:var(--p3PinGnd);flex:0 0 10px;width:10px;height:10px;display:inline-block}.p3FsPinChipDot.k-gpio{background:var(--p3PinGpio)}.p3FsPinChipDot.k-power{background:var(--p3PinPower)}.p3FsPinChipDot.k-gnd{background:var(--p3PinGnd)}.p3FsPinChipDot.k-special{background:var(--p3PinSpecial)}.p3FsPinChipDot.k-reserved{background:var(--p3PinReserved)}.p3FsPinChipDot.k-caution{background:var(--p3PinCaution)}.p3FsWorkshopAside{top:var(--space-3);min-width:0;position:sticky}.p3FsPinPanel{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface);display:grid}.p3FsPinPanelEmpty{padding:var(--space-3);border:1px dashed var(--border);border-radius:var(--r-card);font-size:var(--fs-meta);color:var(--muted);margin:0}.p3FsPinPanelHead{justify-content:space-between;align-items:flex-start;gap:var(--space-2);display:flex}.p3FsPinPanelName{font-size:var(--fs-id);font-family:var(--mono-console);margin:0}.p3FsPinPanelKind{font-size:var(--fs-meta);color:var(--muted);margin:0}.p3FsPanelClose{color:var(--primary-ink);font-size:var(--fs-meta);min-height:var(--control-h-compact);cursor:pointer;background:0 0;border:0}.p3FsPinPanelGrid{gap:var(--space-2);font-size:var(--fs-meta);margin:0;display:grid}.p3FsPinPanelGrid dt{color:var(--muted)}.p3FsPinPanelGrid dd{color:var(--text);margin:0}.p3FsPinWarning{gap:var(--space-2);padding:var(--space-2);border:1px solid var(--tone-warn-border);border-radius:var(--r-control);background:var(--tone-warn-bg);color:var(--tone-warn-fg);font-size:var(--fs-meta);margin:0;display:flex}.p3FsPinNote{font-size:var(--fs-meta);color:var(--muted);margin:0}.p3FsPinPanelActions{gap:var(--space-2);flex-wrap:wrap;display:flex}.p3FsPanelBtn{align-items:center;gap:var(--space-1);min-height:var(--control-h);display:inline-flex}.p3FsRuleEditor{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface-2);display:grid}.p3FsRuleBlock{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface);display:grid}.p3FsRuleBlockHead{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.p3FsRuleBlockHead h4{font-size:var(--fs-body);margin:0}.p3FsOpToggle{border:1px solid var(--border);border-radius:var(--r-control);display:inline-flex;overflow:hidden}.p3FsOpToggle button{min-height:var(--control-h-compact);padding:0 var(--space-3);background:var(--surface);color:var(--muted);font-size:var(--fs-meta);cursor:pointer;border:0}.p3FsOpToggle button.is-active{background:var(--surface-hover);color:var(--text);font-weight:600}.p3FsSentence{align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--r-control);background:var(--surface-2);flex-wrap:wrap;display:flex}.p3FsSentenceLead{font-weight:600;font-size:var(--fs-meta);text-transform:uppercase;color:var(--muted);min-width:4ch}.p3FsSentenceWord{font-size:var(--fs-body);color:var(--muted)}.p3FsSentenceBadge{align-items:center;gap:var(--space-1);padding:0 var(--space-2);min-height:var(--control-h-compact);border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);font-size:var(--fs-meta);display:inline-flex}.p3FsSelect,.p3FsInput{width:auto;max-width:100%;min-height:var(--control-h);padding:0 var(--space-2);border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface);color:var(--text);font-size:var(--fs-body);font-family:inherit}.p3FsSelectNarrow{min-width:4.5rem}.p3FsInputNum{font-variant-numeric:tabular-nums;width:6rem}.p3FsInputGrow{flex:1;min-width:12rem}.p3FsColor{width:44px;height:var(--control-h);border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface);padding:2px}.p3FsColorList{align-items:center;gap:var(--space-1);flex-wrap:wrap;display:inline-flex}.p3FsColorItem{align-items:center;gap:2px;display:inline-flex}.p3FsCheck{align-items:center;gap:var(--space-1);min-height:var(--control-h);font-size:var(--fs-meta);display:inline-flex}.p3FsPickWrap,.p3FsFieldInline{align-items:center;gap:var(--space-1);flex-wrap:wrap;display:inline-flex}.p3FsPickBtn{align-items:center;gap:var(--space-1);min-height:var(--control-h);padding:0 var(--space-2);border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface);color:var(--text);font-size:var(--fs-meta);cursor:pointer;display:inline-flex}.p3FsPickBtn.is-armed{border-color:var(--primary);background:var(--tone-info-bg);color:var(--tone-info-fg)}.p3FsRemoveBtn{width:var(--control-h);height:var(--control-h);border:1px solid var(--tone-danger-border);border-radius:var(--r-control);background:var(--surface);color:var(--tone-danger-fg);cursor:pointer;justify-content:center;align-items:center;margin-left:auto;display:inline-flex}.p3FsRemoveBtnSmall{width:28px;height:28px;margin-left:0}.p3FsAddRow{gap:var(--space-2);flex-wrap:wrap;display:flex}.p3FsAddBtn{align-items:center;gap:var(--space-1);min-height:var(--control-h);display:inline-flex}.p3FsField{gap:var(--space-1);display:grid}.p3FsFieldLabel{font-size:var(--fs-meta);color:var(--muted)}.p3FsFieldError{font-size:var(--fs-meta);color:var(--tone-danger-fg);min-height:1.1rem}.p3FsHint{font-size:var(--fs-meta);color:var(--muted);margin:0}.p3FsThrottle{padding:var(--space-3);border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface)}.p3FsRuleActions{gap:var(--space-2);flex-wrap:wrap;display:flex}.p3FsAddDevice{gap:var(--space-3);display:grid}.p3FsAddMore{justify-self:start;align-items:center;gap:var(--space-1);display:inline-flex}.p3FsRulesArea{gap:var(--space-3);display:grid}.p3FsSectionHead{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.p3FsSectionHead h4{font-size:var(--fs-id);margin:0}.p3FsRuleList{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.p3FsRuleItem{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface);display:grid}.p3FsRuleItem.is-disabled{opacity:.6}.p3FsRuleHead{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.p3FsRuleName{font-size:var(--fs-id)}.p3FsRuleBtns{align-items:center;gap:var(--space-2);display:flex}.p3FsSwitch{align-items:center;gap:var(--space-1);min-height:var(--control-h);font-size:var(--fs-meta);color:var(--muted);display:inline-flex}.p3FsSwitchLabel{white-space:nowrap}.p3FsRuleSummary{align-items:center;gap:var(--space-1) var(--space-2);font-size:var(--fs-body);color:var(--text);flex-wrap:wrap;min-height:2.4rem;margin:0;display:flex}.p3FsRuleWord{font-size:var(--fs-meta);text-transform:uppercase;color:var(--muted);font-weight:600}.p3FsRuleOp{color:var(--muted);font-style:normal}.p3FsRuleAction{align-items:center;gap:var(--space-1);display:inline-flex}.p3FsRuleColor{border-radius:var(--r-pill);border:1px solid var(--border);width:12px;height:12px;display:inline-block}.p3FsRuleThrottle{font-size:var(--fs-meta);color:var(--muted);padding:0 var(--space-2);border:1px solid var(--border);border-radius:var(--r-pill)}.p3FsCardHead{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.p3FsCardHead h3{align-items:center;gap:var(--space-2);font-size:var(--fs-id);margin:0;display:flex}.p3FsPushCard{gap:var(--space-2);display:grid}.p3FsPushActions{gap:var(--space-2);flex-wrap:wrap;display:flex}.p3FsPushReason{min-height:2.3rem;font-size:var(--fs-meta);color:var(--muted);margin:0}.p3FsFlashModal{gap:var(--space-3);min-width:0;max-width:100%;padding:var(--space-3);display:grid}.p3FsFlashDevice{font-size:var(--fs-id);margin:0;font-weight:600}.p3FsBuildId{align-items:center;gap:var(--space-2);min-width:0;font-size:var(--fs-meta);margin:0;display:flex}.p3FsBuildIdLabel{color:var(--muted)}.p3FsFlashReady,.p3FsFlashDone{gap:var(--space-2);justify-items:start;min-width:0;display:grid}.p3FsApBox{gap:var(--space-1);padding:var(--space-2);border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface-2);font-size:var(--fs-body);display:grid}.p3FsModalFooter{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.customFlashErase{align-items:center;gap:var(--space-2);cursor:pointer}.customFlashErase input[type=checkbox]{width:18px;min-width:0;height:18px;min-height:0;accent-color:var(--primary);flex:none;margin:0;padding:0}@media (width<=767px){.customFlashErase{min-height:44px}.p3FsWorkshop{grid-template-columns:minmax(0,1fr)}.p3FsWorkshopAside{position:static}.p3FlashMilestone{grid-template-columns:24px minmax(0,1fr) auto;row-gap:2px}.p3FlashMilestoneDetail{grid-column:2/-1}.p3FlashWriteBar{grid-column:1/-1}.p3FsSelect,.p3FsInput,.p3FsPickBtn,.p3FsAddBtn,.p3FsPanelBtn,.p3FsMenuItem,.p3FsRemoveBtn,.p3FsColor,.p3FsStepToggle{min-height:44px}.p3FsRemoveBtn,.p3FsColor,.p3FsDeviceMenu{width:44px;height:44px}.p3FsDeviceSelect{padding-right:calc(var(--space-3) + 44px)}.p3FsSentence{gap:var(--space-1) var(--space-2)}.p3FsInputGrow{min-width:100%}.p3FsBigFlash,.p3FsAddDevice .btn,.p3FlashResultActions .btn{justify-content:center;width:100%}}.p3FsPickBanner{top:var(--mobile-top-height,0px);background:var(--tone-info-bg);box-shadow:0 6px 12px -10px #0008}@media (width<=767px){.p3FsPickBanner{row-gap:var(--space-2)}.p3FsPickBanner .btn{min-height:44px}}.roleChoiceCard.is-unavailable{opacity:.72;cursor:not-allowed}.roleChoiceCard.is-unavailable:hover{border-color:var(--border)}.p1Flash .p1FlashStepState[data-stability-template]:before,.pageStateMetricValue[data-stability-template]:before{content:attr(data-stability-template);visibility:hidden;pointer-events:none;height:0;display:block;overflow:hidden}.pageStateMetricValue{font-variant-numeric:tabular-nums}.p3FsDeviceStatus{place-items:center;display:inline-grid}.p3FsDeviceStatus[data-stability-sizer]:before{content:attr(data-stability-sizer);visibility:hidden;pointer-events:none;grid-area:1/1;height:0;overflow:hidden}.p3FsDeviceStatusLabel{grid-area:1/1}.p1Flash .p1FlashProgressLine{flex:auto;min-width:0}.p3FsStep2Fallback{font-size:var(--fs-meta);margin:0}.consoleFilterGrid .chipRow>.badge{min-height:36px;padding-inline:var(--space-3)}@media (width<=767px){.consoleFilterGrid .chipRow>.badge{min-height:44px}}.p1Flash .p1FlashRestart.p1FlashRestart,.p1Flash .p1FlashStepCard .p1FlashStepMarker.p1FlashStepMarker{color:var(--primary-ink)}.p3FlashConsole .consolePage,.p3FlashConsole .consoleShellFull,.p3FlashConsole .consoleLogPane{height:auto;min-height:0;overflow:visible}.p3FlashConsole .consoleBody{gap:var(--space-2);flex-direction:column;min-height:0;display:flex}.p3FlashConsole .consoleControlDock{max-height:none}.p3FlashConsole .consolePage .log,.p3FlashConsole .consoleShell .log{background:var(--surface-2);height:clamp(320px,100dvh - 250px,900px);color:var(--text);overflow:auto}@media (width<=767px){.p3FlashConsole .consolePage .log,.p3FlashConsole .consoleShell .log{height:clamp(280px, calc(100dvh - var(--mobile-top-height,0px) - var(--nav-h,74px) - 260px), 720px)}}.p3RfPage{gap:var(--space-4,1rem);flex-direction:column;display:flex}.p3RfSafety{padding:var(--space-3,.75rem);border:1px solid var(--tone-info-border,var(--border));background:var(--tone-info-bg,var(--surface-2));color:var(--tone-info-fg,var(--text));border-radius:var(--r-card,12px);font-size:var(--fs-body,.875rem);margin:0}.p3RfPanel{border:1px solid var(--border);background:var(--surface);border-radius:var(--r-card,12px);padding:var(--space-4,1rem)}.p3RfPanel>h3{margin:0 0 var(--space-3,.75rem);font-size:var(--fs-id,1rem)}.p3RfMuted{color:var(--muted)}.p3RfWarn{margin:var(--space-2,.5rem) 0;color:var(--tone-warn-fg,var(--text));font-size:var(--fs-body,.875rem)}.p3RfSessionGrid{gap:var(--space-3,.75rem);grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));margin:0;padding:0;list-style:none;display:grid}.p3RfSessionCard{gap:var(--space-2,.5rem);min-height:168px;padding:var(--space-3,.75rem);border:1px solid var(--border);border-radius:var(--r-card,12px);background:var(--surface);grid-template-rows:auto auto auto auto;display:grid}.p3RfSessionHead{justify-content:space-between;align-items:center;gap:var(--space-2,.5rem);min-height:28px;display:flex}.p3RfSessionHead h3{font-size:var(--fs-id,1rem);margin:0}.p3RfSessionMeta,.p3RfSessionFresh{color:var(--muted);font-size:var(--fs-meta,.75rem);font-variant-numeric:tabular-nums;margin:0}.p3RfSessionMeta{align-items:center;gap:var(--space-2,.5rem);min-width:0;display:flex}.p3RfSessionMeta>span{min-width:0}.p3RfSessionFoot{gap:var(--space-2,.5rem);align-items:end;display:flex}.p3RfSessionFoot .btn{min-height:36px}.p3RfSession{gap:var(--space-4,1rem);flex-direction:column;display:flex}.p3RfSessionHeader{justify-content:space-between;align-items:center;gap:var(--space-3,.75rem);flex-wrap:wrap;display:flex}.p3RfSessionTitle h2{font-size:var(--fs-id,1rem);margin:0}.p3RfSessionSub{color:var(--muted);font-size:var(--fs-meta,.75rem);margin:0}.p3RfSessionActions{align-items:center;gap:var(--space-2,.5rem);display:flex}.p3RfVerdict{gap:var(--space-1,.25rem) var(--space-3,.75rem);border-style:solid;border-width:1px;grid-template-columns:1fr auto;grid-template-areas:"title fresh""detail fresh";align-items:center;min-height:96px;display:grid}.p3RfVerdictTitle{font-size:var(--fs-page,1.25rem);grid-area:title;line-height:1.25}.p3RfVerdictDetail{font-size:var(--fs-body,.875rem);grid-area:detail}.p3RfVerdictFresh{font-size:var(--fs-meta,.75rem);color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;grid-area:fresh}.p3RfVerdict.tone-ok{border-color:var(--tone-ok-border,var(--border));background:var(--tone-ok-bg,var(--surface));color:var(--tone-ok-fg,var(--text))}.p3RfVerdict.tone-warn{border-color:var(--tone-warn-border,var(--border));background:var(--tone-warn-bg,var(--surface));color:var(--tone-warn-fg,var(--text))}.p3RfVerdict.tone-danger{border-color:var(--tone-danger-border,var(--border));background:var(--tone-danger-bg,var(--surface));color:var(--tone-danger-fg,var(--text))}.p3RfVerdict.tone-info{border-color:var(--tone-info-border,var(--border));background:var(--tone-info-bg,var(--surface));color:var(--tone-info-fg,var(--text))}.p3RfVerdict.tone-neutral{border-color:var(--tone-neutral-border,var(--border));background:var(--tone-neutral-bg,var(--surface-2));color:var(--tone-neutral-fg,var(--text))}.p3RfStepper{gap:var(--space-3,.75rem);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.p3RfStep{gap:var(--space-3,.75rem);padding:var(--space-3,.75rem);border:1px solid var(--border);border-radius:var(--r-card,12px);background:var(--surface-2);grid-template-columns:32px 1fr;display:grid}.p3RfStep.is-current{border-color:var(--tone-info-border,var(--border));background:var(--tone-info-bg,var(--surface-2))}.p3RfStep.is-done{border-color:var(--tone-ok-border,var(--border))}.p3RfStep.is-error{border-color:var(--tone-danger-border,var(--border))}.p3RfStepNum{border-radius:var(--r-pill,999px);border:1px solid var(--border);background:var(--surface);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.p3RfStepBody{gap:var(--space-2,.5rem);flex-direction:column;min-width:0;display:flex}.p3RfStepHint{color:var(--muted);font-size:var(--fs-meta,.75rem);margin:0}.p3RfStepActions{align-items:center;gap:var(--space-3,.75rem);flex-wrap:wrap;display:flex}.p3RfStepActions .btn{min-height:36px}.p3RfStepCount{font-size:var(--fs-meta,.75rem);color:var(--muted);font-variant-numeric:tabular-nums}.p3RfStepBlock{font-size:var(--fs-meta,.75rem);color:var(--tone-warn-fg,var(--text));margin:0}.p3RfLinkStates{gap:var(--space-2,.5rem);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.p3RfLinkState{align-items:center;gap:var(--space-2,.5rem);padding:var(--space-2,.5rem);border:1px solid var(--border);border-radius:var(--r-control,8px);background:var(--surface);grid-template-columns:minmax(0,1.4fr) 12ch minmax(80px,1fr) 6ch;grid-template-areas:"names state bar pct""reason reason reason reason";min-height:64px;display:grid}.p3RfLinkNames{font-size:var(--fs-meta,.75rem);grid-area:names}.p3RfLinkStateLabel{font-size:var(--fs-meta,.75rem);color:var(--muted);grid-area:state}.p3RfLinkBar{border-radius:var(--r-pill,999px);background:var(--surface-2);border:1px solid var(--border);grid-area:bar;height:8px;display:block;overflow:hidden}.p3RfLinkBar>span{background:var(--primary);height:100%;display:block}.p3RfLinkState.is-calibrated .p3RfLinkBar>span{background:var(--tone-ok-fg,var(--primary))}.p3RfLinkState.is-blocked .p3RfLinkBar>span,.p3RfLinkState.is-stalled .p3RfLinkBar>span{background:var(--tone-danger-fg,var(--primary))}.p3RfLinkPct{text-align:right;font-size:var(--fs-meta,.75rem);font-variant-numeric:tabular-nums;grid-area:pct;min-width:6ch}.p3RfLinkReason{font-size:var(--fs-meta,.75rem);color:var(--tone-danger-fg,var(--text));grid-area:reason}.p3RfGauges{gap:var(--space-3,.75rem);grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));display:grid}.p3RfGauge{gap:var(--space-1,.25rem);padding:var(--space-3,.75rem);border:1px solid var(--border);border-radius:var(--r-card,12px);background:var(--surface-2);flex-direction:column;min-height:132px;display:flex}.p3RfGaugeLabel{font-size:var(--fs-meta,.75rem);color:var(--muted);text-transform:none}.p3RfGaugeValue{font-size:var(--fs-page,1.25rem);font-variant-numeric:tabular-nums;line-height:1.2}.p3RfGaugeTrack{border-radius:var(--r-pill,999px);border:1px solid var(--border);background:var(--surface);height:10px;display:block;position:relative;overflow:hidden}.p3RfGaugeFill{background:var(--muted);position:absolute;inset:0 auto 0 0}.p3RfGauge.tone-ok .p3RfGaugeFill{background:var(--tone-ok-fg,var(--primary))}.p3RfGauge.tone-warn .p3RfGaugeFill{background:var(--tone-warn-fg,var(--primary))}.p3RfGauge.tone-danger .p3RfGaugeFill{background:var(--tone-danger-fg,var(--primary))}.p3RfGaugeThreshold{background:var(--text);opacity:.75;width:2px;position:absolute;top:-2px;bottom:-2px;left:50%}.p3RfGaugeScale{height:1.2em;font-size:var(--fs-meta,.75rem);color:var(--muted);display:block;position:relative}.p3RfGaugeScale>:first-child{position:absolute;left:0}.p3RfGaugeScale>:last-child{position:absolute;left:50%;transform:translate(-50%)}.p3RfGaugeDetail{color:var(--muted);font-size:var(--fs-meta,.75rem)}.p3RfChart{gap:var(--space-2,.5rem);flex-direction:column;display:flex}.p3RfChartFrame{aspect-ratio:600/220;border:1px solid var(--border);border-radius:var(--r-control,8px);background:var(--surface-2);justify-content:center;align-items:center;display:flex;overflow:hidden}.p3RfChartSvg{width:100%;height:100%}.p3RfChartEmpty{color:var(--muted);font-size:var(--fs-meta,.75rem);margin:0}.p3RfChartAxis{stroke:var(--border);stroke-width:1px}.p3RfChartThreshold{stroke:var(--tone-warn-fg,var(--muted));stroke-width:1px;stroke-dasharray:5 4}.p3RfChartPresence{stroke:var(--primary);stroke-width:2px}.p3RfChartMotion{stroke:var(--tone-info-fg,var(--muted));stroke-width:2px;stroke-dasharray:3 3}.p3RfChartTick{fill:var(--muted);font-size:var(--fs-meta,.75rem);font-variant-numeric:tabular-nums}.p3RfChartLegend{gap:var(--space-3,.75rem);font-size:var(--fs-meta,.75rem);color:var(--muted);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.p3RfChartLegend li{align-items:center;gap:var(--space-1,.25rem);display:flex}.p3RfChartLegend strong{font-variant-numeric:tabular-nums;text-align:right;min-width:5ch;color:var(--text)}.p3RfSwatch{border-top-style:solid;border-top-width:2px;width:14px;height:0;display:inline-block}.p3RfSwatch.isPresence{border-top-color:var(--primary)}.p3RfSwatch.isMotion{border-top-color:var(--tone-info-fg,var(--muted));border-top-style:dashed}.p3RfSwatch.isThreshold{border-top-color:var(--tone-warn-fg,var(--muted));border-top-style:dashed}.p3RfRoomView{gap:var(--space-3,.75rem);flex-direction:column;display:flex}.p3RfRoomToolbar{justify-content:space-between;align-items:center;gap:var(--space-3,.75rem);min-height:44px;display:flex}.p3RfRoomToolbar .btn{min-height:36px}.p3RfHiddenControl{visibility:hidden}.p3RfRoomLegend,.p3RfMapHint{color:var(--muted);font-size:var(--fs-meta,.75rem);margin:0}.p3RfMapWrap{gap:var(--space-2,.5rem);flex-direction:column;display:flex}.p3RfMapFrame{border:1px solid var(--border);border-radius:var(--r-control,8px);background:var(--surface-2);height:320px;padding:var(--space-3,.75rem);justify-content:center;align-items:center;display:flex}.p3RfMapRoom{border:1px solid var(--border);border-radius:var(--r-control,8px);background:var(--surface);touch-action:pan-y;width:100%;max-width:100%;max-height:100%;position:relative}.p3RfMapSvg,.p3RfMapLayer{width:100%;height:100%;position:absolute;inset:0}.p3RfMapGrid{stroke:var(--border);stroke-width:1px;vector-effect:non-scaling-stroke;opacity:.6}.p3RfMapLink{stroke:var(--primary);vector-effect:non-scaling-stroke}.p3RfMapNode{color:var(--text);font-size:var(--fs-meta,.75rem);background:0 0;border:0;flex-direction:column;align-items:center;gap:2px;max-width:40%;padding:0;display:flex;position:absolute;transform:translate(-50%,-50%)}.p3RfMapNodeDot{border-radius:var(--r-pill,999px);border:2px solid var(--surface);background:var(--primary);width:14px;height:14px}.p3RfMapNode.is-rx .p3RfMapNodeDot{background:var(--tone-info-fg,var(--primary))}.p3RfMapNodeLabel{padding:0 var(--space-1,.25rem);border-radius:var(--r-control,8px);background:var(--surface);border:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;max-width:14ch;overflow:hidden}button.p3RfMapNode.isEditable{cursor:grab;touch-action:none;justify-content:center;min-width:36px;min-height:36px}button.p3RfMapNode.isEditable:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.p3RfMapEstimate{border-radius:var(--r-pill,999px);border:2px dashed var(--tone-danger-border,var(--border));background:var(--tone-danger-bg,transparent);opacity:.85;width:28px;height:28px;position:absolute;transform:translate(-50%,-50%)}.p3RfMapTarget{border-radius:var(--r-pill,999px);background:var(--tone-warn-fg,var(--primary));border:2px solid var(--surface);width:12px;height:12px;position:absolute;transform:translate(-50%,-50%)}.p3RfMapScaleX,.p3RfMapScaleY{font-size:var(--fs-meta,.75rem);color:var(--muted);font-variant-numeric:tabular-nums;position:absolute}.p3RfMapScaleX{bottom:-1.4em;left:50%;transform:translate(-50%)}.p3RfMapScaleY{transform-origin:100%;top:50%;left:-.6em;transform:translate(-100%,-50%)rotate(-90deg)}.p3RfSceneWrap{gap:var(--space-2,.5rem);flex-direction:column;display:flex}.p3RfScene{border:1px solid var(--border);border-radius:var(--r-control,8px);background:var(--surface-2);touch-action:pan-y;width:100%;height:320px}.p3RfScene.isStale{opacity:.6}.p3RfSceneFoot{justify-content:space-between;align-items:center;gap:var(--space-2,.5rem);font-size:var(--fs-meta,.75rem);color:var(--muted);font-variant-numeric:tabular-nums;min-height:36px;display:flex}.p3RfSceneControls{align-items:center;gap:var(--space-2,.5rem);display:flex}.p3RfSceneControls .btn{min-width:36px;min-height:36px}.p3RfSceneHandle{min-height:36px;padding:0 var(--space-3,.75rem);border:1px solid var(--border);border-radius:var(--r-control,8px);background:var(--surface);color:var(--text);font-size:var(--fs-meta,.75rem);cursor:grab;touch-action:none}.p3RfRadarAbsent{border:1px dashed var(--border);border-radius:var(--r-control,8px);padding:var(--space-3,.75rem);font-size:var(--fs-body,.875rem);min-height:120px}.p3RfTargets{border-collapse:collapse;width:100%;font-size:var(--fs-meta,.75rem);font-variant-numeric:tabular-nums}.p3RfTargets caption{text-align:left;color:var(--muted);padding-bottom:var(--space-1,.25rem)}.p3RfTargets th,.p3RfTargets td{text-align:left;padding:var(--space-1,.25rem) var(--space-2,.5rem);border-bottom:1px solid var(--border)}.p3RfTargets tbody tr{height:32px}.p3RfDiag>summary:before,.p3RfAdvanced>summary:before,.p3RfRadarAbsent details>summary:before{content:"▸";margin-right:var(--space-2,.5rem);color:var(--muted);display:inline-block}.p3RfDiag[open]>summary:before,.p3RfAdvanced[open]>summary:before,.p3RfRadarAbsent details[open]>summary:before{content:"▾"}.p3RfRadarAbsent details>summary{cursor:pointer;align-items:center;min-height:36px;display:flex}.p3RfDiag>summary{align-items:center;gap:var(--space-2,.5rem);cursor:pointer;min-height:36px;font-size:var(--fs-body,.875rem);display:flex}.p3RfDiagDot{border-radius:var(--r-pill,999px);background:var(--tone-ok-fg,var(--muted));flex:none;width:10px;height:10px}.p3RfDiagDot.isWarn{background:var(--tone-warn-fg,var(--muted))}.p3RfDiagSummary{font-variant-numeric:tabular-nums;flex:auto;min-width:0}.p3RfDiagCount{color:var(--muted);font-size:var(--fs-meta,.75rem);white-space:nowrap}.p3RfDiagBody{margin-top:var(--space-3,.75rem);gap:var(--space-3,.75rem);font-size:var(--fs-body,.875rem);flex-direction:column;display:flex}.p3RfDiagBody h4{margin:0 0 var(--space-2,.5rem);font-size:var(--fs-body,.875rem)}.p3RfDiagList{padding-left:var(--space-4,1rem);gap:var(--space-2,.5rem);flex-direction:column;margin:0;display:flex}.p3RfDiagRow{border-top:1px solid var(--border);padding-top:var(--space-2,.5rem)}.p3RfDiagRowHead,.p3RfDiagStats,.p3RfDiagWhy,.p3RfDiagLed{margin:0 0 var(--space-1,.25rem)}.p3RfDiagStats{gap:var(--space-3,.75rem);color:var(--muted);font-size:var(--fs-meta,.75rem);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.p3RfDiagWhy{color:var(--tone-warn-fg,var(--text));font-size:var(--fs-meta,.75rem)}.p3RfDiagWhy.isOk{color:var(--muted)}.responsivePanel.drawer:has(.p3RfWizard){flex-direction:column;padding:0;display:flex;overflow:hidden}@media (width<=1023px){.responsiveOverlay.drawer:has(.p3RfWizard){justify-content:flex-start;align-items:stretch;padding:0}.responsivePanel.drawer:has(.p3RfWizard){border-width:0;border-radius:0;width:100%;max-width:none;height:100dvh;min-height:100dvh;max-height:100dvh;margin:0}}@media (width>=1024px){.responsivePanel.drawer:has(.p3RfWizard){border-radius:var(--r-card,12px) 0 0 var(--r-card,12px);width:min(560px,96vw);max-width:560px;height:100dvh;min-height:100dvh;max-height:100dvh}}.p3RfWizard{flex-direction:column;flex:auto;min-height:0;display:flex}.p3RfWizardSteps{gap:var(--space-2,.5rem);padding:var(--space-3,.75rem);border-bottom:1px solid var(--border);font-size:var(--fs-meta,.75rem);margin:0;list-style:none;display:flex}.p3RfWizardStep{align-items:center;gap:var(--space-1,.25rem);min-width:0;color:var(--muted);flex:1 1 0;display:flex}.p3RfWizardStep.isCurrent{color:var(--text);font-weight:600}.p3RfWizardStepNum{border-radius:var(--r-pill,999px);border:1px solid var(--border);background:var(--surface-2);flex:none;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.p3RfWizardStep.isDone .p3RfWizardStepNum{border-color:var(--tone-ok-border,var(--border));background:var(--tone-ok-bg,var(--surface-2));color:var(--tone-ok-fg,var(--text))}.p3RfWizardStep.isCurrent .p3RfWizardStepNum{border-color:var(--primary)}.p3RfWizardBody{min-height:0;padding:var(--space-4,1rem);gap:var(--space-3,.75rem);flex-direction:column;flex:auto;display:flex;overflow:auto}.p3RfWizardFoot{gap:var(--space-2,.5rem);padding:var(--space-3,.75rem);border-top:1px solid var(--border);background:var(--surface);justify-content:space-between;display:flex}.p3RfWizardFoot .btn{flex:1 1 0;min-height:44px}.p3RfField{gap:var(--space-1,.25rem);font-size:var(--fs-body,.875rem);flex-direction:column;min-width:0;display:flex}.p3RfFieldLabel{font-weight:600}.p3RfFieldHelp{color:var(--muted);font-size:var(--fs-meta,.75rem)}.p3RfField input,.p3RfField select{width:100%;min-height:36px}.p3RfDims{gap:var(--space-3,.75rem);grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));display:grid}.p3RfModes{border:1px solid var(--border);border-radius:var(--r-card,12px);padding:var(--space-3,.75rem);gap:var(--space-2,.5rem);flex-direction:column;margin:0;display:flex}.p3RfMode{align-items:start;gap:var(--space-2,.5rem);padding:var(--space-2,.5rem);border:1px solid var(--border);border-radius:var(--r-control,8px);background:var(--surface);cursor:pointer;min-height:44px;display:flex}.p3RfMode.isActive{border-color:var(--primary);background:var(--tone-info-bg,var(--surface-2))}.p3RfMode input[type=radio]{flex:none;width:20px;height:20px;min-height:0;margin:2px 0 0}.p3RfMode span{text-align:left;flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.p3RfMode small{color:var(--muted);font-size:var(--fs-meta,.75rem)}.p3RfLinksHead{justify-content:space-between;align-items:center;gap:var(--space-2,.5rem);min-height:36px;display:flex}.p3RfLinkRow{gap:var(--space-2,.5rem);padding:var(--space-3,.75rem);border:1px solid var(--border);border-radius:var(--r-control,8px);grid-template-columns:1fr 1fr;align-items:end;display:grid}.p3RfLinkName{font-size:var(--fs-meta,.75rem);color:var(--muted);grid-column:1/-1}.p3RfLinkRow .btn{grid-column:1/-1;min-height:36px}.p3RfAdvancedSummary{font-size:var(--fs-body,.875rem);font-variant-numeric:tabular-nums;margin:0}.p3RfAdvancedHint{color:var(--muted);font-size:var(--fs-meta,.75rem);margin:0}.p3RfAdvanced>summary{cursor:pointer;min-height:36px;font-size:var(--fs-body,.875rem);align-items:center;display:flex}.p3RfAdvancedGrid{gap:var(--space-3,.75rem);padding-top:var(--space-3,.75rem);grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));display:grid}.p3RfAdvancedGrid .btn{align-self:end;min-height:36px}.p3RfIssues{min-height:2.7em}@media (width<=767px){.p3RfSessionFoot .btn,.p3RfStepActions .btn,.p3RfRoomToolbar .btn,.p3RfSceneControls .btn,.p3RfSceneHandle,.p3RfLinkRow .btn,.p3RfAdvancedGrid .btn,.p3RfField input,.p3RfField select{min-height:var(--control-h,44px)}button.p3RfMapNode.isEditable{min-width:var(--control-h,44px);min-height:var(--control-h,44px)}.p3RfSessionActions{flex-wrap:wrap;width:100%}.p3RfSessionActions .btn{min-height:var(--control-h,44px);flex:auto}.p3RfVerdict{grid-template-columns:1fr;grid-template-areas:"title""detail""fresh";min-height:128px}.p3RfVerdictFresh{white-space:normal}.p3RfLinkState{grid-template-columns:1fr 6ch;grid-template-areas:"names pct""state state""bar bar""reason reason";min-height:108px}.p3RfMapFrame,.p3RfScene{height:240px}.p3RfChartFrame{aspect-ratio:380/220}.p3RfLinkRow{grid-template-columns:1fr}.p3RfRoomToolbar{flex-wrap:wrap}}.qgIntro{margin:0 0 var(--space-3);font-size:var(--fs-body);color:var(--muted)}.qgThreshold{padding:var(--space-3) 0;border-top:1px solid var(--border)}.qgThreshold:first-of-type{border-top:0;padding-top:0}.qgLabel{font-size:var(--fs-body);font-weight:600;display:block}.qgWhy{margin:var(--space-1) 0 var(--space-2);font-size:var(--fs-meta);color:var(--muted)}.qgRow{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.qgInput{width:6rem;min-height:var(--control-h-compact);padding:0 var(--space-2);border:1px solid var(--border);border-radius:var(--r-control,8px);background:var(--surface);color:var(--text);font-size:var(--fs-body);text-align:right}.qgUnit{font-size:var(--fs-body);color:var(--muted)}.qgHelp{margin:var(--space-2) 0 0;font-size:var(--fs-meta);color:var(--muted)}@media (width<=767px){.qgInput{min-height:var(--control-h);width:7rem}.qgRow .btn.compact{min-height:var(--control-h)}}.qiTab{gap:var(--space-3);--qi-fs-answer:calc(var(--fs-body) * 1.2);flex-direction:column;display:flex}.qiSampling{padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-left:3px solid var(--tone-info-border,var(--border));border-radius:var(--r-card,12px);background:var(--surface-2);color:var(--muted);font-size:var(--fs-meta);min-height:calc(2 * 1.45em + 2 * var(--space-2));margin:0;line-height:1.45}.qiGrid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(21rem,1fr));align-items:start;display:grid}.qiCard{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--r-card,12px);background:var(--surface);box-shadow:var(--shadow);flex-direction:column;min-width:0;min-height:12.5rem;display:flex}.qiQuestion{min-width:0;font-size:var(--fs-meta);color:var(--muted);text-transform:none;flex:auto;margin:0;font-weight:600}.qiHead>.p1Chip{flex:none}.qiHead{justify-content:space-between;align-items:flex-start;gap:var(--space-2);min-width:0;display:flex}.qiAnswer{min-width:0;font-size:var(--qi-fs-answer,var(--fs-body));color:var(--text);font-variant-numeric:tabular-nums;min-height:4.05em;margin:0;font-weight:600;line-height:1.35}.qiCaveat{font-size:var(--fs-meta);color:var(--muted);min-height:2.8em;margin:0;line-height:1.4}.qiActions{gap:var(--space-2);flex-wrap:wrap;display:flex}.qiEvidenceToggle{align-self:flex-start;align-items:center;gap:var(--space-1);margin-top:auto;display:inline-flex}.qiEvidenceToggle svg{transition:transform .12s}.qiChevronOpen{transform:rotate(180deg)}@media (prefers-reduced-motion:reduce){.qiEvidenceToggle svg{transition:none}}.qiEvidence{border-top:1px solid var(--border);padding-top:var(--space-2);font-size:var(--fs-meta);color:var(--muted);overscroll-behavior:contain;max-height:16rem;overflow:auto}.qiList{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.qiList li{overflow-wrap:anywhere;line-height:1.4}.qiList a{color:var(--primary);font-weight:600}@media (width<=767px){.qiGrid{grid-template-columns:1fr}.qiCard{min-height:11rem}.qiEvidenceToggle{min-height:var(--control-h)}}@media (width>=1024px){.side.p1Side{gap:var(--space-4);padding:var(--space-4) var(--space-3);overscroll-behavior:contain;grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);display:grid;overflow-y:auto}}.p1SideTop{gap:var(--space-2);flex-direction:column;display:flex}.p1Side .brandHome{font-size:var(--fs-id);min-height:40px;font-weight:700}.p1SideNav{gap:var(--space-2);flex-direction:column;min-height:0;display:flex}.p1NavGroup{flex-direction:column;display:flex}.p1NavGroupTitle{padding:var(--space-3) var(--space-3) var(--space-1);font-size:var(--fs-meta);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600}.p1NavList{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.p1NavLink{align-items:center;gap:var(--space-2);min-height:40px;padding:0 var(--space-3);border-radius:var(--r-control);color:var(--text);font-size:var(--fs-body);white-space:nowrap;font-weight:500;text-decoration:none;transition:background-color .12s;display:flex;position:relative}.p1NavIcon{color:var(--muted);flex:none}.p1NavLabel{text-overflow:ellipsis;overflow:hidden}.p1NavLink:hover{background:var(--surface-2)}.p1NavLink:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.p1NavLink.active{background:var(--surface-2);font-weight:600}.p1NavLink.active .p1NavIcon{color:var(--primary-ink)}.p1NavLink.active:before{content:"";left:0;top:var(--space-2);bottom:var(--space-2);border-radius:var(--r-pill);background:var(--primary);width:3px;position:absolute}.p1SideFoot{border-top:1px solid var(--border);padding-top:var(--space-3)}.p1ConnectionPill{align-items:center;gap:var(--space-2);max-width:100%;min-height:28px;padding:0 var(--space-2);border:1px solid var(--p1-border);border-radius:var(--r-pill);background:var(--p1-bg);color:var(--text);font-size:var(--fs-meta);white-space:nowrap;font-weight:600;text-decoration:none;display:inline-flex}.p1ConnectionPill:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.p1ConnectionDot{border-radius:var(--r-pill);background:var(--p1-fg);flex:none;width:8px;height:8px}.p1ConnectionPill.tone-warn .p1ConnectionDot,.p1ConnectionBanner.tone-warn .p1ConnectionDot{animation:1.2s ease-in-out infinite p1ConnectionPulse}.p1ConnectionLabel{text-overflow:ellipsis;color:var(--p1-fg);overflow:hidden}.p1ConnectionGateways{color:var(--muted);font-weight:500}.p1ConnectionCount{font-family:var(--mono-console);font-variant-numeric:tabular-nums;color:var(--text)}.p1ConnectionPill.isCompact{min-height:36px}.p1ConnectionPill.isCompact .p1ConnectionLabel{max-width:9rem}@media (width<=479px){.p1ConnectionPill.isCompact.tone-ok .p1ConnectionLabel{display:none}}.p1ConnectionBanner{align-items:center;gap:var(--space-2) var(--space-3);margin:0 0 var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--p1-border);border-radius:var(--r-control);background:var(--p1-bg);color:var(--text);font-size:var(--fs-body);flex-wrap:wrap;display:flex}.p1ConnectionBannerText{flex:16rem;min-width:0}.p1ConnectionRetry.btn{align-items:center;gap:var(--space-2);min-height:36px;display:inline-flex}@media (width<=767px){.p1ConnectionRetry.btn{min-height:44px}}@keyframes p1ConnectionPulse{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.p1ConnectionPill .p1ConnectionDot,.p1ConnectionBanner .p1ConnectionDot{animation:none}}.mobileTop.p1MobileTop{gap:var(--space-2);grid-template-columns:auto minmax(0,1fr) auto auto}.p1MobileTop span{color:inherit;text-overflow:clip;overflow:visible}.p1MobileTitle{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--fs-id);font-weight:600;overflow:hidden}.p1MobileBrand{min-width:44px;min-height:44px;margin-left:calc(-1 * var(--space-2));justify-content:center;align-items:center;display:inline-flex}.p1MobileBack{min-width:44px;min-height:44px;margin-left:calc(-1 * var(--space-2));padding-right:var(--space-1);color:var(--primary-ink);font-size:var(--fs-body);white-space:nowrap;align-items:center;gap:2px;font-weight:600;text-decoration:none;display:inline-flex}.p1MobileBackLabel{text-overflow:ellipsis;max-width:7rem;overflow:hidden}.p1MobileAccount{border-radius:var(--r-control);min-width:44px;min-height:44px;color:var(--text);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}@media (width<=1023px){.p1NoBottomNav .main{padding-bottom:calc(var(--safe-bottom) + var(--space-5))}}.mobileBottomNav.p1BottomNav a,.mobileBottomNav.p1BottomNav button{padding:var(--space-1) 0;border-radius:var(--r-control);font-size:var(--fs-meta);color:var(--muted);flex-direction:column;gap:2px;font-weight:600;line-height:1.1}.p1BottomNavIcon{line-height:0;display:inline-flex}.p1BottomNavLabel{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}html .mobileBottomNav.p1BottomNav a.active,html .mobileBottomNav.p1BottomNav button[aria-expanded=true]{background:color-mix(in srgb, var(--primary) 12%, transparent);color:var(--primary-ink);box-shadow:none}html .mobileBottomNav.p1BottomNav a:hover,html .mobileBottomNav.p1BottomNav button:hover{background:var(--surface-2);color:var(--text)}.mobileBottomNav.p1BottomNav a:focus-visible,.mobileBottomNav.p1BottomNav button:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.p1MoreMenu{gap:var(--space-4);flex-direction:column;display:flex}.p1MoreGroupTitle{margin:0 0 var(--space-2);font-size:var(--fs-meta);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600}.p1MoreList{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.p1MoreRow{align-items:center;gap:var(--space-3);min-height:48px;padding:0 var(--space-2);border-bottom:1px solid var(--border);color:var(--text);font-size:var(--fs-body);font-weight:500;text-decoration:none;display:flex}.p1MoreRow:focus-visible{outline:2px solid var(--primary);outline-offset:-2px;border-radius:var(--r-control)}.p1MoreRowIcon{color:var(--muted);display:inline-flex}.p1MoreRowLabel{flex:auto;min-width:0}.p1MoreRowChevron{color:var(--muted)}.p1MoreIdentity{align-items:center;gap:var(--space-2);padding:var(--space-2) 0 var(--space-3);display:flex}.p1MoreIdentityText{flex-direction:column;min-width:0;display:flex}.p1MoreIdentityText strong{font-size:var(--fs-body);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.p1MoreField{gap:var(--space-1);margin-bottom:var(--space-3);flex-direction:column;display:flex}.p1MoreFieldLabel,.p1AccountFieldLabel{font-size:var(--fs-meta);color:var(--muted);font-weight:500}.p1MoreSelect,.p1AccountSelect{width:100%;min-height:44px;font-size:var(--fs-body)}.p1MoreLogout.btn{justify-content:center;align-items:center;gap:var(--space-2);width:100%;min-height:44px;display:inline-flex}.p1AccountTrigger.userMenuTrigger{width:100%;max-width:none;min-height:44px;padding:var(--space-1) var(--space-2);border-radius:var(--r-control);justify-content:flex-start}.p1AccountAvatar{border-radius:var(--r-pill);background:color-mix(in srgb, var(--primary) 16%, var(--surface));width:28px;height:28px;color:var(--primary-ink);flex:none;justify-content:center;align-items:center;display:inline-flex}.p1AccountIdentity{text-align:left;flex-direction:column;flex:auto;min-width:0;display:flex}.p1AccountName{font-size:var(--fs-body);white-space:normal;overflow-wrap:break-word;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;min-width:0;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.p1AccountRole{font-size:var(--fs-meta);color:var(--muted);text-transform:none;letter-spacing:normal;font-weight:500}.p1AccountPanel.userMenuPanel{gap:var(--space-3);padding:var(--space-3);border-radius:var(--r-card)}.p1AccountPlacement-up .p1AccountPanel{top:auto;bottom:calc(100% + var(--space-2));width:auto;left:0;right:0}.p1AccountHeader strong{font-size:var(--fs-body)}.p1AccountField{gap:var(--space-1);flex-direction:column;display:flex}.p1AccountLogout.btn{justify-content:center;align-items:center;gap:var(--space-2);width:100%;min-height:44px;margin:0;display:inline-flex}html .p1ToastViewport,html .p1ToastViewport>.toastLiveRegion{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.p1ToastViewport .toastLiveRegion:empty{display:none}.p1ToastViewport .toast{gap:var(--space-2);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3);border-radius:var(--r-card);font-size:var(--fs-body)}.p1ToastViewport .toastClose{min-width:44px;min-height:44px;margin:calc(-1 * var(--space-2)) 0;border-radius:var(--r-control);font-size:inherit;justify-content:center;align-items:center;padding:0;display:inline-flex}.p1ToastViewport .toastClose:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.p1ToastViewport .toastAction{min-height:36px;padding:0 var(--space-2);border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface-2);color:var(--primary-ink);font:inherit;font-size:var(--fs-body);cursor:pointer;flex:none;font-weight:600}.p1ToastViewport .toastAction:hover{border-color:var(--primary)}@media (width<=767px){.p1ToastViewport .toastAction{min-height:44px}}.pageHeader.p1PageHeader{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin:0 0 var(--space-3);padding:0;display:flex}html .pageHeader.p1PageHeader:after{content:none;display:none}.p1PageHeaderMain{flex:auto;min-width:0}.p1PageHeader .pageTitleRow{gap:var(--space-2);flex-wrap:nowrap}.p1PageHeader h1{text-overflow:ellipsis;white-space:nowrap;min-width:0;line-height:1.25;overflow:hidden}.p1PageSubtitle{margin:var(--space-1) 0 0;color:var(--muted);font-size:var(--fs-body);line-height:1.45}.p1PageHeaderMeta{gap:var(--space-2) var(--space-3);margin-top:var(--space-1);font-size:var(--fs-meta);color:var(--muted);flex-wrap:wrap;display:flex}.p1PageHeader .pageHeaderAction{flex:none}@media (width<=767px){.p1PageHeader h1{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pageHeader.p1PageHeader{align-items:center}.pageHeader.p1PageHeaderBar{gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface)}.p1PageHeaderBar .p1PageHeaderMain{align-items:center;min-height:44px;display:flex}.p1PageHeaderBar .p1PageHeaderMeta{margin-top:0}.p1PageHeader .pageHeaderAction .btn{min-height:44px}}.p1AccessDenied{align-items:flex-start;gap:var(--space-2);padding:var(--space-5);flex-direction:column;display:flex}.p1AccessDenied h2{font-size:var(--fs-id);margin:0;font-weight:600}.p1AccessDenied p{font-size:var(--fs-body);margin:0}.p1AccessDeniedIcon{color:var(--tone-danger-fg)}.p1AccessDeniedRole{color:var(--muted)}.p1AccessDenied .btn{margin-top:var(--space-2);min-height:44px}.p1ShellPending .main{justify-content:center;align-items:center;min-height:60dvh;display:flex}.p1ShellPending .stateCard,.p1ShellPending .errorState{max-width:32rem}.p1LoginNotice{margin:0 0 var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--p1-border);border-radius:var(--r-control);background:var(--p1-bg);color:var(--text);font-size:var(--fs-body);line-height:1.45}.p1LoginPage .loginCard h2{font-size:var(--fs-page);font-weight:700}@media (width<=767px){.p1LoginHero{padding:var(--space-3) 0 0;text-align:center}.p1LoginHero .loginHeroMark{width:40px;height:40px}.p1LoginHero .loginIntro{display:none}}.p1KeyValueList{gap:0;margin:0;display:grid}.p1KeyValueRow{align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;display:grid}.p1KeyValueRow:last-child{border-bottom:0}@media (width<=639px){.p1KeyValueRow{grid-template-columns:minmax(0,1fr);align-items:start;row-gap:2px}.p1KeyValueRow dd{text-align:left;justify-self:start}}.p1KeyValueRow dt{font-size:var(--fs-body);color:var(--muted)}.p1KeyValueRow dd{min-width:0;font-size:var(--fs-body);text-align:right;overflow-wrap:anywhere;margin:0}.p1Mono{font-family:var(--mono-console);font-variant-numeric:tabular-nums;background:0 0;padding:0;font-weight:600}.p1SettingsPrefs{align-items:flex-start;gap:var(--space-3) var(--space-4);flex-wrap:wrap;display:flex}.p1SettingsPrefs .themeSwitcher,.p1SettingsPrefs .touchField{align-items:flex-start;gap:var(--space-1);flex-direction:column;margin:0;display:flex}.p1SettingsPrefs .themeSwitcherLabel,.p1SettingsPrefs .touchField>span{font-size:var(--fs-meta);color:var(--muted);font-weight:500}.p1SettingsPrefs .touchField select{min-height:44px}.p1SettingsActions{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.p1SettingsActions .btn{align-items:center;gap:var(--space-2);min-height:44px;display:inline-flex}h3.p1SettingsSubtitle,html.light h3.p1SettingsSubtitle,html.dark h3.p1SettingsSubtitle,html.hacker h3.p1SettingsSubtitle,html[data-theme] h3.p1SettingsSubtitle{margin:var(--space-4) 0 0;font-family:inherit;font-size:var(--fs-body);letter-spacing:normal;text-transform:none;color:var(--text);font-weight:600}.p1SettingsThresholds .muted{margin:var(--space-1) 0 var(--space-2);font-size:var(--fs-body);line-height:1.45}.p1SettingsUpdated{margin:var(--space-3) 0 0}.p1FieldHint{margin-top:var(--space-1);font-size:var(--fs-meta);color:var(--muted);display:block}.p1UserIdentity{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.p1UserIdentity strong{min-width:0;font-size:var(--fs-id);overflow-wrap:anywhere;font-weight:600}.p1UserChips{gap:var(--space-1);flex-wrap:wrap;display:inline-flex}.p1UserMeta .p1KeyValueRow{padding:var(--space-1) 0;border-bottom:0}.p1UserMeta dd{font-family:var(--mono-console);font-variant-numeric:tabular-nums;font-size:var(--fs-meta)}.p1UserActions{gap:var(--space-2);flex-wrap:wrap;display:flex}.p1UserActions .btn{min-height:44px}@media (width>=768px){.p1UsersList .usersGrid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.p1UserActions .btn{min-height:36px}}.p1Dash{gap:var(--space-4);display:grid}.p1Dash .pageHeader{margin-bottom:0}.p1DashUpdated{align-self:center}.p1Card{gap:var(--space-3);padding:var(--space-4);align-content:start;margin:0;display:grid}.p1CardTop{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.p1CardTitle{font-size:var(--fs-id);margin:0;font-weight:600;line-height:1.3}.p1SubTitle{margin:var(--space-2) 0 0;font-size:var(--fs-meta);color:var(--muted);font-weight:600}.p1Dot{border-radius:var(--r-pill);background:var(--p1-fg,var(--muted));flex:none;width:8px;height:8px}.p1Unavailable{font-size:var(--fs-body);color:var(--muted);margin:0}.p1InlineLink{min-height:0;margin-left:var(--space-2);font-weight:600;font-size:var(--fs-meta)}.p1Verdict{align-items:center;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--p1-border,var(--border));border-radius:var(--r-card);background:var(--p1-bg,var(--surface));margin:0;display:flex}.p1Verdict.tone-neutral{border-style:dashed}.p1VerdictIcon{color:var(--p1-fg,var(--muted));flex:none;display:inline-flex}.p1VerdictBody{gap:var(--space-1);flex:auto;min-width:0;display:grid}.p1VerdictText{gap:2px;display:grid}.p1VerdictTitle{font-size:var(--fs-id);font-weight:600;line-height:1.3}.p1VerdictHint{color:var(--muted);font-size:var(--fs-body);line-height:1.45}.p1VerdictMeta{font-size:var(--fs-meta);color:var(--muted);margin:0;line-height:1.4}.p1VerdictAction{flex:none;min-height:44px}.p1VerdictSkeleton{padding:var(--space-4);border:1px solid var(--border);border-radius:var(--r-card)}.p1AlertList{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.p1AlertRow{align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-top:1px solid var(--border);display:flex}.p1AlertRow:first-child{border-top:0}.p1AlertText{min-width:0;font-size:var(--fs-body);flex:auto;gap:2px;display:grid}.p1AlertHint{color:var(--muted);font-size:var(--fs-meta)}.p1AlertAction{flex:none;min-height:36px}.p1Kpis{gap:var(--space-3);grid-template-columns:repeat(5,minmax(0,1fr));margin:0;display:grid}.p1Kpi{column-gap:var(--space-3);min-height:84px;padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface);color:var(--text);grid-template-rows:auto auto auto;grid-template-columns:auto 1fr;align-items:center;row-gap:0;text-decoration:none;display:grid;position:relative}a.p1Kpi:hover,a.p1Kpi:focus-visible{border-color:var(--primary)}.p1Kpi.tone-warn,.p1Kpi.tone-danger{border-color:var(--p1-border)}.p1KpiIcon{border:1px solid var(--p1-border,var(--border));border-radius:var(--r-control);background:var(--p1-bg,var(--surface-2));width:40px;height:40px;color:var(--p1-fg,var(--muted));flex:0 0 40px;grid-row:1/span 3;justify-content:center;align-items:center;display:inline-flex}.p1Kpi.tone-neutral .p1KpiIcon{border-color:var(--border);background:var(--surface-2);color:var(--muted)}.p1KpiValue{font-family:var(--mono-console,ui-monospace, monospace);font-size:var(--fs-page);font-variant-numeric:tabular-nums;color:var(--text);font-weight:700;line-height:1.1}.p1Kpi.tone-danger .p1KpiValue{color:var(--p1-fg)}.p1KpiSkeleton{border-radius:var(--r-control);background:var(--surface-2);width:2.5em;height:.9em;display:inline-block}.p1KpiLabel{font-size:var(--fs-meta);color:var(--text);font-weight:600;line-height:1.3}.p1KpiSub{font-size:var(--fs-meta);color:var(--muted);overflow-wrap:anywhere;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;min-height:1.3em;line-height:1.3;display:-webkit-box;overflow:hidden}.p1Kpi.tone-warn .p1KpiSub,.p1Kpi.tone-danger .p1KpiSub{color:var(--p1-fg)}.p1DashGrid{gap:var(--space-4);align-items:stretch;display:grid}.p1DashGrid>.p1Card{gap:var(--space-3);flex-direction:column;display:flex}.p1DashGrid>.p1Card>.p1ActivityFooter{padding-top:var(--space-2);margin-top:auto}.p1GwList{margin:0;padding:0;list-style:none;display:grid}.p1GwList>li+li{border-top:1px solid var(--border)}.p1GwRow{align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-2) 0;color:var(--text);text-decoration:none;display:flex}.p1GwRow:hover .p1GwName,.p1GwRow:focus-visible .p1GwName{color:var(--primary)}.p1GwMain{flex:auto;gap:2px;min-width:0;display:grid}.p1GwHead{align-items:baseline;gap:var(--space-2);min-width:0;display:flex}.p1GwName{font-size:var(--fs-id);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.p1GwState{font-size:var(--fs-meta);color:var(--p1-fg,var(--muted));font-weight:600}.p1GwMeta{gap:var(--space-1) var(--space-2);font-size:var(--fs-meta);color:var(--muted);flex-wrap:wrap;display:flex}.p1GwMeta>span+span:before,.p1GwMeta>span+time:before{content:"· ";color:var(--muted)}.p1GwCause{font-size:var(--fs-meta);color:var(--p1-fg,var(--muted))}.p1GwChevron{color:var(--muted);flex:none}.p1RoleCounts{gap:var(--space-1);margin:0;display:grid}.p1RoleRow{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:32px;margin:0;display:flex}.p1RoleRow dt{font-size:var(--fs-body);color:var(--muted)}.p1RoleRow dd{font-family:var(--mono-console,ui-monospace, monospace);font-size:var(--fs-body);font-variant-numeric:tabular-nums;align-items:center;margin:0;font-weight:600;display:inline-flex}.p1RoleRow.tone-warn dd{color:var(--p1-fg)}.p1MqttRow{border-top:1px solid var(--border);padding-top:var(--space-2);margin-top:var(--space-1)}.p1ActivityTop{align-items:center}.p1FeedFilter .p1-segmentedItem{min-height:36px}.p1Feed{margin:0;padding:0;list-style:none;display:grid}.p1FeedRow{align-items:center;gap:var(--space-2);min-height:36px;padding:var(--space-1) 0;border-top:1px solid var(--border);font-size:var(--fs-body);grid-template-columns:auto auto minmax(0,9em) minmax(0,1fr) auto;display:grid}.p1FeedRow:first-child{border-top:0}.p1FeedTime{font-family:var(--mono-console,ui-monospace, monospace);font-size:var(--fs-meta);font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap}.p1FeedIcon{color:var(--p1-fg,var(--muted));display:inline-flex}.p1FeedRow.tone-neutral .p1FeedIcon{color:var(--muted)}.p1FeedDevice{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.p1FeedText{overflow-wrap:anywhere;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;min-width:0;display:-webkit-box;overflow:hidden}.p1FeedRow.tone-danger .p1FeedText{color:var(--p1-fg)}.p1FeedRepeat{font-family:var(--mono-console,ui-monospace, monospace);font-size:var(--fs-meta);color:var(--muted)}.p1FeedBadge{justify-self:end}.p1ActivityFooter{justify-content:flex-end;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.p1ActivityFooter .textLink{font-weight:600;font-size:var(--fs-body)}.p1ActivityCount{font-size:var(--fs-meta);color:var(--muted);margin-right:auto}.p1Details{margin:0}.p1DashDetails{border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface)}.p1DetailsSummary{align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-2) var(--space-3);cursor:pointer;font-size:var(--fs-body);color:var(--text);font-weight:600;list-style:none;display:flex}.p1DetailsSummary::-webkit-details-marker{display:none}.p1DetailsSummary:focus-visible{outline:2px solid var(--primary);outline-offset:-2px;border-radius:var(--r-card)}.p1DetailsChevron{border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);flex:none;width:8px;height:8px;transition:transform .15s;transform:rotate(-45deg)}details[open]>.p1DetailsSummary .p1DetailsChevron{transform:rotate(45deg)}.p1DetailsBody{padding:0 var(--space-3) var(--space-3)}.p1DetailsBody>.card{box-shadow:none;background:0 0;border:0;padding:0}@media (prefers-reduced-motion:reduce){.p1DetailsChevron{transition:none}}.p1Diag{gap:var(--space-3);display:grid}.p1DiagHead{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.p1DiagHeadText{flex:240px;gap:2px;min-width:0;display:grid}.p1DiagTitle{font-size:var(--fs-id);margin:0;font-weight:600}.p1DiagLine{font-size:var(--fs-body);color:var(--muted);margin:0}.p1DiagGwList{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.p1DiagGw{align-items:center;gap:var(--space-1) var(--space-2);font-size:var(--fs-body);flex-wrap:wrap;display:flex}.p1DiagGwName{font-weight:600}.p1DiagGwMeta{font-size:var(--fs-meta);color:var(--muted)}.p1DiagGwCause{font-size:var(--fs-meta);color:var(--tone-warn-fg)}.p1DiagWarn{padding:var(--space-2) var(--space-3);border:1px solid var(--p1-border);border-radius:var(--r-control);background:var(--p1-bg);color:var(--p1-fg);font-size:var(--fs-body);margin:0}.p1Diag .kvList dt,.p1Diag .kvList dd{font-size:var(--fs-meta)}.p1Diag .kvList dd{font-family:var(--mono-console,ui-monospace, monospace);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.p1DiagChecklist{padding-left:var(--space-5);font-size:var(--fs-body);color:var(--muted);margin:0}.p1DiagActions{gap:var(--space-2);flex-wrap:wrap;display:flex}.p1Bringup{gap:var(--space-3);display:grid}.p1BringupList{margin:0;padding:0;list-style:none;display:grid}.p1BringupItem{align-items:center;gap:var(--space-3);min-height:44px;padding:var(--space-2) 0;border-top:1px solid var(--border);display:flex}.p1BringupItem:first-child{border-top:0}.p1BringupIcon{color:var(--p1-fg,var(--muted));flex:none;display:inline-flex}.p1BringupItem.tone-neutral .p1BringupIcon{color:var(--muted)}.p1BringupText{flex:auto;gap:2px;min-width:0;display:grid}.p1BringupLabel{font-size:var(--fs-body);font-weight:600}.p1BringupItem.tone-ok .p1BringupLabel{color:var(--muted);font-weight:400}.p1BringupHint{font-size:var(--fs-meta);color:var(--muted);line-height:1.4}.p1BringupAction{flex:none;min-height:36px}.p1BringupNote{font-size:var(--fs-meta);color:var(--muted);margin:0;line-height:1.45}.p1BringupFooter{justify-content:flex-end;display:flex}@media (width>=1024px){.p1DashGrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media (width<=1023px){.p1Kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=767px){.p1Dash{gap:var(--space-3)}.p1Card{padding:var(--space-3)}.p1Verdict{padding:var(--space-3);flex-wrap:wrap}.p1VerdictAction{width:100%}.p1Kpis{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr))}.p1Kpi{min-height:94px;padding:var(--space-3);column-gap:var(--space-2)}.p1Kpi:last-child:nth-child(odd){grid-column:1/-1}.p1KpiIcon{width:36px;height:36px}.p1FeedFilter .p1-segmentedItem,.p1AlertAction,.p1BringupAction{min-height:44px}.p1FeedRow{grid-template-rows:auto auto;grid-template-columns:auto auto minmax(0,1fr) auto;row-gap:2px;min-height:56px}.p1FeedDevice{grid-area:1/3}.p1FeedText{-webkit-line-clamp:3;line-clamp:3;grid-area:2/3/auto/span 2}.p1FeedBadge{grid-area:1/4}.p1GwRow{min-height:64px}.p1AlertRow{flex-wrap:wrap}.p1AlertAction{width:100%}}.p1EspHealth{align-items:center;gap:var(--space-2) var(--space-2);margin:0 0 var(--space-3);flex-wrap:wrap;display:flex}.p1EspHealthTotal{font-size:var(--fs-body);font-variant-numeric:tabular-nums;margin-right:var(--space-1);font-weight:600}.p1EspHealth button.p1Chip.p1ChipAction{height:36px;font-size:var(--fs-meta);color:var(--p1-fg);background:var(--p1-bg);border-color:var(--p1-border);font-weight:600}.p1EspHealth button.p1Chip.p1ChipAction:before{content:"";background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}html:is(.hacker,[data-theme=hacker]) .p1EspHealth button.p1Chip.p1ChipAction.tone-ok:before{content:"●";background:0 0;width:auto;height:auto}html:is(.hacker,[data-theme=hacker]) .p1EspHealth button.p1Chip.p1ChipAction.tone-warn:before{content:"▲";background:0 0;width:auto;height:auto}html:is(.hacker,[data-theme=hacker]) .p1EspHealth button.p1Chip.p1ChipAction.tone-danger:before{content:"✕";background:0 0;width:auto;height:auto}.p1EspHealth button.p1Chip.p1ChipAction[aria-pressed=true]{box-shadow:0 0 0 2px var(--primary)}.p1EspHealthAlert{align-items:center;gap:var(--space-2);display:inline-flex}.p1EspToolbar{align-items:center;gap:var(--space-2);margin:0 0 var(--space-4);flex-wrap:wrap;display:flex}.p1EspSearch{min-width:0;color:var(--muted);flex:240px;align-items:center;display:flex;position:relative}.p1EspSearch>svg{left:var(--space-3);pointer-events:none;position:absolute}.p1EspSearch input{width:100%;min-height:44px;padding:0 var(--space-3) 0 calc(var(--space-3) * 2 + 16px);border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface);color:var(--text);font:inherit;font-size:var(--fs-body)}.p1EspSearch input:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.p1EspSearch input,.p1EspSearch input::placeholder{text-overflow:ellipsis}.p1EspToolbarDivider{width:1px;height:24px;margin:0 var(--space-2);background:var(--border);flex:none;align-self:center}@media (width<=767px){.p1EspToolbarDivider{display:none}}.p1EspToolbar .segmented{margin:0}.p1EspToolbar .segmented legend{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.p1EspToolbar .segmented button{min-height:36px;font-size:var(--fs-body);text-transform:none;letter-spacing:0;font-weight:600}.p1EspFilters{position:relative}.p1EspFilters>summary{cursor:pointer;min-height:36px;list-style:none}.p1EspFilters>summary::-webkit-details-marker{display:none}.p1EspFilters[open]{flex-basis:100%}.p1EspFiltersBody{align-items:flex-end;gap:var(--space-3);margin-top:var(--space-2);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface-2);flex-wrap:wrap;display:flex}.p1EspFiltersBody>*{min-width:0}.p1EspFocusNote{margin:0 0 var(--space-3);font-size:var(--fs-meta);color:var(--muted)}.p1EspNewTask.btn{align-items:center;gap:var(--space-1);min-height:44px;display:inline-flex}.p1EspFab.btn{display:none}@media (width<=767px){.p1EspNewTask.btn{display:none}html .pageHeader.p1PageHeaderBar:has(>.pageHeaderAction>.p1EspNewTask):not(:has(.p1PageHeaderMeta)):not(:has(.p1PageSubtitle)){background:0 0;border:0;border-radius:0;gap:0;margin:0;padding:0;display:block}html .pageHeader.p1PageHeaderBar:has(>.pageHeaderAction>.p1EspNewTask):not(:has(.p1PageHeaderMeta)):not(:has(.p1PageSubtitle)) .p1PageHeaderMain{min-height:0;display:block}.p1EspFab.btn{right:var(--space-4);bottom:calc(var(--nav-h,56px) + env(safe-area-inset-bottom) + var(--space-4));border-radius:var(--r-pill);width:56px;height:56px;min-height:56px;box-shadow:var(--shadow);z-index:40;justify-content:center;align-items:center;padding:0;display:inline-flex;position:fixed}.p1EspToolbar .segmented button,.p1EspFilters>summary{min-height:44px}}.p1EspGroup{margin:var(--space-4) 0 0}.p1EspGroupHeader{margin-bottom:var(--space-3)}.p1EspGroupHeader>.p1EspTile{max-width:none}.p1EspGroupTitle{align-items:baseline;gap:var(--space-2) var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.p1EspGroupTitle h3{font-size:var(--fs-id);margin:0;font-weight:600}.p1EspGrid--nodes{padding-left:var(--space-3);border-left:2px solid var(--border)}html .espGatewayGroup.p1EspGroup{margin:var(--space-4) 0 0}:is(html .espTileGrid.p1EspGrid,html .espTileGrid.p1EspGrid:has(.espCommandMenu[open])){gap:var(--space-3);grid-auto-rows:1fr;align-items:stretch}html .espTile.p1EspTile,html:is(.light,.dark,.hacker,[data-theme]) .espTile.p1EspTile{gap:var(--space-3);height:100%;min-height:0;padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:none;isolation:auto;cursor:pointer;flex-direction:column;display:flex;position:relative;overflow:visible;container:p1EspTile/inline-size}html .espTile.p1EspTile.isOffline,html:is(.light,.dark,.hacker,[data-theme]) .espTile.p1EspTile.isOffline{border-color:var(--tone-danger-border)}.p1EspTile.isOffline .p1EspIdentity,.p1EspTile.isOffline .p1EspMetrics{opacity:.7}.p1EspTile.focusedTarget{outline:2px solid var(--primary);outline-offset:2px}html .espTile.p1EspTile.isSimulated,html:is(.light,.dark,.hacker,[data-theme]) .espTile.p1EspTile.isSimulated{padding-top:calc(var(--space-4) + var(--space-4))}.p1EspSimulated{top:var(--space-2);right:var(--space-4);padding:0 var(--space-2);border:1px solid var(--tone-info-border);border-radius:var(--r-pill);background:var(--tone-info-bg);color:var(--tone-info-fg);font-size:var(--fs-meta);font-weight:600;line-height:18px;position:absolute}.p1EspHead{justify-content:space-between;align-items:flex-start;gap:var(--space-2);display:flex}.p1EspIdentity{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.p1EspTitleRow{align-items:center;gap:var(--space-2);min-width:0;min-height:36px;padding-right:0;display:flex;position:relative}.p1EspHealthDot{background:var(--p1-fg,var(--muted));border-radius:50%;flex:0 0 8px;width:8px;height:8px}html .p1EspTitle{min-width:0;font-size:var(--fs-id);letter-spacing:0;text-transform:none;text-shadow:none;white-space:nowrap;text-overflow:ellipsis;flex:auto;margin:0;font-weight:600;line-height:1.25;overflow:hidden}.p1EspRenameBtn.iconButton{z-index:2;background:var(--surface);opacity:0;pointer-events:none;width:36px;min-width:36px;height:36px;min-height:36px;transition:opacity .12s;position:absolute;top:50%;right:0;transform:translateY(-50%)}.p1EspTile:hover .p1EspRenameBtn.iconButton,.p1EspRenameBtn.iconButton:focus-visible{opacity:1;pointer-events:auto}.p1EspTile:has(:focus-visible) .p1EspRenameBtn.iconButton{opacity:1;pointer-events:auto}@media (hover:none){.p1EspRenameBtn.iconButton{display:none}}.p1EspRenameForm{flex:auto;min-width:0}.p1EspRenameForm input{width:100%;min-height:36px;font-size:var(--fs-id);font-weight:600}.p1EspRenameError{font-size:var(--fs-meta);color:var(--tone-danger-fg);margin:0}.p1EspIdentityLine{align-items:center;gap:0 var(--space-1);min-width:0;font-size:var(--fs-meta);color:var(--muted);white-space:nowrap;flex-wrap:nowrap;line-height:1.4;display:flex;overflow:hidden}.p1EspIdentityLine>*{flex:none}.p1EspIdentityLine>.p1EspRole,.p1EspIdentityLine>.p1EspModel,.p1EspIdentityLine>.p1EspUnnamed{text-overflow:ellipsis;flex:0 4 auto;min-width:0;overflow:hidden}.p1EspIdentityLine .p1TechId.p1EspMac{flex:0 auto;min-width:0}.p1EspIdentityLine .p1TechId.p1EspMac code{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.p1EspIdentityLine .p1TechId.p1EspMac .p1TechIdIcon{display:none}.p1EspSep{color:var(--muted);opacity:.7}.p1EspModel{font-family:var(--mono-console,ui-monospace, monospace);font-variant-numeric:tabular-nums}.p1EspIdentityLine .p1TechId.p1EspMac{min-height:0;margin:0 calc(-1 * var(--space-1)) 0 0;padding:0}.p1EspUnnamed{font-style:italic}.p1EspLinkBtn{padding:0 var(--space-1);min-height:24px;color:var(--primary);font:inherit;font-size:var(--fs-meta);cursor:pointer;text-underline-offset:2px;background:0 0;border:0;margin:0;font-weight:600;text-decoration:underline}.p1EspAttachment{align-items:center;gap:var(--space-1);min-width:0;font-size:var(--fs-meta);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;min-height:1.4em;line-height:1.4;display:flex;overflow:hidden}.p1EspAttachment.tone-warn{color:var(--p1-fg)}.p1EspPin{flex:none}.p1EspIdentityLine{min-height:1.4em}.p1EspState{text-align:right;flex-direction:column;flex:0 0 45%;align-items:flex-end;gap:2px;min-width:0;max-width:45%;display:flex}.p1EspState>.p1Chip{max-width:100%}.p1EspStateFresh{max-width:100%;font-size:var(--fs-meta);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.p1EspStateDetail{max-width:100%;font-size:var(--fs-meta);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;line-height:1.3;overflow:hidden}.p1EspMetrics{align-items:center;gap:var(--space-2) var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));min-height:24px;display:grid}@container p1EspTile (width>=560px){.p1EspMetrics{grid-template-columns:repeat(4,minmax(0,1fr))}}.p1EspMetrics .p1Metric{min-width:0}.p1EspMetrics .p1Metric .p1Fresh{font-size:var(--fs-meta);text-overflow:ellipsis;min-width:0;font-weight:600;overflow:hidden}.p1EspActivity{justify-content:center;gap:var(--space-2);flex-direction:column;flex:none;height:76px;min-height:76px;display:flex;overflow:hidden}.p1EspActivity.hasTasks{justify-content:flex-start}.p1EspActivityLine{align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface-2);color:var(--muted);font-size:var(--fs-body);flex-wrap:wrap;line-height:1.4;display:flex}.p1EspActivityLine.tone-danger,.p1EspActivityLine.tone-warn,.p1EspActivityLine.tone-info{color:var(--p1-fg);background:var(--p1-bg);border-color:var(--p1-border)}.p1EspActivityText{align-items:center;gap:0 var(--space-1);flex-wrap:wrap;flex:auto;min-width:0;display:inline-flex}.p1EspActivityText .p1Fresh{font-size:inherit;font-weight:500}.p1EspResultIcon{vertical-align:-2px}.p1EspActivityLine .p1EspInlineAction.btn{min-height:36px;margin-left:auto}.p1EspActivityLine{flex:auto;min-height:0;overflow:hidden}.p1EspActivityLine .p1EspActivityText{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}html .espTaskList.p1EspTaskList{gap:var(--space-2);overscroll-behavior:contain;scroll-snap-type:y proximity;flex-direction:column;min-height:0;max-height:100%;margin:0;display:flex;overflow-y:auto}html .espTaskList.p1EspTaskList>.p1TaskCard{scroll-snap-align:start;flex:none}.p1EspFoot{align-items:center;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto auto;margin-top:auto;display:grid}.p1EspFootTask{grid-column:1/-1;min-width:0}.p1EspFoot>.p1LedQuick{grid-column:1;justify-self:start}.p1EspFoot>.p1EspDetailsBtn{grid-column:2}.p1EspFoot>.p1EspMore{grid-column:3}html .p1EspDetailsBtn.btn{min-height:36px;padding:0 var(--space-2) 0 var(--space-3);color:var(--text);background:var(--surface-2);border:1px solid var(--border);white-space:nowrap;justify-content:center;align-items:center;gap:2px;display:inline-flex}.p1EspMore{position:relative}.p1EspMore>summary{cursor:pointer;list-style:none}.p1EspMore>summary::-webkit-details-marker{display:none}.p1EspMoreBtn.iconButton{width:36px;min-width:36px;height:36px;min-height:36px}.p1EspMoreMenu{right:0;bottom:calc(100% + var(--space-1));z-index:30;min-width:200px;padding:var(--space-1);border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface);box-shadow:var(--shadow);flex-direction:column;display:flex;position:absolute}.p1EspMoreItem{width:100%;min-height:44px;padding:0 var(--space-3);border-radius:var(--r-control);color:var(--text);font:inherit;font-size:var(--fs-body);text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:0;margin:0;line-height:44px;text-decoration:none;display:block}.p1EspMoreItem:hover,.p1EspMoreItem:focus-visible{background:var(--surface-2)}.p1EspMoreItem:disabled{opacity:.55;cursor:not-allowed}html .p1EspFootTask .espCommandMenu>summary.btn.cardLaunchAction{width:100%;min-height:36px;padding:0 var(--space-3);border:1px solid color-mix(in srgb, var(--primary) 55%, transparent);border-radius:var(--r-control);background:color-mix(in srgb, var(--primary) 12%, transparent);color:var(--primary);font-size:var(--fs-body);text-transform:none;letter-spacing:0;justify-content:center;align-items:center;margin:0;font-weight:600;display:inline-flex}html .p1EspFootTask .espCommandMenu>summary.btn.cardLaunchAction:hover{background:color-mix(in srgb, var(--primary) 20%, transparent);border-color:var(--primary)}html .p1EspFootTask .espCommandMenu[open]>.espCommandMenuBody{left:0;right:0;bottom:calc(100% + var(--space-1));z-index:30;box-shadow:var(--shadow);margin-top:0;position:absolute}.p1EspCommandEmpty{padding:var(--space-2) var(--space-3);font-size:var(--fs-meta);color:var(--muted);margin:0;line-height:1.35}html .espTile.p1EspTile:has(.espCommandMenu[open]){z-index:20;overflow:visible}html .taskCard.p1TaskCard.isCompact{align-items:center;min-height:0}.p1TaskCard.isCompact .p1TaskHead{align-items:baseline;gap:var(--space-2);flex-wrap:nowrap}.p1TaskCard.isCompact .p1TaskName{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.p1TaskStatusRow{align-items:baseline;gap:var(--space-2);min-width:0;display:flex}.p1TaskStatusRow>.p1TaskLine{flex:auto;min-width:0}.p1TaskCard.isCompact .p1TaskStatusRow>.p1TaskMeta{text-overflow:ellipsis;white-space:nowrap;text-align:right;flex:0 40 auto;min-width:0;margin-left:auto;display:none;overflow:hidden}@container p1EspTile (width>=340px){.p1TaskCard.isCompact .p1TaskStatusRow>.p1TaskMeta{display:block}}html .p1TaskCard.isCompact .p1TaskStop.btn{min-height:36px;padding:0 var(--space-2);font-size:var(--fs-meta)}.p1TaskCard.isCompact .p1TaskActions{align-self:center}@media (width<=767px){.p1EspTile.espTile{padding:var(--space-3)}.p1EspActivity{height:84px;min-height:84px}.p1LedFeedback{max-width:min(280px, calc(100vw - 4 * var(--space-4)))}html .espTile.p1EspTile.isSimulated,html:is(.light,.dark,.hacker,[data-theme]) .espTile.p1EspTile.isSimulated{padding-top:calc(var(--space-3) + var(--space-4))}html .p1EspFootTask .espCommandMenu>summary.btn.cardLaunchAction,html .p1EspDetailsBtn.btn,.p1EspMoreBtn.iconButton,.p1EspActivityLine .p1EspInlineAction.btn{min-height:44px}.p1EspMoreBtn.iconButton{width:44px;min-width:44px;height:44px}.p1EspState{max-width:45%}}html:is(.hacker,[data-theme=hacker]) .espTile.p1EspTile{background:var(--surface);border-color:var(--terminal-border,var(--border))}html:is(.hacker,[data-theme=hacker]) .p1EspMoreMenu,html:is(.hacker,[data-theme=hacker]) .p1EspActivityLine{border-radius:var(--r-control)}.p1LedQuick{align-items:center;gap:var(--space-1);min-width:0;max-width:100%;display:inline-flex}.p1LedSwitch{align-items:center;gap:var(--space-1) var(--space-2);flex-wrap:wrap;min-width:0;display:inline-flex}.p1LedSwitch .p1SwitchControl{min-height:36px}.p1LedSwitch .p1SwitchHint{white-space:normal;max-width:260px}html .p1LedResend.btn{min-height:36px;padding:0 var(--space-3);font-size:var(--fs-meta)}.p1LedQuick{position:relative}.p1LedSwitch.hasOverlayFeedback .p1SwitchHint{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.p1LedFeedback{left:0;bottom:calc(100% + var(--space-1));z-index:30;align-items:center;gap:var(--space-2);max-width:280px;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface);box-shadow:var(--shadow);display:flex;position:absolute}.p1LedFeedbackText{min-width:0;font-size:var(--fs-meta);color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.35;display:-webkit-box;overflow:hidden}.p1LedFeedback .p1LedResend.btn{flex:none}.p1LedQuick .p1Switch.state-locked .p1SwitchLabel,.p1LedQuick .p1SwitchMode{display:none}@container p1EspTile (width>=380px){.p1LedQuick .p1SwitchMode{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:8rem;display:inline;overflow:hidden}}.p1LedQuick>.p1LedSwitch,.p1LedQuick>.p1LedPaletteBtn.iconButton{flex:none}.p1LedQuick .p1SwitchControl{justify-content:center;min-width:44px}.p1LedQuick .p1Switch .p1SwitchLabel{display:none}@container p1EspTile (width>=340px){.p1LedQuick .p1Switch:not(.state-locked) .p1SwitchLabel{display:inline}.p1LedQuick .p1Switch:not(.state-locked) .p1SwitchControl{justify-content:flex-start}}.p1LedQuick .p1Switch.state-locked .p1SwitchControl{justify-content:flex-start}.p1LedPaletteBtn.iconButton{width:36px;min-width:36px;height:36px;min-height:36px}@media (width<=767px){.p1LedSwitch .p1SwitchControl,html .p1LedResend.btn,.p1LedPaletteBtn.iconButton{min-height:44px}.p1LedPaletteBtn.iconButton{width:44px;min-width:44px;height:44px}}.p1LedControl .p1LedSwitch{margin:var(--space-2) 0}.p1LedControl .p1LedSwitch .p1SwitchControl{min-height:44px}.p1LedHex{font-family:var(--mono-console,ui-monospace, monospace);font-size:var(--fs-meta);background:0 0;padding:0}html .taskCard.p1TaskCard,html:is(.light,.dark,.hacker,[data-theme]) .taskCard.p1TaskCard{align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--p1-border,var(--border));border-radius:var(--r-control);background:var(--p1-bg,var(--surface-2));color:var(--text);box-shadow:none;cursor:default;border-left-width:3px;margin:0;display:flex}.p1TaskIcon{width:20px;height:20px;color:var(--p1-fg,var(--muted));flex:0 0 20px;justify-content:center;align-items:center;margin-top:1px;display:inline-flex}.p1TaskBody{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.p1TaskHead{align-items:baseline;gap:0 var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.p1TaskName{font-size:var(--fs-body);color:var(--text);font-weight:600}.p1TaskMeta{font-family:var(--mono-console,ui-monospace, monospace);font-size:var(--fs-meta);font-variant-numeric:tabular-nums;color:var(--muted)}.p1TaskLine{font-size:var(--fs-body);color:var(--p1-fg,var(--text));line-height:1.35}.p1TaskCard.tone-neutral .p1TaskLine{color:var(--text)}.p1TaskDetail{font-size:var(--fs-meta);color:var(--muted);line-height:1.35;display:block}.p1TaskDetail.tone-warn{color:var(--tone-warn-fg)}.p1TaskDetails{flex-direction:column;gap:2px;height:1.35em;display:flex;overflow:hidden}.p1TaskCard[data-task-type=wifi_scan] .p1TaskDetails{height:calc(5.4em + 6px)}.p1TaskCard.isCompact .p1TaskDetails{display:none}html .taskCard.p1TaskCard .taskSpinner.p1TaskSpinner,.p1EspActivityLine .taskSpinner.p1TaskSpinner{border:2px solid var(--border);border-top-color:var(--tone-info-fg);border-radius:50%;width:14px;height:14px}html .p1TaskProgress.taskProgressTrack{height:6px;margin-top:var(--space-1);border-radius:var(--r-pill);background:color-mix(in srgb, var(--muted) 20%, transparent);border:0}html .p1TaskProgress .taskProgressFill{background:var(--progress-color,var(--tone-info-fg));box-shadow:none}.p1TaskActions{gap:var(--space-1);flex-direction:column;flex:none;align-self:center;display:flex}html .p1TaskStop.btn{min-height:44px;padding:0 var(--space-3);white-space:nowrap}@media (width<=480px){html .taskCard.p1TaskCard{flex-wrap:wrap}.p1TaskActions{flex-direction:row;justify-content:flex-end;width:100%}}.p1StickyBar{top:calc(var(--mobile-top-height,0px) + var(--space-2,.5rem));z-index:20;align-items:center;gap:var(--space-2,.5rem);margin:var(--space-2,.5rem) 0 var(--space-3,.75rem);padding:var(--space-2,.5rem);border:1px solid var(--border);border-radius:var(--r-card,12px);background:var(--surface-glass,var(--surface));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow);flex-wrap:wrap;display:flex;position:sticky}.p1SearchField{flex:14rem;align-items:center;min-width:10rem;margin:0;display:flex;position:relative}.p1SearchField>svg{left:var(--space-3,.75rem);color:var(--muted);pointer-events:none;position:absolute}.p1SearchField input{width:100%;min-height:44px;padding:0 var(--space-3,.75rem) 0 calc(var(--space-3,.75rem) + 22px);font-size:var(--fs-body,.875rem);border:1px solid var(--border);border-radius:var(--r-control,8px);background:var(--surface);color:var(--text);margin:0}.p1SearchField input::placeholder{color:var(--muted);text-overflow:ellipsis}.p1SortField{flex:0 auto;margin:0}.p1SortField select{min-height:44px;padding:0 var(--space-3,.75rem);font-size:var(--fs-body,.875rem);border:1px solid var(--border);border-radius:var(--r-control,8px);background:var(--surface);color:var(--text);margin:0}.p1StickyBar .segmented{flex:0 auto;align-items:center;margin:0}.p1StickyBar .segmented legend{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.p1StickyBar .btn,.p1FilterButton.btn,.p1PrimaryAction.btn{align-items:center;gap:var(--space-1,.25rem);min-height:44px;font-size:var(--fs-body,.875rem);white-space:nowrap;font-weight:600;display:inline-flex}.p1BarActions{gap:var(--space-2,.5rem);flex-wrap:wrap;margin-left:auto;display:flex}.p1FilterChips{align-items:center;gap:var(--space-2,.5rem);margin:0 0 var(--space-3,.75rem);flex-wrap:wrap;display:flex}.p1TertiaryButton{align-items:center;gap:var(--space-1,.25rem);min-height:36px;padding:0 var(--space-2,.5rem);border-radius:var(--r-control,8px);color:var(--muted);font-size:var(--fs-body,.875rem);cursor:pointer;white-space:nowrap;background:0 0;border:0;margin:0;font-weight:500;display:inline-flex}.p1TertiaryButton:hover,.p1TertiaryButton:focus-visible{color:var(--text);background:var(--surface-2);text-underline-offset:3px;text-decoration:underline}.p1IconButton.iconButton{border:1px solid var(--border);border-radius:var(--r-control,8px);background:var(--surface-2);width:36px;min-width:36px;height:36px;min-height:36px;color:var(--text);cursor:pointer;justify-content:center;align-items:center;padding:0;display:inline-flex}.p1ThreatLine{align-items:center;gap:var(--space-2,.5rem);margin:0 0 var(--space-2,.5rem);font-size:var(--fs-body,.875rem);color:var(--muted);flex-wrap:wrap;display:flex}.p1ThreatLine>svg{color:var(--tone-ok-fg,var(--ok));flex:none}.p1ThreatLine>span+span:before{content:"· ";color:var(--muted)}.p1ThreatLineSep{color:var(--muted)}.p1MutedLine{margin:var(--space-3,.75rem) 0;font-size:var(--fs-body,.875rem);color:var(--muted)}.p1ThreatBanner{margin:0 0 var(--space-3,.75rem);padding:var(--space-3,.75rem) var(--space-4,1rem);border:1px solid var(--p1-border,var(--border));border-radius:var(--r-card,12px);background:var(--p1-bg,var(--surface));border-left-width:4px}.p1ThreatBannerHead{align-items:center;gap:var(--space-2,.5rem);color:var(--p1-fg,var(--text));font-size:var(--fs-id,1rem);font-weight:600;display:flex}.p1ThreatList{margin:var(--space-2,.5rem) 0 0;flex-direction:column;padding:0;list-style:none;display:flex}.p1ThreatItem{padding:var(--space-2,.5rem) 0;border-top:1px solid var(--border)}.p1ThreatTarget{align-items:center;gap:var(--space-2,.5rem);width:100%;min-height:44px;padding:var(--space-1,.25rem) var(--space-2,.5rem);margin:0 calc(-1 * var(--space-2,.5rem));border-radius:var(--r-control,8px);color:var(--text);font:inherit;font-size:var(--fs-body,.875rem);text-align:left;cursor:pointer;background:0 0;border:0;flex-wrap:wrap;display:flex}.p1ThreatTarget:hover,.p1ThreatTarget:focus-visible{background:var(--surface-2)}.p1ThreatTarget:hover .p1ThreatSsid{text-underline-offset:3px;text-decoration:underline}.p1ThreatType{font-weight:600}.p1ThreatSsid{font-size:var(--fs-id,1rem);font-weight:600}.p1ThreatBssid{font-family:var(--mono-console,ui-monospace, monospace);font-size:var(--fs-meta,.75rem);font-variant-numeric:tabular-nums;color:var(--muted)}.p1ThreatMore{font-size:var(--fs-meta,.75rem);color:var(--muted)}.p1ThreatReason{margin:var(--space-1,.25rem) 0 0;font-size:var(--fs-body,.875rem);color:var(--muted)}.p1ThreatActions{gap:var(--space-2,.5rem);margin-top:var(--space-2,.5rem);flex-wrap:wrap;display:flex}.p1ThreatActions .btn{min-height:36px;font-size:var(--fs-body,.875rem)}.p1ScanRunning{margin:0 0 var(--space-4,1rem)}.p1SectionTitle{font-size:var(--fs-id,1rem);margin:0;font-weight:600;line-height:1.3}.p1SectionHead{align-items:center;gap:var(--space-2,.5rem);margin:0 0 var(--space-3,.75rem);flex-wrap:wrap;display:flex}.p1SectionHead .p1SectionMenu{margin-left:var(--space-1,.25rem)}.p1NetSection.networkGroup{margin-top:var(--space-3,.75rem)}.p1SectionMenu{position:relative}.p1Menu{right:0;top:calc(100% + var(--space-1,.25rem));z-index:30;min-width:240px;padding:var(--space-1,.25rem);border:1px solid var(--border);border-radius:var(--r-control,8px);background:var(--surface);box-shadow:var(--shadow);position:absolute}.p1MenuItem{width:100%;min-height:44px;padding:0 var(--space-3,.75rem);border-radius:var(--r-control,8px);color:var(--text);font:inherit;font-size:var(--fs-body,.875rem);text-align:left;cursor:pointer;background:0 0;border:0;display:block}.p1MenuItem:hover,.p1MenuItem:focus-visible{background:var(--surface-2)}.p1MenuItem.isDanger{color:var(--tone-danger-fg,var(--danger))}.p1LostDetails.networkGroup,.p1GroupDetails{margin-top:var(--space-3,.75rem)}.p1LostSummary{align-items:center;gap:var(--space-2,.5rem);min-height:44px;padding:0 var(--space-1,.25rem);cursor:pointer;font-size:var(--fs-body,.875rem);color:var(--muted);border-radius:var(--r-control,8px);flex-wrap:wrap;font-weight:500;list-style:none;display:flex}.p1LostSummary::-webkit-details-marker{display:none}.p1LostSummary:before{content:"";border:5px solid #0000;border-left:7px solid;border-right-width:0;width:0;height:0;transition:transform .12s}.p1LostDetails[open]>.p1LostSummary:before,.p1GroupDetails[open]>.p1LostSummary:before{transform:rotate(90deg)}.p1LostSummary:hover,.p1LostSummary:focus-visible{background:var(--surface-2)}.p1LostSummaryTitle{font-size:var(--fs-id,1rem);color:var(--text);font-weight:600}.p1LostSummaryMeta{align-items:baseline;gap:0 var(--space-2,.5rem);flex-wrap:wrap;min-width:0;display:flex}.p1LostSummaryMeta>:before{content:"· ";color:var(--muted)}@media (width<=767px){.p1LostSummary{align-items:flex-start}.p1LostSummary:before{margin-top:.4em}.p1LostSummaryMeta{flex-direction:column;flex:100%;align-items:flex-start;gap:2px}.p1LostSummaryMeta>:before{content:none}}.p1LostDetails>.networkTileList,.p1GroupDetails>.networkTileList{margin-top:var(--space-3,.75rem)}@media (prefers-reduced-motion:reduce){.p1LostSummary:before{transition:none}}.p1NetTile.networkTile,.p1NetTile.clientTile{gap:var(--space-2,.5rem);padding:var(--space-4,1rem);border:1px solid var(--border);border-radius:var(--r-card,12px);background:var(--surface);box-shadow:none;opacity:1;overflow-wrap:anywhere;flex-direction:column;display:flex;position:relative;overflow:hidden;container:p1NetTile/inline-size}.p1NetTile.isLost,.p1NetTile.lostNetworkCard,.p1NetTile.clientTile.lost{opacity:1;border-style:dashed}.p1NetTile.hasThreat{border-left:3px solid var(--tone-danger-fg,var(--danger))}.p1NetTile.focusedTarget{border-style:solid}.p1NetHead{justify-content:space-between;align-items:flex-start;gap:var(--space-3,.75rem);min-width:0;display:flex}.p1NetIdentity{flex:auto;min-width:0}.p1NetTile .p1NetIdentity h3{font-size:var(--fs-id,1rem);white-space:nowrap;text-overflow:ellipsis;margin:0;font-weight:600;line-height:1.25;overflow:hidden}.p1NetTile .p1NetIdentity h3.hiddenSsid{color:var(--muted);font-style:italic}.p1NetIdLine{align-items:center;gap:var(--space-1,.25rem) var(--space-2,.5rem);font-size:var(--fs-meta,.75rem);color:var(--muted);flex-wrap:wrap;margin-top:2px;display:flex}.p1NetIdLine .p1TechId{margin:0}.p1DeviceIp{font-family:var(--mono-console,ui-monospace, monospace);font-variant-numeric:tabular-nums;color:var(--text)}.p1DeviceMeta{color:var(--muted)}.p1NetState{flex:none;align-items:center;display:flex}.p1NetChips{align-content:flex-start;gap:var(--space-1,.25rem);height:calc(2 * 22px + var(--space-1,.25rem));flex-wrap:wrap;margin:0;display:flex;overflow:hidden}a.p1Chip{color:var(--p1-fg,var(--text));min-height:22px;text-decoration:none}a.p1Chip:hover .p1ChipLabel,a.p1Chip:focus-visible .p1ChipLabel{text-underline-offset:3px;text-decoration:underline}.p1NetMeta{gap:var(--space-1,.25rem);min-width:0;font-size:var(--fs-meta,.75rem);color:var(--muted);flex-direction:column;display:flex}.p1NetSources{align-items:center;gap:var(--space-1,.25rem);flex-wrap:nowrap;min-height:22px;display:flex;overflow:hidden}.p1NetSources.isEmpty{visibility:hidden}.p1NetSources>.p1NetSource{flex:0 auto;min-width:0}.p1NetSources>.p1NetSourcesLabel,.p1NetSources>.p1NetSource.isMore{flex:none}.p1NetSourcesLabel{margin-right:2px}.p1NetSource{align-items:center;gap:var(--space-1,.25rem);max-width:100%;padding:1px var(--space-2,.5rem);border:1px solid var(--border);border-radius:var(--r-pill,999px);font-size:var(--fs-meta,.75rem);color:var(--text);display:inline-flex}.p1NetSource .p1Signal{gap:2px}.p1NetSourceName{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.p1NetSource.isBest{border-color:var(--tone-ok-border,var(--border));font-weight:600}.p1NetSource.isLost{color:var(--muted);border-style:dashed}.p1NetSource.isMore{color:var(--muted)}.p1NetFreshLine{align-items:center;gap:var(--space-1,.25rem) var(--space-2,.5rem);flex-wrap:nowrap;min-height:22px;display:flex;overflow:hidden}.p1NetFreshLine>.p1DeviceSource{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.p1NetFreshLine>.p1DeviceFreshPart,.p1NetFreshLine>.p1NetAssociated{flex:none}.p1NetIdLine{flex-wrap:nowrap;min-height:1.4em;overflow:hidden}.p1NetIdLine>*{white-space:nowrap;text-overflow:ellipsis;overflow-wrap:normal;word-break:normal;min-width:0;overflow:hidden}.p1NetIdLine>.p1DeviceIp{flex:none}.p1NetIdLine>.p1TechId{flex:0 auto}.p1NetIdLine>.p1DeviceMeta{flex:0 100 auto}.p1NetAssociated{font-family:var(--mono-console,ui-monospace, monospace);font-variant-numeric:tabular-nums;color:var(--muted);align-items:center;gap:2px;display:inline-flex}.p1DeviceSource strong{color:var(--text);font-weight:600}.p1DeviceFreshPart{align-items:center;gap:var(--space-1,.25rem);min-width:0;display:inline-flex}.p1NetFreshLine>.p1DeviceSource+.p1DeviceFreshPart:before{content:"· ";color:var(--muted)}.p1NetFooter.tileFooterActions{padding-top:var(--space-2,.5rem);border-top:1px solid var(--border);margin-top:auto}.p1SimulatedRibbon{font-size:var(--fs-meta,.75rem);color:var(--tone-info-fg,var(--primary));border-bottom:1px dashed var(--tone-info-border,var(--border));align-self:flex-start;font-weight:600}.p1ObsSignal{align-items:center;gap:var(--space-1,.25rem);flex-wrap:wrap;display:inline-flex}.p1ApGroupHint{align-items:center;gap:var(--space-1,.25rem);font-size:var(--fs-meta,.75rem);color:var(--muted);cursor:help;font-weight:500;display:inline-flex}.p1ApGroupHint>svg{flex:none}.p1ApRows{grid-template-columns:minmax(0,1fr) auto auto;margin:0;padding:0;list-style:none;display:grid}.p1ApRows>li{grid-column:1/-1;grid-template-columns:subgrid;margin:0;display:grid}.p1ApRows>li+li{border-top:1px solid var(--border)}.p1ApRow{grid-column:1/-1;grid-template-columns:subgrid;align-items:center;gap:2px var(--space-2,.5rem);min-height:36px;padding:var(--space-2,.5rem) var(--space-1,.25rem);border-radius:var(--r-control,8px);font-size:var(--fs-meta,.75rem);color:var(--muted);cursor:pointer;grid-template-areas:"band signal open""attrs attrs attrs""id fresh fresh";display:grid}.p1ApRow:hover{background:var(--surface-2)}.p1ApRow:hover .p1ApRowBand{text-underline-offset:3px;text-decoration:underline}.p1ApRow.isLost{border-left:2px dashed var(--border);padding-left:var(--space-2,.5rem)}.p1ApRowBand{min-width:0;font-size:var(--fs-body,.875rem);color:var(--text);grid-area:band;font-weight:600;line-height:1.3}.p1ApRowStandard{font-size:var(--fs-meta,.75rem);color:var(--muted);white-space:nowrap;font-weight:400}.p1ApRowAttrs{align-items:center;gap:var(--space-1,.25rem);flex-wrap:wrap;grid-area:attrs;display:flex}.p1ApRowSignal{grid-area:signal;justify-content:flex-end;align-items:center;display:inline-flex}.p1ApRowId{grid-area:id;align-items:center;min-width:0;display:flex}.p1ApRowId .p1TechId{margin:0}.p1ApRowFresh{white-space:nowrap;grid-area:fresh;justify-content:flex-end;align-items:center;display:inline-flex}@container p1NetTile (width>=34rem){.p1ApRows{grid-template-columns:minmax(7rem,auto) auto auto minmax(0,1fr) auto auto}.p1ApRow{gap:var(--space-1,.25rem) var(--space-2,.5rem);grid-template-areas:"band attrs signal id fresh open"}.p1ApRowSignal{justify-content:flex-start}}.p1ApRowOpen{border-radius:var(--r-control,8px);width:36px;min-width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;grid-area:open;justify-content:center;align-items:center;padding:0;display:inline-flex}.p1ApRowOpen:hover,.p1ApRowOpen:focus-visible{background:var(--surface-2);color:var(--text)}.p1SectionMeta{font-size:var(--fs-body,.875rem);color:var(--muted)}.p1SectionTitle+.p1SectionMeta:before{content:"· ";color:var(--muted)}.networkToolbar .p1DisplayOption{padding:0 0 var(--space-3,.75rem);border-bottom:1px solid var(--border);grid-column:1/-1;margin:0}.p1DisplayOption .p1Switch{align-items:flex-start}.p1DisplayOption .p1SwitchHint{max-width:42rem;margin-top:var(--space-1,.25rem);font-size:var(--fs-meta,.75rem);color:var(--muted);display:block}.p1SecurityUnknown{flex-direction:column;gap:2px;display:inline-flex}.p1SecurityUnknownHint{font-size:var(--fs-meta,.75rem);color:var(--muted)}@media (width<=767px){.p1StickyBar{top:calc(var(--mobile-top-height,0px) + var(--space-1,.25rem))}.p1StickyBar .segmented{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;flex:100%;overflow-x:auto}.p1StickyBar .segmented::-webkit-scrollbar{display:none}.p1StickyBar .segmented button{padding:.5rem var(--space-3,.75rem);flex:none}.p1SortField{flex:12rem;min-width:0}.p1SortField select{width:100%}.p1FilterButton.btn{flex:none;justify-content:center}.p1StickyBar .p1PrimaryAction.btn{flex:100%;justify-content:center}.p1BarActions{flex:100%;width:100%;margin-left:0}.p1BarActions .btn{flex:1 1 0;justify-content:center;min-width:0}.p1TertiaryButton{min-height:44px}.p1IconButton.iconButton{width:44px;min-width:44px;height:44px;min-height:44px}.p1NetTile.networkTile,.p1NetTile.clientTile{padding:var(--space-3,.75rem)}.p1ApRow{min-height:44px;padding:var(--space-2,.5rem) var(--space-1,.25rem)}.p1ApRowOpen{width:44px;min-width:44px;height:44px}}html.hacker .p1NetTile.networkTile,html[data-theme=hacker] .p1NetTile.networkTile,html.hacker .p1NetTile.clientTile,html[data-theme=hacker] .p1NetTile.clientTile,html.hacker .p1StickyBar,html[data-theme=hacker] .p1StickyBar,html.hacker .p1ThreatBanner,html[data-theme=hacker] .p1ThreatBanner,html.hacker .p1Menu,html[data-theme=hacker] .p1Menu{border-radius:var(--r-card,0);background:var(--surface)}html.hacker .p1NetTile.hasThreat,html[data-theme=hacker] .p1NetTile.hasThreat{border-left-color:var(--tone-danger-fg,var(--danger))}.p1Flash .p1FlashHeader{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.p1Flash .p1FlashProgressLine{font-size:var(--fs-meta);color:var(--muted);margin:0;font-weight:600}.p1Flash .p1FlashRestart{align-items:center;gap:var(--space-1);min-height:36px;padding:0 var(--space-2);border-radius:var(--r-control);color:var(--primary);font-size:var(--fs-body);cursor:pointer;background:0 0;border:0;font-weight:600;display:inline-flex}.p1Flash .p1FlashRestart:hover,.p1Flash .p1FlashRestart:focus-visible{text-decoration:underline}@media (width<=767px){.p1Flash .p1FlashRestart{min-height:44px}}.p1Flash .p1FlashSteps{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.p1Flash .p1FlashStep{margin:0}.p1Flash .p1FlashStepMarker{border-radius:var(--r-pill);border:1px solid var(--tone-neutral-border);background:var(--tone-neutral-bg);width:24px;height:24px;color:var(--tone-neutral-fg);font-size:var(--fs-meta);font-variant-numeric:tabular-nums;flex:none;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.p1Flash .p1FlashStepTitle{font-size:var(--fs-id);color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.p1Flash .p1FlashStepSummary{align-items:center;gap:var(--space-2);width:100%;min-height:44px;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface);text-align:left;cursor:pointer;grid-template-columns:auto 1fr auto;display:grid}.p1Flash .p1FlashStepSummary .p1FlashStepMarker{grid-area:1/1/span 2}.p1Flash .p1FlashStepSummary .p1FlashStepTitle{grid-area:1/2}.p1Flash .p1FlashStepSummary:disabled{cursor:default;opacity:.7}.p1Flash .p1FlashStepMeta{font-size:var(--fs-meta);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;grid-area:2/2;overflow:hidden}.p1Flash .p1FlashStepState{font-size:var(--fs-meta);color:var(--muted);grid-area:1/3/span 2;font-weight:600}.p1Flash .p1FlashStep.is-done .p1FlashStepMarker{border-color:var(--tone-ok-border);background:var(--tone-ok-bg);color:var(--tone-ok-fg)}.p1Flash .p1FlashStep.is-done .p1FlashStepState{color:var(--tone-ok-fg)}.p1Flash .p1FlashStep.is-error .p1FlashStepSummary{border-color:var(--tone-danger-border)}.p1Flash .p1FlashStep.is-error .p1FlashStepMarker{border-color:var(--tone-danger-border);background:var(--tone-danger-bg);color:var(--tone-danger-fg)}.p1Flash .p1FlashStep.is-error .p1FlashStepState{color:var(--tone-danger-fg)}.p1Flash .p1FlashStep.is-todo .p1FlashStepTitle{color:var(--muted)}.p1Flash .p1FlashStepCard{border:1px solid var(--primary);border-radius:var(--r-card);background:var(--surface);padding:var(--space-4)}@media (width<=767px){.p1Flash .p1FlashStepCard{padding:var(--space-3)}}.p1Flash .p1FlashStepHead{align-items:center;gap:var(--space-2);margin:0 0 var(--space-3);font-size:var(--fs-id);font-weight:600;display:flex}.p1Flash .p1FlashStepCard .p1FlashStepMarker{border-color:var(--primary);color:var(--primary);background:0 0}.p1Flash .p1FlashStepBody{gap:var(--space-3);flex-direction:column;display:flex}.p1Flash .p1FlashStepBody>*{margin:0}.p1Flash .p1FlashBanner,.p1Flash .p1FlashVerdict,.p1Flash .p1FlashError{border:1px solid var(--tone-neutral-border);border-radius:var(--r-control);background:var(--tone-neutral-bg);color:var(--tone-neutral-fg);padding:var(--space-2) var(--space-3);font-size:var(--fs-body);border-left-width:3px}.p1Flash .p1FlashBanner.is-ok,.p1Flash .p1FlashVerdict.is-ok{border-color:var(--tone-ok-border);background:var(--tone-ok-bg);color:var(--tone-ok-fg)}.p1Flash .p1FlashBanner.is-warn,.p1Flash .p1FlashVerdict.is-warn{border-color:var(--tone-warn-border);background:var(--tone-warn-bg);color:var(--tone-warn-fg)}.p1Flash .p1FlashBanner.is-danger,.p1Flash .p1FlashVerdict.is-danger,.p1Flash .p1FlashError{border-color:var(--tone-danger-border);background:var(--tone-danger-bg);color:var(--tone-danger-fg)}.p1Flash .p1FlashBanner.is-info,.p1Flash .p1FlashVerdict.is-info{border-color:var(--tone-info-border);background:var(--tone-info-bg);color:var(--tone-info-fg)}.p1Flash .p1FlashVerdictTitle,.p1Flash .p1FlashErrorTitle{font-size:var(--fs-id);font-weight:600;display:block}.p1Flash .p1FlashVerdictDetail,.p1Flash .p1FlashErrorAction{margin:var(--space-1) 0 0;font-size:var(--fs-body)}.p1Flash .p1FlashErrorDetail{margin-top:var(--space-2);font-family:var(--mono-console,monospace);font-size:var(--fs-meta);opacity:.85;overflow-wrap:anywhere;display:block}.p1Flash .p1FlashHint{font-size:var(--fs-meta);color:var(--muted)}.p1Flash .p1FlashTarget{font-size:var(--fs-body);color:var(--text);font-weight:600}.p1Flash .p1FlashChecklist{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.p1Flash .p1FlashChecklist li{justify-content:space-between;align-items:baseline;gap:var(--space-3);padding:var(--space-1) 0;border-bottom:1px solid var(--border);font-size:var(--fs-body);display:flex}.p1Flash .p1FlashChecklist li:last-child{border-bottom:0}.p1Flash .p1FlashChecklist li span{font-family:var(--mono-console,monospace);font-size:var(--fs-meta);color:var(--muted);text-align:right;overflow-wrap:anywhere}.p1Flash .p1FlashChecklist li.ok>span{color:var(--tone-ok-fg)}.p1Flash .p1FlashResult{border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface-2);padding:var(--space-3)}.p1Flash .p1FlashResultTitle{margin:0 0 var(--space-2);font-size:var(--fs-id);font-weight:600}.p1Flash .p1FlashResultGrid{gap:var(--space-2) var(--space-3);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin:0;display:grid}.p1Flash .p1FlashResultGrid dt{font-size:var(--fs-meta);color:var(--muted)}.p1Flash .p1FlashResultGrid dd{font-size:var(--fs-body);overflow-wrap:anywhere;margin:0;font-weight:600}.p1Flash .p1FlashMacLine{align-items:center;gap:var(--space-2);font-size:var(--fs-meta);display:flex}.p1Flash .p1FlashMacLabel{color:var(--muted)}.p1Flash .roleChoiceCard{position:relative}.p1Flash .p1FlashRoleBadge{min-height:22px;padding:0 var(--space-2);border:1px solid var(--tone-warn-border);border-radius:var(--r-pill);background:var(--tone-warn-bg);color:var(--tone-warn-fg);font-size:var(--fs-meta);align-items:center;font-weight:600;display:inline-flex}.p1Flash .p1FlashFieldError{margin-top:var(--space-1);font-size:var(--fs-meta);color:var(--tone-danger-fg);font-weight:600;display:block}.p1Flash input[aria-invalid=true]{border-color:var(--tone-danger-border)}.p1Flash .p1FlashHelp{border:1px solid var(--border);border-radius:var(--r-control);padding:var(--space-2) var(--space-3)}.p1Flash .p1FlashHelp>summary{cursor:pointer;font-size:var(--fs-body);align-items:center;min-height:36px;font-weight:600;display:flex}.p1Flash .p1FlashHelp ul{margin:var(--space-2) 0 0;padding-left:var(--space-4);font-size:var(--fs-body)}.p1Flash .p1FlashHelp li{margin-bottom:var(--space-1)}.p1Flash .p1FlashLogs{white-space:pre-wrap;word-break:break-word;max-height:160px;font-size:var(--fs-meta);overflow:auto}.p1Flash .p1FlashLatestValue{font-family:var(--mono-console,monospace);font-size:var(--fs-meta);overflow-wrap:anywhere}@media (width<=767px){.p1Flash .p1FlashHelp>summary{min-height:44px}}.snifferTable .p1aMono{font-family:var(--mono-console,ui-monospace, monospace);font-size:var(--fs-meta,.75rem);font-variant-numeric:tabular-nums}.snifferTable .p1aFrameOpen{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:var(--r-control,8px);background:0 0;border:0;padding:0;display:block}.snifferTable .p1aFrameOpen:focus-visible,.snifferTable tbody tr.p1aFrameRow:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.snifferTable tbody tr.p1aFrameRow:hover{background:color-mix(in srgb, var(--primary) 8%, transparent)}.p1aEntityIdentity{align-items:center;gap:var(--space-2,8px);margin:0 0 var(--space-3,12px);font-size:var(--fs-meta,.75rem);flex-wrap:wrap;display:flex}.p1aSessionPick{gap:var(--space-1,4px);font-size:var(--fs-meta,.75rem);color:var(--muted);flex-direction:column;display:flex}.p1aSessionPick select{min-height:44px}.p1aVerdict{align-items:baseline;gap:var(--space-2,8px);margin:var(--space-3,12px) 0;padding:var(--space-3,12px);border:1px solid var(--p1-border,var(--border));border-radius:var(--r-card,12px);background:var(--p1-bg,var(--surface-2));border-left-width:4px;flex-wrap:wrap;display:flex}.p1aVerdict>strong{font-size:var(--fs-id,1rem);color:var(--p1-fg,var(--text));font-weight:600}.p1aVerdict>span{font-size:var(--fs-body,.875rem);color:var(--text)}.p1aVerdictFresh{color:var(--muted);font-size:var(--fs-meta,.75rem)}.p1aStepper{margin:var(--space-3,12px) 0 0;gap:var(--space-2,8px);padding:0;list-style:none;display:grid}.p1aStep{gap:var(--space-3,12px);padding:var(--space-3,12px);border:1px solid var(--border);border-radius:var(--r-card,12px);background:var(--surface);display:flex}.p1aStepNum{border:1px solid var(--border);border-radius:var(--r-pill,999px);width:28px;height:28px;font-family:var(--mono-console,ui-monospace, monospace);font-size:var(--fs-meta,.75rem);color:var(--muted);flex:none;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.p1aStepBody{gap:var(--space-2,8px);flex-direction:column;min-width:0;display:flex}.p1aStepBody>strong{font-size:var(--fs-id,1rem);font-weight:600}.p1aStepBody>p{font-size:var(--fs-body,.875rem);color:var(--muted);margin:0}.p1aStepBody>.btn{align-self:flex-start;min-height:44px}.p1aStepBlock{font-size:var(--fs-meta,.75rem);color:var(--tone-warn-fg,var(--warn));margin:0}.p1aStep.isCurrent{border-color:var(--tone-info-border,var(--info));background:var(--tone-info-bg,var(--surface))}.p1aStep.isCurrent .p1aStepNum{border-color:var(--tone-info-border,var(--info));color:var(--tone-info-fg,var(--info))}.p1aStep.isDone .p1aStepNum{border-color:var(--tone-ok-border,var(--ok));color:var(--tone-ok-fg,var(--ok))}.p1aStep.isError{border-color:var(--tone-danger-border,var(--danger))}.p1aStep.isError .p1aStepNum{border-color:var(--tone-danger-border,var(--danger));color:var(--tone-danger-fg,var(--danger))}.p1aStep.isError .p1aStepBlock{color:var(--tone-danger-fg,var(--danger))}.p1aStepNote{font-size:var(--fs-meta,.75rem);color:var(--muted);margin:0}.p1aResultsGrid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.p1aResult strong{color:var(--p1-fg,var(--text))}.p1aResult.tone-neutral strong{color:var(--text)}.p1aDiagLine{gap:var(--space-1,4px) var(--space-4,16px);margin-bottom:var(--space-3,12px);font-size:var(--fs-meta,.75rem);color:var(--muted);flex-wrap:wrap;display:flex}.p1aDiagLine strong{font-family:var(--mono-console,ui-monospace, monospace);font-variant-numeric:tabular-nums;color:var(--text)}@media (width<=767px){.p1aStep{flex-direction:row}.p1aStepBody>.btn{align-self:stretch}.p1aSessionPick select{width:100%}}.p1TaskTarget{align-items:center;gap:var(--space-2,8px);margin:0 0 var(--space-3,12px);padding:var(--space-3,12px);border:1px solid var(--border);border-radius:var(--r-card,12px);background:var(--surface-2);flex-wrap:wrap;display:flex}.p1TaskTargetName{font-size:var(--fs-id,1rem);color:var(--text);font-weight:600}.p1TaskTargetMeta{font-size:var(--fs-meta,.75rem);color:var(--muted)}.p1TaskComposerFooter{z-index:2;gap:var(--space-2,8px);margin-top:var(--space-4,16px);padding:var(--space-3,12px) 0 max(var(--space-2,8px), env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface);flex-direction:column;display:flex;position:sticky;bottom:0}.p1TaskComposerFooter .taskPlanSummary{font-size:var(--fs-meta,.75rem);color:var(--muted);margin:0}.p1TaskComposerSubmit{width:100%;min-height:44px}.p1PresetRow .taskPresetButton[aria-pressed=true]{border-color:var(--primary)}.p1PresetCustom{padding:0 var(--space-2,8px);border-radius:var(--r-pill,999px);background:var(--tone-info-bg);border:1px solid var(--tone-info-border);color:var(--tone-info-fg);font-size:var(--fs-meta,.75rem);align-self:center;font-weight:600;line-height:22px}.p1TaskLimitField{gap:var(--space-1,4px);flex-direction:column;display:flex}.p1TaskLimitLegend{font-size:var(--fs-meta,.75rem);color:var(--muted);font-weight:600}.p1TaskLimit{border:1px solid var(--border);border-radius:var(--r-control,8px);background:var(--surface-2);align-self:flex-start;max-width:100%;display:inline-flex;overflow:hidden}.p1TaskLimitOption{min-height:36px;padding:0 var(--space-3,12px);border:0;border-inline-start:1px solid var(--border);color:var(--text);font:inherit;font-size:var(--fs-body,.875rem);cursor:pointer;white-space:nowrap;background:0 0;flex:auto;font-weight:600}.p1TaskLimitOption:first-child{border-inline-start:0}.p1TaskLimitOption.isActive{background:var(--primary);color:var(--on-primary,var(--bg))}.p1TaskLimitOption:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}@media (width<=767px){.p1TaskLimit{width:100%;display:flex}.p1TaskLimitOption{min-height:44px}}.p1LauncherRow{justify-content:space-between;align-items:center;gap:var(--space-3,12px);text-align:start;display:flex}.p1LauncherRowMain{flex-direction:column;gap:2px;min-width:0;display:flex}.p1LauncherRowMeta{font-size:var(--fs-meta,.75rem);color:var(--muted)}.p1LauncherRowReason{font-size:var(--fs-meta,.75rem);color:var(--tone-warn-fg)}.p1LauncherRowState{align-items:center;gap:var(--space-2,8px);flex:none;display:flex}.p1LauncherRow[aria-disabled=true]{opacity:.65;cursor:not-allowed}.p1EspSheetHeader{justify-content:space-between;align-items:flex-start;gap:var(--space-3,12px);padding-bottom:var(--space-3,12px);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.p1EspSheetIdentity{gap:var(--space-1,4px);flex-direction:column;min-width:0;display:flex}.p1EspSheetMeta{font-size:var(--fs-meta,.75rem);color:var(--muted)}.p1EspSheetState{align-items:center;gap:var(--space-2,8px);font-size:var(--fs-meta,.75rem);flex-wrap:wrap;display:flex}.p1EspSheetActions{align-items:center;gap:var(--space-2,8px);flex-wrap:wrap;display:flex}.p1EspSheetActions .btn{align-items:center;gap:var(--space-1,4px);min-height:36px;text-decoration:none;display:inline-flex}@media (width<=767px){.p1EspSheetActions .btn{min-height:44px}}.p1EspSheetTaskChips{gap:var(--space-2,8px);flex-wrap:wrap;display:flex}
