:root{color-scheme:light dark;--bg:#ece5d6;--bg-grid:#2f2b230d;--panel:#f7f3e8;--panel-2:#e7e0cf;--ink:#24211b;--muted:#6e6756;--line:#2f2b23;--line-soft:#c7bea8;--accent:#2f6f8f;--accent-2:#245a75;--accent-ink:#f7f3e8;--danger:#a4342a;--warn:#8a5a12;--success:#2f6b3f;--shadow:#241f1747;--log-bg:#1c1a15;--log-fg:#d8d2c2;--log-time:#8f8fa8;--log-success:#8fdcaa;--log-warn:#ffd08a;--log-error:#ffb4ab;--bar-a:#2f6f8f;--bar-b:#8ab8cc;--scroll-thumb:#5a5a72;--scroll-thumb-hover:#7a7a99;--scroll-track:#ffffff0f;--clear-line:#4a4a5e;--clear-text:#7c7c92;--radius:3px;--mono:ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;font-size:107.27%}@media (prefers-color-scheme:dark){:root{--bg:#141310;--bg-grid:#e6dec809;--panel:#1e1c17;--panel-2:#272319;--ink:#e9e3d3;--muted:#a49b84;--line:#5c5340;--line-soft:#3a352a;--accent:#7fb4cf;--accent-2:#6aa1bc;--accent-ink:#141310;--danger:#e08a80;--warn:#d9ab5e;--success:#86c295;--shadow:#000;--log-bg:#0e0d0a;--log-fg:#d8d2c2;--log-time:#8f8fa8;--log-success:#8fdcaa;--log-warn:#ffd08a;--log-error:#ffb4ab;--bar-a:#3f7d97;--bar-b:#7fb4cf;--scroll-thumb:#5a5a72;--scroll-thumb-hover:#7a7a99;--scroll-track:#ffffff0f;--clear-line:#4a4a5e;--clear-text:#7c7c92}}:root[data-palette=slate]{--bg:#e7eaf0;--bg-grid:#282e3c0d;--panel:#f3f6fb;--panel-2:#dde3ee;--ink:#1e2430;--muted:#5f6878;--line:#2a3242;--line-soft:#bcc5d6;--accent:#3653b8;--accent-2:#2b4293;--accent-ink:#f3f6fb;--danger:#b03a3a;--warn:#8a6414;--success:#2b6b52;--shadow:#1a1f2b42;--log-bg:#12161f;--log-fg:#d3d9e6;--log-time:#8a93a8;--log-success:#8fd6b4;--log-warn:#f0c674;--log-error:#f0938c;--bar-a:#3653b8;--bar-b:#8fa6e0;--scroll-thumb:#5b6478;--scroll-thumb-hover:#79839b;--scroll-track:#ffffff0f;--clear-line:#46506a;--clear-text:#8089a0}@media (prefers-color-scheme:dark){:root[data-palette=slate]{--bg:#10131a;--bg-grid:#d2dcf009;--panel:#1a1f2b;--panel-2:#232a39;--ink:#dfe5f0;--muted:#98a2b6;--line:#4a5468;--line-soft:#303948;--accent:#8aa4f0;--accent-2:#6f8ce0;--accent-ink:#10131a;--danger:#e6938c;--warn:#ddb96a;--success:#86c9a8;--shadow:#000;--log-bg:#0a0d13;--log-fg:#d3d9e6;--log-time:#8a93a8;--log-success:#8fd6b4;--log-warn:#f0c674;--log-error:#f0938c;--bar-a:#4a68c8;--bar-b:#8aa4f0;--scroll-thumb:#4a5468;--scroll-thumb-hover:#6a7690;--scroll-track:#ffffff0f;--clear-line:#3a4458;--clear-text:#8089a0}}:root[data-palette=terminal]{--bg:#e8efe4;--bg-grid:#1e32230d;--panel:#f2f7ee;--panel-2:#dde8d6;--ink:#16241a;--muted:#536b58;--line:#22331f;--line-soft:#b6c8ac;--accent:#1f7a3d;--accent-2:#16602f;--accent-ink:#f2f7ee;--danger:#a4302a;--warn:#7a5a12;--success:#1f7a3d;--shadow:#14231a42;--log-bg:#0d1a12;--log-fg:#c7e6cf;--log-time:#6f9a7c;--log-success:#79e0a0;--log-warn:#ffd98a;--log-error:#ff9a90;--bar-a:#1f7a3d;--bar-b:#79c28e;--scroll-thumb:#3d5d46;--scroll-thumb-hover:#587a61;--scroll-track:#ffffff0f;--clear-line:#2f4a38;--clear-text:#6f9a7c}@media (prefers-color-scheme:dark){:root[data-palette=terminal]{--bg:#0a140d;--bg-grid:#96dcaa0a;--panel:#101f15;--panel-2:#16291b;--ink:#d3ecd8;--muted:#8fae97;--line:#3a5c43;--line-soft:#213a28;--accent:#59d98a;--accent-2:#3fbf70;--accent-ink:#0a140d;--danger:#f08a80;--warn:#e6c468;--success:#6fdc95;--shadow:#000;--log-bg:#06100a;--log-fg:#c7e6cf;--log-time:#6f9a7c;--log-success:#79e0a0;--log-warn:#ffd98a;--log-error:#ff9a90;--bar-a:#2f9a55;--bar-b:#59d98a;--scroll-thumb:#2f4a38;--scroll-thumb-hover:#4a6a53;--scroll-track:#ffffff0f;--clear-line:#254030;--clear-text:#6f9a7c}}:root[data-palette=amber]{--bg:#f0e6d2;--bg-grid:#3c280f0d;--panel:#faf2e2;--panel-2:#ecdfc6;--ink:#2c2010;--muted:#75602f;--line:#3a2c14;--line-soft:#d3c09b;--accent:#b56a12;--accent-2:#94540c;--accent-ink:#faf2e2;--danger:#a4362a;--warn:#96610e;--success:#5f6f1c;--shadow:#2a1f0e42;--log-bg:#1c150a;--log-fg:#e6d7b4;--log-time:#a08a5c;--log-success:#c8d17a;--log-warn:#ffc061;--log-error:#ff9a80;--bar-a:#b56a12;--bar-b:#e0a85c;--scroll-thumb:#6b562e;--scroll-thumb-hover:#8c7440;--scroll-track:#ffffff0f;--clear-line:#4a3a1c;--clear-text:#a08a5c}@media (prefers-color-scheme:dark){:root[data-palette=amber]{--bg:#150f06;--bg-grid:#f0c8820a;--panel:#221809;--panel-2:#2e2110;--ink:#f0e2c4;--muted:#b39b68;--line:#5e4820;--line-soft:#3a2c14;--accent:#e0a13a;--accent-2:#c8872a;--accent-ink:#150f06;--danger:#ef8f7a;--warn:#e6b95e;--success:#a7b96a;--shadow:#000;--log-bg:#0e0a04;--log-fg:#e6d7b4;--log-time:#a08a5c;--log-success:#c8d17a;--log-warn:#ffc061;--log-error:#ff9a80;--bar-a:#b57821;--bar-b:#e0a13a;--scroll-thumb:#5e4820;--scroll-thumb-hover:#80662f;--scroll-track:#ffffff0f;--clear-line:#3a2c14;--clear-text:#a08a5c}}:root[data-palette=rose]{--bg:#f3e7e9;--bg-grid:#5028370b;--panel:#fbf3f5;--panel-2:#eddbe0;--ink:#2e1f24;--muted:#7a5a64;--line:#3d2830;--line-soft:#d8bcc4;--accent:#b04a6a;--accent-2:#943a56;--accent-ink:#fbf3f5;--danger:#a4342a;--warn:#8a5a12;--success:#2f6b3f;--shadow:#2a1a2042;--log-bg:#1e1418;--log-fg:#e3d2d8;--log-time:#a08a92;--log-success:#8fdcaa;--log-warn:#ffd08a;--log-error:#ffb4ab;--bar-a:#b04a6a;--bar-b:#e0a0b4;--scroll-thumb:#6b4a55;--scroll-thumb-hover:#8c6472;--scroll-track:#ffffff0f;--clear-line:#4a3038;--clear-text:#a08a92}:root[data-palette=mono]{--bg:#e9e9e9;--bg-grid:#0000000a;--panel:#f6f6f6;--panel-2:#e0e0e0;--ink:#1a1a1a;--muted:#666;--line:#222;--line-soft:#c4c4c4;--accent:#8a1f1f;--accent-2:#6f1616;--accent-ink:#f6f6f6;--danger:#a01818;--warn:#7a5a12;--success:#2f6b3f;--shadow:#11111142;--log-bg:#141414;--log-fg:#d8d8d8;--log-time:#8a8a8a;--log-success:#9ed6a8;--log-warn:#e6c46a;--log-error:#f09a90;--bar-a:#444;--bar-b:#9a9a9a;--scroll-thumb:#777;--scroll-thumb-hover:#999;--scroll-track:#00000014;--clear-line:#555;--clear-text:#8a8a8a}@media (prefers-color-scheme:dark){:root[data-palette=mono]{--bg:#0f0f0f;--bg-grid:#ffffff08;--panel:#1b1b1b;--panel-2:#262626;--ink:#e8e8e8;--muted:#a0a0a0;--line:#4a4a4a;--line-soft:#333;--accent:#e07a7a;--accent-2:#c86060;--accent-ink:#0f0f0f;--danger:#e08a8a;--warn:#d9b96a;--success:#8fc99a;--shadow:#000;--log-bg:#0a0a0a;--log-fg:#d8d8d8;--log-time:#8a8a8a;--log-success:#9ed6a8;--log-warn:#e6c46a;--log-error:#f09a90;--bar-a:#888;--bar-b:#d0d0d0;--scroll-thumb:#555;--scroll-thumb-hover:#777;--scroll-track:#ffffff0f;--clear-line:#444;--clear-text:#8a8a8a}}*{box-sizing:border-box}body{background-color:var(--bg);background-image:linear-gradient(var(--bg-grid) 1px, transparent 1px), linear-gradient(90deg, var(--bg-grid) 1px, transparent 1px);min-height:100vh;color:var(--ink);background-size:26px 26px;margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif}.app{flex-direction:column;gap:1.15rem;max-width:980px;margin:0 auto;padding:1.75rem 1rem 4rem;display:flex}.nav{border-bottom:2px solid var(--line);align-items:flex-end;gap:.3rem;padding:0 .35rem;display:flex}.nav button{background:var(--panel-2);color:var(--muted);box-shadow:none;border-radius:7px 7px 0 0;margin-bottom:-2px;position:relative}.nav button:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 12%, var(--panel-2));transform:none}.nav button.active{background:var(--bg);color:var(--ink);border-bottom-color:var(--bg);border-top-color:var(--accent);z-index:2}.topbar{flex-direction:column;gap:.6rem;display:flex}.topbar-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.palette{border:2px solid var(--line-soft);border-radius:var(--radius);background:color-mix(in srgb, var(--panel-2) 55%, transparent);flex-wrap:wrap;gap:.3rem;padding:.2rem;display:flex}.palette button{box-shadow:none;color:var(--muted);background:0 0;border-color:#0000;padding:.3rem .55rem;font-size:.68rem}.palette button:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--ink);transform:none}.palette button.active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}@media (width<=640px){.topbar-head{flex-direction:column;align-items:stretch}.palette{grid-template-columns:repeat(3,1fr);width:100%;display:grid}.palette button{text-align:center}}.topbar h1{font-family:var(--mono);letter-spacing:.045em;text-transform:uppercase;margin:0;font-size:1.42rem;font-weight:700}.subtitle{color:var(--muted);margin:.4rem 0 0;font-size:.88rem}.setup{border:2px solid var(--line-soft);border-radius:var(--radius);background:color-mix(in srgb, var(--panel-2) 55%, transparent);color:var(--muted);padding:0}.setup summary{cursor:pointer;font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;padding:.55rem .75rem;font-size:.76rem}.setup[open] summary{padding-bottom:.4rem}.setup ul{flex-direction:column;gap:.3rem;margin:0;padding:0 .85rem .65rem 1.9rem;font-size:.84rem;display:flex}.grid{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));align-items:start;gap:1.1rem;display:grid}.card{background:var(--panel);border:2px solid var(--line);border-radius:var(--radius);box-shadow:4px 4px 0 var(--shadow);flex-direction:column;gap:.6rem;padding:.9rem 1rem 1rem;display:flex}.card h2{font-family:var(--mono);text-transform:uppercase;letter-spacing:.13em;color:var(--muted);border-bottom:2px solid var(--line-soft);margin:0;padding-bottom:.45rem;font-size:.78rem;font-weight:700}.card h3{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0;font-size:.74rem}.card.combined{gap:0;padding:1.1rem 1.1rem 1rem}.combined .panes{grid-template-columns:1fr 1fr;gap:0;display:grid}.combined .pane{min-width:0;padding:0 1.2rem;position:relative}.combined .pane:first-child{padding-left:0}.combined .pane:last-child{padding-right:0}.combined .pane+.pane:before{content:"";background:var(--line-soft);width:2px;position:absolute;top:.2rem;bottom:.2rem;left:0}.combined .pane>.card,.combined>.card{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.combined>.progress{border-top:2px dashed var(--line-soft);margin-top:1rem;padding-top:.9rem}@media (width<=720px){.combined .panes{grid-template-columns:1fr}.combined .pane{padding:0}.combined .pane+.pane{border-top:2px dashed var(--line-soft);margin-top:.9rem;padding-top:.9rem}.combined .pane+.pane:before{display:none}}.device .checks{border-top:0;padding-top:0}@media (width>=760px){.device .checks{border-top:1px dashed var(--line-soft);grid-template-columns:1fr 1fr;column-gap:1.6rem;padding-top:.6rem;display:grid}.device .checks h3{grid-column:1/-1}.device .info{border-top:1px dashed var(--line-soft);grid-template-columns:repeat(2,minmax(0,auto) minmax(0,1fr));gap:.4rem 1.4rem;padding-top:.6rem}}.row{align-items:center;gap:.5rem;display:flex}.row.wrap{flex-wrap:wrap}.row.end{justify-content:flex-end}.row.space-between{justify-content:space-between;align-items:center}button{font-family:var(--mono);text-transform:uppercase;letter-spacing:.055em;border-radius:var(--radius);border:2px solid var(--line);background:var(--panel-2);color:var(--ink);cursor:pointer;box-shadow:2px 2px 0 var(--shadow);padding:.5rem .85rem;font-size:.76rem;transition:background .12s,transform 40ms,box-shadow 40ms}button:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 16%, var(--panel-2))}button:active:not(:disabled){box-shadow:none;transform:translate(2px,2px)}button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}button.primary{background:var(--accent);border-color:var(--line);color:var(--accent-ink)}button.primary:hover:not(:disabled){background:var(--accent-2)}button.danger{border-color:var(--danger);color:var(--danger);background:color-mix(in srgb, var(--danger) 10%, var(--panel-2))}button.danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 22%, var(--panel-2))}:focus-visible{outline:2px dashed var(--accent);outline-offset:2px}input[type=text],select{font:inherit;border-radius:var(--radius);border:2px solid var(--line);background:var(--panel);color:inherit;width:100%;padding:.42rem .55rem;font-size:.86rem}input[type=checkbox]{accent-color:var(--accent);width:.95rem;height:.95rem}.field,.check{align-items:center;gap:.5rem;display:flex}.field{flex-direction:column;align-items:stretch;gap:.25rem}.field>span{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.7rem}.fieldset{border:2px solid var(--line-soft);border-radius:var(--radius);flex-direction:column;gap:.4rem;margin:0;padding:.6rem .8rem .75rem;display:flex}.fieldset legend{font-family:var(--mono);text-transform:uppercase;letter-spacing:.09em;color:var(--muted);padding:0 .35rem;font-size:.7rem}.fieldset label{align-items:center;gap:.5rem;font-size:.86rem;display:flex}.grid-3{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem;display:grid}.grid-4{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:.55rem;display:grid}.checks{border-top:1px dashed var(--line-soft);flex-direction:column;gap:.3rem;padding-top:.5rem;display:flex}.checks h3{margin:.1rem 0 .2rem}.check{grid-template-columns:1rem minmax(0,auto) minmax(0,1fr);align-items:baseline;gap:.45rem;margin:0;font-size:.84rem;display:grid}.check>*{overflow-wrap:anywhere;min-width:0}.check-mark{font-weight:700;font-family:var(--mono)}.check-pass .check-mark{color:var(--success)}.check-fail .check-mark{color:var(--danger)}.check-detail{color:var(--muted)}.raw{border-top:1px dashed var(--line-soft);padding-top:.4rem}.raw summary{cursor:pointer;font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.72rem}.raw code{word-break:break-all;color:var(--ink);margin-top:.4rem;font-size:.78rem;display:block}.info{grid-template-columns:minmax(0,auto) minmax(0,1fr);gap:.32rem .9rem;margin:0;display:grid}.info dt{font-family:var(--mono);text-transform:uppercase;letter-spacing:.055em;color:var(--muted);overflow-wrap:anywhere;min-width:0;padding-top:.05rem;font-size:.71rem}.info dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;min-width:0;margin:0;font-size:.86rem}.actions{grid-template-columns:1fr;gap:.5rem;display:grid}.actions button{width:100%}.hint{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:.82rem;line-height:1.45}.status{color:var(--muted);font-family:var(--mono);text-transform:uppercase;letter-spacing:.05em;font-size:.76rem}.banner{border:2px solid var(--line);border-radius:var(--radius);background:var(--panel-2);border-left-width:6px;margin:0;padding:.5rem .7rem;font-size:.84rem;line-height:1.4}.banner.error{border-left-color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, var(--panel));color:var(--danger)}.banner.warn{border-left-color:var(--warn);background:color-mix(in srgb, var(--warn) 14%, var(--panel));color:var(--warn)}.progress .bar{border:2px solid var(--line);border-radius:var(--radius);background:var(--panel-2);height:1.15rem;padding:2px;overflow:hidden;box-shadow:inset 0 1px 2px #0000002e}.progress .bar-fill{background-image:repeating-conic-gradient(from 45deg, var(--bar-a) 0% 25%, var(--bar-b) 25% 50%);background-size:12px 12px;height:100%;transition:width .15s linear;animation:1.1s linear infinite bar-scroll}@keyframes bar-scroll{0%{background-position:0 0}to{background-position:12px 0}}@media (prefers-reduced-motion:reduce){.progress .bar-fill{animation:none}}.progress .row strong{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;font-size:.82rem}.progress .row>span{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--muted);font-size:.82rem}.log{background:var(--log-bg);height:15rem;color:var(--log-fg);border:2px solid var(--line);border-radius:var(--radius);overscroll-behavior:contain;font-family:var(--mono);padding:.6rem .75rem;font-size:.78rem;line-height:1.5;position:relative;overflow-y:scroll}.log-tail{flex:none}.log::-webkit-scrollbar,.modal::-webkit-scrollbar{width:3px;height:3px}.log::-webkit-scrollbar-track,.modal::-webkit-scrollbar-track{background:var(--scroll-track);border-radius:2px}.log::-webkit-scrollbar-thumb,.modal::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:2px}.log::-webkit-scrollbar-thumb:hover,.modal::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-hover)}.log::-webkit-scrollbar-button,.modal::-webkit-scrollbar-button{width:0;height:0;display:none}.log::-webkit-scrollbar-corner,.modal::-webkit-scrollbar-corner{background:0 0}.log-clear{border-top:1px dashed var(--clear-line);margin:.4rem 0;padding-top:.25rem}.log-clear span{letter-spacing:.12em;text-transform:uppercase;color:var(--clear-text);font-size:.68rem}.log-line{white-space:pre-wrap;word-break:break-word;margin:0 0 .15rem}.log-time{color:var(--log-time)}.log-success{color:var(--log-success)}.log-warn{color:var(--log-warn)}.log-error{color:var(--log-error)}.hidden{display:none}.modal-backdrop{z-index:10;background:#14110c99;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:var(--panel);border:2px solid var(--line);border-radius:var(--radius);width:min(440px,100%);max-height:90vh;box-shadow:6px 6px 0 var(--shadow);flex-direction:column;gap:.65rem;padding:1rem 1.1rem 1.1rem;display:flex;overflow-y:auto}.modal h3{font-family:var(--mono);text-transform:uppercase;letter-spacing:.11em;color:var(--ink);border-bottom:2px solid var(--line-soft);margin:0;padding-bottom:.5rem;font-size:.82rem}.modal.wide{width:min(580px,100%)}
