:root{--colors-primary: #1a73e8;--colors-primary-hover: #1557b0;--colors-primary-light: #e8f0fe;--colors-secondary: #5f6368;--colors-success: #34a853;--colors-success-light: #dcfce7;--colors-warning: #fbbc04;--colors-warning-light: #fef3c7;--colors-error: #ea4335;--colors-error-light: #fef2f2;--colors-background-base: #ffffff;--colors-background-surface: #f8f9fa;--colors-background-elevated: #ffffff;--colors-text-primary: #202124;--colors-text-secondary: #5f6368;--colors-text-disabled: #9aa0a6;--colors-text-inverse: #ffffff;--colors-border-default: #dadce0;--colors-border-focus: #1a73e8;--colors-border-error: #ea4335;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-xxl: 48px;--typography-font-family: "Noto Sans TC", -apple-system, BlinkMacSystemFont, sans-serif;--typography-heading-h1-size: 32px;--typography-heading-h1-weight: 700;--typography-heading-h1-line-height: 1.2;--typography-heading-h2-size: 24px;--typography-heading-h2-weight: 600;--typography-heading-h2-line-height: 1.3;--typography-heading-h3-size: 20px;--typography-heading-h3-weight: 600;--typography-heading-h3-line-height: 1.4;--typography-heading-h4-size: 16px;--typography-heading-h4-weight: 600;--typography-heading-h4-line-height: 1.4;--typography-body-large-size: 16px;--typography-body-large-weight: 400;--typography-body-large-line-height: 1.5;--typography-body-default-size: 14px;--typography-body-default-weight: 400;--typography-body-default-line-height: 1.5;--typography-body-small-size: 12px;--typography-body-small-weight: 400;--typography-body-small-line-height: 1.4;--radius-none: 0;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-none: none;--shadow-sm: 0 1px 2px rgba(0,0,0,.1);--shadow-md: 0 4px 6px rgba(0,0,0,.1);--shadow-lg: 0 10px 15px rgba(0,0,0,.1);--shadow-xl: 0 20px 25px rgba(0,0,0,.15);--breakpoints-sm: 640px;--breakpoints-md: 768px;--breakpoints-lg: 1024px;--breakpoints-xl: 1280px;--breakpoints-xxl: 1536px;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease;--z-index-dropdown: 1000;--z-index-sticky: 1020;--z-index-fixed: 1030;--z-index-modal-backdrop: 1040;--z-index-modal: 1050;--z-index-popover: 1060;--z-index-tooltip: 1070}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--typography-font-family);font-size:var(--typography-body-default-size);line-height:var(--typography-body-default-line-height);color:var(--colors-text-primary);background-color:var(--colors-background-base)}:focus-visible{outline:2px solid var(--colors-primary);outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--colors-background-surface)}::-webkit-scrollbar-thumb{background:var(--colors-border-default);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--colors-secondary)}.text-h1{font-size:var(--typography-heading-h1-size);font-weight:var(--typography-heading-h1-weight);line-height:var(--typography-heading-h1-line-height)}.text-h2{font-size:var(--typography-heading-h2-size);font-weight:var(--typography-heading-h2-weight);line-height:var(--typography-heading-h2-line-height)}.text-h3{font-size:var(--typography-heading-h3-size);font-weight:var(--typography-heading-h3-weight);line-height:var(--typography-heading-h3-line-height)}.text-h4{font-size:var(--typography-heading-h4-size);font-weight:var(--typography-heading-h4-weight);line-height:var(--typography-heading-h4-line-height)}.text-body-lg{font-size:var(--typography-body-large-size);line-height:var(--typography-body-large-line-height)}.text-body{font-size:var(--typography-body-default-size);line-height:var(--typography-body-default-line-height)}.text-sm{font-size:var(--typography-body-small-size);line-height:var(--typography-body-small-line-height)}.text-primary{color:var(--colors-text-primary)}.text-secondary{color:var(--colors-text-secondary)}.text-disabled{color:var(--colors-text-disabled)}.text-success{color:var(--colors-success)}.text-warning{color:var(--colors-warning)}.text-error{color:var(--colors-error)}.bg-base{background-color:var(--colors-background-base)}.bg-surface{background-color:var(--colors-background-surface)}.bg-elevated{background-color:var(--colors-background-elevated)}
