:root{color-scheme:light dark;--bg: #fbfbfc;--fg: #16181d;--muted: #626875;--line: #dfe3e9;--panel: #ffffff;--accent: #2f6fed;--accent-fg: #ffffff;--ok: #17794a;--bad: #b3261e}@media(prefers-color-scheme:dark){:root{--bg: #14161a;--fg: #e8eaee;--muted: #9aa1ae;--line: #2b2f37;--panel: #1c1f25;--accent: #5b8dff;--accent-fg: #10131a;--ok: #4bbd84;--bad: #ff6b60}}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.5;-webkit-text-size-adjust:100%}#app{display:block;max-width:34rem;margin:0 auto;padding:max(1.5rem,env(safe-area-inset-top)) 1.25rem max(1.5rem,env(safe-area-inset-bottom))}#app[data-screen=install],#app[data-screen=loading],#app[data-screen=error]{min-height:100vh;display:flex;flex-direction:column;justify-content:center}#app[data-screen=product]{max-width:none;height:100vh;padding:0}.stage{display:block;width:100%;height:100%;border:0}h1{margin:0 0 .5rem;font-size:1.4rem;font-weight:600;letter-spacing:-.01em}.lead{margin:0 0 1.25rem;color:var(--muted)}.note{margin:1rem 0 0;color:var(--muted);font-size:.85rem}.steps{margin:0;padding-left:1.25rem}.steps li{margin-bottom:.5rem}.action{align-self:flex-start;min-height:44px;padding:.6rem 1.25rem;border:0;border-radius:.6rem;background:var(--accent);color:var(--accent-fg);font:inherit;font-weight:600;cursor:pointer}.action:active{opacity:.75}.spinner{width:28px;height:28px;margin:0 auto 1rem;border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}#app[data-screen=loading] .lead{margin:0;text-align:center}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation:none}}.log{width:100%;border-collapse:collapse;font-size:.8rem;background:var(--panel);border:1px solid var(--line);border-radius:.5rem}.log th,.log td{padding:.4rem .55rem;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.log tbody tr:last-child td{border-bottom:0}.log th{color:var(--muted);font-weight:600;white-space:nowrap}.log .addr{word-break:break-all}.log .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.log .outcome{white-space:nowrap;font-weight:600}.log .outcome.ok{color:var(--ok)}.log .outcome.bad{color:var(--bad)}.log .empty{color:var(--muted)}
