/* About / Contact / Changelog / Status */
@font-face{font-family:'SL Inter';src:url('/assets/fonts/PlusJakartaSans-latin-ext.woff2') format('woff2');font-weight:100 900;font-display:swap;unicode-range:U+0100-0130,U+0132-0151,U+0154-02BA,U+02BD-02C5,U+02C7-02D9,U+02DB,U+02DD-02FF,U+0309-0328,U+032A-1FFF,U+2070-20AB,U+20AD-2115,U+2117-2121,U+2123-2152,U+215F-218F,U+219A-21BA,U+21BC-2211,U+2213-2214,U+2216-2247,U+2249-225F,U+2261-2263,U+2266-25B1,U+25B3,U+25B5,U+25B7,U+25B9-25BB,U+25BD,U+25BF,U+25C1,U+25C3-25CA,U+25CC-25CE,U+25D0-2604,U+2607-2712,U+2714,U+2716,U+2718-FEFE,U+FF00-FFFC,U+FFFE-10FFFF}@font-face{font-family:'SL Inter';src:url('/assets/fonts/PlusJakartaSans-latin.woff2') format('woff2');font-weight:100 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2190-2199,U+21BB,U+2212,U+2215,U+2248,U+2260,U+2264,U+2265,U+2022,U+2026,U+2116,U+2153-215E,U+2713,U+2715,U+2717,U+2605,U+2606,U+25B2,U+25B4,U+25B6,U+25B8,U+25BC,U+25BE,U+25C0,U+25C2,U+25CF,U+25CB,U+FEFF,U+FFFD}
:root {color-scheme:dark;--lime:#7B5CFF;--ink:#ffffff;--text:#f4f4f5;--text2:#bbbbc1;--muted:#7e7e8a;--faint:#757582;--line:rgb(255 255 255/.08);--panel:#101013;--up:#2BD07F;--warn:#f7b955;--down:#ff6b6b}
* {box-sizing:border-box}
body.info-page {margin:0;min-height:100dvh;display:grid;grid-template-rows:auto 1fr auto;background:#0B0A10;color:var(--text);font:16px/1.6 'SL Inter',Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif}
a {color:var(--lime)}
.info-header {display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;width:min(1100px,calc(100% - 40px));margin:0 auto;padding:22px 0}
.info-brand {display:inline-flex;align-items:center;gap:10px;color:var(--text);font-weight:750;font-size:19px;letter-spacing:-.02em;text-decoration:none}
.info-brand em {color:var(--lime);font-style:normal}
.info-header nav {display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.info-header nav a {padding:8px 12px;border-radius:999px;color:var(--text2);font-size:14px;font-weight:600;text-decoration:none}
.info-header nav a:hover, .info-header nav a[aria-current=page] {color:var(--text);background:rgb(255 255 255/.05)}
.info-header nav .info-cta {margin-left:6px;background:var(--lime);color:var(--ink)}
.info-header nav .info-cta:hover {background:#bfb0ff;color:var(--ink)}
.info-main {width:min(1100px,calc(100% - 40px));margin:0 auto;padding:40px 0 70px}
.info-hero {max-width:720px;margin-bottom:40px}
.info-kicker {display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border:1px solid var(--line);border-radius:999px;color:var(--text2);font-size:12px;font-weight:650;letter-spacing:.09em;text-transform:uppercase}
.info-kicker::before {content:'';width:6px;height:6px;border-radius:50%;background:var(--lime)}
.info-hero h1 {margin:18px 0 12px;font-size:clamp(34px,5vw,54px);line-height:1.05;letter-spacing:-.035em}
.info-hero p {margin:0;color:var(--text2);font-size:18px}
.info-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.info-grid article {padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}
.info-grid h2 {margin:0 0 8px;font-size:18px;letter-spacing:-.01em}
.info-grid p {margin:0;color:var(--text2)}
.info-link {display:inline-block;margin-top:14px;font-weight:650;text-decoration:none}
.info-link:hover {text-decoration:underline}
.info-note {margin:28px 0 0;padding:14px 18px;border:1px solid var(--line);border-radius:14px;background:rgb(255 255 255/.02);color:var(--text2);font-size:15px}
.info-changelog {display:grid;gap:14px;margin:0;padding:0;list-style:none}
.info-changelog>li {display:grid;grid-template-columns:170px minmax(0,1fr);gap:24px;padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}
.info-changelog time {color:var(--lime);font:600 13px/1.6 'JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace}
.info-changelog h2 {margin:0 0 8px;font-size:19px}
.info-changelog ul {margin:0;padding-left:20px;color:var(--text2)}
.info-changelog ul li+li {margin-top:4px}
.info-status {display:grid;max-width:760px;margin:0;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--panel);list-style:none}
.info-status li {display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:18px 22px}
.info-status li+li {border-top:1px solid var(--line)}
.info-status-detail {color:var(--muted);font-size:13.5px;text-align:right}
.info-status small {min-width:72px;color:var(--text2);font-size:14px;font-weight:650;text-align:right}
.info-status small.is-up {color:var(--up)}
.info-status small.is-warn {color:var(--warn)}
.info-status small.is-down {color:var(--down)}
.info-dot {width:10px;height:10px;border-radius:50%;background:var(--faint)}
.info-dot.is-up {background:var(--up);box-shadow:0 0 0 4px rgb(43 208 127/.15)}
.info-dot.is-warn {background:var(--warn);box-shadow:0 0 0 4px rgb(247 185 85/.15)}
.info-dot.is-down {background:var(--down);box-shadow:0 0 0 4px rgb(255 107 107/.15)}
.info-footer {display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;width:min(1100px,calc(100% - 40px));margin:0 auto;padding:22px 0 30px;border-top:1px solid var(--line);color:var(--faint);font-size:13px}
.info-footer a {margin-left:16px;color:var(--muted);text-decoration:none}
.info-footer span:first-child a {margin:0}
.info-footer a:hover {color:var(--text)}
.info-age {display:inline-grid;place-items:center;height:22px;margin-right:10px;padding:0 7px;border:1px solid rgb(255 255 255/.14);border-radius:6px;color:var(--text2);font-size:11px;font-weight:700}
@media (max-width:640px) {
  .info-changelog>li {grid-template-columns:1fr;gap:8px}
  .info-status li {grid-template-columns:auto minmax(0,1fr) auto;row-gap:2px}
  .info-status-detail {grid-area:2/2;text-align:left}
  .info-header nav .info-cta {margin-left:0}
}
.info-footer span:last-child>span {margin-left:16px}

/* Keyboard focus baseline: zero specificity (:where), so components with their own focus style keep it. */
:where(a, button, input, select, textarea, summary, [tabindex]:not([tabindex="-1"])):focus-visible {outline:2px solid #7B5CFF;outline-offset:2px}
