@font-face{font-family:Worm SF Pro Display;src:local("SF Pro Display"),local("SFProDisplay-Regular"),local(".SF NS Display");font-style:normal}@font-face{font-family:Worm SF Pro Text;src:local("SF Pro Text"),local("SFProText-Regular"),local(".SF NS Text");font-style:normal}@font-face{font-family:Worm SF Mono;src:local("SFMono-Regular"),local("SF Mono"),local("SFMono");font-style:normal}:root{color:#d9d9d9;background:#353a44;font-family:var(--font-text);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--font-display: "Worm SF Pro Display", system-ui, "Roboto", "Helvetica Neue", Arial, sans-serif;--font-text: "Worm SF Pro Text", system-ui, "Roboto", "Helvetica Neue", Arial, sans-serif;--font-mono: "Worm SF Mono", Menlo, Monaco, Consolas, monospace;--font-xs: 12px;--font-sm: 13px;--font-base: 15px;--font-button: 16px;--font-section: 18px;--font-step: 22px;--font-title: 30px;--relaxed-bg: #353a44;--relaxed-bg-dark: #151515;--relaxed-panel: #3d434e;--relaxed-panel-alt: #414854;--relaxed-border: #49515f;--relaxed-text: #d9d9d9;--relaxed-text-bright: #f7f7f7;--relaxed-muted: #acbbd0;--relaxed-dim: #636363;--relaxed-red: #bc5653;--relaxed-green: #909d63;--relaxed-green-bright: #a0ac77;--relaxed-yellow: #ebc17a;--relaxed-blue: #6a8799;--relaxed-blue-bright: #7eaac7;--relaxed-magenta: #b06698;--relaxed-magenta-light: #b48ead;--relaxed-cyan: #c9dfff;--relaxed-cyan-muted: #acbbd0;--relaxed-selection: rgba(106,121,133,.3);--bg-0: var(--relaxed-bg);--bg-1: #2f343d;--bg-2: #272b33;--text: var(--relaxed-text);--muted: var(--relaxed-muted);--soft: var(--relaxed-dim);--window: rgba(53, 58, 68, .88);--panel: rgba(53, 58, 68, .88);--panel-soft: rgba(53, 58, 68, .78);--panel-strong: rgba(61, 67, 78, .88);--line: rgba(172, 187, 208, .2);--panel-border: rgba(172, 187, 208, .2);--green: var(--relaxed-green);--green-bright: var(--relaxed-green-bright);--green-deep: var(--relaxed-green);--green-soft: rgba(144, 157, 99, .22);--amber: var(--relaxed-yellow);--red: var(--relaxed-red)}*{box-sizing:border-box}html,body{margin:0;width:100%;max-width:100%;min-height:100%;overflow-x:hidden;box-sizing:border-box;-webkit-text-size-adjust:100%;text-size-adjust:100%}html{background:var(--bg-0)}body{min-height:100vh;min-height:100dvh;overflow-x:hidden;overflow-y:auto;color:var(--text);font-family:var(--font-text);font-size:var(--font-base);font-weight:400;letter-spacing:0;background:radial-gradient(circle at 15% 5%,rgba(126,170,199,.28),transparent 36%),radial-gradient(circle at 90% 85%,rgba(176,102,152,.2),transparent 42%),linear-gradient(180deg,#353a44,#2f343d 52%,#272b33);background-attachment:fixed}#app{width:100%;max-width:none;margin:0;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));box-sizing:border-box}.installer-shell,.app-shell,.main-shell,.catalina-shell{width:100%;max-width:100%;margin:0 auto;box-sizing:border-box}body:before{position:fixed;inset:0;z-index:-1;pointer-events:none;content:"";background:radial-gradient(ellipse at 50% 30%,rgba(201,223,255,.08),transparent 36%),linear-gradient(120deg,rgba(247,247,247,.06),transparent 42%,rgba(21,21,21,.22));mix-blend-mode:soft-light}*{scrollbar-color:rgba(126,170,199,.42) rgba(21,21,21,.24)}::selection{background:var(--relaxed-selection)}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:#1515153d}*::-webkit-scrollbar-thumb{border:2px solid rgba(21,21,21,.9);border-radius:999px;background:#7eaac76b}button,input{font:inherit;font-size:var(--font-button)}button{width:100%;height:50px;min-height:50px;border:1px solid rgba(172,187,208,.2);border-radius:12px;padding:0 16px;color:var(--text);background:#353a44a3;box-shadow:0 1px #f7f7f70f inset,0 1px 2px #1515152e;cursor:pointer;font-family:var(--font-text);font-size:var(--font-button);font-weight:600;letter-spacing:0;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,background .12s ease}button:active:not(:disabled){transform:scale(.99)}button:disabled{cursor:default;opacity:.38;filter:saturate(.45)}button:focus-visible,input:focus-visible{outline:3px solid rgba(126,170,199,.46);outline-offset:2px}button:hover:not(:disabled),button:active:not(:disabled){border-color:#7eaac780}button.is-primary{border-color:#c9dfff4d;color:#151515;background:linear-gradient(180deg,#7eaac7,#6a8799);box-shadow:0 1px #f7f7f72e inset,0 8px 22px #15151533}button.is-primary[data-action=reconnect]{color:#151515;background:linear-gradient(180deg,#ebc17a,#cda260);border-color:#ebc17a8c}button.is-danger{border-color:#bc565399;color:#bc5653;background:#bc565329}button.is-danger:disabled{border-color:#63636380;color:var(--relaxed-muted);background:#6363632e}p,h1,h2{letter-spacing:0}.catalina-shell,.auth-shell,.mobile-block{width:100%;max-width:none;min-height:100vh;min-height:100dvh;margin:0 auto}.auth-shell{display:grid;align-items:start;padding:0}.auth-card{width:100%;max-width:none;margin:0;padding:20px;border:1px solid var(--line);border-radius:20px;background:var(--window);box-shadow:0 16px 42px #15151552;backdrop-filter:blur(14px) saturate(130%);-webkit-backdrop-filter:blur(14px) saturate(130%)}.auth-card h1{margin:0;color:var(--relaxed-text-bright);font-family:var(--font-display);font-size:var(--font-title);font-weight:650;line-height:1.05;text-align:center}.auth-subtitle{margin:6px 0 22px;color:var(--green);font-family:var(--font-display);font-size:var(--font-base);font-weight:600;line-height:1.35;text-align:center}.auth-form{display:grid;gap:10px}.auth-form label{color:var(--relaxed-muted);font-size:var(--font-sm);font-weight:700}.auth-form input{width:100%;height:50px;border:1px solid rgba(172,187,208,.2);border-radius:12px;padding:0 14px;color:var(--text);background:#15151547;font-size:16px;box-shadow:0 1px 2px #15151538 inset}.auth-form .otp-input{font-family:var(--font-mono);font-size:24px;font-weight:700;letter-spacing:0;text-align:center}.auth-copy,.auth-error{margin:4px 0 0;color:var(--muted);font-size:var(--font-base);line-height:1.42;text-align:center}.auth-error:not(:empty){margin-top:14px;border:1px solid rgba(188,86,83,.34);border-radius:10px;padding:10px 12px;background:#bc565321;color:var(--text);font-weight:700}.mac-window,.mobile-block-panel{width:100%;max-width:none;margin:0;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:var(--window);box-shadow:0 16px 42px #15151552;backdrop-filter:blur(16px) saturate(120%);-webkit-backdrop-filter:blur(16px) saturate(120%)}.mobile-block-panel{backdrop-filter:blur(14px) saturate(130%);-webkit-backdrop-filter:blur(14px) saturate(130%)}[data-activity=critical] .mac-window,[data-activity=critical] .panel{backdrop-filter:blur(6px) saturate(110%);-webkit-backdrop-filter:blur(6px) saturate(110%)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.mac-window,.mobile-block-panel,.panel,.modal{background:#353a44f5}}.titlebar{min-height:46px;display:grid;grid-template-columns:72px minmax(0,1fr) 42px;align-items:center;border-bottom:1px solid rgba(172,187,208,.13);background:#f7f7f709}.traffic-lights{display:flex;gap:7px;padding-left:14px}.traffic-light{width:11px;height:11px;border-radius:50%;box-shadow:0 0 0 1px #1515152e inset}.traffic-close{background:var(--relaxed-red)}.traffic-minimize{background:var(--relaxed-yellow)}.traffic-zoom{background:var(--relaxed-green-bright)}.titlebar-center{min-width:0;display:grid;place-items:center;gap:3px;text-align:center}.titlebar-center strong{max-width:100%;overflow:hidden;font-family:var(--font-display);font-size:var(--font-section);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.mock-mode-badge{display:none;border:1px solid rgba(235,193,122,.8);border-radius:999px;padding:2px 8px;color:#151515;background:linear-gradient(180deg,#ebc17a,#bc5653);box-shadow:0 0 0 3px #bc565329;font-size:var(--font-xs);font-weight:800;line-height:1.2;text-transform:uppercase;white-space:nowrap}[data-mock-mode=true] .mock-mode-badge{display:inline-flex}[data-test-mode=true] .mock-mode-badge{display:inline-flex;border-color:#ebc17af2;background:#ebc17a;box-shadow:0 0 0 3px #ebc17a2e}.titlebar-status{display:flex;justify-content:center}.connection-dot{width:10px;height:10px;border-radius:50%;background:var(--relaxed-dim);box-shadow:0 0 0 4px #f7f7f70f}.connection-dot.is-connected{background:var(--green);box-shadow:0 0 0 4px #909d6329}.connection-dot.is-reconnecting{background:var(--amber);box-shadow:0 0 0 4px #ebc17a29}.connection-dot.is-error{background:var(--red);box-shadow:0 0 0 4px #bc565329}.window-body{display:block}.main-pane{display:grid;gap:12px;padding:14px 8px 12px}.main-header{display:grid;justify-items:center;gap:4px;padding:0 4px 2px;text-align:center}.main-header h1{margin:0;font-family:var(--font-display);font-size:var(--font-title);font-weight:650;line-height:1.05}.main-header p{margin:0;color:var(--muted);font-size:var(--font-base);line-height:1.3}.main-header strong{display:block;margin-top:4px;color:var(--green);font-family:var(--font-display);font-size:var(--font-base);font-weight:600;line-height:1.35;text-align:center}.setup-steps{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;padding:2px 0}.flow-step{min-width:0;display:grid;place-items:center}.flow-step span{width:40px;height:40px;margin-inline:auto;display:grid;place-items:center;border:1px solid #636363;border-radius:50%;color:#acbbd0;background:#6363632e;font-size:var(--font-sm);font-weight:600;line-height:1}.flow-step.is-active span{border-color:#7eaac7;color:#f7f7f7;background:#6a8799}.flow-step.is-complete span{border-color:#909d63;color:#a0ac77;background:#909d6338}.flow-step.is-warning span{border-color:var(--amber);color:#151515;background:var(--amber)}.flow-step.is-error span{border-color:var(--red);color:#f7f7f7;background:var(--red)}.panel{border:1px solid var(--panel-border);border-radius:18px;background:var(--panel);box-shadow:0 16px 42px #15151552;backdrop-filter:blur(16px) saturate(120%);-webkit-backdrop-filter:blur(16px) saturate(120%)}.step-card,.device-card,.release-card,.action-card,.recent-activity-card{width:100%;max-width:100%;margin-inline:0;padding:16px;box-sizing:border-box}.device-card,.release-card,.action-card,.recent-activity-card{padding:16px}.step-card{border-color:#49515f;background:#15151566}.device-card{border-color:#49515f;background:#353a44c7}[data-tone=waiting] .step-card{border-color:#49515f;background:linear-gradient(180deg,rgba(106,135,153,.12),transparent 42%),#15151566;box-shadow:0 16px 42px #15151552}.center-stage,.complete-view{display:grid;justify-items:center;gap:10px;text-align:center}.center-stage h2,.complete-view h2,.card-heading h2{margin:0;font-family:var(--font-display);font-size:var(--font-section);font-weight:600;line-height:1.15;color:#f7f7f7}.center-stage p,.complete-view p,.card-heading p,.card-copy,.connect-instruction,.status-message,.error-message{margin:0;color:var(--muted);font-size:var(--font-base);line-height:1.42;overflow-wrap:anywhere}.center-stage strong{color:var(--relaxed-muted);font-size:var(--font-sm);font-weight:700}.card-copy{margin:10px 0 0;text-align:center}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.card-heading>div{min-width:0}.badge{height:24px;min-height:24px;display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;border:1px solid rgba(235,193,122,.35);border-radius:999px;padding:0 9px;color:#ebc17a;background:#353a44a3;font-size:var(--font-xs);font-weight:600;white-space:nowrap}.badge.is-good{border-color:#909d6380;color:var(--green-bright);background:#909d6338}.info-list,.settings-list{width:100%;max-width:100%;overflow:hidden;border:1px solid #49515f;border-radius:10px;background:var(--panel-strong);box-sizing:border-box}.center-stage+.info-list,.progress-wrap+.info-list{margin-top:12px}.setting-row,.info-row{min-height:36px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;border-bottom:1px solid rgba(172,187,208,.13);padding:0 12px}.setting-row:last-child{border-bottom:0}.setting-row span,.info-row span{min-width:0;color:#acbbd0;font-size:var(--font-sm);opacity:.7}.setting-row strong,.info-row strong{min-width:0;max-width:none;overflow-wrap:anywhere;text-align:right;color:#f7f7f7;font-family:var(--font-text);font-size:14px;font-weight:500}.release-summary{display:grid;justify-items:center;gap:4px;text-align:center}.release-summary strong{font-family:var(--font-text);font-size:var(--font-base)}.release-summary span{color:var(--muted);font-size:var(--font-sm);font-weight:700}.button-grid,.complete-actions,.modal-actions,.log-export{display:grid;gap:9px}.progress-wrap{width:100%;margin:12px 0 0}.progress-meta{display:grid;justify-items:center;gap:4px;margin-bottom:8px;text-align:center;color:var(--muted);font-size:var(--font-sm);font-weight:700}.progress-meta strong{color:var(--text);font-family:var(--font-mono)}.step-card .info-list .info-row strong{font-family:var(--font-mono)}.progress-track{width:100%;height:12px;overflow:hidden;border:1px solid rgba(172,187,208,.13);border-radius:999px;background:#15151566;box-shadow:0 1px 2px #15151538 inset}.progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#6a8799,#7eaac7,#c9dfff);transition:width .18s ease}.progress-track.is-indeterminate .progress-fill{animation:progress-indeterminate 1.4s ease-in-out infinite}@keyframes progress-indeterminate{0%{transform:translate(-130%)}to{transform:translate(260%)}}.spinner{width:30px;height:30px;border:3px solid rgba(126,170,199,.22);border-top-color:var(--green-bright);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}[data-activity=critical] .spinner,[data-activity=critical] .progress-track.is-indeterminate .progress-fill{animation-duration:1.8s}.inline-warning,.error-message:not(:empty){margin-top:12px;border:1px solid rgba(235,193,122,.3);border-radius:10px;padding:10px 12px;background:#ebc17a1f;color:var(--text);font-size:var(--font-base);font-weight:700}.error-message:not(:empty){border-color:#bc565357;background:#bc565321}.complete-check{width:70px;height:70px;display:grid;place-items:center;border-radius:50%;color:#151515;background:linear-gradient(180deg,#a0ac77,#909d63);font-size:var(--font-title);font-weight:800;line-height:1}.complete-actions{width:100%;margin-top:4px}.recent-activity-card{display:grid;gap:12px;color:var(--text);border-color:var(--relaxed-border);background:#353a44c7}.recent-activity-card .card-heading{margin-bottom:0}.recent-activity-card ol{display:grid;gap:8px;margin:0;padding:0;overflow:hidden;list-style:none;font-size:var(--font-sm);line-height:1.35}.recent-activity-card li{min-width:0;display:grid;grid-template-columns:9px minmax(0,1fr);align-items:center;gap:8px;overflow:hidden;color:#d9d9d9;text-overflow:ellipsis;white-space:nowrap}.activity-dot{width:7px;height:7px;border-radius:999px;background:var(--relaxed-cyan)}.activity-dot.is-good{background:var(--relaxed-green)}.activity-dot.is-warning,.activity-dot.is-waiting{background:var(--relaxed-yellow)}.activity-dot.is-error{background:var(--relaxed-red)}.utility-button{width:auto;height:36px;min-height:36px;justify-self:start;padding:0 14px;border-radius:10px;font-size:13px}.footer-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center}pre,code{min-width:0;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.log-success .log-category,.log-category-success .log-category{color:#a0ac77}.log-warn .log-category,.log-category-warn .log-category{color:var(--amber)}.log-error{color:#bc5653;background:#bc56531a}.log-error .log-category,.log-category-error .log-category{color:var(--red)}.log-category-fastboot .log-category{color:#7eaac7}.log-category-usb .log-category{color:#c9dfff}.log-category-zip .log-category{color:#b48ead}.log-category-flash .log-category{color:#6a8799}.log-category-download .log-category{color:#acbbd0}.log-category-verify .log-category{color:#a0ac77}.log-category-reconnect .log-category{color:#ebc17a}.log-export{padding:10px;border:1px solid rgba(172,187,208,.13);border-top:0;border-radius:0 0 10px 10px}.modal-layer[hidden]{display:none}.modal-layer{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:calc(18px + env(safe-area-inset-top)) calc(12px + env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left))}.modal-backdrop{position:absolute;inset:0;background:#15151575}.modal{position:relative;width:min(calc(100% - 24px),406px);max-height:72dvh;overflow-y:auto;border:1px solid var(--line);border-radius:18px;padding:16px;background:#353a44f0;box-shadow:0 16px 42px #15151552;backdrop-filter:blur(16px) saturate(120%);-webkit-backdrop-filter:blur(16px) saturate(120%)}.modal h2{margin:0 0 9px;text-align:center;font-family:var(--font-display);font-size:var(--font-section);font-weight:600}.modal p{margin:0 0 18px;color:var(--muted);text-align:center;font-size:var(--font-base);line-height:1.45}.modal-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:12px}.modal-header h2{margin:0;text-align:left}.debug-panel{width:100%;height:auto;max-height:none;display:grid;gap:12px;overflow:visible;border:1px solid #49515f;border-radius:16px;padding:14px;background:#15151552}.debug-panel,.debug-panel *{max-width:100%;min-width:0;box-sizing:border-box}.debug-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.debug-header h2,.debug-panel h3{margin:0;color:#f7f7f7;font-family:var(--font-display);font-size:var(--font-sm);font-weight:600}.debug-grid{display:grid;overflow:visible;border:1px solid var(--relaxed-border);border-radius:12px;background:#1515153d}.debug-row{min-height:34px;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:12px;padding:0 10px;border-bottom:1px solid rgba(172,187,208,.13)}.debug-row:last-child{border-bottom:0}.debug-row span{color:#acbbd0;font-size:var(--font-xs)}.debug-row strong{min-width:0;color:#f7f7f7;overflow-wrap:anywhere;white-space:pre-wrap;word-break:break-word;text-align:right;font-size:var(--font-sm);font-weight:600}.debug-events{display:grid;gap:8px;margin-top:0}.debug-events h3{margin:0;font-size:var(--font-sm);font-weight:600}.debug-events ol{display:grid;gap:6px;max-height:none;margin:0;padding:10px;overflow:visible;list-style:none;border:1px solid var(--relaxed-border);border-radius:12px;background:#1515154d;font-family:var(--font-mono);font-size:var(--font-xs);line-height:1.4}.debug-events li{overflow-wrap:anywhere;word-break:break-word}.debug-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:0}.debug-actions button{height:40px;min-height:40px;padding:0 10px;border-radius:10px;font-size:var(--font-sm)}.debug-value,.debug-event{overflow-wrap:anywhere;white-space:pre-wrap;word-break:break-word}@media(max-width:390px){.debug-actions{grid-template-columns:1fr}.debug-row{grid-template-columns:minmax(0,1fr);align-items:start;gap:3px;padding:8px 10px}.debug-row strong{text-align:left}}[data-tone=success] .main-header strong,[data-tone=success] .status-message{color:var(--green)}[data-tone=warning] .main-header strong,[data-tone=warning] .status-message{color:var(--amber)}[data-tone=error] .main-header strong,[data-tone=error] .status-message{color:var(--red)}[data-tone=waiting] .main-header strong,[data-tone=waiting] .status-message{color:var(--green)}.mobile-block{display:grid;align-content:start}.mobile-block-panel{display:grid;justify-items:center;gap:13px;padding:24px 18px;text-align:center}.mobile-block-icon{width:70px;height:70px;display:grid;place-items:center;border:1px solid rgba(144,157,99,.34);border-radius:18px;background:#909d6329}.mobile-block-icon svg{width:44px;height:44px;fill:none;stroke:var(--green);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.mobile-block-brand{margin:0;color:var(--green);font-size:var(--font-xs);font-weight:800}.mobile-block h1{margin:0;font-family:var(--font-display);font-size:var(--font-title);font-weight:600;line-height:1.05}.mobile-block p{margin:0;color:var(--muted);font-size:var(--font-base);line-height:1.45}.mobile-block-reason{display:inline-block;max-width:100%;padding:11px 12px;border:1px solid rgba(235,193,122,.32);border-radius:10px;background:#ebc17a1f;color:var(--text);font-weight:700;white-space:pre-line}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
