/* Asgard shared presentation tokens. Brand-site surfaces and compact product UI remain separate themes. */
:root {
  --ag-font-display: "Space Grotesk", "Space Grotesk Static", "Noto Sans TC", "PingFang TC", "Helvetica", "Arial", sans-serif;
  --ag-font-sans: "Space Grotesk", "Space Grotesk Static", "Noto Sans", "Noto Sans TC", "PingFang TC", "Helvetica", "Arial", sans-serif;
  --ag-font-cjk: "PingFang TC", "Microsoft JhengHei", "Noto Sans TC", "Noto Sans", sans-serif;
  --ag-font-mono: "Roboto Mono", ui-monospace, "SFMono-Regular", "Menlo", monospace;
  --ag-h1-size: 32px;
  --ag-h1-line: 48px;
  --ag-h1-weight: 700;
  --ag-type-h1: 700 32px/48px var(--ag-font-display);
  --ag-h2-size: 24px;
  --ag-h2-line: 36px;
  --ag-h2-weight: 700;
  --ag-type-h2: 700 24px/36px var(--ag-font-display);
  --ag-h3-size: 22px;
  --ag-h3-line: 32px;
  --ag-h3-weight: 500;
  --ag-type-h3: 500 22px/32px var(--ag-font-cjk);
  --ag-h4-size: 18px;
  --ag-h4-line: 28px;
  --ag-h4-weight: 500;
  --ag-type-h4: 500 18px/28px var(--ag-font-cjk);
  --ag-h5-size: 15px;
  --ag-h5-line: 24px;
  --ag-h5-weight: 500;
  --ag-type-h5: 500 15px/24px var(--ag-font-sans);
  --ag-h6-size: 13px;
  --ag-h6-line: 20px;
  --ag-h6-weight: 500;
  --ag-type-h6: 500 13px/20px var(--ag-font-sans);
  --ag-body1-size: 15px;
  --ag-body1-line: 24px;
  --ag-body1-weight: 400;
  --ag-type-body1: 400 15px/24px var(--ag-font-sans);
  --ag-body2-size: 13px;
  --ag-body2-line: 20px;
  --ag-body2-weight: 400;
  --ag-type-body2: 400 13px/20px var(--ag-font-sans);
  --ag-button1-size: 15px;
  --ag-button1-line: 40px;
  --ag-button1-weight: 500;
  --ag-type-button1: 500 15px/40px var(--ag-font-sans);
  --ag-button2-size: 15px;
  --ag-button2-line: 32px;
  --ag-button2-weight: 500;
  --ag-type-button2: 500 15px/32px var(--ag-font-sans);
  --ag-button3-size: 13px;
  --ag-button3-line: 24px;
  --ag-button3-weight: 500;
  --ag-type-button3: 500 13px/24px var(--ag-font-sans);
  --ag-input1-size: 15px;
  --ag-input1-line: 40px;
  --ag-input1-weight: 400;
  --ag-type-input1: 400 15px/40px var(--ag-font-sans);
  --ag-input2-size: 15px;
  --ag-input2-line: 40px;
  --ag-input2-weight: 400;
  --ag-type-input2: 400 15px/40px var(--ag-font-sans);
  --ag-input3-size: 13px;
  --ag-input3-line: 24px;
  --ag-input3-weight: 400;
  --ag-type-input3: 400 13px/24px var(--ag-font-sans);
  --ag-caption-size: 12px;
  --ag-caption-line: 16px;
  --ag-caption-weight: 400;
  --ag-type-caption: 400 12px/16px var(--ag-font-sans);
  --ag-caption-md-size: 12px;
  --ag-caption-md-line: 16px;
  --ag-caption-md-weight: 500;
  --ag-type-caption-md: 500 12px/16px var(--ag-font-sans);
  --ag-describe-subtitle-size: 13px;
  --ag-describe-subtitle-line: 16px;
  --ag-describe-subtitle-weight: 600;
  --ag-type-describe-subtitle: 600 13px/16px var(--ag-font-sans);
  --ag-space-base: 4px;
  --ag-space-1: 4px;
  --ag-space-2: 8px;
  --ag-space-3: 12px;
  --ag-space-4: 16px;
  --ag-space-5: 20px;
  --ag-space-6: 24px;
  --ag-space-8: 32px;
  --ag-space-10: 40px;
  --ag-space-12: 48px;
  --ag-space-16: 64px;
  --ag-radius-sm: 4px;
  --ag-radius-md: 6px;
  --ag-radius-lg: 8px;
  --ag-radius-xl: 12px;
  --ag-radius-2xl: 16px;
  --ag-radius-3xl: 28px;
  --ag-radius-full: 9999px;
  --ag-control-lg:40px; --ag-control-md:32px; --ag-control-sm:24px;
  --ag-touch-target:48px; /* Game/mobile adaptation, not a desktop DS value. */
  --ag-icon-sm:16px; --ag-icon-md:20px; --ag-icon-lg:24px; --ag-icon-stroke:2px;
  --ag-control-radius:var(--ag-radius-md); --ag-card-radius:var(--ag-radius-lg); --ag-dialog-radius:var(--ag-radius-xl);
  --ag-duration-fast:100ms; --ag-duration:200ms; --ag-duration-slow:300ms; --ag-ease:ease-out;
  --ag-disabled-opacity:.5; --ag-hover-opacity:.15; --ag-selected-opacity:.2; --ag-focus-width:1px;
  --ag-focus-halo:3px; /* Official-site focus-visible halo; retains the DS one-pixel boundary. */
  --ag-ui-background:#050812; --ag-ui-surface:#0a0f1e; --ag-ui-raised:#0a0e1a;
  --ag-ui-text:#fff; --ag-ui-secondary:#a9b4c0; --ag-ui-border:#434343; --ag-ui-border-strong:#6b6b6b;
  --ag-ui-accent:#22d3ee; --ag-ui-on-accent:#050812;
  --ag-error:#ff4d4f; --ag-warning:#f7ac38; --ag-success:#52c41a;
  --ag-z-sticky:100; --ag-z-dropdown:1000; --ag-z-modal:1200; --ag-z-toast:1500;
}
[data-ag-theme="compact"] { --ag-ui-background:#141414; --ag-ui-surface:#1f1f1f; --ag-ui-accent:#4768eb; --ag-ui-on-accent:#fff; }
/* Family is intentionally the same across zh-TW/en. Glyph fallback, not a different type scale, handles CJK. */
.ag-type-h1{font:var(--ag-type-h1)}.ag-type-h2{font:var(--ag-type-h2)}.ag-type-h3{font:var(--ag-type-h3)}.ag-type-h4{font:var(--ag-type-h4)}
.ag-type-body1{font:var(--ag-type-body1)}.ag-type-body2{font:var(--ag-type-body2)}.ag-type-caption{font:var(--ag-type-caption)}
.ag-type-code{font-family:var(--ag-font-mono);font-size:var(--ag-body2-size);line-height:var(--ag-body2-line)}
[lang^="zh"] .ag-type-h1,[lang^="zh"] .ag-type-h2,[lang^="zh"] .ag-type-h3,[lang^="zh"] .ag-type-h4{letter-spacing:0}
@media(prefers-reduced-motion:reduce){:root{--ag-duration-fast:0ms;--ag-duration:0ms;--ag-duration-slow:0ms}}
