/* StoreScan: quiet console. Monochrome; color only for status. Geist + Geist Mono. */

:root {
  --bg: #fafafa;
  --surface: #ffffff;
  --subtle: #f4f4f4;
  --border: #ebebeb;
  --border-strong: #d6d6d6;
  --text: #0a0a0a;
  --text-2: #525252;
  --text-3: #8a8a8a;
  --ok: #18794e;
  --ok-dot: #2a9d63;
  --warn: #a35200;
  --warn-dot: #e5900b;
  --bad: #c42b1c;
  --bad-dot: #e5484d;
  --bad-wash: #fdf1f0;
  --warn-wash: #fdf6ea;
  --focus: #0a0a0a;
  /* Coderapper's accent. Lime sits on black and black on white, as on coderapper.com, and it is never a status color. */
  --lime: #eafc1a;
  --on-lime: #0a0a0a;
  --primary: #0a0a0a;        /* primary button and the brand mark's square */
  --on-primary: #ffffff;
  --mark-dot: var(--lime);
  --accent-ink: #0a0a0a;     /* thin brand lines: progress bar, checked radio, running step */
  --sans: 'Geist', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --mono: 'Geist Mono', ui-monospace, 'SF Mono', Menlo, monospace;
  color-scheme: light;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme='light']) {
    --bg: #0a0a0a; --surface: #111111; --subtle: #171717; --border: #222222; --border-strong: #333333;
    --text: #ededed; --text-2: #a1a1a1; --text-3: #707070;
    --ok: #4cc38a; --ok-dot: #3dd68c; --warn: #f1a10d; --warn-dot: #f1a10d; --bad: #ff6369; --bad-dot: #ff6369;
    --bad-wash: #1f1212; --warn-wash: #1f1a10; --focus: var(--lime);
    --primary: var(--lime); --on-primary: var(--on-lime); --mark-dot: #0a0a0a; --accent-ink: var(--lime);
    color-scheme: dark;
  }
}

:root[data-theme='dark'] {
  --bg: #0a0a0a; --surface: #111111; --subtle: #171717; --border: #222222; --border-strong: #333333;
  --text: #ededed; --text-2: #a1a1a1; --text-3: #707070;
  --ok: #4cc38a; --ok-dot: #3dd68c; --warn: #f1a10d; --warn-dot: #f1a10d; --bad: #ff6369; --bad-dot: #ff6369;
  --bad-wash: #1f1212; --warn-wash: #1f1a10; --focus: var(--lime);
  --primary: var(--lime); --on-primary: var(--on-lime); --mark-dot: #0a0a0a; --accent-ink: var(--lime);
  color-scheme: dark;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; min-height: 100vh; display: flex; flex-direction: column; background: var(--bg); color: var(--text); font: 15px/1.6 var(--sans); -webkit-font-smoothing: antialiased; }
a { color: inherit; }
code, .mono { font-family: var(--mono); }
.nowrap { white-space: nowrap; }
/* No one-word last lines in short copy. */
p, li, .desc, .detail, .why, .foot span { text-wrap: pretty; }
/* Secondary text is set smaller; give it a tighter line so two-line descriptions stay together. */
.mode .desc, .steps .detail, .checklist .why, .apps .why, .how p, .context, .advanced-note, .finding p, .limits, td .faint { line-height: 1.5; }
.muted { color: var(--text-2); }
.faint { color: var(--text-3); }
::selection { background: var(--lime); color: var(--on-lime); }
:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; border-radius: 4px; }

/* Chrome */
.topbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; height: 56px; padding: 0 24px; border-bottom: 1px solid var(--border); background: var(--surface); }
.brand { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; letter-spacing: -0.01em; text-decoration: none; }
.mark { width: 18px; height: 18px; border-radius: 5px; background: var(--primary); position: relative; flex: none; }
.mark::after { content: ''; position: absolute; inset: 5px; border-radius: 50%; background: var(--mark-dot); }
.topbar nav { display: flex; align-items: center; gap: 20px; font-size: 14px; color: var(--text-2); }
.topbar nav a { text-decoration: none; }
.topbar nav a:hover { color: var(--text); }
.credit { font: 12px var(--mono); color: var(--text-3); }
.page { width: 100%; max-width: 760px; margin: 0 auto; padding: 72px 24px 64px; flex: 1; }
.foot { display: flex; justify-content: space-between; gap: 16px; font: 12px var(--mono); color: var(--text-3); border-top: 1px solid var(--border); padding: 16px 24px; background: var(--surface); }

