.gs-overlay[data-v-39465960]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#0f172a8c;display:flex;align-items:flex-start;justify-content:center;padding-top:10vh;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.gs-modal[data-v-39465960]{width:100%;max-width:640px;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0006;overflow:hidden;font-family:inherit}.gs-hdr[data-v-39465960]{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid #e5e7eb;color:#6b7280}.gs-hdr input[data-v-39465960]{flex:1;border:none;outline:none;font-size:16px;color:#111827;background:transparent}.gs-esc[data-v-39465960]{padding:2px 6px;background:#f3f4f6;border:1px solid #d1d5db;border-radius:4px;font-size:10px;font-weight:700;color:#6b7280;font-family:monospace}.gs-body[data-v-39465960]{max-height:60vh;overflow-y:auto}.gs-loading[data-v-39465960],.gs-empty[data-v-39465960]{padding:32px;text-align:center;color:#9ca3af;font-size:14px}.gs-hint[data-v-39465960]{padding:20px}.gs-hint-title[data-v-39465960]{font-size:12px;color:#6b7280;margin-bottom:12px;font-weight:600}.gs-hint-list[data-v-39465960]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;color:#9ca3af}.gs-chip[data-v-39465960]{padding:4px 10px;background:#f3f4f6;color:#374151;border:1px solid #e5e7eb;border-radius:12px;font-size:12px;cursor:pointer;transition:all .15s}.gs-chip[data-v-39465960]:hover{background:#2563eb;color:#fff;border-color:#2563eb}.gs-list[data-v-39465960]{list-style:none;margin:0;padding:8px}.gs-list li[data-v-39465960]{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:6px;cursor:pointer;font-size:14px;color:#111827}.gs-list li.active[data-v-39465960],.gs-list li[data-v-39465960]:hover{background:#eff6ff}.mod-dot[data-v-39465960]{width:8px;height:8px;border-radius:2px;flex-shrink:0}.mod-dot.m-lab[data-v-39465960]{background:#2563eb}.mod-dot.m-ekg[data-v-39465960]{background:#dc2626}.mod-dot.m-film[data-v-39465960]{background:#0284c7}.gs-mod[data-v-39465960]{font-size:10px;font-weight:800;letter-spacing:.1em;color:#6b7280;min-width:30px}.gs-title[data-v-39465960]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gs-verify[data-v-39465960]{color:#065f46;font-weight:900;flex-shrink:0}.gs-ftr[data-v-39465960]{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;border-top:1px solid #e5e7eb;background:#f9fafb;font-size:11px;color:#6b7280}.gs-kbd-hint kbd[data-v-39465960]{font-family:monospace}.device-guard[data-v-0eb81473]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;background:linear-gradient(135deg,#0f172a,#1e293b 60%,#172554);display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto;color:#e2e8f0;font-family:Inter,Noto Sans Thai,-apple-system,sans-serif}.dg-container[data-v-0eb81473]{max-width:480px;width:100%;text-align:center}.dg-icon[data-v-0eb81473]{color:#94a3b8;margin-bottom:20px;display:flex;justify-content:center}.dg-title[data-v-0eb81473]{font-size:24px;font-weight:700;color:#ef4444;margin:0 0 12px}.dg-subtitle[data-v-0eb81473]{font-size:14px;color:#cbd5e1;line-height:1.6;margin:0 0 28px}.dg-supported[data-v-0eb81473]{background:#14b8a614;border:1px solid rgba(20,184,166,.3);border-radius:12px;padding:20px 16px;margin-bottom:20px}.dg-supported-title[data-v-0eb81473]{font-size:13px;font-weight:700;color:#14b8a6;margin-bottom:16px;text-align:left}.dg-devices[data-v-0eb81473]{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.dg-device[data-v-0eb81473]{background:#0f172a99;border:1px solid rgba(20,184,166,.2);border-radius:8px;padding:12px 8px;transition:all .2s}.dg-device-icon[data-v-0eb81473]{font-size:32px;margin-bottom:6px}.dg-device-name[data-v-0eb81473]{font-size:12px;font-weight:700;color:#14b8a6;margin-bottom:4px}.dg-device-desc[data-v-0eb81473]{font-size:10px;color:#94a3b8;line-height:1.4}.dg-current[data-v-0eb81473]{background:#ef444414;border:1px solid rgba(239,68,68,.3);border-radius:8px;padding:14px;margin-bottom:16px}.dg-current-label[data-v-0eb81473]{font-size:11px;color:#94a3b8;margin-bottom:4px}.dg-current-size[data-v-0eb81473]{font-family:JetBrains Mono,SF Mono,monospace;font-size:20px;font-weight:700;color:#fecaca;margin-bottom:4px}.dg-current-note[data-v-0eb81473]{font-size:11px;color:#94a3b8}.dg-current-note b[data-v-0eb81473]{color:#fca5a5}.dg-tip[data-v-0eb81473]{padding:12px 16px;background:#f59e0b14;border-left:3px solid #f59e0b;border-radius:6px;font-size:12px;color:#fbbf24;text-align:left}@media(max-width:480px){.dg-title[data-v-0eb81473]{font-size:20px}.dg-subtitle[data-v-0eb81473]{font-size:13px}.dg-devices[data-v-0eb81473]{grid-template-columns:1fr}.dg-device[data-v-0eb81473]{display:flex;align-items:center;gap:12px;text-align:left;padding:10px 12px}.dg-device-icon[data-v-0eb81473]{font-size:28px;margin-bottom:0}.dg-device-name[data-v-0eb81473],.dg-device-desc[data-v-0eb81473]{text-align:left}}:root{--gray-0: #ffffff;--gray-50: #fafafa;--gray-100: #f4f4f5;--gray-150: #ececee;--gray-200: #e4e4e7;--gray-300: #d4d4d8;--gray-400: #a1a1aa;--gray-500: #71717a;--gray-600: #52525b;--gray-700: #3f3f46;--gray-800: #27272a;--gray-900: #18181b;--gray-950: #09090b;--brand-50: #eff6ff;--brand-100: #dbeafe;--brand-200: #bfdbfe;--brand-300: #93c5fd;--brand-400: #60a5fa;--brand-500: #2563eb;--brand-600: #1d4ed8;--brand-700: #1e40af;--brand-800: #1e3a8a;--brand-900: #172554;--accent2-50: #f0fdfa;--accent2-100: #ccfbf1;--accent2-500: #14b8a6;--accent2-600: #0d9488;--accent2-700: #0f766e;--success-50: #f0fdf4;--success-100: #dcfce7;--success-500: #22c55e;--success-600: #16a34a;--success-700: #15803d;--warning-50: #fefce8;--warning-100: #fef9c3;--warning-500: #eab308;--warning-600: #ca8a04;--warning-700: #a16207;--danger-50: #fef2f2;--danger-100: #fee2e2;--danger-500: #ef4444;--danger-600: #dc2626;--danger-700: #b91c1c;--info-50: #eff6ff;--info-100: #dbeafe;--info-500: #3b82f6;--info-600: #2563eb;--info-700: #1d4ed8;--bg: var(--gray-50);--surface: var(--gray-0);--surface2: var(--gray-100);--border: var(--gray-200);--border2: var(--gray-300);--text: var(--gray-900);--muted: var(--gray-500);--muted2: var(--gray-400);--accent: var(--brand-600);--accent-dark: var(--brand-800);--accent-light: var(--brand-50);--accent2: var(--accent2-500);--green: var(--success-500);--red: var(--danger-500);--yellow: var(--warning-500);--orange: #f97316;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--r-sm: 2px;--r-md: 4px;--r-lg: 6px;--r-xl: 8px;--r-2xl: 10px;--r-3xl: 12px;--r-full: 9999px;--shadow-1: 0 1px 0 rgba(15, 23, 42, .04), 0 1px 2px rgba(15, 23, 42, .05);--shadow-2: 0 1px 0 rgba(15, 23, 42, .05), 0 2px 4px rgba(15, 23, 42, .06);--shadow-3: 0 2px 4px rgba(15, 23, 42, .06), 0 8px 16px rgba(15, 23, 42, .08);--shadow-4: 0 4px 8px rgba(15, 23, 42, .08), 0 16px 32px rgba(15, 23, 42, .12);--shadow-brand: 0 2px 4px rgba(37, 99, 235, .14), 0 6px 12px rgba(37, 99, 235, .16);--shadow: var(--shadow-1);--shadow-hover: var(--shadow-3);--glow: 0 0 0 3px rgba(37, 99, 235, .18);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .12s;--duration-med: .2s;--duration-slow: .32s;--font-sans: "Inter", "Noto Sans Thai", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", Menlo, monospace;--text-xs: 11px;--text-sm: 12px;--text-base: 14px;--text-md: 15px;--text-lg: 17px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 30px;--text-4xl: 36px;--lh-tight: 1.2;--lh-snug: 1.4;--lh-normal: 1.55;--lh-relaxed: 1.7;--fw-normal: 400;--fw-med: 500;--fw-semi: 600;--fw-bold: 700;--fw-black: 800;--max-content: 1200px;--max-narrow: 800px;--bp-tablet: 768px;--bp-laptop: 1024px;--bp-desktop: 1280px;--bp-wide: 1440px;--touch-target: 44px;color-scheme:light}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}*::selection{background:var(--brand-200);color:var(--brand-900)}html{font-size:100%;scroll-behavior:smooth;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,#app{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--lh-normal);font-feature-settings:"cv02","cv03","cv04","cv11","ss01";letter-spacing:-.005em;min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:var(--fw-bold);letter-spacing:-.02em;line-height:var(--lh-tight);color:var(--gray-900)}h1{font-size:var(--text-4xl);letter-spacing:-.03em}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-md)}h5{font-size:var(--text-sm);font-weight:var(--fw-semi);color:var(--gray-600);text-transform:uppercase;letter-spacing:.06em}p{line-height:var(--lh-normal);color:var(--gray-700)}a{color:var(--brand-700);text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}a:hover{color:var(--brand-600)}button,input,textarea,select{font-family:inherit;font-size:inherit;line-height:inherit}button{cursor:pointer}img,svg,video{max-width:100%;display:block}input,textarea,select{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:var(--r-md);padding:10px 14px;outline:none;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}input:focus,textarea:focus,select:focus{border-color:var(--brand-500);box-shadow:var(--glow)}input::placeholder{color:var(--gray-400)}*:focus-visible{outline:2px solid var(--brand-500);outline-offset:2px;border-radius:var(--r-md)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:11px 20px;border-radius:var(--r-sm);border:1px solid transparent;background:var(--brand-700);color:var(--gray-0);font-size:var(--text-base);font-weight:var(--fw-semi);letter-spacing:-.005em;box-shadow:var(--shadow-brand);transition:background var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out);-webkit-user-select:none;user-select:none;white-space:nowrap;text-transform:none}.btn:hover{background:var(--brand-800);transform:translateY(-1px);box-shadow:var(--shadow-3)}.btn:active{transform:translateY(0);box-shadow:var(--shadow-1)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn.ghost{background:transparent;border-color:var(--gray-300);color:var(--gray-800);box-shadow:none}.btn.ghost:hover{background:var(--gray-50);border-color:var(--gray-400);color:var(--gray-950)}.btn.subtle{background:var(--gray-100);color:var(--gray-800);box-shadow:none;border-color:var(--gray-200)}.btn.subtle:hover{background:var(--gray-150)}.btn.accent{background:var(--accent2-600);box-shadow:0 2px 4px #14b8a629,0 6px 12px #14b8a62e}.btn.accent:hover{background:var(--accent2-700)}.btn.danger{background:var(--danger-600);box-shadow:0 2px 4px #ef44442e,0 6px 12px #ef444429}.btn.danger:hover{background:var(--danger-700)}.btn.sm{padding:7px 14px;font-size:var(--text-sm)}.btn.lg{padding:14px 28px;font-size:var(--text-md)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--space-5) var(--space-6);transition:border-color var(--duration-med) var(--ease-out),box-shadow var(--duration-med) var(--ease-out);box-shadow:var(--shadow-1)}.card:hover{border-color:var(--gray-300)}.card.interactive:hover{border-color:var(--brand-500);box-shadow:var(--shadow-3);transform:translateY(-1px)}mark,.hl{background:linear-gradient(180deg,transparent 55%,var(--brand-200) 55%);color:var(--brand-900);padding:0 2px;border-radius:2px;font-weight:var(--fw-semi)}.container{max-width:var(--max-content);margin:0 auto;padding:0 var(--space-6)}.container-narrow{max-width:var(--max-narrow);margin:0 auto;padding:0 var(--space-5)}.stack-y>*+*{margin-top:var(--space-4)}.stack-x{display:flex;align-items:center;gap:var(--space-3)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-md{font-size:var(--text-md)}.text-lg{font-size:var(--text-lg)}.text-muted{color:var(--gray-500)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--gray-100) 25%,var(--gray-150) 50%,var(--gray-100) 75%);background-size:200% 100%;animation:shimmer 1.6s infinite;border-radius:var(--r-md)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}html{font-size:15px}button,.btn,[role=button],a.btn,input[type=button],input[type=submit]{min-height:var(--touch-target);min-width:var(--touch-target);padding:var(--space-2) var(--space-4);cursor:pointer;touch-action:manipulation}button.sm,.btn.sm{min-height:36px;min-width:36px;padding:var(--space-2) var(--space-3)}button.xs,.btn.xs{min-height:28px;min-width:28px;padding:4px var(--space-2)}input,textarea,select{font-size:16px;min-height:var(--touch-target);padding:var(--space-2) var(--space-3)}textarea{min-height:80px}.container{max-width:min(var(--max-content),calc(100vw - var(--space-8)))}.grid-2-tablet,.grid-3-tablet,.grid-4-tablet{display:grid;gap:var(--space-4);grid-template-columns:1fr}@media(min-width:768px){html{font-size:15px}.container{padding:0 var(--space-8)}.grid-2-tablet,.grid-3-tablet,.grid-4-tablet{grid-template-columns:repeat(2,1fr)}.hide-tablet-up{display:none!important}.show-tablet-up{display:initial!important}}@media(min-width:1024px){html{font-size:16px}.grid-3-tablet{grid-template-columns:repeat(3,1fr)}.grid-4-tablet{grid-template-columns:repeat(4,1fr)}.hide-laptop-up{display:none!important}.show-laptop-up{display:initial!important}}@media(min-width:1280px){.container{padding:0 var(--space-10)}}@media(min-width:1440px){html{font-size:17px}}@media(hover:hover)and (pointer:fine){button:hover,.btn:hover,a:hover{transition:all .15s ease}}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--brand-500);outline-offset:2px}html{scrollbar-gutter:stable}img{max-width:100%;height:auto}@media print{.no-print{display:none!important}body{background:#fff}.card{box-shadow:none;border:1px solid #ddd}}
