:root{color:#18201d;background:#eef1ef;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,-apple-system,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--accent: #176b52;--accent-active: #0f5943;--accent-soft: #e9f4ef;--blue: #2762b3;--blue-soft: #eaf1fb;--danger: #a53636;--danger-soft: #fceeee;--ink: #18201d;--muted: #63706a;--line: #dce2de;--surface: #ffffff;--surface-subtle: #f6f8f7;--warning: #8a5a13;--warning-soft: #fff5df}*{box-sizing:border-box}[hidden]{display:none!important}html{min-width:320px;background:#eef1ef}body{min-width:320px;min-height:100vh;margin:0;background:#eef1ef}button,input{font:inherit;letter-spacing:0}button{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid rgba(39,98,179,.28);outline-offset:2px}button:disabled,input:disabled{cursor:not-allowed;opacity:.48}#app{min-height:100vh}.provisioning-shell{width:min(100%,720px);min-height:100vh;margin:0 auto;padding:30px 28px 36px;background:var(--surface);border-inline:1px solid var(--line)}.app-header{display:flex;align-items:center;gap:14px;margin-bottom:28px}.brand-symbol{display:grid;width:46px;height:46px;flex:0 0 46px;place-items:center;color:#fff;background:var(--ink);border-radius:8px}.brand-symbol .lucide{width:24px;height:24px}.brand-name{margin:0 0 2px;color:var(--accent);font-size:13px;font-weight:700}h1,h2,p{margin-top:0}h1{margin-bottom:0;font-size:27px;font-weight:720;line-height:1.14;letter-spacing:0}h2{margin-bottom:0;font-size:19px;font-weight:700;line-height:1.3;letter-spacing:0}.progress-rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0 0 26px;margin:0;border-bottom:1px solid var(--line);list-style:none}.progress-rail li{position:relative;display:grid;justify-items:center;gap:7px;color:#8b9691;font-size:12px}.progress-rail li:before{position:absolute;top:14px;right:50%;z-index:0;width:100%;height:2px;content:"";background:var(--line);transform:translate(-14px)}.progress-rail li:first-child:before{display:none}.progress-rail span{z-index:1;display:grid;width:28px;height:28px;place-items:center;background:var(--surface);border:2px solid var(--line);border-radius:50%;font-size:12px;font-weight:700}.progress-rail strong{font-weight:650}.progress-rail .is-current,.progress-rail .is-complete{color:var(--accent)}.progress-rail .is-current span,.progress-rail .is-complete span{color:#fff;background:var(--accent);border-color:var(--accent)}.progress-rail .is-complete:before,.progress-rail .is-current:before{background:var(--accent)}.compatibility-notice{padding:14px 16px;margin-top:22px;color:var(--danger);background:var(--danger-soft);border-left:3px solid var(--danger);border-radius:4px;font-size:14px;line-height:1.65}.compatibility-notice[hidden]{display:none}.environment-status{padding:10px 12px;margin:18px 0 0;color:var(--accent);background:var(--accent-soft);border-radius:4px;font-size:12px;font-weight:680;line-height:1.6}.environment-status--error{color:var(--danger);background:var(--danger-soft)}.setup-section{padding:28px 0;border-bottom:1px solid var(--line)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.section-number{margin-bottom:4px;color:var(--accent);font-size:11px;font-weight:750}.section-copy{max-width:520px;margin:9px 0 18px;color:var(--muted);font-size:14px;line-height:1.65}.connection-state{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;color:var(--muted);font-size:13px;font-weight:650}.connection-state:before{width:8px;height:8px;content:"";background:#a8b0ac;border-radius:50%}.connection-state.is-connected{color:var(--accent)}.connection-state.is-connected:before{background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.device-summary{display:flex;align-items:center;gap:12px;padding:13px 14px;margin-bottom:14px;color:var(--blue);background:var(--blue-soft);border-radius:6px}.device-summary[hidden]{display:none}.device-summary>.lucide{flex:0 0 auto}.device-summary div{min-width:0}.device-summary span,.device-summary strong,.device-summary code{display:block}.device-summary span{margin-bottom:2px;color:#587197;font-size:11px}.device-summary strong{overflow-wrap:anywhere;color:#244b82;font-size:14px}.device-summary .device-id-label{margin-top:7px}.device-summary code{overflow-wrap:anywhere;color:#244b82;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.5}.action-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.button,.icon-button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;gap:8px;padding:0 17px;color:var(--ink);background:var(--surface);border:1px solid #cbd3ce;border-radius:6px;cursor:pointer;font-size:14px;font-weight:680;transition:background-color .16s ease,border-color .16s ease,transform .16s ease}.button:not(:disabled):active,.icon-button:not(:disabled):active{transform:translateY(1px)}.button--primary{color:#fff;background:var(--accent);border-color:var(--accent)}.button--primary:not(:disabled):hover{background:var(--accent-active);border-color:var(--accent-active)}.button--quiet{color:var(--muted);background:transparent;border-color:transparent}.button--quiet:not(:disabled):hover{color:var(--ink);background:var(--surface-subtle)}.button--small{min-height:42px;padding-inline:13px;font-size:13px}.button--block{width:100%;margin-top:4px}.network-list{border-top:1px solid var(--line)}.network-option{display:grid;width:100%;min-height:58px;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:11px;padding:10px 4px;color:var(--ink);text-align:left;background:transparent;border:0;border-bottom:1px solid var(--line);cursor:pointer}.network-option:hover{background:var(--surface-subtle)}.network-option[aria-pressed=true]{color:var(--accent);background:var(--accent-soft)}.network-option strong{min-width:0;overflow-wrap:anywhere;font-size:14px}.network-option span{color:var(--muted);font-size:12px;white-space:nowrap}.empty-state{padding:16px 0 2px;margin:0;color:#7d8883;font-size:13px;line-height:1.6}.field{margin-bottom:17px}.field label{display:block;margin-bottom:8px;color:#36423d;font-size:13px;font-weight:680}.field input{width:100%;height:48px;padding:0 13px;color:var(--ink);background:var(--surface);border:1px solid #cbd3ce;border-radius:6px;font-size:16px}.field input::placeholder{color:#9aa49f}.field input:focus{border-color:var(--blue)}.password-field{position:relative}.password-field input{padding-right:54px}.icon-button{position:absolute;top:2px;right:2px;width:44px;min-height:44px;padding:0;color:var(--muted);background:transparent;border:0}.form-error{min-height:21px;margin:-7px 0 10px;color:var(--danger);font-size:13px;line-height:1.5}.result{display:flex;align-items:flex-start;gap:12px;padding:16px;margin:26px 0 20px;color:#34413b;background:var(--surface-subtle);border-left:3px solid #96a19b;border-radius:4px}.result>.lucide{flex:0 0 auto;margin-top:1px}.result strong,.result p{display:block}.result strong{margin-bottom:4px;font-size:14px}.result p{margin-bottom:0;color:var(--muted);font-size:13px;line-height:1.6}.result--pending{color:var(--blue);background:var(--blue-soft);border-left-color:var(--blue)}.result--success{color:var(--accent);background:var(--accent-soft);border-left-color:var(--accent)}.result--error{color:var(--danger);background:var(--danger-soft);border-left-color:var(--danger)}.result--pending p,.result--success p,.result--error p{color:currentColor}[data-stage=connecting] [data-result-icon],[data-stage=loading-networks] [data-result-icon],[data-stage=provisioning] [data-result-icon]{animation:spin 1.15s linear infinite}.diagnostics{border-block:1px solid var(--line)}.diagnostics summary{display:flex;min-height:52px;align-items:center;justify-content:space-between;cursor:pointer;color:var(--muted);font-size:13px;font-weight:680;list-style:none}.diagnostics summary::-webkit-details-marker{display:none}.diagnostics summary span{display:inline-flex;align-items:center;gap:8px}.diagnostics[open] summary>.lucide{transform:rotate(180deg)}.diagnostic-actions{display:flex;justify-content:flex-end;gap:4px;padding-bottom:8px;flex-wrap:wrap}.log-list{max-height:260px;padding:0;margin:0;overflow:auto;list-style:none;border-top:1px solid var(--line)}.log-list li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:9px;padding:9px 2px;border-bottom:1px solid #edf0ee;font-family:SFMono-Regular,Consolas,monospace;font-size:11px;line-height:1.55}.log-list time{color:#89938e;font-variant-numeric:tabular-nums}.log-list span{overflow-wrap:anywhere;color:#46534d}.privacy-note{display:flex;align-items:flex-start;gap:8px;padding-top:20px;color:var(--muted);font-size:12px;line-height:1.6}.privacy-note .lucide{flex:0 0 auto;color:var(--accent)}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:560px){html,body{background:var(--surface)}.provisioning-shell{padding:22px 18px 28px;border:0}.app-header{margin-bottom:24px}h1{font-size:25px}.setup-section{padding:25px 0}.section-heading{align-items:flex-end}.network-option{grid-template-columns:22px minmax(0,1fr)}.network-option span{grid-column:2;white-space:normal}.button--primary:not(.button--block){flex:1 1 190px}}@media(max-width:380px){.provisioning-shell{padding-inline:14px}.section-heading{align-items:flex-start;flex-direction:column}.section-heading .button{align-self:stretch}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