/* Coderapper wordmark (from coderapper.com), drawn in the current text color so it follows the theme. */
.cr { display: inline-flex; align-items: center; color: var(--text-2); text-decoration: none; }
.cr:hover { color: var(--text); }
.cr-logo { display: inline-block; height: 11px; aspect-ratio: 8 / 1; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 80'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M194.26 67.2228V0H180.671V18.9831H178.729C177.938 17.7676 176.895 16.5521 175.601 15.3366C174.235 14.1926 172.474 13.2631 170.317 12.5481C168.088 11.7617 165.356 11.3684 162.12 11.3684C157.806 11.3684 153.816 12.4051 150.148 14.4786C146.482 16.6236 143.534 19.7338 141.304 23.8092C139.076 27.8848 137.961 32.8182 137.961 38.6097V40.3256C137.961 46.1171 139.076 51.0505 141.304 55.1259C143.534 59.2014 146.482 62.2759 150.148 64.3493C153.816 66.4943 157.806 67.5668 162.12 67.5668C166.938 67.5668 170.64 66.7446 173.229 65.1001C175.817 63.5271 177.723 61.7039 178.945 59.6305H180.886V67.2228H194.26ZM155.757 27.134C158.489 24.4885 161.976 23.1658 166.218 23.1658C170.389 23.1658 173.876 24.4885 176.68 27.134C179.484 29.851 180.886 33.7834 180.886 38.9314V40.0039C180.886 45.1518 179.484 49.0486 176.68 51.694C173.876 54.411 170.389 55.7695 166.218 55.7695C162.048 55.7695 158.561 54.411 155.757 51.694C152.953 49.0486 151.55 45.1518 151.55 40.0039V38.9314C151.55 33.7834 152.953 29.851 155.757 27.134ZM97.0692 66.9236C91.7486 66.9236 86.9673 65.8511 82.7254 63.7061C78.4827 61.5611 75.1394 58.4509 72.6948 54.3754C70.2502 50.3 69.0278 45.4023 69.0278 39.6824V37.9663C69.0278 32.2464 70.2502 27.3487 72.6948 23.2733C75.1394 19.1978 78.4827 16.0876 82.7254 13.9426C86.9673 11.7976 91.7486 10.7251 97.0692 10.7251C102.39 10.7251 107.171 11.7976 111.414 13.9426C115.656 16.0876 118.999 19.1978 121.444 23.2733C123.888 27.3487 125.111 32.2464 125.111 37.9663V39.6824C125.111 45.4023 123.888 50.3 121.444 54.3754C118.999 58.4509 115.656 61.5611 111.414 63.7061C107.171 65.8511 102.39 66.9236 97.0692 66.9236ZM97.0692 54.9117C101.24 54.9117 104.691 53.589 107.423 50.9435C110.155 48.2265 111.522 44.3656 111.522 39.3606V38.2881C111.522 33.2832 110.155 29.458 107.423 26.8125C104.762 24.0955 101.311 22.737 97.0692 22.737C92.8992 22.737 89.4479 24.0955 86.7153 26.8125C83.9833 29.458 82.6174 33.2832 82.6174 38.2881V39.3606C82.6174 44.3656 83.9833 48.2265 86.7153 50.9435C89.4479 53.589 92.8992 54.9117 97.0692 54.9117ZM394.55 79.3643V10.96H407.924V19.175H409.865C411.088 17.1014 412.993 15.2782 415.581 13.7052C418.17 12.0607 421.872 11.2385 426.69 11.2385C431.004 11.2385 434.995 12.311 438.662 14.456C442.329 16.5294 445.276 19.6039 447.505 23.6794C449.734 27.7549 450.849 32.6883 450.849 38.4797V40.1958C450.849 45.9871 449.734 50.9206 447.505 54.9961C445.276 59.0716 442.329 62.1818 438.662 64.3268C434.995 66.4002 431.004 67.4369 426.69 67.4369C423.454 67.4369 420.722 67.0438 418.493 66.2572C416.336 65.5423 414.574 64.6128 413.209 63.4687C411.915 62.2533 410.872 61.0378 410.081 59.8223H408.14V79.3643H394.55ZM422.592 55.6396C426.834 55.6396 430.321 54.3169 433.054 51.6714C435.858 48.9544 437.26 45.0219 437.26 39.874V38.8015C437.26 33.6535 435.858 29.7569 433.054 27.1113C430.249 24.3944 426.762 23.0359 422.592 23.0359C418.422 23.0359 414.935 24.3944 412.13 27.1113C409.326 29.7569 407.924 33.6535 407.924 38.8015V39.874C407.924 45.0219 409.326 48.9544 412.13 51.6714C414.935 54.3169 418.422 55.6396 422.592 55.6396ZM27.7178 67.9959C22.5409 67.9959 17.8315 66.9234 13.5893 64.7784C9.41902 62.6334 6.11158 59.5232 3.66695 55.4477C1.22232 51.3722 0 46.4388 0 40.6474V39.1459C0 33.3544 1.22232 28.421 3.66695 24.3455C6.11158 20.2701 9.41902 17.1598 13.5893 15.0149C17.8315 12.8699 22.5409 11.7974 27.7178 11.7974C32.8228 11.7974 37.2088 12.6911 40.8757 14.4786C44.5427 16.2661 47.4906 18.7329 49.7196 21.8788C52.0203 24.9532 53.5303 28.4567 54.2493 32.3892L41.0914 35.1777C40.8038 33.0327 40.1567 31.1022 39.1501 29.3862C38.1435 27.6702 36.7054 26.3117 34.836 25.3108C33.0385 24.3098 30.7736 23.8093 28.0414 23.8093C25.3092 23.8093 22.8285 24.417 20.5996 25.6325C18.4426 26.7765 16.717 28.5282 15.4228 30.8877C14.2004 33.1757 13.5893 35.9999 13.5893 39.3604V40.4329C13.5893 43.7933 14.2004 46.6533 15.4228 49.0128C16.717 51.3008 18.4426 53.0525 20.5996 54.268C22.8285 55.412 25.3092 55.984 28.0414 55.984C32.1398 55.984 35.2314 54.9473 37.3166 52.8737C39.4736 50.7287 40.8397 47.9403 41.415 44.5084L54.5728 47.6185C53.6381 51.408 52.0203 54.8757 49.7196 58.0217C47.4906 61.0962 44.5427 63.5272 40.8757 65.3146C37.2088 67.1021 32.8228 67.9959 27.7178 67.9959ZM466.495 10.96V79.3643H480.084V60.3812H482.025C482.816 61.5967 483.859 62.8122 485.153 64.0277C486.519 65.1717 488.281 66.1012 490.438 66.8161C492.667 67.6027 495.399 67.9959 498.634 67.9959C502.949 67.9959 506.939 66.9591 510.606 64.8857C514.273 62.7407 517.221 59.6305 519.45 55.555C521.679 51.4795 522.793 46.5461 522.793 40.7547V39.0386C522.793 33.2473 521.679 28.3138 519.45 24.2383C517.221 20.1628 514.273 17.0883 510.606 15.0149C506.939 12.8699 502.949 11.7974 498.634 11.7974C493.817 11.7974 490.114 12.6196 487.526 14.2642C484.937 15.8371 483.032 17.6604 481.81 19.7339H479.868V10.96H466.495ZM504.997 52.2302C502.265 54.8758 498.778 56.1985 494.536 56.1985C490.366 56.1985 486.879 54.8758 484.074 52.2302C481.27 49.5133 479.868 45.5809 479.868 40.4329V39.3604C479.868 34.2125 481.27 30.3158 484.074 27.6702C486.879 24.9533 490.366 23.5948 494.536 23.5948C498.706 23.5948 502.193 24.9533 504.997 27.6702C507.802 30.3158 509.204 34.2125 509.204 39.3604V40.4329C509.204 45.5809 507.802 49.5133 504.997 52.2302ZM550.146 63.7444C554.243 65.9609 558.953 67.0691 564.274 67.0691C569.163 67.0691 573.19 66.3183 576.353 64.8169C579.517 63.2438 582.033 61.3849 583.903 59.2399C585.844 57.0235 587.318 54.9857 588.325 53.1267L577.216 47.3353C576.281 49.3373 574.915 51.1605 573.118 52.805C571.32 54.4495 568.516 55.2717 564.705 55.2717C560.967 55.2717 557.803 54.1277 555.214 51.8397C552.626 49.5518 551.26 46.5846 551.116 42.9381H590.05V38.3264C590.05 32.8924 588.972 28.1377 586.815 24.0623C584.658 19.9153 581.638 16.6978 577.755 14.4098C573.873 12.0504 569.307 10.8706 564.058 10.8706C558.737 10.8706 554.064 12.0146 550.038 14.3026C546.011 16.5191 542.884 19.7008 540.654 23.8478C538.426 27.9232 537.311 32.7494 537.311 38.3264V39.6133C537.311 45.1903 538.426 50.0522 540.654 54.1992C542.955 58.2747 546.119 61.4564 550.146 63.7444ZM576.245 32.8567H551.224C551.728 29.7822 553.058 27.3155 555.214 25.4565C557.371 23.5975 560.283 22.668 563.95 22.668C567.473 22.668 570.313 23.5975 572.471 25.4565C574.699 27.3155 575.958 29.7822 576.245 32.8567ZM237.211 68.1873C231.881 68.1873 227.163 67.0631 223.057 64.8147C219.023 62.4937 215.854 59.2662 213.55 55.132C211.317 50.9254 210.2 45.9933 210.2 40.3361V39.0305C210.2 33.3733 211.317 28.4775 213.55 24.3433C215.782 20.1366 218.915 16.9091 222.949 14.6606C226.982 12.3397 231.665 11.1792 236.995 11.1792C242.252 11.1792 246.826 12.376 250.715 14.7694C254.605 17.0904 257.63 20.3542 259.791 24.5609C261.952 28.6951 263.033 33.5183 263.033 39.0305V43.7087H224.029C224.173 47.4076 225.542 50.4176 228.135 52.7385C230.728 55.0595 233.898 56.22 237.643 56.22C241.46 56.22 244.269 55.3859 246.07 53.7177C247.87 52.0495 249.239 50.2001 250.175 48.1692L261.304 54.0441C260.296 55.9299 258.819 57.997 256.874 60.2454C255.001 62.4213 252.48 64.307 249.311 65.9027C246.142 67.4258 242.108 68.1873 237.211 68.1873ZM224.137 33.482H249.203C248.915 30.3633 247.654 27.861 245.422 25.9752C243.261 24.0895 240.416 23.1465 236.887 23.1465C233.213 23.1465 230.296 24.0895 228.135 25.9752C225.974 27.861 224.641 30.3633 224.137 33.482ZM291.714 24.5924L311.371 24.5924V11.1787H278.772V13.4141V24.5924V67.0385H291.714V24.5924ZM619.948 24.0486H639.361V11.1787H607.005V13.4141V24.0486V67.0385H619.948V24.0486ZM321.489 67.0679L341.947 10.6187H355.212L334.753 67.0679H321.489ZM352.7 51.4925V55.9187H357.264L361.478 55.1411L361.771 55.9187L358.259 58.371L355.041 61.7205L358.083 64.8308L361.361 61.5411L363.76 57.9524L364.522 58.2513L363.76 62.5579V67.2233H368.091V62.5579L367.33 58.2513L368.091 57.9524L370.49 61.5411L373.768 64.8308L376.811 61.7205L373.593 58.371L370.081 55.9187L370.374 55.1411L374.588 55.9187H379.152V51.4925H374.588L370.374 52.2701L370.081 51.4925L373.593 49.0403L376.811 45.6908L373.768 42.5805L370.49 45.8702L368.091 49.459L367.33 49.1599L368.091 44.8534V40.188H363.76V44.8534L364.522 49.1599L363.76 49.459L361.361 45.8702L358.083 42.5805L355.041 45.6908L358.259 49.0403L361.771 51.4925L361.478 52.2701L357.264 51.4925H352.7Z'/%3E%3C/svg%3E") no-repeat center / contain; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 80'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M194.26 67.2228V0H180.671V18.9831H178.729C177.938 17.7676 176.895 16.5521 175.601 15.3366C174.235 14.1926 172.474 13.2631 170.317 12.5481C168.088 11.7617 165.356 11.3684 162.12 11.3684C157.806 11.3684 153.816 12.4051 150.148 14.4786C146.482 16.6236 143.534 19.7338 141.304 23.8092C139.076 27.8848 137.961 32.8182 137.961 38.6097V40.3256C137.961 46.1171 139.076 51.0505 141.304 55.1259C143.534 59.2014 146.482 62.2759 150.148 64.3493C153.816 66.4943 157.806 67.5668 162.12 67.5668C166.938 67.5668 170.64 66.7446 173.229 65.1001C175.817 63.5271 177.723 61.7039 178.945 59.6305H180.886V67.2228H194.26ZM155.757 27.134C158.489 24.4885 161.976 23.1658 166.218 23.1658C170.389 23.1658 173.876 24.4885 176.68 27.134C179.484 29.851 180.886 33.7834 180.886 38.9314V40.0039C180.886 45.1518 179.484 49.0486 176.68 51.694C173.876 54.411 170.389 55.7695 166.218 55.7695C162.048 55.7695 158.561 54.411 155.757 51.694C152.953 49.0486 151.55 45.1518 151.55 40.0039V38.9314C151.55 33.7834 152.953 29.851 155.757 27.134ZM97.0692 66.9236C91.7486 66.9236 86.9673 65.8511 82.7254 63.7061C78.4827 61.5611 75.1394 58.4509 72.6948 54.3754C70.2502 50.3 69.0278 45.4023 69.0278 39.6824V37.9663C69.0278 32.2464 70.2502 27.3487 72.6948 23.2733C75.1394 19.1978 78.4827 16.0876 82.7254 13.9426C86.9673 11.7976 91.7486 10.7251 97.0692 10.7251C102.39 10.7251 107.171 11.7976 111.414 13.9426C115.656 16.0876 118.999 19.1978 121.444 23.2733C123.888 27.3487 125.111 32.2464 125.111 37.9663V39.6824C125.111 45.4023 123.888 50.3 121.444 54.3754C118.999 58.4509 115.656 61.5611 111.414 63.7061C107.171 65.8511 102.39 66.9236 97.0692 66.9236ZM97.0692 54.9117C101.24 54.9117 104.691 53.589 107.423 50.9435C110.155 48.2265 111.522 44.3656 111.522 39.3606V38.2881C111.522 33.2832 110.155 29.458 107.423 26.8125C104.762 24.0955 101.311 22.737 97.0692 22.737C92.8992 22.737 89.4479 24.0955 86.7153 26.8125C83.9833 29.458 82.6174 33.2832 82.6174 38.2881V39.3606C82.6174 44.3656 83.9833 48.2265 86.7153 50.9435C89.4479 53.589 92.8992 54.9117 97.0692 54.9117ZM394.55 79.3643V10.96H407.924V19.175H409.865C411.088 17.1014 412.993 15.2782 415.581 13.7052C418.17 12.0607 421.872 11.2385 426.69 11.2385C431.004 11.2385 434.995 12.311 438.662 14.456C442.329 16.5294 445.276 19.6039 447.505 23.6794C449.734 27.7549 450.849 32.6883 450.849 38.4797V40.1958C450.849 45.9871 449.734 50.9206 447.505 54.9961C445.276 59.0716 442.329 62.1818 438.662 64.3268C434.995 66.4002 431.004 67.4369 426.69 67.4369C423.454 67.4369 420.722 67.0438 418.493 66.2572C416.336 65.5423 414.574 64.6128 413.209 63.4687C411.915 62.2533 410.872 61.0378 410.081 59.8223H408.14V79.3643H394.55ZM422.592 55.6396C426.834 55.6396 430.321 54.3169 433.054 51.6714C435.858 48.9544 437.26 45.0219 437.26 39.874V38.8015C437.26 33.6535 435.858 29.7569 433.054 27.1113C430.249 24.3944 426.762 23.0359 422.592 23.0359C418.422 23.0359 414.935 24.3944 412.13 27.1113C409.326 29.7569 407.924 33.6535 407.924 38.8015V39.874C407.924 45.0219 409.326 48.9544 412.13 51.6714C414.935 54.3169 418.422 55.6396 422.592 55.6396ZM27.7178 67.9959C22.5409 67.9959 17.8315 66.9234 13.5893 64.7784C9.41902 62.6334 6.11158 59.5232 3.66695 55.4477C1.22232 51.3722 0 46.4388 0 40.6474V39.1459C0 33.3544 1.22232 28.421 3.66695 24.3455C6.11158 20.2701 9.41902 17.1598 13.5893 15.0149C17.8315 12.8699 22.5409 11.7974 27.7178 11.7974C32.8228 11.7974 37.2088 12.6911 40.8757 14.4786C44.5427 16.2661 47.4906 18.7329 49.7196 21.8788C52.0203 24.9532 53.5303 28.4567 54.2493 32.3892L41.0914 35.1777C40.8038 33.0327 40.1567 31.1022 39.1501 29.3862C38.1435 27.6702 36.7054 26.3117 34.836 25.3108C33.0385 24.3098 30.7736 23.8093 28.0414 23.8093C25.3092 23.8093 22.8285 24.417 20.5996 25.6325C18.4426 26.7765 16.717 28.5282 15.4228 30.8877C14.2004 33.1757 13.5893 35.9999 13.5893 39.3604V40.4329C13.5893 43.7933 14.2004 46.6533 15.4228 49.0128C16.717 51.3008 18.4426 53.0525 20.5996 54.268C22.8285 55.412 25.3092 55.984 28.0414 55.984C32.1398 55.984 35.2314 54.9473 37.3166 52.8737C39.4736 50.7287 40.8397 47.9403 41.415 44.5084L54.5728 47.6185C53.6381 51.408 52.0203 54.8757 49.7196 58.0217C47.4906 61.0962 44.5427 63.5272 40.8757 65.3146C37.2088 67.1021 32.8228 67.9959 27.7178 67.9959ZM466.495 10.96V79.3643H480.084V60.3812H482.025C482.816 61.5967 483.859 62.8122 485.153 64.0277C486.519 65.1717 488.281 66.1012 490.438 66.8161C492.667 67.6027 495.399 67.9959 498.634 67.9959C502.949 67.9959 506.939 66.9591 510.606 64.8857C514.273 62.7407 517.221 59.6305 519.45 55.555C521.679 51.4795 522.793 46.5461 522.793 40.7547V39.0386C522.793 33.2473 521.679 28.3138 519.45 24.2383C517.221 20.1628 514.273 17.0883 510.606 15.0149C506.939 12.8699 502.949 11.7974 498.634 11.7974C493.817 11.7974 490.114 12.6196 487.526 14.2642C484.937 15.8371 483.032 17.6604 481.81 19.7339H479.868V10.96H466.495ZM504.997 52.2302C502.265 54.8758 498.778 56.1985 494.536 56.1985C490.366 56.1985 486.879 54.8758 484.074 52.2302C481.27 49.5133 479.868 45.5809 479.868 40.4329V39.3604C479.868 34.2125 481.27 30.3158 484.074 27.6702C486.879 24.9533 490.366 23.5948 494.536 23.5948C498.706 23.5948 502.193 24.9533 504.997 27.6702C507.802 30.3158 509.204 34.2125 509.204 39.3604V40.4329C509.204 45.5809 507.802 49.5133 504.997 52.2302ZM550.146 63.7444C554.243 65.9609 558.953 67.0691 564.274 67.0691C569.163 67.0691 573.19 66.3183 576.353 64.8169C579.517 63.2438 582.033 61.3849 583.903 59.2399C585.844 57.0235 587.318 54.9857 588.325 53.1267L577.216 47.3353C576.281 49.3373 574.915 51.1605 573.118 52.805C571.32 54.4495 568.516 55.2717 564.705 55.2717C560.967 55.2717 557.803 54.1277 555.214 51.8397C552.626 49.5518 551.26 46.5846 551.116 42.9381H590.05V38.3264C590.05 32.8924 588.972 28.1377 586.815 24.0623C584.658 19.9153 581.638 16.6978 577.755 14.4098C573.873 12.0504 569.307 10.8706 564.058 10.8706C558.737 10.8706 554.064 12.0146 550.038 14.3026C546.011 16.5191 542.884 19.7008 540.654 23.8478C538.426 27.9232 537.311 32.7494 537.311 38.3264V39.6133C537.311 45.1903 538.426 50.0522 540.654 54.1992C542.955 58.2747 546.119 61.4564 550.146 63.7444ZM576.245 32.8567H551.224C551.728 29.7822 553.058 27.3155 555.214 25.4565C557.371 23.5975 560.283 22.668 563.95 22.668C567.473 22.668 570.313 23.5975 572.471 25.4565C574.699 27.3155 575.958 29.7822 576.245 32.8567ZM237.211 68.1873C231.881 68.1873 227.163 67.0631 223.057 64.8147C219.023 62.4937 215.854 59.2662 213.55 55.132C211.317 50.9254 210.2 45.9933 210.2 40.3361V39.0305C210.2 33.3733 211.317 28.4775 213.55 24.3433C215.782 20.1366 218.915 16.9091 222.949 14.6606C226.982 12.3397 231.665 11.1792 236.995 11.1792C242.252 11.1792 246.826 12.376 250.715 14.7694C254.605 17.0904 257.63 20.3542 259.791 24.5609C261.952 28.6951 263.033 33.5183 263.033 39.0305V43.7087H224.029C224.173 47.4076 225.542 50.4176 228.135 52.7385C230.728 55.0595 233.898 56.22 237.643 56.22C241.46 56.22 244.269 55.3859 246.07 53.7177C247.87 52.0495 249.239 50.2001 250.175 48.1692L261.304 54.0441C260.296 55.9299 258.819 57.997 256.874 60.2454C255.001 62.4213 252.48 64.307 249.311 65.9027C246.142 67.4258 242.108 68.1873 237.211 68.1873ZM224.137 33.482H249.203C248.915 30.3633 247.654 27.861 245.422 25.9752C243.261 24.0895 240.416 23.1465 236.887 23.1465C233.213 23.1465 230.296 24.0895 228.135 25.9752C225.974 27.861 224.641 30.3633 224.137 33.482ZM291.714 24.5924L311.371 24.5924V11.1787H278.772V13.4141V24.5924V67.0385H291.714V24.5924ZM619.948 24.0486H639.361V11.1787H607.005V13.4141V24.0486V67.0385H619.948V24.0486ZM321.489 67.0679L341.947 10.6187H355.212L334.753 67.0679H321.489ZM352.7 51.4925V55.9187H357.264L361.478 55.1411L361.771 55.9187L358.259 58.371L355.041 61.7205L358.083 64.8308L361.361 61.5411L363.76 57.9524L364.522 58.2513L363.76 62.5579V67.2233H368.091V62.5579L367.33 58.2513L368.091 57.9524L370.49 61.5411L373.768 64.8308L376.811 61.7205L373.593 58.371L370.081 55.9187L370.374 55.1411L374.588 55.9187H379.152V51.4925H374.588L370.374 52.2701L370.081 51.4925L373.593 49.0403L376.811 45.6908L373.768 42.5805L370.49 45.8702L368.091 49.459L367.33 49.1599L368.091 44.8534V40.188H363.76V44.8534L364.522 49.1599L363.76 49.459L361.361 45.8702L358.083 42.5805L355.041 45.6908L358.259 49.0403L361.771 51.4925L361.478 52.2701L357.264 51.4925H352.7Z'/%3E%3C/svg%3E") no-repeat center / contain; }
.credit, .foot .by { display: inline-flex; align-items: center; gap: 6px; }

