@font-face{font-family:HK Nova;src:url(./HKNova-Regular-DKYRK5-9-DKYRK5-9.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:HK Nova;src:url(./HKNova-Medium-DlIpTjze-DlIpTjze.ttf)format("truetype");font-weight:600;font-style:normal;font-display:swap}:root{color:#151515;font-synthesis:none;text-rendering:optimizelegibility;--black:#111;--surface:#fff;--muted-surface:#e8e8e8;--line:#cacaca;--text-muted:#656565;--orange:#fa6714;--purple:#af50ff;--yellow:#ef0;--green:#18834a;--red:#bd2f25;background:#f2f2f2;font-family:HK Nova,sans-serif}*{box-sizing:border-box}body{background:#f2f2f2;min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #fa671459}label:has(input:focus-visible){outline-offset:2px;outline:3px solid #fa671459}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-header{color:#fff;background:var(--black);border-bottom:1px solid #333;align-items:center;gap:14px;min-height:72px;padding:14px 28px;display:flex}.brand-mark{width:42px;height:42px;color:var(--black);background:var(--yellow);border-radius:7px;place-items:center;font-size:17px;font-weight:600;display:grid}.header-copy h1,.header-copy p,.section-heading h2,.section-heading p,.step-heading h2,.step-body p,.browser-notice p,.error-box p,.success-block p,.app-footer p{margin:0}.header-copy h1{font-size:19px;font-weight:600;line-height:1.2}.header-copy p{color:#a9a9a9;margin-top:2px;font-size:13px}.header-requirement{color:#bdbdbd;margin-left:auto;font-size:13px}.browser-notice{border:1px solid #df9b8e;border-left:4px solid var(--red);background:#fff4f1;margin:20px 28px 0;padding:14px 16px}.browser-notice p{color:#67423a;margin-top:4px;font-size:14px}.main-layout{grid-template-columns:minmax(440px,.94fr) minmax(500px,1.06fr);align-items:start;gap:28px;width:100%;max-width:1320px;margin:0 auto;padding:28px;display:grid}.catalog-panel,.workflow-panel{min-width:0}.section-heading{justify-content:space-between;align-items:flex-start;gap:16px;min-height:46px;margin-bottom:14px;display:flex}.section-heading h2{font-size:20px;font-weight:600}.section-heading p{color:var(--text-muted);margin-top:4px;font-size:14px}.section-heading>span{color:var(--text-muted);margin-top:3px;font-size:13px}.firmware-list{border:1px solid var(--line);background:var(--surface);border-radius:9px;overflow:hidden}.firmware-option{cursor:pointer;border-bottom:1px solid #dedede;grid-template-columns:18px 34px minmax(0,1fr);align-items:start;gap:12px;min-height:116px;padding:18px;transition:background-color .14s;display:grid}.firmware-option:last-child{border-bottom:0}.firmware-option:hover:not(:has(input:disabled)){background:#fafafa}.firmware-option--selected{box-shadow:inset 3px 0 0 var(--black);background:#f7f7f7}.firmware-option--preview:not(.firmware-option--selected){background:#fffef2}.firmware-option:has(input:disabled){cursor:default}.firmware-option input{width:16px;height:16px;accent-color:var(--black);margin:2px 0 0}.firmware-swatch{border:2px solid var(--black);background:#292929;border-radius:4px;width:32px;height:52px;display:block;box-shadow:inset 0 0 0 3px #292929}.firmware-swatch--orange{border-color:var(--orange)}.firmware-swatch--purple{border-color:var(--purple)}.firmware-swatch--yellow{border-color:var(--yellow)}.firmware-copy,.firmware-name-row{min-width:0;display:flex}.firmware-copy{flex-direction:column;gap:6px}.firmware-name-row{justify-content:space-between;gap:12px}.firmware-name-row strong{font-size:16px;font-weight:600}.evidence{color:#31533e;background:#e4f1e8;border-radius:5px;flex:none;padding:2px 6px;font-size:11px}.evidence--preview{color:#5d5200;background:#f4efae}.evidence--caution{color:#6b3b10;background:#f8e4d0}.firmware-description{color:#343434;font-size:14px;line-height:1.35}.firmware-includes{color:#3f3f3f;font-size:13px;line-height:1.35}.firmware-includes strong{font-weight:600}.firmware-meta{color:#777;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;overflow:hidden}.write-scope{background:#e8e8e8;border:1px solid #d2d2d2;border-radius:8px;margin-top:16px;padding:16px}.write-scope>strong{font-size:14px}.write-scope dl{grid-template-columns:1fr 1fr;gap:9px 22px;margin:12px 0 0;display:grid}.write-scope dl div{border-bottom:1px solid #d2d2d2;justify-content:space-between;gap:12px;padding-bottom:7px;display:flex}.write-scope dt,.write-scope dd{margin:0;font-size:12px}.write-scope dt{color:var(--text-muted)}.write-scope dd{font-weight:600}.write-scope a{color:#7a350d;text-underline-offset:2px;text-decoration-thickness:1px}.workflow-panel{background:var(--surface);border:1px solid var(--line);border-radius:9px;overflow:hidden}.candidate-notice{border-bottom:1px solid #e5bd98;border-left:4px solid var(--orange);background:#fff7ed;padding:14px 18px}.candidate-notice strong{font-size:13px}.candidate-notice p{color:#654324;margin:4px 0 0;font-size:13px;line-height:1.45}.preview-workflow{background:var(--surface);border:1px solid var(--line);border-radius:9px;grid-template-rows:minmax(300px,1fr) auto;min-height:510px;display:grid;overflow:hidden}.preview-stage{background:#1a1a1a;place-items:center;padding:32px;display:grid}.preview-device{background:#080808;border:1px solid #454545;border-radius:12px;grid-template-columns:minmax(0,1fr) 100px;align-items:center;gap:18px;width:min(100%,390px);padding:18px;display:grid;box-shadow:0 16px 38px #00000047}.preview-code{color:#c8c8c8;flex-direction:column;gap:9px;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.5;display:flex}.preview-code span:nth-child(2){color:var(--yellow)}.preview-render{color:#fff;background:#201239;border:1px solid #7652a2;border-radius:4px;flex-direction:column;justify-content:space-between;align-items:center;width:100px;height:310px;padding:20px 9px;display:flex}.preview-render span{color:var(--yellow);letter-spacing:.18em;font-size:12px}.preview-render strong{color:#fff;margin:auto 0;font-size:38px;font-weight:600}.preview-copy{border-top:1px solid #dedede;padding:24px 26px 26px}.preview-kicker{color:#756900;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:600}.preview-copy h2{margin:7px 0 8px;font-size:20px;font-weight:600}.preview-copy>p{color:#555;margin:0;font-size:14px;line-height:1.5}.preview-checks{grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0 0;display:grid}.preview-checks div{border-top:1px solid #d7d7d7;padding-top:10px}.preview-checks dt,.preview-checks dd{margin:0;font-size:12px}.preview-checks dt{color:#777}.preview-checks dd{margin-top:4px;font-weight:600}.step{border-bottom:1px solid #dedede;grid-template-columns:176px minmax(0,1fr);display:grid}.step-heading,.step-body{padding:20px}.step-heading{background:#f5f5f5;border-right:1px solid #dedede;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.step--active .step-heading{background:#fff5ed}.step--done .step-heading{background:#edf5ef}.step-number{color:#777;margin-bottom:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;display:block}.step-heading h2{font-size:15px;font-weight:600;line-height:1.25}.status-mark{color:#fff;border:1px solid #adadad;border-radius:50%;flex:none;place-items:center;width:17px;height:17px;font-size:11px;display:grid}.status-mark--active{border:5px solid var(--orange)}.status-mark--done{border-color:var(--green);background:var(--green)}.step-body{min-height:136px}.step-body>p{color:#555;margin-bottom:16px;font-size:14px;line-height:1.45}.button{cursor:pointer;border:1px solid #0000;border-radius:7px;min-height:38px;padding:0 14px;font-size:14px;font-weight:600;transition:background-color .14s,border-color .14s,color .14s}.button:disabled{cursor:not-allowed;opacity:.45}.button--primary,.button--flash{color:#fff;background:var(--black);border-color:var(--black)}.button--primary:hover:not(:disabled),.button--flash:hover:not(:disabled){background:#343434}.button--flash{background:var(--orange);border-color:#d9530a;min-width:180px}.button--flash:hover:not(:disabled){background:#dd550a}.button--secondary{color:var(--black);background:#fff;border-color:#9a9a9a}.button--secondary:hover:not(:disabled){border-color:var(--black);background:#f3f3f3}.button--quiet{color:#4c4c4c;background:0 0;border-color:#0000}.button--quiet:hover:not(:disabled){color:var(--black);background:#ededed}.button-row{flex-wrap:wrap;gap:8px;display:flex}.recovery-action{align-items:center;gap:8px;margin-top:10px;display:flex}.recovery-action .button{min-height:30px;padding:0 8px;font-size:12px}.recovery-action span{color:var(--text-muted);font-size:11px}.device-summary{align-items:center;gap:14px;display:flex}.device-summary>div:last-child{flex-direction:column;gap:4px;min-width:0;display:flex}.device-summary strong{font-size:15px}.device-summary span{color:var(--text-muted);font-size:12px}.device-drawing{background:var(--black);border-radius:6px;flex:none;gap:5px;width:76px;height:50px;padding:6px;display:flex}.device-screen{background:#383838;border:1px solid #666;border-radius:2px;width:13px;height:34px;display:block}.device-keys{background:repeating-linear-gradient(90deg,#343434 0 7px,#111 7px 9px);border-radius:2px;flex:1;display:block}.identity-confirmation{color:#51371f;cursor:pointer;background:#fff8ef;border:1px solid #e4c4a5;border-radius:6px;align-items:flex-start;gap:10px;margin-top:14px;padding:11px 12px;display:flex}.identity-confirmation:has(input:disabled){cursor:default}.identity-confirmation input{width:16px;height:16px;accent-color:var(--orange);flex:none;margin:2px 0 0}.identity-confirmation span{flex-direction:column;gap:3px;display:flex}.identity-confirmation strong{font-size:13px}.identity-confirmation small{color:#75583d;font-size:12px;line-height:1.4}.instruction{border-left:3px solid var(--orange);background:#fff3e8;padding:10px 12px;color:#51371f!important}.progress-block{margin-top:16px}.progress-label{color:#555;justify-content:space-between;margin-bottom:7px;font-size:12px;display:flex}.progress-track{background:#dedede;border-radius:3px;height:8px;overflow:hidden}.progress-track span{background:var(--orange);height:100%;transition:width .12s linear;display:block}.success-block{border:1px solid #a9c9b3;border-left:4px solid var(--green);background:#edf5ef;padding:14px}.success-block>p{color:#3f5d48;margin:6px 0 14px;font-size:13px;line-height:1.4}.error-box{border:1px solid #df9b8e;border-left:4px solid var(--red);background:#fff4f1;margin:16px;padding:14px 16px}.error-box p{color:#67423a;margin-top:5px;font-size:13px;line-height:1.4}.error-box .button{margin-top:12px}.log-panel{border-top:1px solid #dedede}.log-panel summary{cursor:pointer;color:#444;background:#f6f6f6;justify-content:space-between;padding:14px 18px;font-size:13px;display:flex}.log-panel summary span{color:#888}.log-panel pre{color:#d9d9d9;white-space:pre-wrap;background:#191919;max-height:260px;margin:0;padding:16px 18px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.55;overflow:auto}.app-footer{color:#777;border-top:1px solid #d5d5d5;justify-content:space-between;gap:20px;width:calc(100% - 56px);max-width:1264px;margin:auto auto 0;padding:18px 0 24px;font-size:12px;display:flex}@media (max-width:980px){.main-layout{grid-template-columns:1fr;max-width:760px}}@media (max-width:640px){.app-header{padding:12px 16px}.header-requirement{display:none}.main-layout{gap:20px;padding:20px 14px}.firmware-option{grid-template-columns:18px minmax(0,1fr)}.firmware-swatch{display:none}.firmware-name-row{flex-direction:column;gap:5px}.evidence{width:-moz-fit-content;width:fit-content}.write-scope dl,.step{grid-template-columns:1fr}.preview-stage{padding:24px 18px}.preview-device{grid-template-columns:1fr;justify-items:center}.preview-code{width:100%}.preview-checks{grid-template-columns:1fr}.step-heading{border-bottom:1px solid #dedede;border-right:0;padding:14px 16px}.step-heading>div{align-items:baseline;gap:10px;display:flex}.step-number{margin:0}.step-body{min-height:0;padding:18px 16px}.app-footer{flex-direction:column;gap:6px;width:calc(100% - 28px)}}
