
:root {
  
  --kp-primary-900: #001a36;
  --kp-primary-800: #002347;
  --kp-primary-700: #002b58;
  --kp-primary-600: #003166;   
  --kp-primary-500: #0a4383;
  --kp-primary-400: #285ea3;
  --kp-primary-300: #5c89c3;
  --kp-primary-200: #a8bfde;
  --kp-primary-100: #d7e2f0;
  --kp-primary-50:  #eef3f9;
  --kp-primary-25:  #f6f9fc;

  
  --kp-accent-700: #0047b3;
  --kp-accent-600: #0057d9;
  --kp-accent-500: #0066ff;    
  --kp-accent-400: #4a8bff;
  --kp-accent-100: #d9e7ff;
  --kp-accent-50:  #eef4ff;

  
  --kp-gray-900: #111418;
  --kp-gray-800: #1d2127;
  --kp-gray-700: #333840;
  --kp-gray-600: #555b66;
  --kp-gray-500: #767c87;
  --kp-gray-400: #a0a5ae;
  --kp-gray-300: #c6cad1;
  --kp-gray-200: #e1e4e8;
  --kp-gray-150: #ebedf0;
  --kp-gray-100: #f2f3f5;
  --kp-gray-50:  #f7f8fa;
  --kp-white:    #ffffff;
  --kp-black:    #000000;

  
  --kp-success-700: #0b7d39;
  --kp-success-600: #0e9f48;
  --kp-success-500: #22b05c;
  --kp-success-200: #b6e6c6;
  --kp-success-100: #dcf4e4;
  --kp-success-50:  #ecfaf0;

  --kp-warning-700: #a36400;
  --kp-warning-600: #c77a00;
  --kp-warning-500: #e89317;
  --kp-warning-200: #f5d3a1;
  --kp-warning-100: #fce8cc;
  --kp-warning-50:  #fff6e6;

  --kp-danger-700:  #a52826;
  --kp-danger-600:  #c8302e;
  --kp-danger-500:  #e03e3c;
  --kp-danger-200:  #f5b6b5;
  --kp-danger-100:  #fbdada;
  --kp-danger-50:   #fdecec;

  --kp-info-700:    #17459a;
  --kp-info-600:    #1d56bc;
  --kp-info-500:    #246beb;
  --kp-info-100:    #dfe9fa;
  --kp-info-50:     #eff5ff;

  
  --kp-bg:         #f5f7fa;
  --kp-bg-subtle:  #f7f8fa;
  --kp-surface:    #ffffff;
  --kp-surface-2:  #fafbfc;
  --kp-border:     #e1e4e8;
  --kp-border-strong: #c6cad1;
  --kp-border-light: #ebedf0;   
  --kp-divider:    #ebedf0;

  
  --kp-text-strong: #111418;
  --kp-text:        #1d2127;
  --kp-text-sub:    #555b66;
  --kp-text-muted:  #767c87;
  --kp-text-placeholder: #a0a5ae;
  --kp-text-on-primary: #ffffff;
  --kp-link:        #0057d9;

  
  
  --kp-font-sans: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", "맑은 고딕", "Noto Sans KR", system-ui, "Segoe UI", Roboto, sans-serif;
  
  --kp-font-display: "Pretendard Variable", Pretendard, -apple-system, "Apple SD Gothic Neo", "Noto Sans KR", system-ui, sans-serif;
  
  --kp-font-mono: "JetBrains Mono", "SF Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  
  --kp-text-xs:   12px;   
  --kp-text-sm:   13px;   
  --kp-text-base: 14px;   
  --kp-text-md:   15px;   
  --kp-text-lg:   16px;   
  --kp-text-xl:   18px;   
  --kp-text-2xl:  20px;   
  --kp-text-3xl:  24px;   
  --kp-text-4xl:  28px;   
  --kp-text-5xl:  32px;   
  --kp-text-6xl:  40px;   
  --kp-text-7xl:  48px;   

  
  --kp-leading-tight:  1.25;
  --kp-leading-snug:   1.4;
  --kp-leading-normal: 1.55;
  --kp-leading-loose:  1.7;

  
  --kp-weight-regular: 400;
  --kp-weight-medium:  500;
  --kp-weight-semibold: 600;
  --kp-weight-bold:    700;

  
  --kp-space-0: 0;
  --kp-space-1: 4px;
  --kp-space-2: 8px;
  --kp-space-3: 12px;
  --kp-space-4: 16px;
  --kp-space-5: 20px;
  --kp-space-6: 24px;
  --kp-space-7: 32px;
  --kp-space-8: 40px;
  --kp-space-9: 48px;
  --kp-space-10: 64px;
  --kp-space-11: 80px;
  --kp-space-12: 96px;

  
  --kp-radius-none: 0;
  --kp-radius-xs: 2px;
  --kp-radius-sm: 4px;
  --kp-radius-md: 6px;
  --kp-radius-lg: 8px;
  --kp-radius-xl: 12px;
  --kp-radius-2xl: 16px;
  --kp-radius-pill: 999px;

  
  --kp-shadow-xs: 0 1px 2px rgba(17, 20, 24, 0.04);
  --kp-shadow-sm: 0 1px 3px rgba(17, 20, 24, 0.06), 0 1px 2px rgba(17, 20, 24, 0.04);
  --kp-shadow-md: 0 4px 8px rgba(17, 20, 24, 0.06), 0 2px 4px rgba(17, 20, 24, 0.04);
  --kp-shadow-lg: 0 12px 24px rgba(17, 20, 24, 0.08), 0 4px 8px rgba(17, 20, 24, 0.04);
  --kp-shadow-xl: 0 24px 48px rgba(17, 20, 24, 0.12), 0 8px 16px rgba(17, 20, 24, 0.06);
  --kp-shadow-focus: 0 0 0 3px rgba(0, 102, 255, 0.2);

  
  --kp-container-max: 1280px;        
  --kp-page-padding-x: 24px;          
  --kp-page-padding-y: 24px;          
  --kp-page-padding-b: 80px;          
  --kp-gnb-height: 64px;
  --kp-sticky-top: 88px;              
  --kp-lnb-width: 240px;              
  --kp-rail-width: 260px;             
  --kp-side-width: 260px;             
  --kp-gutter: 28px;                  
  --kp-gutter-sm: 20px;

  
  --kp-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --kp-ease-in-out: cubic-bezier(0.45, 0, 0.55, 1);
  --kp-duration-fast: 120ms;
  --kp-duration-base: 200ms;
  --kp-duration-slow: 320ms;
}


