@charset "UTF-8";:root{--bg-primary: #0d1117;--bg-secondary: #0d1117;--bg-card: #161b22;--bg-chrome: var(--bg-card);--border-color: #30363d;--text-primary: #e6edf3;--text-secondary: #8b949e;--text-muted: #7d8590;--accent-color: #58a6ff;--accent-hover: #79b8ff;--accent-bg: rgba(88, 166, 255, .1);--on-accent: #0d1117;--hover-bg: #1c2128;--success: #3fb950;--success-bg: rgba(63, 185, 80, .12);--danger: #f85149;--danger-bg: rgba(248, 81, 73, .12);--warning: #d29922;--warning-bg: rgba(210, 153, 34, .12);--info: #2196f3;--origin-capture: #2196f3;--origin-programmed: #3fb950;--origin-simulation: #9c27b0;--origin-historian: #d29922;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 48px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-pill: 999px;--scrim: rgba(0, 0, 0, .4);--scrim-nested: rgba(0, 0, 0, .3);--shadow-1: 0 1px 3px rgba(0, 0, 0, .4);--shadow-2: 0 4px 12px rgba(0, 0, 0, .35);--shadow-3: 0 8px 24px rgba(0, 0, 0, .4);--shadow-4: 0 16px 48px rgba(0, 0, 0, .45);--text-xs: .7rem;--text-sm: .85rem;--text-base: 1rem;--text-lg: 1.3rem;--text-xl: 1.8rem;--text-2xl: 2.5rem;--font-regular: 400;--font-semibold: 600;--font-bold: 700;--transition-fast: .12s ease;--transition-base: .2s ease}:root[data-theme=light]{--bg-primary: #f6f8fa;--bg-secondary: #f6f8fa;--bg-card: #ffffff;--bg-chrome: #e9ecef;--border-color: #d0d7de;--text-primary: #1f2328;--text-secondary: #57606a;--text-muted: #6e7781;--accent-color: #0969da;--accent-hover: #0860c7;--accent-bg: rgba(9, 105, 218, .1);--on-accent: #ffffff;--hover-bg: #dde1e5;--success: #1a7f37;--success-bg: rgba(26, 127, 55, .1);--danger: #cf222e;--danger-bg: rgba(207, 34, 46, .1);--warning: #9a6700;--warning-bg: rgba(154, 103, 0, .1);--scrim: rgba(0, 0, 0, .5);--scrim-nested: rgba(0, 0, 0, .35);--shadow-1: 0 1px 2px rgba(31, 35, 40, .08);--shadow-2: 0 4px 12px rgba(31, 35, 40, .12);--shadow-3: 0 8px 24px rgba(31, 35, 40, .14);--shadow-4: 0 16px 48px rgba(31, 35, 40, .18)}@media (prefers-reduced-motion: reduce){:root{--transition-fast: 0ms;--transition-base: 0ms}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-size:14px;background:var(--bg-primary);color:var(--text-primary)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}button{font:inherit;color:inherit;cursor:pointer}.btn-primary,.btn-secondary,.btn-danger{padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);border:1px solid transparent;font-weight:var(--font-semibold);transition:background var(--transition-fast),border-color var(--transition-fast)}.btn-primary:disabled,.btn-secondary:disabled,.btn-danger:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent-color);color:var(--on-accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:transparent;color:var(--text-secondary);border-color:var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--hover-bg);color:var(--text-primary)}.btn--with-icon{display:inline-flex;align-items:center;gap:var(--space-2)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){filter:brightness(1.1)}.btn-icon{display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:var(--radius-sm);padding:var(--space-2);color:var(--text-secondary);transition:background var(--transition-fast),color var(--transition-fast)}.btn-icon:hover{background:var(--hover-bg);color:var(--text-primary)}.btn-icon.active{background:var(--accent-bg);color:var(--accent-color)}.btn-icon-sm{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);padding:3px 6px;color:var(--text-secondary);line-height:1.4;text-decoration:none;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.btn-icon-sm:hover:not(:disabled){background:var(--hover-bg);border-color:var(--border-color);color:var(--text-primary)}.page__header h2{display:flex;align-items:center;gap:var(--space-2)}.page__header h2 app-icon{color:var(--text-muted)}.notice{padding:var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm)}.notice--error{background:var(--danger-bg);color:var(--danger)}.notice--ok{background:var(--success-bg);color:var(--success)}.notice--warning{background:var(--warning-bg);color:var(--warning)}.error-msg{padding:var(--space-3);border-radius:var(--radius-sm);background:var(--danger-bg);color:var(--danger);font-size:var(--text-sm)}.table-wrapper{overflow:auto;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-card)}.data-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.data-table thead th{position:sticky;top:0;z-index:1;background:var(--bg-chrome);color:var(--text-secondary);font-weight:var(--font-semibold);text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-color);white-space:nowrap}.data-table tbody td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-color);color:var(--text-primary)}.data-table tbody tr{transition:background var(--transition-fast)}.data-table tbody tr:hover{background:var(--hover-bg)}.data-table tbody tr:last-child td{border-bottom:none}.data-table .empty{text-align:center;padding:var(--space-7);color:var(--text-muted)}.data-table .num{text-align:right;font-variant-numeric:tabular-nums}.data-table .id-col{display:none}.text-muted{color:var(--text-muted)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.hint--muted{color:var(--text-muted);font-style:italic}.scaling-hint{color:var(--text-muted);font-size:var(--text-xs);line-height:1.4}.scaling-hint--clamped{color:var(--warning)}
