:root{--color-primary: #1E1B4B;--color-on-primary: #FFFFFF;--color-secondary: #4C4780;--color-accent: #7C3AED;--color-on-accent: #FFFFFF;--color-background: #F4F2FA;--color-foreground: #1E1B4B;--color-card: #FFFFFF;--color-muted: #ECE9F6;--color-muted-foreground: #5B5675;--color-border: #E2DDF0;--color-destructive: #DC2626;--color-on-destructive: #FFFFFF;--color-ring: #7C3AED;--glass-bg: rgba(255, 255, 255, .55);--glass-bg-strong: rgba(255, 255, 255, .78);--glass-border: rgba(255, 255, 255, .85);--glass-blur: 16px;--wash-violet: #C4B5FD;--wash-mint: #99F6E4;--wash-pink: #FBCFE8;--tone-neutral-fg: #5B5675;--tone-neutral-bg: #EEEBF7;--tone-info-fg: #6D28D9;--tone-info-bg: #EDE9FE;--tone-progress-fg: #B45309;--tone-progress-bg: #FEF3C7;--tone-success-fg: #0F766E;--tone-success-bg: #CCFBF1;--tone-warning-fg: #A16207;--tone-warning-bg: #FEF9C3;--tone-danger-fg: #B91C1C;--tone-danger-bg: #FEE2E2;--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--text-xs: 12px;--text-sm: 13px;--text-base: 14px;--text-lg: 16px;--text-xl: 20px;--leading: 1.5;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--radius: 8px;--radius-lg: 14px;--shadow-sm: 0 1px 2px rgba(30, 27, 75, .06);--shadow-glass: 0 8px 32px rgba(30, 27, 75, .08);--duration: .15s;--nav-width: 244px}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading);color:var(--color-foreground);background:var(--color-background);-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(42% 38% at 8% 4%,var(--wash-violet) 0%,transparent 70%),radial-gradient(36% 34% at 96% 36%,var(--wash-mint) 0%,transparent 70%),radial-gradient(40% 36% at 30% 100%,var(--wash-pink) 0%,transparent 70%),var(--color-background)}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.4);backdrop-filter:blur(var(--glass-blur)) saturate(1.4);border:1px solid var(--glass-border);box-shadow:var(--shadow-glass)}@media(prefers-reduced-transparency:reduce){body:before{background:var(--color-background)}.glass,.card,.tile,dialog{background:var(--color-card);-webkit-backdrop-filter:none;backdrop-filter:none;border-color:var(--color-border)}}h1,h2,h3{margin:0 0 var(--space-3);color:var(--color-primary);line-height:1.3}h1{font-size:var(--text-xl);font-weight:600}h2{font-size:var(--text-lg);font-weight:600}h3{font-size:var(--text-base);font-weight:600}p{margin:0 0 var(--space-3)}a{color:var(--color-accent)}code,pre{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-sm)}pre{background:var(--color-muted);padding:var(--space-3);border-radius:var(--radius);overflow:auto;max-height:480px}:focus-visible{outline:2px solid var(--color-ring);outline-offset:2px}button,[role=button],a,label[for],tr.clickable{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}:root{--ease-out: cubic-bezier(.2, .8, .2, 1);--duration-slow: .32s}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}@keyframes slide-down{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.content{view-transition-name:content}::view-transition-old(root),::view-transition-new(root){animation:none}::view-transition-old(content){animation:.12s ease-in both fade reverse}::view-transition-new(content){animation:.22s var(--ease-out) both rise}.card,.tile,.table-wrap,.notice{animation:rise var(--duration-slow) var(--ease-out) both}.tiles>:nth-child(2){animation-delay:40ms}.tiles>:nth-child(3){animation-delay:80ms}.tiles>:nth-child(4){animation-delay:.12s}.tiles>:nth-child(5){animation-delay:.16s}.tiles>:nth-child(6){animation-delay:.2s}.tiles>:nth-child(n+7){animation-delay:.24s}.table tbody tr{animation:fade .24s var(--ease-out) both}.events-row td>*{animation:slide-down .2s var(--ease-out) both}.pop{animation:pop .16s var(--ease-out) both}dialog[open]{animation:pop .18s var(--ease-out) both}dialog[open]::backdrop{animation:fade .18s ease-out both}.btn{transition:background-color var(--duration),border-color var(--duration),color var(--duration),transform 80ms ease-out,box-shadow var(--duration)}.btn:active:not(:disabled){transform:scale(.97)}.btn-primary:hover:not(:disabled){box-shadow:0 6px 16px #7c3aed4d}.card,.tile{transition:transform var(--duration),box-shadow var(--duration),border-color var(--duration)}a.card:hover,button.tile:hover{transform:translateY(-1px)}input,select,textarea{transition:border-color var(--duration),box-shadow var(--duration)}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px #7c3aed26}.segmented .btn,.chip,.badge{transition:background-color var(--duration),color var(--duration)}progress::-webkit-progress-value{transition:width .4s var(--ease-out)}details summary{cursor:pointer}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}.btn{display:inline-flex;align-items:center;gap:var(--space-2);min-height:32px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-card);color:var(--color-foreground);font:inherit;font-weight:500;font-size:var(--text-base);transition:background-color var(--duration),color var(--duration),border-color var(--duration);text-decoration:none;white-space:nowrap}.btn:hover:not(:disabled){background:var(--color-muted);border-color:#d4ccea}.btn-primary{background:var(--color-accent);color:var(--color-on-accent);border-color:var(--color-accent)}.btn-primary:hover:not(:disabled){background:#6d28d9;border-color:#6d28d9}.btn-danger{background:var(--color-destructive);color:var(--color-on-destructive);border-color:var(--color-destructive)}.btn-danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}.btn-ghost{border-color:transparent;background:transparent}.btn-sm{min-height:28px;padding:0 var(--space-2);font-size:var(--text-sm)}.btn svg{width:16px;height:16px}@media(pointer:coarse){.btn{min-height:44px}}.card{background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-glass)}.card:has(.pop),.filters:has(.pop),.range:has(.pop){position:relative;z-index:40}.stack>*+*{margin-top:var(--space-4)}.row{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}.row-between{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-4)}.muted{color:var(--color-muted-foreground)}.small{font-size:var(--text-sm)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.num{text-align:right;font-variant-numeric:tabular-nums}.kv{display:grid;grid-template-columns:max-content 1fr;gap:var(--space-1) var(--space-4);font-size:var(--text-sm)}.kv dt{color:var(--color-muted-foreground)}.kv dd{margin:0}.table-wrap{position:relative;overflow-x:auto;background:var(--color-card);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-glass)}.table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.table th,.table td{padding:0 var(--space-3);height:36px;text-align:left;border-bottom:1px solid var(--color-border);vertical-align:middle;white-space:nowrap}.table th{position:sticky;top:0;background:var(--color-card);color:var(--color-secondary);font-weight:600;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.03em}.table tbody tr{transition:background-color var(--duration)}.table tbody tr:hover{background:var(--color-muted)}.table td.wrap{white-space:normal}.table .empty{text-align:center;color:var(--color-muted-foreground);height:64px}.field{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4)}.field label{font-weight:500;font-size:var(--text-base)}.field .hint{color:var(--color-muted-foreground);font-size:var(--text-sm)}.field .error{color:var(--color-destructive);font-size:var(--text-sm)}input[type=text],input[type=email],input[type=password],input[type=search],input[type=datetime-local],input[type=number],select,textarea{font:inherit;font-size:var(--text-base);color:var(--color-foreground);min-height:32px;padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-card);transition:border-color var(--duration)}input:focus,select:focus,textarea:focus{border-color:var(--color-accent)}input[aria-invalid=true],textarea[aria-invalid=true],select[aria-invalid=true]{border-color:var(--color-destructive)}textarea{min-height:120px;resize:vertical;font-family:inherit}textarea.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-sm);min-height:240px}.checkbox{display:flex;align-items:center;gap:var(--space-2);min-height:32px}input[type=checkbox],input[type=radio]{accent-color:var(--color-accent);width:16px;height:16px}.segmented{display:inline-flex;border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;background:var(--color-card)}.segmented .btn{border:0;border-radius:0;min-height:32px}.segmented .btn.on{background:var(--color-accent);color:var(--color-on-accent)}.step{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;margin-right:8px;font-size:var(--text-xs);font-weight:600;color:var(--color-on-accent);background:var(--color-accent);vertical-align:2px}.filters{display:flex;gap:var(--space-3);align-items:flex-end;flex-wrap:wrap;margin-bottom:var(--space-4)}.filters .field{margin:0;min-width:160px}.badge{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:999px;font-size:var(--text-xs);font-weight:500;line-height:1.4;white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge-neutral{color:var(--tone-neutral-fg);background:var(--tone-neutral-bg)}.badge-info{color:var(--tone-info-fg);background:var(--tone-info-bg)}.badge-progress{color:var(--tone-progress-fg);background:var(--tone-progress-bg)}.badge-success{color:var(--tone-success-fg);background:var(--tone-success-bg)}.badge-warning{color:var(--tone-warning-fg);background:var(--tone-warning-bg)}.badge-danger{color:var(--tone-danger-fg);background:var(--tone-danger-bg)}.chip{display:inline-block;padding:1px 8px;border-radius:999px;background:var(--color-muted);font-size:var(--text-xs);margin-right:4px}.chip-live{display:inline-flex;align-items:center;gap:6px;color:var(--tone-success-fg);background:var(--tone-success-bg)}.chip-live:before{content:"";width:6px;height:6px;border-radius:50%;background:#16a34a;box-shadow:0 0 #16a34a80;animation:live-pulse 1.6s ease-out infinite}@keyframes live-pulse{0%{box-shadow:0 0 #16a34a80}70%{box-shadow:0 0 0 5px #16a34a00}to{box-shadow:0 0 #16a34a00}}.notice{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius);border:1px solid;-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));font-size:var(--text-base);margin-bottom:var(--space-4)}.notice-success{color:var(--tone-success-fg);background:var(--tone-success-bg);border-color:var(--tone-success-fg)}.notice-error{color:var(--tone-danger-fg);background:var(--tone-danger-bg);border-color:var(--tone-danger-fg)}.notice-warning{color:var(--tone-warning-fg);background:var(--tone-warning-bg);border-color:var(--tone-warning-fg)}.notice button{background:none;border:0;color:inherit;font:inherit;font-weight:600}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--space-3)}.tile{background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-3);box-shadow:var(--shadow-sm)}.tile .n{font-size:var(--text-xl);font-weight:600;font-variant-numeric:tabular-nums}.tile .l{font-size:var(--text-xs);color:var(--color-muted-foreground);text-transform:uppercase;letter-spacing:.03em}dialog{background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(24px) saturate(1.4);backdrop-filter:blur(24px) saturate(1.4);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-6);max-width:480px;width:calc(100% - 32px);box-shadow:0 16px 48px #1e1b4b38;color:var(--color-foreground)}dialog::backdrop{background:#1e1b4b59;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.skeleton{height:14px;border-radius:var(--radius);background:linear-gradient(90deg,var(--color-muted) 25%,var(--color-border) 50%,var(--color-muted) 75%);background-size:200% 100%;animation:shimmer 1.2s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.table-wrap.loading:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;z-index:1;border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:linear-gradient(90deg,transparent 0%,var(--color-primary) 50%,transparent 100%);background-size:40% 100%;background-repeat:no-repeat;animation:sweep 1s ease-in-out infinite}.table-wrap.loading tbody{opacity:.5;pointer-events:none}.table-wrap tbody{transition:opacity var(--duration)}@keyframes sweep{0%{background-position:-40% 0}to{background-position:140% 0}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}progress{width:100%;height:12px}.table .events-row td{background:var(--tone-neutral-bg);padding:12px 16px 12px 24px;height:auto;white-space:normal;vertical-align:top}.table tbody tr.events-row:hover{background:var(--tone-neutral-bg)}