/* Buttons */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 48px; padding: 0 24px; border-radius: 999px; background: var(--primary); color: var(--on-primary); font: 500 15px var(--sans); border: 1px solid var(--primary); cursor: pointer; text-decoration: none; white-space: nowrap; }
.btn:hover { opacity: 0.88; }
.btn:disabled { opacity: 0.5; cursor: progress; }
.btn.sm { height: 34px; padding: 0 14px; font-size: 13px; }
.btn.ghost { background: var(--surface); color: var(--text); border-color: var(--border); }
.btn.ghost:hover { opacity: 1; border-color: var(--border-strong); }

/* Landing */
.eyebrow { font: 12px var(--mono); color: var(--text-2); display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--border); border-radius: 999px; padding: 4px 10px; background: var(--surface); }
.eyebrow .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 1px color-mix(in srgb, var(--text) 22%, transparent); }
h1 { font-size: 44px; line-height: 1.08; letter-spacing: -0.035em; font-weight: 600; margin: 20px 0 14px; }
/* One highlighter word in the headline: black on lime in both themes, like Coderapper's call-to-action. */
.hl { background: var(--lime); color: var(--on-lime); padding: 0 0.12em; margin: 0 -0.02em; border-radius: 0.12em; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.lede { font-size: 17px; color: var(--text-2); max-width: 600px; margin: 0 0 32px; }
.scanbox { background: var(--surface); border: 1px solid var(--border); border-radius: 20px; padding: 8px; }
.scanrow { display: flex; gap: 8px; }
.url { flex: 1; display: flex; align-items: center; height: 48px; border-radius: 999px; padding: 0 0 0 20px; background: var(--subtle); border: 1px solid transparent; }
.url:focus-within { border-color: var(--accent-ink); background: var(--surface); }
.url .scheme { font: 15px var(--mono); color: var(--text-3); }
.url input { flex: 1; min-width: 0; height: 100%; border: 0; background: transparent; color: var(--text); font: 15px var(--mono); padding: 0 14px 0 0; outline: none; }
.url input::placeholder { color: var(--text-3); }
.modes { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 8px 0 0; padding: 0; border: 0; }
.modes legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.mode { border: 1px solid var(--border); border-radius: 12px; padding: 12px 14px; display: flex; gap: 12px; cursor: pointer; }
.mode:has(input:checked) { border-color: var(--text); }
.mode input { appearance: none; width: 16px; height: 16px; border-radius: 50%; border: 1.5px solid var(--border-strong); margin: 3px 0 0; flex: none; cursor: pointer; }
.mode input:checked { border: 5px solid var(--accent-ink); }
.mode-body { flex: 1; min-width: 0; }
.mode-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.mode b { font-weight: 500; }
.mode .desc { display: block; margin-top: 2px; font-size: 13px; color: var(--text-2); }
.mode .t { font: 12px var(--mono); color: var(--text-3); white-space: nowrap; }
.check { display: flex; gap: 10px; align-items: center; padding: 12px 6px 4px; font-size: 14px; color: var(--text-2); cursor: pointer; }
.check input { appearance: none; width: 16px; height: 16px; border-radius: 4px; border: 1.5px solid var(--border-strong); margin: 0; flex: none; display: inline-grid; place-items: center; cursor: pointer; }
.check input:checked { background: var(--text); border-color: var(--text); }
.check input:checked::after { content: ''; width: 8px; height: 4px; border: 2px solid var(--bg); border-top: 0; border-right: 0; transform: translateY(-1px) rotate(-45deg); }
.advanced { padding: 4px 6px 4px; }
.advanced summary { cursor: pointer; font: 12px var(--mono); color: var(--text-3); list-style: none; padding: 8px 0 4px; }
.advanced summary::-webkit-details-marker { display: none; }
.advanced summary::before { content: '+ '; }
.advanced[open] summary::before { content: '− '; }
.advanced label { display: block; font-size: 13px; color: var(--text-2); margin-top: 6px; }
.advanced-note { font-size: 13px; color: var(--text-2); margin: 16px 0 0; }
.advanced-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 12px; }
.advanced-grid input { display: block; width: 100%; margin-top: 6px; font: 13px var(--mono); color: var(--text); background: var(--subtle); border: 1px solid var(--border); border-radius: 8px; padding: 9px 12px; }
.advanced-grid input:focus-visible, .advanced textarea::selection { background: var(--lime); color: var(--on-lime); }
:focus-visible { border-color: var(--text); outline: none; }
.advanced textarea { display: block; width: 100%; margin-top: 6px; font: 13px var(--mono); color: var(--text); background: var(--subtle); border: 1px solid var(--border); border-radius: 8px; padding: 10px 12px; resize: vertical; }
.form-error { color: var(--bad); background: var(--bad-wash); border-radius: 12px; padding: 10px 14px; margin: 8px 0 0; font-size: 14px; }
.how { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 48px; border-top: 1px solid var(--border); }
.how div { padding: 16px 16px 0 0; }
.how .n { font: 12px var(--mono); color: var(--text-3); }
.how b { display: block; font-weight: 500; margin: 6px 0 2px; font-size: 14px; }
.how p { margin: 0; font-size: 13px; color: var(--text-2); }
.context { margin-top: 40px; font-size: 13px; color: var(--text-2); max-width: 600px; }

