:root {
  --gb-navy: #162A3F;       
  --gb-navy-700: #22405F;   
  --gb-night: #0F1E2E;      
  --gb-navy-100: #E6ECF3;   
  --gb-navy-50: #F2F5F9;
  --gb-amber: #FDAA04;      
  --gb-amber-ink: #8A5A00;  
  --gb-amber-50: #FFF6E0;
  --gb-link: #2F5680;       
  --gb-on-navy: #E8EDF3;    
  --gb-on-navy-2: #9FB0C3;  
  --gb-page: #F5F6F8;       
  --gb-surface: #FFFFFF;    
  --gb-sunk: #EEF0F3;       
  --gb-line: #E3E7EC;       
  --gb-line-2: #EDF0F3;
  --gb-ink: #1B2430;        
  --gb-ink-2: #3C4654;      
  --gb-mute: #5B6573;       
  --gb-faint: #98A1AD;      
  --gb-ok: #1F8A5B;   --gb-ok-50: #E7F4EE;
  --gb-warn: #B26B00; --gb-warn-50: #FFF3DC;
  --gb-err: #C2410C;  --gb-err-50: #FDECE4;
  --gb-idle: #98A1AD;
  --gb-font: "HarmonyOS Sans SC", "鸿蒙黑体", "PingFang SC", "Noto Sans SC", "Microsoft YaHei", sans-serif;
  --gb-mono: "JetBrains Mono", "Cascadia Mono", Consolas, monospace;   
  --gb-fs-xs: 12px;  --gb-fs-sm: 13px;  --gb-fs: 14px;  --gb-fs-md: 15px;
  --gb-fs-lg: 17px;  --gb-fs-xl: 20px;  --gb-fs-2xl: 24px;  --gb-fs-3xl: 30px;
  --gb-lh: 1.6;
  --gb-s1: 4px; --gb-s2: 8px; --gb-s3: 12px; --gb-s4: 16px; --gb-s5: 20px; --gb-s6: 24px; --gb-s8: 32px; --gb-s10: 40px;
  --gb-wrap: 1296px;        
  --gb-gut: 32px;           
  --gb-over-max: 96px;      
  --gb-r-sm: 6px; --gb-r: 8px; --gb-r-lg: 12px;
  --gb-shadow: 0 1px 2px rgba(16, 24, 40, .05);
  --gb-shadow-pop: 0 8px 24px -8px rgba(16, 24, 40, .18);   
  --gb-focus: 0 0 0 3px rgba(47, 86, 128, .25);
  --gb-dur-1: 150ms;   
  --gb-dur-2: 250ms;   
  --gb-dur-3: 400ms;   
  --gb-dur-4: 600ms;   
  --gb-ease: cubic-bezier(.2, .7, .2, 1);       
  --gb-ease-loop: cubic-bezier(.45, 0, .55, 1); 
  --gb-rise: 16px;      
  --gb-lift: 2px;       
  --gb-stagger: 80ms;   
  --gb-ai-glow: rgba(253, 170, 4, .35);   
  --gb-field: #2F5680;                    
  --gb-kg-page: #FAF9F6;      
  --gb-kg-desk: #F1EFEA;      
  --gb-kg-sunk: #F3F2EE;      
  --gb-kg-line: #E5E3DE;      
  --gb-kg-line-2: #EEECE8;    
  --gb-kg-ink: #1F2328;       
  --gb-kg-ink-2: #4A4F57;     
  --gb-kg-mute: #6B7078;      
  --gb-kg-faint: #9A9EA5;     
  --gb-kg-tint: #F2F5F9;      
  --gb-kg-serif: "Noto Serif SC", "Source Han Serif SC", "思源宋体", "Songti SC", serif;   
}
:root[data-gb-theme="dark"] {
  --gb-page: #0F1722; --gb-surface: #162131; --gb-sunk: #121C29; --gb-line: #26344A; --gb-line-2: #1E2B3D;
  --gb-ink: #E8EDF3; --gb-ink-2: #C3CCD8; --gb-mute: #93A0B2; --gb-faint: #5E6B7D;
  --gb-navy-100: #1F3149; --gb-navy-50: #18263A; --gb-link: #8FB3DC; --gb-amber-ink: #FDC254; --gb-amber-50: #2A2412;
  --gb-ok-50: #12301F; --gb-warn-50: #33260B; --gb-err-50: #3A1A0E;
  --gb-shadow: none; --gb-shadow-pop: 0 10px 30px -10px rgba(0, 0, 0, .6);
}
.gb-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 34px; padding: 0 14px; border-radius: var(--gb-r); border: 1px solid var(--gb-line); background: var(--gb-surface); color: var(--gb-ink); font: 500 var(--gb-fs)/1 var(--gb-font); white-space: nowrap; cursor: pointer; }
.gb-btn:hover { background: var(--gb-sunk); }
.gb-btn:focus-visible { outline: none; box-shadow: var(--gb-focus); }
.gb-btn.pri { background: var(--gb-navy); border-color: var(--gb-navy); color: #fff; }
.gb-btn.pri:hover { background: var(--gb-navy-700); }
.gb-btn.ai { background: var(--gb-amber); border-color: var(--gb-amber); color: var(--gb-navy); }   
.gb-btn.ghost { border-color: transparent; background: transparent; color: var(--gb-ink-2); }
.gb-btn.ghost:hover { background: var(--gb-sunk); }
.gb-btn.sm { height: 28px; padding: 0 10px; font-size: var(--gb-fs-sm); }
.gb-tag { display: inline-flex; align-items: center; gap: 6px; height: 22px; padding: 0 8px; border-radius: 999px; background: var(--gb-sunk); color: var(--gb-ink-2); font-size: var(--gb-fs-xs); white-space: nowrap; }
.gb-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--gb-idle); flex: none; }
.gb-dot.ok { background: var(--gb-ok); } .gb-dot.warn { background: var(--gb-warn); } .gb-dot.err { background: var(--gb-err); } .gb-dot.ai { background: var(--gb-amber); }
.gb-num { font-family: var(--gb-mono); font-variant-numeric: tabular-nums; }
.gb-wrap { max-width: calc(var(--gb-wrap) + var(--gb-gut) * 2); margin-left: auto; margin-right: auto; padding-left: var(--gb-gut); padding-right: var(--gb-gut); }
.gb-anchor { scroll-margin-top: calc(48px - var(--gb-sec-pad, 0px)); }
@media (min-width: 1281px) {
  .gb-over-r { --over: min(var(--gb-over-max), max(0px, (100vw - var(--gb-wrap) - var(--gb-gut) * 2) / 2 - 24px)); margin-right: calc(-1 * var(--over)); }
}
:root {
  --gb-co-cn: "光斑科技有限公司"; --gb-co-en: "Gleam Technologies Co., Ltd."; --gb-co-short: "Gleam Tech"; --gb-slogan: "Where Light Meets Learning";
}
.gb-legal { margin: 0; font: 400 12px/1.6 var(--gb-font); color: var(--gb-mute); text-align: center; letter-spacing: 0; }
.gb-legal.on-dark { color: var(--gb-on-navy-2); }
