*,:after,:before{box-sizing:border-box}:root{--color-bg:#f5f7fa;--color-surface:#ffffff;--color-surface-subtle:#f9fafb;--color-border:#e5e7eb;--color-border-strong:#d5dbe5;--color-text:#1f2937;--color-text-muted:#6b7280;--color-accent:#5b8def;--color-accent-hover:#4f82e6;--color-accent-soft:rgba(91,141,239,0.18);--color-accent-secondary:#7ed7c1;--color-accent-tertiary:#c3b1e1;--color-danger:#c96f6f;--color-danger-bg:rgba(201,111,111,0.14);--color-warning:#d7964d;--color-warning-bg:rgba(215,150,77,0.16);--color-success:#2f9f86;--color-success-bg:rgba(126,215,193,0.2);--color-input-bg:#ffffff}html{color-scheme:light}body{margin:0;min-height:100vh;background:var(--color-bg);color:var(--color-text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}main a:not([class]){color:var(--color-accent);font-weight:500;text-decoration:underline;text-underline-offset:2px}main a:not([class]):hover{color:var(--color-accent-hover)}main a:not([class]):focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:2px}.link-inline-accent{color:var(--color-accent);font-weight:500;text-decoration:none}.link-inline-accent:hover{color:var(--color-accent-hover)}.link-inline-accent:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:2px}.layout-main{flex:1 1;width:100%;max-width:48rem;margin:0 auto;padding:2rem 1.25rem}.card-surface{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 8px 28px rgba(31,41,55,.06)}.card-surface--interactive{transition:border-color .15s ease,box-shadow .15s ease}.card-surface--interactive:hover{border-color:rgba(91,141,239,.35);box-shadow:0 10px 30px rgba(91,141,239,.15)}.text-muted{color:var(--color-text-muted)}.text-body{color:var(--color-text)}.btn-primary{-moz-appearance:none;appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;padding:.8rem 1.35rem;font-size:1rem;font-weight:600;color:#fff;background:var(--color-accent);border:1px solid transparent;border-radius:10px;cursor:pointer;white-space:nowrap;box-shadow:0 8px 20px rgba(91,141,239,.25);transition:background .15s ease,transform .15s ease,box-shadow .15s ease}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover);transform:translateY(-1px);box-shadow:0 10px 24px rgba(91,141,239,.28)}.btn-primary:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 4px var(--color-accent-soft),0 10px 24px rgba(91,141,239,.28)}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.input-field{width:100%;padding:.8rem .85rem;font-size:1rem;color:var(--color-text);background:var(--color-input-bg);border:1px solid var(--color-border-strong);border-radius:10px;box-shadow:inset 0 1px 2px rgba(31,41,55,.04);transition:border-color .15s ease,box-shadow .15s ease}.input-field::placeholder{color:var(--color-text-muted)}.input-field:hover:not(:disabled){border-color:#c7d1df}.input-field:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 4px var(--color-accent-soft),inset 0 1px 2px rgba(31,41,55,.03)}.input-field:disabled{opacity:.6;cursor:not-allowed}.site-header{border-bottom:1px solid var(--color-border);background:rgba(245,247,250,.9);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.site-header__inner{max-width:48rem;margin:0 auto;padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.site-logo{font-weight:700;font-size:1.5rem;letter-spacing:-.02em;text-decoration:none}.site-logo,.site-logo:hover{color:var(--color-text)}.site-logo:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px;border-radius:4px}.site-nav a{color:var(--color-text-muted);font-weight:400;text-decoration:none;transition:color .15s ease}.site-nav a:hover{color:var(--color-accent)}.site-nav a[data-active=true]{color:var(--color-accent);font-weight:600}.site-nav a:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px;border-radius:4px}.site-footer{border-top:1px solid var(--color-border);margin-top:auto;padding:1.5rem 1.25rem;background:transparent}.site-footer__inner{max-width:48rem;margin:0 auto;text-align:center;font-size:.875rem;color:var(--color-text-muted);line-height:1.5}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;padding:.65rem 1rem;font-weight:600;font-size:1rem;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;cursor:pointer;box-shadow:0 4px 14px rgba(31,41,55,.06);transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.btn-secondary:hover:not(:disabled){background:#f3f7ff;border-color:var(--color-accent);color:var(--color-accent);box-shadow:0 8px 20px rgba(91,141,239,.14)}.btn-secondary:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.audit-result-card{border:1px solid var(--color-border);border-radius:12px;padding:1rem;background:var(--color-surface);box-shadow:0 8px 24px rgba(31,41,55,.05)}.audit-result-card__label{margin:0 0 .5rem;font-size:.85rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.audit-result-card__body{font-size:.95rem;color:var(--color-text)}.score-badge{font-size:1.5rem;font-weight:700;color:var(--color-accent);padding:.35rem .75rem;border-radius:8px;background:rgba(91,141,239,.14);border:1px solid rgba(91,141,239,.24)}.flash-success{padding:1rem;border-radius:12px;background:var(--color-success-bg);border:1px solid rgba(47,159,134,.24);color:var(--color-success)}.blog-post-row{display:flex;gap:1rem;align-items:flex-start;flex-direction:column}.blog-post-row__thumb{position:relative;width:100%;max-width:250px;flex-shrink:0;aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:#eef2f7}.blog-post-title-link{color:var(--color-text);text-decoration:underline;text-underline-offset:3px;transition:color .15s ease}.blog-post-title-link:hover{color:var(--color-accent)}.blog-list-divider{border-bottom:1px solid var(--color-border)}@media (min-width:480px){.blog-post-row{flex-direction:row}.blog-post-row__thumb{max-width:250px}}