:root{--brand-50: #eef2ff;--brand-100: #e0e7ff;--brand-200: #c7d2fe;--brand-300: #a5b4fc;--brand-400: #818cf8;--brand-500: #6366f1;--brand-600: #4f46e5;--brand-700: #4338ca;--brand-800: #3730a3;--brand-900: #312e81;--success-50: #ecfdf5;--success-500: #10b981;--success-600: #059669;--success-700: #047857;--warning-50: #fffbeb;--warning-500: #f59e0b;--warning-600: #d97706;--danger-50: #fef2f2;--danger-500: #ef4444;--danger-600: #dc2626;--danger-700: #b91c1c;--bg: #ffffff;--surface: #ffffff;--surface-2: #f8fafc;--surface-3: #f1f5f9;--surface-4: #e2e8f0;--border: #e5e7eb;--border-strong: #cbd5e1;--text: #0f172a;--text-2: #334155;--text-3: #64748b;--text-muted: #94a3b8;--text-inverse: #ffffff;--s0: 0;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--s7: 48px;--s8: 64px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-pill: 999px;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .04);--shadow-sm: 0 1px 3px rgba(15, 23, 42, .06), 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 4px 6px -1px rgba(15, 23, 42, .08), 0 2px 4px -2px rgba(15, 23, 42, .05);--shadow-lg: 0 10px 15px -3px rgba(15, 23, 42, .1), 0 4px 6px -4px rgba(15, 23, 42, .05);--shadow-glow: 0 0 0 4px rgba(99, 102, 241, .15);--font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, monospace;--fs-xs: 11px;--fs-sm: 13px;--fs-base: 15px;--fs-md: 16px;--fs-lg: 18px;--fs-xl: 22px;--fs-2xl: 28px;--fs-3xl: 36px;--fs-4xl: 48px;--fw-normal: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--fw-extrabold: 800;--density: 1;--z-sheet: 50;--z-modal: 60;--z-toast: 70;--z-nav-mobile: 40}[data-theme=dark]{--bg: #0b1020;--surface: #0f172a;--surface-2: #111827;--surface-3: #1f2937;--surface-4: #334155;--border: #1f2937;--border-strong: #334155;--text: #f1f5f9;--text-2: #cbd5e1;--text-3: #94a3b8;--text-muted: #64748b;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4), 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -2px rgba(0, 0, 0, .25);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5), 0 4px 6px -4px rgba(0, 0, 0, .3);--shadow-glow: 0 0 0 4px rgba(129, 140, 248, .18)}[data-density=compact]{--density: .85}[data-density=comfortable]{--density: 1.1}.num,.tabular{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}@keyframes ctp-shimmer{0%{background-position:-800px 0}to{background-position:800px 0}}@keyframes ctp-fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}:root{--bp-mobile: 720px}.ctp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--radius-md);font-weight:var(--fw-semibold);font-family:var(--font-sans);cursor:pointer;transition:background .12s ease,color .12s ease,box-shadow .12s ease,transform .12s ease;border:1px solid transparent;white-space:nowrap;-webkit-user-select:none;user-select:none}.ctp-btn{position:relative}.ctp-btn:focus-visible{outline:none;box-shadow:var(--shadow-glow)}.ctp-btn:disabled:not([aria-busy=true]){opacity:.5;cursor:not-allowed}.ctp-btn[aria-busy=true]{cursor:wait}.ctp-btn-sm{height:32px;padding:0 12px;font-size:var(--fs-sm)}.ctp-btn-md{height:40px;padding:0 16px;font-size:var(--fs-base)}.ctp-btn-lg{height:48px;padding:0 20px;font-size:var(--fs-md)}.ctp-btn-full{width:100%}.ctp-btn-primary{background:var(--brand-600);color:var(--text-inverse)}.ctp-btn-primary:hover:not(:disabled){background:var(--brand-700)}.ctp-btn-secondary{background:var(--surface-2);color:var(--text);border-color:var(--border)}.ctp-btn-secondary:hover:not(:disabled){background:var(--surface-3)}.ctp-btn-ghost{background:transparent;color:var(--text-2)}.ctp-btn-ghost:hover:not(:disabled){background:var(--surface-2)}.ctp-btn-danger{background:var(--danger-500);color:var(--text-inverse)}.ctp-btn-danger:hover:not(:disabled){background:var(--danger-600)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.ctp-btn-loader{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ctp-spin .6s linear infinite}.ctp-btn-content{display:inline-flex;align-items:center;gap:inherit;transition:opacity .12s ease}.ctp-btn[aria-busy=true] .ctp-btn-content{opacity:0}@keyframes ctp-spin{to{transform:rotate(360deg)}}.ctp-card{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border)}.ctp-card-raised{box-shadow:var(--shadow-sm)}.ctp-card-flat{box-shadow:none}.ctp-card-inset{background:var(--surface-2);border:none}.ctp-card-pad-sm{padding:var(--s3)}.ctp-card-pad-md{padding:var(--s4)}.ctp-card-pad-lg{padding:var(--s5)}.ctp-input{height:40px;padding:0 12px;border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-base);transition:border-color .12s ease,box-shadow .12s ease;width:100%}.ctp-input:focus{outline:none;border-color:var(--brand-500);box-shadow:var(--shadow-glow)}.ctp-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:var(--z-sheet)}.ctp-sheet{position:fixed;top:0;right:0;bottom:0;width:min(480px,100vw);background:var(--surface);z-index:calc(var(--z-sheet) + 1);box-shadow:var(--shadow-lg);overflow-y:auto;animation:ctp-fade-up .2s ease-out}.ctp-tabs{display:inline-flex;background:var(--surface-2);border-radius:var(--radius-pill);padding:4px;gap:2px}.ctp-tab{padding:6px 14px;border-radius:var(--radius-pill);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-3);cursor:pointer;border:none;background:transparent}.ctp-tab[data-active=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-xs)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;font-family:var(--font-sans);font-size:var(--fs-md);line-height:1.5;color:var(--text);background:var(--surface-2);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit}img,svg{display:block;max-width:100%}h1,h2,h3{letter-spacing:-.01em}.ctp-main{max-width:1200px;margin:0 auto;padding:var(--s5) var(--s4) calc(var(--s8) + env(safe-area-inset-bottom))}.ctp-auth{min-height:100dvh;display:grid;place-items:center;padding:var(--s4)}.ctp-auth-inner{width:100%;max-width:400px}.ctp-field{display:grid;gap:6px;margin-bottom:var(--s3);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-2)}.ctp-muted{color:var(--text-3)}.ctp-error{color:var(--danger-600);font-size:var(--fs-sm);margin:var(--s2) 0}.ctp-stack{display:grid;gap:var(--s5)}.ctp-grid-stats{display:grid;gap:var(--s3);grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.ctp-grid-cards{display:grid;gap:var(--s4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.ctp-truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ctp-form-2col{display:grid;gap:var(--s3);grid-template-columns:1fr}@media(min-width:560px){.ctp-form-2col{grid-template-columns:2fr 1fr}}@media(max-width:420px){.ctp-pts{display:none}}.ctp-header-nav{display:none;gap:4px}.ctp-header-tab{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:var(--radius-pill);color:var(--text-2);font-size:var(--fs-sm);font-weight:var(--fw-medium)}.ctp-header-tab:hover{background:var(--surface-2);text-decoration:none}.ctp-header-tab[aria-current=page]{background:var(--brand-50);color:var(--brand-700)}.ctp-mobile-nav{position:fixed;left:0;right:0;bottom:0;background:var(--surface);border-top:1px solid var(--border);z-index:var(--z-nav-mobile);display:grid;padding-bottom:env(safe-area-inset-bottom)}.ctp-mobile-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px 0 6px;color:var(--text-3);font-size:var(--fs-xs);font-weight:var(--fw-medium)}.ctp-mobile-nav a:hover{text-decoration:none}.ctp-mobile-nav a[aria-current=page]{color:var(--brand-600);font-weight:var(--fw-semibold)}@media(min-width:720px){.ctp-header-nav{display:flex}.ctp-mobile-nav{display:none}.ctp-main{padding-bottom:var(--s7)}}:focus-visible{outline:2px solid var(--brand-600);outline-offset:2px;border-radius:4px}.skeleton{background:linear-gradient(90deg,var(--surface-3) 25%,var(--surface-4) 37%,var(--surface-3) 63%);background-size:400% 100%;animation:ctp-shimmer 1.4s ease infinite;border-radius:var(--radius-sm)}
