/* ILVC design-system mirror; result geometry remains in styles.css. */
@font-face { font-family: Inter; src: url('./fonts/inter-400.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: Inter; src: url('./fonts/inter-600.woff2') format('woff2'); font-weight: 600; font-display: swap; }
@font-face { font-family: Inter; src: url('./fonts/inter-700.woff2') format('woff2'); font-weight: 700; font-display: swap; }
@font-face { font-family: 'JetBrains Mono'; src: url('./fonts/jetbrains-mono-400.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'JetBrains Mono'; src: url('./fonts/jetbrains-mono-700.woff2') format('woff2'); font-weight: 700; font-display: swap; }
@font-face { font-family: 'Space Grotesk'; src: url('./fonts/space-grotesk-700.woff2') format('woff2'); font-weight: 700; font-display: swap; }
.public-header { min-height: 88px; padding: 0 max(20px, calc((100% - 1152px) / 2)); display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid #0a0a0a33; }
.public-header a { text-decoration: none; }
.public-brand { display: inline-flex; align-items: center; gap: 10px; flex-shrink: 0; font: 700 14px/20px 'JetBrains Mono', monospace; letter-spacing: .06em; text-transform: uppercase; }
.public-desktop-nav { display: flex; gap: 28px; }
.public-desktop-nav a { display: flex; align-items: center; min-height: 44px; font: 700 12px/18px 'JetBrains Mono', monospace; letter-spacing: .08em; text-transform: uppercase; }
.public-mobile-menu { display: none; position: relative; }
.menu-close-icon { display: none; }
.public-mobile-menu[open] .menu-open-icon { display: none; }
.public-mobile-menu[open] .menu-close-icon { display: block; }

:root { color-scheme:light; --bg:#fff; --surface:#fff; --surface-alt:#fff; --border:#ccc; --text:#0a0a0a; --text-muted:#666; --primary:#f4ff3d; --primary-text:#0a0a0a; --scan:#0a0a0a; --scan-dim:#f4ff3d; --scan-border:#0a0a0a; --pass:#166534; --pass-bg:#f0fdf4; --pass-border:#86a894; --fail:#a5000b; --fail-bg:#fff1f2; --fail-border:#d08086; --warn:#854d0e; --warn-bg:#fffbeb; --warn-border:#b69a6b; --info:#1d4ed8; --info-bg:#eff6ff; --info-border:#98addb; --high:#9a3412; --high-bg:#fff7ed; --high-border:#bd886a; --critical:#a5000b; --critical-bg:#fff1f2; --critical-border:#d08086; --font-sans:Inter,sans-serif; --font-mono:'JetBrains Mono',monospace; --focus-ring:#0a0a0a; --radius-md:20px; }
body { font-size:16px;line-height:26px; }
a { text-underline-offset:3px; }
.container { max-width:1192px; padding-inline:20px; }
.main { padding:64px 0 80px; }
h1,h2,h3 { font-family:'Space Grotesk',sans-serif; }
.hero { text-align:left; padding:0; margin-bottom:32px; }
.eyebrow { font:700 12px/18px var(--font-mono); letter-spacing:.08em;text-transform:uppercase;margin-bottom:20px; }
.hero__title { font:700 72px/75px 'Space Grotesk',sans-serif;letter-spacing:-.055em; margin-bottom:20px; }
.hero__description { max-width:720px;font-size:18px;line-height:29px;margin-bottom:16px; }
.hero__subtitle { font:400 12px/20px var(--font-mono); }
.url-form { margin-bottom:20px; }
.url-bar-race { padding:0; background:none; }
.url-bar-race::before { display:none; }
.url-bar-race > .url-bar { border:2px solid #0a0a0a; background:#fff; box-shadow:none; }
.url-bar { min-height:64px; border-radius:999px; padding:4px 4px 4px 24px;gap:16px; }
.url-bar__input { min-width:0; font:400 14px/21px var(--font-mono); color:#0a0a0a; }
button { border:2px solid #0a0a0a; border-radius:999px;min-height:56px;padding:14px 28px;font:700 14px/21px var(--font-mono);background:#fff;color:#0a0a0a; }
.url-bar__btn,.url-form__mobile-btn { background:#f4ff3d;color:#0a0a0a;border:2px solid #0a0a0a;border-radius:999px;min-height:56px;padding:14px 28px; }
.url-bar__btn:hover,.url-form__mobile-btn:hover { background:#e7f22f;color:#0a0a0a; }
.url-bar--scanning { animation:none; }
.tool-privacy,.tool-limits { font-size:14px;line-height:22px;color:#666;margin:0 0 16px;max-width:860px; }
.tool-limits a { text-decoration:underline; }
#results { margin-top:32px; }
.verdict-hero,.checks-card,.error-card,.issue-card { border:2px solid #0a0a0a;border-radius:20px;box-shadow:none; }
.live-unavailable { padding:24px; }
.live-signal--unknown { background:#fff;color:#666; }
.check-row:hover { background:#f5f5f5; }
.check-row__detail { background:#fff; }
.canvas-note { background:#fff;color:#666;border:1px solid #ccc; }
.faq-section { margin-top:64px; }
.faq-section__title { text-align:left;font:700 32px/36px 'Space Grotesk',sans-serif;letter-spacing:-.035em;margin-bottom:24px; }
.faq-list { max-width:none;gap:16px; }
.faq-item { border:2px solid #0a0a0a; }
.faq-item__summary { padding:24px;min-height:72px; }
.faq-item__question { flex-shrink:1; }
.faq-item__answer { font-size:16px;line-height:26px; }
.faq-item__summary:hover { background:#f5f5f5; }
.tool-footer { border-top:1px solid #ccc;padding:32px max(20px,calc((100% - 1152px)/2));display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;font:400 12px/20px var(--font-mono);text-transform:uppercase; }
.tool-footer a { min-height:44px;display:inline-flex;align-items:center; }
.environment-notice { background:#f4ff3d;text-align:center;padding:12px 20px; }
.skip-link { position:absolute;left:20px;top:-80px;padding:16px 24px;background:#f4ff3d;color:#0a0a0a;z-index:20;border:2px solid #0a0a0a;border-radius:999px; }
.skip-link:focus { top:12px; }
:focus-visible { outline:3px solid #0a0a0a;outline-offset:4px; }
.url-bar:focus-within { outline:3px solid #0a0a0a;outline-offset:4px; }
@media(max-width:767px) { .main { padding:40px 0 48px; } .hero__title { font-size:40px;line-height:42px;letter-spacing:-.045em; } .url-bar { padding-left:16px;gap:8px; } .url-bar__btn { display:none; } .url-form__mobile-btn { display:flex;width:100%;margin-top:12px;justify-content:center;gap:12px; } .format-grid { grid-template-columns:1fr; } .faq-item__summary { padding:20px; } .verdict-hero { padding:20px; } .tool-footer { flex-direction:column; } }
@media(max-width:599px) { .public-header { min-height:80px;gap:8px; } .public-brand { font-size:12px;gap:8px; } .public-desktop-nav { display:none; } .public-mobile-menu { display:block; } .public-mobile-menu summary { display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;cursor:pointer;list-style:none; } .public-mobile-menu summary::-webkit-details-marker { display:none; } .public-mobile-menu nav { position:absolute;right:0;top:52px;background:#fff;z-index:10;border:2px solid #0a0a0a;border-radius:20px;padding:12px;min-width:200px;display:flex;flex-direction:column; } .public-mobile-menu nav a { min-height:44px;padding:12px;font:700 12px/20px var(--font-mono);text-transform:uppercase; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important;transition:none!important;scroll-behavior:auto!important; } }
.url-bar__input:focus-visible { outline:none; }
.issue-card__step-num { color:#0a0a0a;background:#fff;border:1px solid #0a0a0a; }
[hidden] { display:none!important; }
.url-bar-race { border-radius:999px; }
.audit-actions { background:#fff;border:2px solid #0a0a0a;border-radius:20px;box-shadow:none;padding:24px; }
#newScanBtn,#goldenTicketBtn { min-height:56px;height:auto;padding:14px 28px;border:2px solid #0a0a0a;border-radius:999px;font:700 14px/21px var(--font-mono);box-shadow:none;transform:none;animation:none; }
#goldenTicketBtn { background:#fff;color:#0a0a0a; }
#goldenTicketBtn::before { display:none; }
#goldenTicketBtn:hover:not(:disabled),#newScanBtn:hover { background:#f5f5f5;box-shadow:none;transform:none;filter:none; }
#goldenTicketBtn:disabled { background:#eee;color:#666; }
.issue-card__step { font-size:14px; }
.url-bar-race { overflow:visible; }
.url-bar-race > .url-bar { border-radius:999px; }
.url-bar__btn,.url-form__mobile-btn { animation:none; }

.google-live-card__body { display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:24px; }
.google-live-card__body p { font-size:16px;line-height:26px; }
.google-live-card__body .live-privacy { font-size:14px;line-height:22px;color:#666; }
#googleLiveBtn { min-height:56px;padding:14px 28px; }
#googleLiveBtn:disabled { background:#eee;color:#666;cursor:not-allowed; }
.live-result-context { padding:24px;font-size:14px;line-height:22px;color:#666;overflow-wrap:anywhere; }
.google-live-card__image { background:#fff;border:0;max-height:none; }

.live-screenshot-link { padding:24px; }
.live-screenshot-link a { color:#171717;text-decoration:underline;text-underline-offset:4px; }

.format-guidance { font-size:14px;line-height:22px;margin:0 0 16px; }
.format-guidance a { color:inherit;text-decoration:underline;text-underline-offset:4px; }
