@font-face{font-family:PPMori;font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/PPMori-Medium.ttf)format("truetype")}@font-face{font-family:PPMori;font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/PPMori-SemiBold.ttf)format("truetype")}@font-face{font-family:PPMori;font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/PPMori-Bold.ttf)format("truetype")}:root{--font:"PPMori", "Inter", system-ui, sans-serif;--mono:ui-monospace, Consolas, monospace;--page:#f9f6f0;--sheet:#fff;--ink:#1d212f;--ink-2:#343434;--muted:#585c69;--faint:#6c707c;--panel:#f6f2ea;--line:#ece6da;--box:#8b8f9a;--focus:#3b5bb0;--problem:#c4302b;--problem-tint:#fbdcda;--caution-tint:#ffedc7;--caution-ink:#7a4d0c;--pass-ink:#1f6e47;--blue-bright:#82d0ff;--blue-deep:#439fe1;--green-deep:#2e9e68;--r-sheet:24px;--r-panel:20px;--r-tile:14px;--r-box:8px;--r-pill:100px;--shadow-sheet:0 2px 12px #1d212f12;--ease:cubic-bezier(.16, 1, .3, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{background:var(--page)}body{background:var(--page);color:var(--ink-2);font:500 15px/1.5 var(--font);-webkit-font-smoothing:antialiased;margin:0}#app{background:var(--sheet);border-radius:var(--r-sheet);width:min(1180px,100% - 48px);box-shadow:var(--shadow-sheet);margin:24px auto;padding:40px clamp(16px,4vw,56px) 56px}@media (width<=560px){#app{width:calc(100% - 16px);margin:8px auto;padding:24px 16px 32px}}h1,h2,h3,.lead,.headline,.why,.note,.stamp{text-wrap:balance}p,li,dd,dt,legend{text-wrap:pretty}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}[tabindex="-1"]:focus{outline:none}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.top{align-items:center;gap:12px;margin:0 0 28px;display:flex}.top .mark{flex:none;width:32px;height:32px}.top h1{letter-spacing:-.3px;color:var(--ink);margin:0;font-size:22px;font-weight:700}.stamp{color:var(--muted);margin:-16px 0 28px;font-size:14px}.lead{letter-spacing:-.2px;color:var(--ink);margin:0 0 6px;font-size:18px;font-weight:500;line-height:1.45}.env{color:var(--muted);margin:0 0 32px;font-size:14px}.error{color:var(--problem)}button{font:600 15px/1 var(--font);cursor:pointer}.actions button,.run-row button,.answers button,.address button,.tone button,.voice button{border-radius:var(--r-pill);border:1.5px solid var(--ink);background:var(--sheet);color:var(--ink);padding:12px 24px}button.primary{background:var(--ink);color:#fff}button:disabled{opacity:.45;cursor:not-allowed}.answers button{border-color:var(--box);padding:6px 14px;font-size:13px}.address button{padding:6px 14px;font-size:13px}#app:has(.intro-cols){position:relative;overflow:hidden}.intro-cols>div{z-index:1;position:relative}.questions{gap:24px;margin:0 0 32px;display:grid}fieldset{border:0;min-width:0;margin:0;padding:0}legend{letter-spacing:-.3px;color:var(--ink);margin:0 0 14px;padding:0;font-size:22px;font-weight:600;line-height:1.25}.later{visibility:hidden;opacity:0;transform:translateY(12px)}.questions fieldset,.run-row{transition:opacity .36s var(--ease), transform .36s var(--ease)}.pills{isolation:isolate;border-radius:22px;flex-wrap:wrap;gap:8px;display:inline-flex;position:relative}.pills .thumb{z-index:0;border-radius:var(--r-pill);background:var(--ink);opacity:0;pointer-events:none;transition:transform .36s var(--ease), width .36s var(--ease), height .36s var(--ease), opacity .2s ease;position:absolute;top:0;left:0}.pills .thumb.still{transition:none}.choice{border-radius:var(--r-pill);color:var(--ink-2);cursor:pointer;align-items:center;padding:9px 18px;transition:color .26s;display:inline-flex;position:relative}.choice:before{content:"";z-index:-1;border-radius:inherit;background:var(--panel);position:absolute;inset:0}.choice input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.choice:has(input:checked){color:#fff}.choice:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.questions fieldset:not(.later):not(:has(input:checked)) .pills:before{content:"";z-index:-1;border-radius:inherit;pointer-events:none;opacity:.6;animation:ask-ping 4.8s var(--ease) infinite;position:absolute;inset:0}@keyframes ask-ping{0%{box-shadow:0 0 #439fe18c}to{box-shadow:0 0 0 22px #439fe100}}.run-row{flex-wrap:wrap;align-items:center;gap:12px 16px;display:flex}.run-row .note{color:var(--muted);margin:0;font-size:14px}.scope{pointer-events:none;width:480px;position:absolute;top:-185px;right:-185px}.scope svg{width:100%;height:auto;display:block}@media (width<=1000px){.scope{width:320px;top:-160px;right:-160px}}@media (width<=800px){.scope{width:130px;top:-65px;right:-65px}}.scope .ping{transform-origin:200px 200px;opacity:0;animation:scope-ping 4.8s var(--ease) infinite}@keyframes scope-ping{0%{opacity:.55;transform:scale(.2)}to{opacity:0;transform:scale(2.8)}}.checks{border-top:1px solid var(--line);margin:24px 0 28px;padding:0;list-style:none}.checks li{border-bottom:1px solid var(--line);color:var(--ink);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 0;font-size:15px;display:grid}.checks .status{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;font-size:14px}.checks .mark{border-radius:50%;flex:none;width:22px;height:22px;position:relative}.checks [data-state=running] .mark{border:2px solid var(--ink)}.checks [data-state=running] .mark:before{content:"";background:var(--ink);border-radius:50%;position:absolute;inset:5px}.checks [data-state=running] .mark:after{content:"";border:2px solid var(--ink);animation:ping 1.6s var(--ease) infinite;border-radius:50%;position:absolute;inset:-2px}.checks [data-state=running] .status{color:var(--ink)}.checks [data-state=done] .mark{background:var(--ink)}.checks [data-state=done] .mark:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:4px;height:9px;position:absolute;top:4px;left:8px;transform:rotate(45deg)}.checks [data-state=failed] .mark{background:var(--caution-tint);border:1.5px solid var(--caution-ink)}.checks [data-state=failed] .mark:before,.checks [data-state=failed] .mark:after{content:"";background:var(--caution-ink);border-radius:2px;width:2.5px;margin-left:-1.25px;position:absolute;left:50%}.checks [data-state=failed] .mark:before{height:8px;top:calc(50% - 6px)}.checks [data-state=failed] .mark:after{height:2.5px;top:calc(50% + 3.5px)}.checks [data-state=failed] .status{color:var(--caution-ink)}@keyframes ping{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(1.9)}}.prompt{border-radius:var(--r-panel);background:var(--ink);color:#fff;margin:20px 0 8px;padding:20px 24px}.prompt[hidden]{display:none}.prompt-head{align-items:center;gap:12px;margin:0 0 12px;display:flex}.prompt-head p{color:#fff;margin:0;font-size:18px;font-weight:600;line-height:1.25}.disc{background:#fff;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;display:grid;position:relative}.disc svg{width:20px;height:20px;fill:var(--ink);stroke:var(--ink);display:block}.disc .ring{animation:ping 1.6s var(--ease) infinite;border:2px solid #fff;border-radius:50%;position:absolute;inset:0}.meter{border-radius:var(--r-pill);background:#ffffff29;height:10px;overflow:hidden}.meter-bar{border-radius:var(--r-pill);background:var(--blue-bright);width:0;height:100%;transition:width 50ms linear}.countdown{color:#ffffffb8;font-variant-numeric:tabular-nums;margin:8px 0 0;font-size:13px}.tone .buttons,.voice .buttons{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tone button,.voice button{color:#fff;background:0 0;border-color:#ffffffb3}.tone button.yes,.voice button.yes{color:var(--ink);background:#fff;border-color:#fff}.tone button.again,.voice button.again{text-underline-offset:3px;border-color:#0000;text-decoration:underline}.tone .address-status{color:#ffffffb8}.prompt :focus-visible{outline-color:var(--blue-bright)}.prompt-why{color:#ffffffc7;margin:0;font-size:14px}.disc svg [fill=none]{fill:none}.cols{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:48px;display:grid}.side{border-left:1px solid var(--line);padding-left:32px}.side .checks{margin-top:0}.side .checks li{grid-template-columns:auto minmax(0,1fr);padding:8px 0;font-size:13px}.side .checks .status{text-align:left;grid-column:2;font-size:13px}@media (width<=900px){.cols,.intro-cols{grid-template-columns:minmax(0,1fr);gap:32px}.side{border-left:0;border-top:1px solid var(--line);padding-top:28px;padding-left:0}}.verdict{border-radius:var(--r-panel);background:var(--panel);margin:0 0 32px;padding:28px 32px}.verdict h2{letter-spacing:1px;text-transform:uppercase;color:var(--muted);border-radius:var(--r-pill);margin:0 0 8px;font-size:12px;font-weight:700;display:inline-flex}.verdict .headline{letter-spacing:-.6px;color:var(--ink);margin:0 0 10px;font-size:26px;font-weight:600;line-height:1.15}.verdict .why,.verdict .warn{color:var(--ink-2);margin:0;font-size:15px}.verdict .warn{margin-top:6px}.verdict.passes h2{color:var(--pass-ink)}.verdict.wait,.verdict.re-run{background:var(--caution-tint)}.verdict.wait h2,.verdict.re-run h2{color:var(--caution-ink)}.verdict.blocked,.verdict.no_internet,.verdict.mic,.verdict.speaker,.verdict.bluetooth,.verdict.unstable{background:var(--problem-tint)}.verdict.blocked h2,.verdict.no_internet h2,.verdict.mic h2,.verdict.speaker h2,.verdict.bluetooth h2,.verdict.unstable h2{background:var(--problem);color:#fff;padding:5px 12px}@media (width<=560px){.verdict{padding:20px 18px}.verdict .headline{font-size:21px}}.answers{flex-wrap:wrap;align-items:center;gap:8px 16px;margin:0 0 24px;display:flex}.answers p{color:var(--muted);margin:0;font-size:14px}h3{letter-spacing:-.2px;color:var(--ink);margin:0 0 12px;font-size:16px;font-weight:600}.steps{margin:0 0 24px;padding:0;list-style:none}.steps li{border-bottom:1px solid var(--line);padding:12px 0;display:list-item}.steps .step{color:var(--ink);align-items:flex-start;gap:14px;font-size:15px;line-height:1.5;display:flex}.steps .step input:checked+label{color:var(--faint)}.steps .address{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 0 42px;display:flex}.steps .address code{font:14px var(--mono);background:var(--panel);border:1px solid var(--line);border-radius:var(--r-box);overflow-wrap:anywhere;padding:4px 8px}.address-status{color:var(--muted);font-size:13px}input[type=checkbox]{appearance:none;border:1.5px solid var(--box);border-radius:var(--r-box);background:var(--sheet);cursor:pointer;flex:none;place-items:center;width:28px;height:28px;margin:0;display:grid;position:relative}input[type=checkbox]:before{content:attr(data-n);font:600 12px/1 var(--font);color:var(--ink-2)}input[type=checkbox]:checked{background:var(--ink);border-color:var(--ink)}input[type=checkbox]:checked:before{content:none}input[type=checkbox]:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:10px;position:absolute;top:3.9px;left:8.6px;transform:rotate(45deg)}input[type=checkbox]:disabled{cursor:default;opacity:1}.actions{flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 32px;display:flex}.verdict .share-row{flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:20px;display:flex}button.share{white-space:nowrap;border-radius:var(--r-pill);border:1.5px solid var(--ink);flex:none;align-items:center;gap:8px;padding:15px 30px;font-size:17px;display:inline-flex}button.share .tick{margin:-2px 0;display:inline-flex;transform:translateY(-1px)}button.share .saving-ring{border:2px solid #fff;border-radius:50%;width:12px;height:12px;position:relative;transform:translateY(-1px)}button.share .saving-ring:after{content:"";animation:ping 1.6s var(--ease) infinite;border:2px solid #fff;border-radius:50%;position:absolute;inset:-2px}.verdict .share-result{flex:16em;min-width:0;font-size:15px}.share-result{flex-basis:100%;margin-top:4px}.verdict .share-result{margin-top:0}.share-result[hidden]{display:none}.share-result .copied{overflow-wrap:anywhere;margin:0 0 4px}.share-link{color:var(--ink);text-underline-offset:3px;border-radius:2px;font-weight:600;text-decoration:underline}.share-link:hover{color:var(--muted)}.details h3{margin-top:8px}.details h4{letter-spacing:.8px;text-transform:uppercase;color:var(--muted);margin:20px 0 6px;font-size:12px;font-weight:700}.details .rows{border-top:1px solid var(--line);margin:0;padding-top:6px}.details .row{grid-template-columns:minmax(0,1fr) auto;column-gap:12px;padding:3px 0;font-size:13px;display:grid}.details dt{color:var(--ink-2);grid-area:1/1}.details dd{color:var(--ink);text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;grid-area:1/2;margin:0}.details .row.bad dd:not(.limit){color:var(--problem);grid-row:1/span 2;align-self:center;font-weight:700}.details .limit{text-align:left;color:var(--muted);grid-area:2/1;font-size:12px}.details p{color:var(--muted);font-size:13px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.scope .ping{opacity:.2}.questions fieldset:not(.later):not(:has(input:checked)) .pills:before{box-shadow:0 0 0 6px #439fe14d}}.timer{margin:10px 0 0 42px;display:flex}.timer>*{display:none}.timer[data-state=idle] .timer-start,.timer[data-state=asking] .timer-ask,.timer[data-state=counting] .timer-live,.timer[data-state=done] .timer-done{display:inline-flex}.timer button,.timer-text{font:600 13px/1 var(--font)}.timer-start,.timer-pill{border-radius:var(--r-pill);background:var(--ink);color:#fff;align-items:center;height:32px}.timer-start{border:0;padding:0 16px}.timer-pill{isolation:isolate;gap:8px;padding:0 4px 0 16px;position:relative;overflow:hidden}.timer-text{z-index:1;color:#fff;white-space:nowrap;position:relative}.timer-pill button{z-index:1;border-radius:var(--r-pill);color:#fff;background:0 0;border:1.5px solid #fff9;height:24px;padding:0 12px;position:relative}.timer-pill button.timer-yes{color:var(--ink);background:#fff;border-color:#fff}.timer-pill :focus-visible{outline-color:var(--blue-bright)}.timer>.timer-announce{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;display:block;position:absolute;overflow:hidden}.timer-num{vertical-align:bottom;text-align:right;font-variant-numeric:tabular-nums;min-width:2ch;height:13px;display:inline-block;position:relative;overflow:hidden}.timer-num .digit{position:absolute;top:0;right:0}.timer-num .digit.now{animation:digit-in .42s var(--ease)}.timer-num .digit.gone{animation:digit-out .42s var(--ease) forwards}@keyframes digit-in{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:none}}@keyframes digit-out{to{opacity:0;transform:translateY(-100%)}}.timer-line{z-index:0;background:var(--blue-bright);transform-origin:0;height:3px;transition:transform 1s linear;position:absolute;bottom:0;left:0;right:0}@media (forced-colors:active){.pills .thumb,.choice:before{display:none}.choice{forced-color-adjust:none;color:canvastext;background:canvas;border:1px solid canvastext}.choice:has(input:checked){color:highlighttext;background:highlight;border-color:highlight}input[type=checkbox]{forced-color-adjust:none;background:canvas;border-color:canvastext}input[type=checkbox]:before{color:canvastext}input[type=checkbox]:checked{background:highlight;border-color:highlight}input[type=checkbox]:checked:after{border-color:highlighttext}.checks .mark{forced-color-adjust:none}.checks [data-state] .mark{background:canvas;border:2px solid canvastext}.checks [data-state=running] .mark:before,.checks [data-state=failed] .mark:before,.checks [data-state=failed] .mark:after{background:canvastext}.checks [data-state=running] .mark:after{border-color:canvastext}.checks [data-state=done] .mark{background:canvastext}.checks [data-state=done] .mark:after{border-color:canvas}.prompt,.verdict,.meter,.timer-start,.timer-pill{border:1px solid canvastext}.meter-bar,.timer-line{forced-color-adjust:none;background:highlight}.disc{forced-color-adjust:none;background:canvas;border:1px solid canvastext}.disc svg{fill:canvastext;stroke:canvastext}}
