:root{--fg:#1d1d1f;--bg:#f6f5f2;--card:#fff;--mut:#6f6c66;--line:#d3d0c8;--warn:#8a4b00;--err:#a3201b;--ok:#1f6b2c;--btn:#1d1d1f;--btn-fg:#fff}@media (prefers-color-scheme:dark){:root{--fg:#ecebe7;--bg:#18181a;--card:#232326;--mut:#a8a59e;--line:#3a3a3e;--warn:#f0b35a;--err:#ff8a80;--ok:#8fd19e;--btn:#ecebe7;--btn-fg:#18181a}}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}main{max-width:640px;margin:0 auto;padding:32px 16px 48px}footer.links{flex-wrap:wrap;gap:8px 20px;max-width:640px;margin:0 auto;padding:0 16px 32px;font-size:14px;display:flex}h1{margin:0 0 4px;font-size:26px}h2{margin:0 0 8px;font-size:17px}p{margin:0 0 10px}code{overflow-wrap:anywhere;font:14px ui-monospace,SF Mono,Menlo,monospace}.mut{color:var(--mut);font-size:14px}.warn{color:var(--warn)}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;margin:16px 0;padding:16px 18px}.status:empty{display:none}.status.ok{color:var(--ok)}.status.bad,.error-text{color:var(--err)}.error-text:empty{display:none}button{background:var(--btn);color:var(--btn-fg);cursor:pointer;border:0;border-radius:10px;margin:4px 0 8px;padding:10px 18px;font:600 15px system-ui,sans-serif}button:disabled{opacity:.35;cursor:not-allowed}button.secondary{color:var(--fg);border:1px solid var(--line);background:0 0}.check{align-items:center;gap:8px;margin-top:8px;font-size:14px;display:flex}input[type=file]{max-width:100%;margin:8px 0;display:block}progress{width:100%;height:14px}pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:260px;font:12px/1.4 ui-monospace,Menlo,monospace;overflow:auto}a{color:inherit}dialog{border:1px solid var(--line);background:var(--card);color:var(--fg);border-radius:12px;max-width:min(520px,100vw - 32px);padding:20px}dialog::backdrop{background:#0006}dialog ul{margin:0 0 10px;padding-left:20px}.buttons{justify-content:flex-end;gap:8px;display:flex}.lead{font-size:17px}h3{margin:0 0 8px;font-size:17px}figure{margin:0}figure img{border:1px solid var(--line);border-radius:6px;width:100%;height:auto;display:block}figcaption{color:var(--mut);margin-top:4px;font-size:14px}.field{margin-top:8px;font-size:14px;display:block}#wifi-form input{border:1px solid var(--line);background:var(--bg);width:min(320px,100%);color:var(--fg);border-radius:8px;margin:4px 0;padding:8px 10px;font:15px system-ui,sans-serif;display:block}.tech{margin:32px 0 0}.tech summary{cursor:pointer}.tech summary h2{font-size:17px;display:inline}.tech ul{padding-left:20px;font-size:14px}#install-h{font-size:20px}.device-row{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-bottom:14px;padding:10px 0;display:flex}.status-inline{color:var(--mut);margin-left:6px;font-size:14px}.status-inline.ok{color:var(--ok)}.status-inline.bad{color:var(--err)}.install-row{flex-wrap:wrap;align-items:center;gap:4px 16px;display:flex}.install-row .check{margin-top:0}button.primary{padding:12px 22px;font-size:16px}.tasks{margin:4px 0 10px;padding:0;font-size:14px;list-style:none}.tasks li{padding:4px 0 4px 24px;position:relative}.tasks li:before{content:"○";color:var(--mut);position:absolute;left:4px}.tasks li[data-state=running]:before{content:"◐";color:var(--fg)}.tasks li[data-state=done]:before{content:"✓";color:var(--ok)}.tasks li[data-state=failed]:before{content:"✕";color:var(--err)}.prog{align-items:center;gap:10px;margin-top:4px;display:flex}.prog progress{flex:1}.files{display:block}.files:empty{display:none}.advanced{border-top:1px solid var(--line);margin-top:16px;padding-top:10px;font-size:14px}.advanced summary,.log summary{cursor:pointer}.advanced h3{margin:12px 0 4px;font-size:15px}.log{margin:12px 0 0}.device-pick{border:0;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:0 0 6px;padding:0;display:grid}.device-pick legend{color:var(--mut);margin-bottom:6px;padding:0;font-size:14px}.tile{cursor:pointer;border:1px solid var(--line);background:var(--bg);border-radius:12px;padding:12px 14px;display:block;position:relative}#device-pick input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.tile b{font-size:15px;display:block}.tile:has(input:checked){border:2px solid var(--fg);padding:11px 13px}.tile:has(input:focus-visible){outline:2px solid var(--fg);outline-offset:2px}.verified{color:var(--mut);font-size:13px;display:block}.verified .badge{background:var(--ok);width:14px;height:14px;color:var(--card);vertical-align:-2px;border-radius:50%;place-items:center;font-size:10px;font-weight:700;line-height:1;display:inline-grid}.device-info{color:var(--mut);font-size:13px;display:block}.device-info:empty{display:none}.carousel{margin:20px 0 8px}.slides{display:grid}.slide{opacity:0;visibility:hidden;grid-area:1/1;transition:opacity .8s,visibility .8s}.slide.active{opacity:1;visibility:visible}.slides:not(:has(.active)) .slide:first-child{opacity:1;visibility:visible}.dots{justify-content:center;gap:4px;margin-top:6px;display:flex}.dot{background:0 0;border-radius:50%;width:24px;height:24px;margin:0;padding:0;position:relative}.dot:after{content:"";background:var(--line);border-radius:50%;position:absolute;inset:8px}.dot[aria-current=true]:after{background:var(--fg)}@media (prefers-reduced-motion:reduce){.slide{transition:none}}#version-select{border:1px solid var(--line);background:var(--bg);color:var(--fg);border-radius:8px;margin:2px 0 10px;padding:6px 10px;font:15px system-ui,sans-serif}
