/* Numa Studio - design tokens v2.0.0 */
@font-face{font-family:"Bai Jamjuree";src:url('../assets/fonts/BaiJamjuree-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:"Bai Jamjuree";src:url('../assets/fonts/BaiJamjuree-Medium.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:"Bai Jamjuree";src:url('../assets/fonts/BaiJamjuree-SemiBold.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:"Bai Jamjuree";src:url('../assets/fonts/BaiJamjuree-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
:root{--font-brand:"Bai Jamjuree",system-ui,sans-serif;--ink:#050505;--lime:#DFFF00;--gray:#5C5C5C;--white:#FFFFFF;--surface:#F7F8F2;--muted:#51564A;--divider:#D9DDD1;--control:#74786B;--success:#176347;--success-bg:#E8F5ED;--error:#B42318;--error-bg:#FEECE8;--warning:#8A4B00;--warning-bg:#FFF4DB;--info:#1D4ED8;--info-bg:#EDF2FF;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-dialog:16px;--duration-fast:120ms;--duration-base:180ms;--duration-slow:280ms;--ease:cubic-bezier(.22,1,.36,1);--container:1280px;--bg:var(--white);--text:var(--ink);--text-muted:var(--muted);--border-subtle:var(--divider);--border-control:var(--control);--action:var(--lime);--on-action:var(--ink);--focus:var(--ink)}
:root{--space-0:0px;--space-4:4px;--space-8:8px;--space-12:12px;--space-16:16px;--space-20:20px;--space-24:24px;--space-32:32px;--space-40:40px;--space-48:48px;--space-64:64px;--space-80:80px;--space-96:96px;--space-128:128px;}
[data-theme="dark"]{--bg:#050505;--surface:#161813;--text:#FFFFFF;--text-muted:#BFC5B6;--border-subtle:#373C30;--border-control:#7B8270;--focus:#DFFF00}
.numa-ui{font-family:var(--font-brand);color:var(--text);background:var(--bg);font-size:18px;line-height:1.55}
.numa-ui *, .numa-ui *::before, .numa-ui *::after{box-sizing:border-box}
.numa-ui ::selection{background:var(--lime);color:var(--ink)}
.numa-ui :focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.numa-ui input,.numa-ui textarea{caret-color:var(--text)}
.numa-ui a{color:inherit;text-underline-offset:4px;text-decoration-thickness:1px}
.numa-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 24px;border:1px solid var(--ink);border-radius:var(--radius-md);background:var(--action);color:var(--on-action);font:500 16px/1.25 var(--font-brand);cursor:pointer;text-decoration:none;transition:background var(--duration-base) var(--ease),transform var(--duration-fast) var(--ease)}
.numa-button:hover{background:#CDEB00}.numa-button:active{background:#BED900;transform:translateY(1px)}
.numa-button.secondary{border-color:var(--border-control);background:var(--bg);color:var(--text)}.numa-button.secondary:hover{background:var(--surface)}
.numa-button.danger{background:var(--error);border-color:var(--error);color:white}.numa-button.danger:hover{background:#8F1D13}
.numa-button:disabled,.numa-button[aria-disabled="true"]{background:var(--border-subtle);color:var(--text-muted);border-color:var(--border-subtle);cursor:not-allowed;transform:none}
.numa-button.small{min-height:44px;padding:10px 16px;font-size:14px}
.numa-field{display:flex;flex-direction:column;gap:8px;min-width:0}.numa-field label{font-weight:500;font-size:16px}
.numa-field input,.numa-field select,.numa-field textarea{width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--border-control);border-radius:8px;background:var(--bg);color:var(--text);font:400 16px/1.5 var(--font-brand)}
.numa-field input::placeholder,.numa-field textarea::placeholder{color:var(--text-muted);opacity:1}
.numa-field [aria-invalid="true"]{border-color:var(--error);border-width:2px;padding:11px 13px}
.numa-field .help{font-size:14px;line-height:1.5;color:var(--text-muted)}.numa-field .error{color:var(--error);font-size:14px;line-height:1.5}
.numa-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:14px;font-weight:500;line-height:1.4}
.numa-badge.success{color:var(--success);background:var(--success-bg)}.numa-badge.error{color:var(--error);background:var(--error-bg)}.numa-badge.warning{color:var(--warning);background:var(--warning-bg)}.numa-badge.info{color:var(--info);background:var(--info-bg)}
.numa-checkbox{display:inline-flex;align-items:flex-start;gap:10px;min-height:44px;cursor:pointer}.numa-checkbox input{accent-color:var(--ink);width:20px;height:20px;margin-top:3px;flex-shrink:0}
@media(prefers-reduced-motion:reduce){.numa-ui *, .numa-ui *::before, .numa-ui *::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.numa-button:active{transform:none}}
:root{--error-text:#B42318}[data-theme="dark"]{--error-text:#FFB4AA}.numa-field [aria-invalid="true"]{border-color:var(--error-text)}.numa-field .error{color:var(--error-text)}
:root{--type-display:72px;--type-h1:56px;--type-h2:40px;--type-h3:28px;--type-title:22px;--type-body:18px;--type-small:14px;--type-control:16px;}
@media(max-width:767px){:root{--type-display:44px;--type-h1:36px;--type-h2:30px;--type-h3:24px;--type-title:20px;--type-body:16px;--type-small:14px;--type-control:16px;}.numa-ui{font-size:16px}}
.numa-type-display{font-family:var(--font-brand);font-size:var(--type-display);font-weight:600;line-height:1.04;letter-spacing:-.03em;}
.numa-type-h1{font-family:var(--font-brand);font-size:var(--type-h1);font-weight:600;line-height:1.1;letter-spacing:-.03em;}
.numa-type-h2{font-family:var(--font-brand);font-size:var(--type-h2);font-weight:600;line-height:1.15;}
.numa-type-h3{font-family:var(--font-brand);font-size:var(--type-h3);font-weight:600;line-height:1.25;}
.numa-type-title{font-family:var(--font-brand);font-size:var(--type-title);font-weight:600;line-height:1.3;}
.numa-type-body{font-family:var(--font-brand);font-size:var(--type-body);font-weight:400;line-height:1.55;}
.numa-type-small{font-family:var(--font-brand);font-size:var(--type-small);font-weight:400;line-height:1.5;}
.numa-type-control{font-family:var(--font-brand);font-size:var(--type-control);font-weight:500;line-height:1.25;}
