:root{--gm-bg:#0b0e14;--gm-surface:#141922;--gm-surface-2:#1c222d;--gm-surface-3:#252c39;--gm-border:#2c3442;--gm-border-strong:#3a4351;--gm-text:#f3f6fb;--gm-text-muted:#97a2b4;--gm-text-faint:#67707f;--gm-brand:#3772ff;--gm-accent:#4c8dff;--gm-accent-hover:#3b7bf0;--gm-accent-soft:rgba(76,141,255,0.16);--gm-on-accent:#ffffff;--gm-success:#24c67a;--gm-success-strong:#16a35f;--gm-success-surface:rgba(36,198,122,0.14);--gm-on-success:#04160c;--gm-danger:#ff5a5a;--gm-danger-strong:#e23b3b;--gm-danger-surface:rgba(255,90,90,0.14);--gm-on-danger:#1a0505;--gm-warning:#ffb020;--gm-warning-strong:#e69412;--gm-warning-surface:rgba(255,176,32,0.16);--gm-on-warning:#1c1300;--gm-scan-success-bg:#128f52;--gm-scan-danger-bg:#c62828;--gm-scan-warning-bg:#d98a00;--gm-focus:0 0 0 3px var(--gm-accent-soft),0 0 0 1px var(--gm-accent);--gm-radius-sm:8px;--gm-radius:12px;--gm-radius-lg:18px;--gm-space-1:4px;--gm-space-2:8px;--gm-space-3:12px;--gm-space-4:16px;--gm-space-5:24px;--gm-space-6:32px;--gm-shadow:0 8px 28px rgba(0,0,0,0.4);--gm-touch:48px;--gm-font:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--gm-mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace}@media (prefers-color-scheme:light){:root{--gm-bg:#eef1f6;--gm-surface:#ffffff;--gm-surface-2:#f4f6fa;--gm-surface-3:#e9edf3;--gm-border:#d9dfe8;--gm-border-strong:#c3ccd8;--gm-text:#101725;--gm-text-muted:#5a6675;--gm-text-faint:#8a95a4;--gm-accent:#2f6fe0;--gm-accent-hover:#245bc0;--gm-accent-soft:rgba(47,111,224,0.12);--gm-success:#148f56;--gm-success-surface:rgba(20,143,86,0.12);--gm-danger:#d23b3b;--gm-danger-surface:rgba(210,59,59,0.1);--gm-warning:#b7770a;--gm-warning-surface:rgba(183,119,10,0.14);--gm-shadow:0 8px 28px rgba(20,30,50,0.14)}}*{box-sizing:border-box}body,html{margin:0;padding:0;height:100%}body{background:var(--gm-bg);color:var(--gm-text);font-family:var(--gm-font);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}button,input,select,textarea{font-family:inherit;font-size:inherit}button{cursor:pointer}a{color:var(--gm-accent)}:where(button,a,input,[tabindex]):focus-visible{outline:none;box-shadow:var(--gm-focus)}@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}