:root[data-theme="dark"] {
  --kp-bg:         #0b0f17;
  --kp-bg-subtle:  #0f1420;
  --kp-surface:    #141a26;
  --kp-surface-2:  #1a2030;
  --kp-border:     #242c3d;
  --kp-border-strong: #37415a;
  --kp-border-light: #1e2534;
  --kp-divider:    #1e2534;

  --kp-text-strong: #f2f4f8;
  --kp-text:        #e4e7ed;
  --kp-text-sub:    #a9b0bd;
  --kp-text-muted:  #7e8594;
  --kp-text-placeholder: #545c6e;
  --kp-link:        #5c89ff;

  --kp-primary-600: #2b60b0; 
  --kp-primary-100: #1d2a3f;
  --kp-primary-50:  #162031;

  --kp-accent-500:  #4a8bff;
  --kp-accent-50:   #15223a;
  --kp-accent-100:  #1a2e52;

  --kp-gray-50:    #141a26;
  --kp-gray-100:   #1a2030;
  --kp-gray-150:   #242c3d;
  --kp-gray-200:   #2a3346;

  --kp-shadow-sm: 0 1px 3px rgba(0,0,0,0.4);
  --kp-shadow-md: 0 4px 8px rgba(0,0,0,0.5);
  --kp-shadow-lg: 0 12px 24px rgba(0,0,0,0.55);
}


:root[data-density="compact"] {
  --kp-space-4: 12px;
  --kp-space-5: 16px;
  --kp-space-6: 20px;
  --kp-space-7: 24px;
  --kp-space-8: 32px;
  --kp-text-base: 13px;
  --kp-text-md: 14px;
  --kp-text-lg: 15px;
}
:root[data-density="comfortable"] {
  --kp-space-4: 20px;
  --kp-space-5: 24px;
  --kp-space-6: 28px;
  --kp-space-7: 36px;
  --kp-space-8: 48px;
  --kp-text-base: 15px;
  --kp-text-md: 16px;
  --kp-text-lg: 17px;
}


:root[data-shape="sharp"] {
  --kp-radius-sm: 0;
  --kp-radius-md: 2px;
  --kp-radius-lg: 2px;
  --kp-radius-xl: 4px;
  --kp-radius-2xl: 4px;
}
:root[data-shape="rounded"] {
  --kp-radius-sm: 6px;
  --kp-radius-md: 10px;
  --kp-radius-lg: 14px;
  --kp-radius-xl: 18px;
  --kp-radius-2xl: 22px;
}