/* Processing */
.proc-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; }
.proc-host { font: 500 30px/1.15 var(--mono); letter-spacing: -0.03em; margin: 6px 0 0; overflow-wrap: anywhere; }
.timer { font: 500 28px var(--mono); letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.track { height: 2px; background: var(--border); margin: 28px 0 8px; border-radius: 2px; overflow: hidden; }
.track i { display: block; height: 100%; width: 0; background: var(--accent-ink); transition: width 0.4s ease; }
.track-meta { display: flex; justify-content: space-between; gap: 12px; font: 12px var(--mono); color: var(--text-3); }
.steps { list-style: none; margin: 24px 0 0; padding: 0; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); overflow: hidden; }
.steps li { display: grid; grid-template-columns: 24px 1fr auto; gap: 12px; align-items: center; padding: 14px 18px; border-bottom: 1px solid var(--border); }
.steps li:last-child { border-bottom: 0; }
.steps .s { font: 13px var(--mono); display: inline-grid; place-items: center; width: 16px; }
.steps .label { display: block; }
.steps .detail { display: block; font-size: 13px; color: var(--text-2); overflow-wrap: anywhere; }
.steps .end { display: flex; align-items: center; gap: 12px; font: 12px var(--mono); color: var(--text-3); }
.steps .thumb { width: 64px; height: 44px; object-fit: cover; object-position: top left; border: 1px solid var(--border); border-radius: 5px; background: var(--subtle); }
.steps .st-pending { color: var(--text-3); }
.steps .st-running { background: var(--subtle); box-shadow: inset 2px 0 0 var(--accent-ink); }
.st-done .s { color: var(--ok); }
.st-warn .s { color: var(--warn); }
.st-failed .s { color: var(--bad); }
.st-failed { background: var(--bad-wash); }
.st-skipped { color: var(--text-3); }
.spin { width: 12px; height: 12px; border: 1.5px solid var(--border-strong); border-top-color: var(--accent-ink); border-radius: 50%; animation: spin 0.8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .spin { animation: none; } .track i { transition: none; } }
.counters { display: flex; flex-wrap: wrap; gap: 12px 28px; margin-top: 20px; font: 12px var(--mono); color: var(--text-3); }
.counters b { display: block; font: 500 20px var(--mono); color: var(--text); letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.note { margin-top: 28px; font: 12px var(--mono); color: var(--text-3); }
.notice { border: 1px solid var(--border); background: var(--surface); border-radius: 12px; padding: 16px 18px; margin-top: 24px; }
.notice b { font-weight: 500; }

/* Report */
.rhead { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.crumb { font: 12px var(--mono); color: var(--text-3); }
.actions { display: flex; gap: 8px; }
.verdict { margin-top: 28px; }
.vline { display: flex; align-items: center; gap: 14px; }
.vdot { flex: none; width: 12px; height: 12px; border-radius: 50%; background: var(--text-3); }
.tone-ok .vdot { background: var(--ok-dot); box-shadow: 0 0 0 4px color-mix(in srgb, var(--ok-dot) 18%, transparent); }
.tone-warn .vdot { background: var(--warn-dot); box-shadow: 0 0 0 4px color-mix(in srgb, var(--warn-dot) 20%, transparent); }
.tone-bad .vdot { background: var(--bad-dot); box-shadow: 0 0 0 4px color-mix(in srgb, var(--bad-dot) 20%, transparent); }
.vtitle { font: 600 34px/1.1 var(--sans); letter-spacing: -0.035em; margin: 0; }
.vsum { font-size: 17px; color: var(--text-2); margin: 12px 0 0; max-width: 640px; }
.meta4 { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); margin: 28px 0 0; }
.meta4 div { padding: 12px 16px 12px 0; min-width: 0; }
.meta4 dt { font: 11px var(--mono); color: var(--text-3); text-transform: uppercase; letter-spacing: 0.06em; }
.meta4 dd { margin: 2px 0 0; font-size: 14px; overflow-wrap: anywhere; }
.alert { border: 1px solid color-mix(in srgb, var(--bad) 35%, transparent); background: var(--bad-wash); border-radius: 12px; padding: 16px 18px; margin-top: 24px; color: var(--text-2); }
.alert b { font-weight: 500; color: var(--bad); }
.section { margin-top: 40px; }
.section > h3 { font: 500 13px var(--mono); color: var(--text-3); text-transform: uppercase; letter-spacing: 0.06em; margin: 0 0 12px; }
.checklist { list-style: none; margin: 0; padding: 0; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); overflow: hidden; }
.checklist li { display: grid; grid-template-columns: 22px 1fr auto; gap: 12px; padding: 14px 18px; border-bottom: 1px solid var(--border); align-items: baseline; }
.checklist li:last-child { border-bottom: 0; }
.checklist .s { font: 500 14px var(--mono); }
.checklist b { font-weight: 500; }
.checklist .why { display: block; font-size: 13px; color: var(--text-2); overflow-wrap: anywhere; }
.checklist .tag { font: 12px var(--mono); color: var(--text-3); white-space: nowrap; }
.ck-ok .s { color: var(--ok); }
.ck-warn .s { color: var(--warn); }
.ck-fail .s { color: var(--bad); }
.ck-fail { background: var(--bad-wash); }
.ck-skip .s { color: var(--text-3); }
.next { list-style: none; margin: 0; padding: 0; counter-reset: n; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); overflow: hidden; }
.next li { counter-increment: n; display: grid; grid-template-columns: 22px 1fr; gap: 12px; padding: 14px 18px; border-bottom: 1px solid var(--border); }
.next li:last-child { border-bottom: 0; }
.next li::before { content: counter(n, decimal-leading-zero); font: 12px var(--mono); color: var(--text-3); padding-top: 3px; }
.apps { border: 1px solid var(--border); border-radius: 12px; background: var(--surface); }
.apps .row { display: grid; grid-template-columns: 1fr auto; gap: 4px 16px; padding: 14px 18px; border-bottom: 1px solid var(--border); }
.apps .row:last-child { border-bottom: 0; }
.apps .name { font-weight: 500; }
.pill { font: 12px var(--mono); color: var(--warn); border: 1px solid color-mix(in srgb, var(--warn) 35%, transparent); border-radius: 999px; padding: 1px 8px; align-self: center; white-space: nowrap; }
.pill.bad { color: var(--bad); border-color: color-mix(in srgb, var(--bad) 35%, transparent); }
.apps .why { grid-column: 1 / -1; font-size: 13px; color: var(--text-2); }

