@layer base {:root {color-scheme: light dark;--accent-hue: 250;--brand-hue: var(--accent-hue);--brand-chroma: 0.18;--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-display: var(--font-sans);--platform-light-bg: #FFF;--platform-dark-bg: #000;--bg: var(--platform-light-bg);--surface: var(--bg);--surface-strong: var(--bg);--surface-variant: var(--bg);--on-surface: #111827;--on-surface-variant: #4b5563;--primary: #086fbe;--on-primary: #ffffff;--primary-container: #e7f1fb;--on-primary-container: #15476f;--outline: #cfd8e3;--outline-variant: #e3e8ef;--error: #dc2626;--success: #16a34a;--warning: #f5a623;--info: #2563eb;--radius-xs: 0.25rem;--radius-sm: 0.375rem;--radius-md: 0.5rem;--radius-lg: 0.5rem;--radius-xl: 0.5rem;--radius-pill: 9999px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.06);--shadow-md: 0 8px 24px rgba(15, 23, 42, 0.08);--shadow-lg: 0 16px 36px rgba(15, 23, 42, 0.12);--spacing-xs: 0.5rem;--spacing-sm: 0.75rem;--spacing-md: clamp(0.75rem, 2vi, 1.25rem);--spacing-lg: clamp(1.25rem, 4vi, 2.25rem);--ease-standard: cubic-bezier(0.25, 1, 0.5, 1);--ease-elastic: var(--ease-standard);}:root[data-theme="light"] {color-scheme: light;--bg: var(--platform-light-bg);}:root[data-theme="dark"] {color-scheme: dark;--bg: var(--platform-dark-bg);--surface: var(--bg);--surface-strong: var(--bg);--surface-variant: var(--bg);--on-surface: #f3f4f6;--on-surface-variant: #c5ccd6;--primary: #58a6e8;--on-primary: #07131f;--primary-container: #173b59;--on-primary-container: #d9ecfb;--outline: #64748b;--outline-variant: #475569;--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);--shadow-md: 0 10px 28px rgba(0, 0, 0, 0.28);--shadow-lg: 0 18px 42px rgba(0, 0, 0, 0.35);}@media (prefers-color-scheme: dark) {:root:not([data-theme="light"]) {color-scheme: dark;--bg: var(--platform-dark-bg);--surface: var(--bg);--surface-strong: var(--bg);--surface-variant: var(--bg);--on-surface: #f3f4f6;--on-surface-variant: #c5ccd6;--primary: #58a6e8;--on-primary: #07131f;--primary-container: #173b59;--on-primary-container: #d9ecfb;--outline: #64748b;--outline-variant: #475569;--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);--shadow-md: 0 10px 28px rgba(0, 0, 0, 0.28);--shadow-lg: 0 18px 42px rgba(0, 0, 0, 0.35);}}body:has(#platform-theme-light:checked) {color-scheme: light;--bg: var(--platform-light-bg);--surface: var(--bg);--surface-strong: var(--bg);--surface-variant: var(--bg);--on-surface: #111827;--on-surface-variant: #4b5563;--primary: #086fbe;--on-primary: #ffffff;--primary-container: #e7f1fb;--on-primary-container: #15476f;--outline: #cfd8e3;--outline-variant: #e3e8ef;--shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.06);--shadow-md: 0 8px 24px rgba(15, 23, 42, 0.08);--shadow-lg: 0 16px 36px rgba(15, 23, 42, 0.12);}body:has(#platform-theme-dark:checked) {color-scheme: dark;--bg: var(--platform-dark-bg);--surface: var(--bg);--surface-strong: var(--bg);--surface-variant: var(--bg);--on-surface: #f3f4f6;--on-surface-variant: #c5ccd6;--primary: #58a6e8;--on-primary: #07131f;--primary-container: #173b59;--on-primary-container: #d9ecfb;--outline: #64748b;--outline-variant: #475569;--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);--shadow-md: 0 10px 28px rgba(0, 0, 0, 0.28);--shadow-lg: 0 18px 42px rgba(0, 0, 0, 0.35);}html,body {background-color: var(--bg);background-image: none;color: var(--on-surface);}.theme-toggle-wrapper {background: var(--surface);border: 1px solid var(--outline);border-radius: var(--radius-pill);padding: 0.25rem;display: inline-flex;align-items: center;justify-content: center;gap: 0.25rem;box-shadow: var(--shadow-sm);}.theme-choice {position: absolute;width: 1px;height: 1px;overflow: hidden;clip: rect(0, 0, 0, 0);clip-path: inset(50%);white-space: nowrap;}.theme-choice-label {border-radius: 50%;width: 36px;height: 36px;display: flex;align-items: center;justify-content: center;color: var(--on-surface);cursor: pointer;transition: transform 0.3s var(--ease-standard), background-color 0.3s var(--ease-standard), color 0.3s var(--ease-standard);}.theme-choice-label:hover {transform: rotate(12deg) scale(1.08);background: var(--surface-variant);color: var(--primary);}.theme-choice:focus-visible + .theme-choice-label {outline: 3px solid var(--primary);outline-offset: 3px;}.theme-choice:checked + .theme-choice-label {background: var(--primary);color: var(--on-primary);}:root[data-theme="light"] body:not(:has(.theme-choice:checked)) .theme-choice-label[for="platform-theme-light"],:root[data-theme="dark"] body:not(:has(.theme-choice:checked)) .theme-choice-label[for="platform-theme-dark"] {background: var(--primary);color: var(--on-primary);}@media (prefers-color-scheme: light) {:root:not([data-theme]) body:not(:has(.theme-choice:checked)) .theme-choice-label[for="platform-theme-light"] {background: var(--primary);color: var(--on-primary);}}@media (prefers-color-scheme: dark) {:root:not([data-theme]) body:not(:has(.theme-choice:checked)) .theme-choice-label[for="platform-theme-dark"] {background: var(--primary);color: var(--on-primary);}}/* Theme toggle positioning (shared across login and dashboard layouts) */.login-theme-toggle {position: absolute;top: 24px;right: 24px;z-index: 2001;}.login-theme-toggle .theme-toggle-wrapper {padding: 0;line-height: normal;color: var(--on-surface);}.login-theme-toggle .theme-choice-label {min-width: auto;min-height: auto;padding: 0;border: none;line-height: normal;}.login-theme-toggle .theme-choice-text {display: none;}@media (max-width: 640px) {.login-theme-toggle {top: 16px;right: 16px;}}/* Floating feedback button (CSP-compliant, no inline styles needed) */.floating-feedback.theme-choice-label {position: fixed;bottom: 20px;right: 20px;z-index: 9999;background: var(--surface);text-decoration: none;min-width: auto;min-height: auto;padding: 0;border: none;line-height: normal;}.login-theme-toggle .theme-choice-icon,.floating-feedback .theme-choice-icon {line-height: normal;}.floating-feedback .theme-choice-icon {font-size: 1.25rem;}.floating-feedback .theme-choice-text {display: none;}}:root {--radius-xs: .75rem;--radius-sm: 1rem;--radius-md: 1.35rem;--radius-pill: 9999px;--surface-glass: color-mix(in srgb, var(--surface) 72%, transparent);--surface-glass-strong: color-mix(in srgb, var(--surface) 84%, transparent);--border-glass: color-mix(in srgb, var(--outline) 36%, transparent);--border-glass-strong: color-mix(in srgb, var(--outline) 58%, transparent);--shadow-elevated: 0 22px 70px -34px color-mix(in srgb, var(--shadow) 70%, transparent);--shadow-card: 0 14px 40px -28px color-mix(in srgb, var(--shadow) 58%, transparent);--text: var(--on-surface);--muted: var(--on-surface-variant);--line: var(--outline-variant);}*,*::before,*::after {box-sizing: border-box;}html,body {width: 100%;margin: 0;padding: 0;}html {scroll-behavior: smooth;}body {min-height: 100vh;overflow-x: hidden;color: var(--text);line-height: 1.55;background:radial-gradient(1100px 700px at 15% 0%, color-mix(in srgb, var(--primary) 16%, transparent), transparent 55%),radial-gradient(900px 620px at 100% 10%, color-mix(in srgb, var(--secondary, var(--primary)) 14%, transparent), transparent 48%),linear-gradient(180deg, color-mix(in srgb, var(--bg) 92%, white 8%), var(--bg));}a {color: inherit;text-decoration: none;}img,svg {display: block;max-width: 100%;}.skip-link {position: absolute;top: -10rem;left: 1rem;z-index: 1000;display: inline-flex;min-height: 44px;align-items: center;padding: .7rem 1rem;border: 1px solid var(--border-glass-strong);border-radius: var(--radius-pill);background: var(--surface-glass-strong);color: var(--text);box-shadow: var(--shadow-card);font-weight: 700;}.skip-link:focus-visible {top: 1rem;outline: 3px solid color-mix(in srgb, var(--primary) 55%, white);outline-offset: 2px;}.visually-hidden {position: absolute;width: 1px;height: 1px;margin: -1px;padding: 0;overflow: hidden;clip: rect(0, 0, 0, 0);white-space: nowrap;border: 0;}.site-header,main,.footer {width: min(100% - 1.5rem, 72rem);margin: 0 auto;}.site-header {position: sticky;top: 0;z-index: 100;display: flex;min-height: 4.5rem;align-items: center;justify-content: space-between;gap: 1rem;padding: .9rem 1rem;border: 1px solid var(--border-glass);border-radius: var(--radius-md);background: var(--surface-glass);box-shadow: var(--shadow-elevated);}.brand {display: inline-flex;min-height: 44px;align-items: center;gap: .7rem;border-radius: var(--radius-pill);color: var(--text);font-size: 1.05rem;font-weight: 800;letter-spacing: -.02em;}.brand:focus-visible,.tool-link:focus-visible,.footer a:focus-visible {outline: 2px solid color-mix(in srgb, var(--primary) 68%, white);outline-offset: 3px;}.login-theme-toggle {.login-theme-toggle {position: absolute !important;top: 24px;right: 24px;z-index: 2001;display: block !important;}}.login-theme-toggle .theme-toggle-wrapper {padding: 0 !important;line-height: normal;color: var(--on-surface);box-shadow: var(--shadow-sm) !important;}.login-theme-toggle .theme-choice-label {min-width: auto;min-height: auto;padding: 0;border: none;line-height: normal;}.login-theme-toggle .theme-choice-text {display: none;}@media (max-width: 640px) {.login-theme-toggle {top: 16px;right: 16px;}}main {padding: 1.5rem 0 2rem;}.hero {display: grid;gap: .9rem;margin: 2rem 0 1.5rem;padding: 2rem 1.25rem;border: 1px solid var(--border-glass);border-radius: calc(var(--radius-md) + .4rem);background: linear-gradient(180deg, color-mix(in srgb, var(--surface) 72%, transparent), color-mix(in srgb, var(--surface) 88%, transparent));box-shadow: var(--shadow-elevated);text-align: center;}h1 {margin: 0;font-size: clamp(2rem, 4vw, 3.75rem);line-height: 1.04;letter-spacing: -.04em;}.hero p {margin: 0 auto;max-width: 60ch;color: var(--muted);font-size: clamp(1rem, 1.6vw, 1.08rem);}.tool-grid {display: grid;grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr));gap: 1rem;}.tool-link {display: grid;grid-template-columns: 1.5rem 1fr;align-items: start;column-gap: .85rem;min-height: 44px;padding: 1.15rem 1.15rem 1.1rem;border: 1px solid var(--border-glass);border-radius: var(--radius-md);background:linear-gradient(180deg, color-mix(in srgb, var(--surface) 76%, transparent), color-mix(in srgb, var(--surface) 92%, transparent));box-shadow: var(--shadow-card);transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease;}.tool-link:hover {transform: translateY(-4px);border-color: color-mix(in srgb, var(--primary) 30%, var(--border-glass-strong));box-shadow: 0 18px 48px -28px color-mix(in srgb, var(--primary) 34%, var(--shadow));}.tool-link:hover .tool-icon {transform: scale(1.04);color: var(--primary);}.tool-icon {width: 1.5rem;height: 1.5rem;flex-shrink: 0;color: color-mix(in srgb, var(--primary) 82%, var(--text));transition: transform 180ms ease, color 180ms ease;}.tool-link h3 {margin: 0;color: var(--text);font-size: 1.05rem;line-height: 1.2;letter-spacing: -.02em;}.tool-link p,.footer p {margin: 0;color: var(--muted);font-size: .92rem;}.tool-link p {grid-column: 2;margin-top: .3rem;}.footer {margin: 0 auto 1.75rem;padding: 1.1rem 1rem 1.35rem;border-top: 1px solid var(--border-glass);text-align: center;}.footer p + p {margin-top: .5rem;}.footer a {display: inline-flex;min-height: 44px;align-items: center;padding: 0 .5rem;border-radius: .45rem;color: var(--text);font-weight: 700;text-decoration: underline;text-decoration-thickness: .08em;text-underline-offset: .18em;}.theme-choice-text {display: none;}.theme-choice-icon {display: inline-flex;align-items: center;justify-content: center;flex: 0 0 auto;}@media (max-width: 42rem) {.site-header {flex-wrap: wrap;justify-content: center;}.brand {justify-content: center;width: 100%;}.hero {padding: 1.6rem 1rem;}.tool-grid {grid-template-columns: 1fr;}}@media (prefers-reduced-motion: reduce) {html {scroll-behavior: auto;}*,*::before,*::after {animation-duration: .01ms !important;animation-iteration-count: 1 !important;transition-duration: .01ms !important;scroll-behavior: auto !important;}}

.login-theme-toggle[data-theme-switch] { position: fixed !important; top: 24px !important; right: 24px !important; left: auto !important; bottom: auto !important; z-index: 2001 !important; display: block !important; }
.login-theme-toggle[data-theme-switch] .theme-choice-text { display: none !important; }
.login-theme-toggle, .theme-toggle-wrapper[data-theme-switch] { position: fixed !important; }
.login-theme-toggle .theme-toggle-wrapper[data-theme-switch] { top: 24px !important; right: 24px !important; left: auto !important; bottom: auto !important; transform: translate3d(0,0,0); }
.login-theme-toggle{position:fixed!important;top:24px!important;right:24px!important;left:auto!important;bottom:auto!important;width:78px!important;height:38px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;}

/* Final parity override against lighthouse toggle behavior */
.login-theme-toggle{position:absolute!important;display:block!important;left:auto!important;top:24px!important;right:24px!important;bottom:auto!important;width:78px!important;height:38px!important;}
.login-theme-toggle .theme-toggle-wrapper{position:static!important;display:inline-flex!important;top:auto!important;right:auto!important;left:auto!important;bottom:auto!important;}


/* Force final parity state */
.login-theme-toggle{position:absolute!important;display:block!important;left:auto!important;top:24px!important;right:24px!important;bottom:auto!important;width:auto!important;height:auto!important;}
.login-theme-toggle .theme-toggle-wrapper{position:static!important;display:inline-flex!important;line-height:normal!important;top:auto!important;right:auto!important;left:auto!important;bottom:auto!important;}


/* Override to final test: fixed top-right */
.login-theme-toggle{position:fixed!important;left:auto!important;top:24px!important;right:24px!important;bottom:auto!important;display:block!important;}
.login-theme-toggle .theme-toggle-wrapper{display:inline-flex!important;position:static!important;top:auto!important;right:auto!important;left:auto!important;bottom:auto!important;}

/* Gateway parity fix: normalize theme switch with Lighthouse semantics */
:root {
  --_gw-fixed-theme-toggle-top: 24px;
  --_gw-fixed-theme-toggle-right: 24px;
  --_gw-fixed-theme-toggle-mobile-top: 16px;
  --_gw-fixed-theme-toggle-mobile-right: 16px;
}
.login-theme-toggle {
  position: absolute !important;
  top: var(--_gw-fixed-theme-toggle-top) !important;
  right: var(--_gw-fixed-theme-toggle-right) !important;
  left: auto !important;
  bottom: auto !important;
  z-index: 2001 !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
}
.login-theme-toggle .theme-toggle-wrapper {
  position: static !important;
  padding: 0 !important;
  line-height: normal !important;
  color: var(--on-surface) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: var(--shadow-sm) !important;
}
.login-theme-toggle .theme-choice-label {
  min-width: auto !important;
  min-height: auto !important;
  padding: 0 !important;
  border: none !important;
  
  line-height: normal !important;
}
.login-theme-toggle .theme-choice-text {
  display: none !important;
}
@media (max-width: 640px) {
  .login-theme-toggle {
    top: var(--_gw-fixed-theme-toggle-mobile-top) !important;
    right: var(--_gw-fixed-theme-toggle-mobile-right) !important;
  }
}
.login-theme-toggle[data-theme-switch]{position:fixed!important;top:24px!important;right:24px!important;left:auto!important;bottom:auto!important;z-index:2001!important;display:block!important;transform:none!important;}.login-theme-toggle[data-theme-switch] .theme-choice-label{display:flex!important;}
header.site-header .login-theme-toggle{position:fixed!important;top:24px!important;right:24px!important;left:auto!important;bottom:auto!important;z-index:2001!important;display:block!important;transform:none!important;width:78px!important;height:38px!important;}
.tool-emoji{display:inline-flex;align-items:center;justify-content:center;font-size:1.5rem;line-height:1;}@media(max-width:42rem){.tool-link,.footer{content-visibility:auto}.tool-link{contain-intrinsic-size:auto 89.59375px}.footer{contain-intrinsic-size:auto 100px}}