/* Technical details */
.tech { border: 1px solid var(--border); border-radius: 12px; background: var(--surface); }
.tech > summary { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 18px; cursor: pointer; list-style: none; font-size: 14px; }
.tech > summary::-webkit-details-marker { display: none; }
.tech > summary span { font: 12px var(--mono); color: var(--text-3); }
.tech > summary span::after { content: ' ▸'; }
.tech[open] > summary span::after { content: ' ▾'; }
.tech[open] > summary { border-bottom: 1px solid var(--border); }
.tech-body { padding: 4px 18px 18px; }
.tech-body h4 { font: 500 12px var(--mono); color: var(--text-3); text-transform: uppercase; letter-spacing: 0.06em; margin: 24px 0 10px; }
.film { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; }
.film figure { margin: 0; }
.film img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: top left; border: 1px solid var(--border); border-radius: 8px; background: var(--subtle); }
.film figcaption { font: 12px var(--mono); color: var(--text-2); margin-top: 6px; display: flex; justify-content: space-between; gap: 8px; }
.table-wrap { overflow-x: auto; }
.trunc { display: inline-block; max-width: 24ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; }
table { width: 100%; border-collapse: collapse; font-size: 13px; }
th { text-align: left; font: 11px var(--mono); color: var(--text-3); text-transform: uppercase; letter-spacing: 0.06em; font-weight: 400; padding: 8px 10px 8px 0; border-bottom: 1px solid var(--border); }
td { padding: 10px 10px 10px 0; border-bottom: 1px solid var(--border); vertical-align: top; overflow-wrap: anywhere; }
.out-ok { color: var(--ok); } .out-bad { color: var(--bad); } .out-warn { color: var(--warn); } .out-skip { color: var(--text-3); }
.findings { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.finding { border: 1px solid var(--border); border-radius: 8px; padding: 12px 14px; }
.finding-head { display: flex; gap: 10px; align-items: baseline; font: 12px var(--mono); color: var(--text-3); }
.sev { text-transform: uppercase; letter-spacing: 0.04em; }
.sev-critical, .sev-high { color: var(--bad); } .sev-medium { color: var(--warn); }
.finding b { display: block; font-weight: 500; margin: 2px 0; }
.finding p { margin: 0; font-size: 13px; color: var(--text-2); }
.evidence { list-style: none; margin: 8px 0 0; padding: 10px 12px; background: var(--subtle); border-radius: 6px; font: 12px/1.7 var(--mono); color: var(--text-2); }
.evidence li { overflow-wrap: anywhere; }
.limits { margin: 0; padding-left: 18px; font-size: 13px; color: var(--text-2); }
.chips { display: flex; flex-wrap: wrap; gap: 6px; }
.chips code { font-size: 12px; background: var(--subtle); border-radius: 4px; padding: 2px 6px; }

@media (max-width: 720px) {
  .topbar { padding: 0 16px; }
  .page { padding: 40px 16px 48px; }
  h1 { font-size: 32px; }
  .scanrow { flex-direction: column; }
  .url { flex: none; }
  .table-wrap table { min-width: 560px; }
  .tech > summary span { font-size: 0; }
  .tech > summary span::after { font-size: 12px; }
  .modes, .advanced-grid { grid-template-columns: 1fr; }
  .how { grid-template-columns: 1fr 1fr; gap: 0 16px; }
  .how div { padding-right: 0; }
  .credit { display: none; }
  .apps .row { grid-template-columns: 1fr; }
  .apps .pill { justify-self: start; }
  .meta4 { grid-template-columns: 1fr 1fr; }
  .vtitle { font-size: 28px; }
  .proc-host { font-size: 22px; }
  .timer { font-size: 22px; }
  .steps .thumb { display: none; }
  .foot { flex-direction: column; padding: 16px; }
}

@media print {
  .topbar nav, .actions { display: none !important; }
}

/* Login and message pages */
.page.narrow { max-width: 520px; }
.login-title { font-size: 32px; margin-top: 0; }
.login .url input { padding-left: 0; }
.theme-toggle { display: inline-grid; place-items: center; width: 32px; height: 32px; padding: 0; border: 1px solid var(--border); border-radius: 999px; background: var(--surface); color: var(--text-2); cursor: pointer; }
.theme-toggle:hover { color: var(--text); border-color: var(--border-strong); }
.signout { background: none; border: 0; padding: 0; font: inherit; color: var(--text-2); cursor: pointer; }
.signout:hover { color: var(--text); }
