@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&family=Noto+Sans+SC:wght@300;400;500;600;700;800&family=Noto+Serif+SC:wght@500;600;700&display=swap";:root{--primary: #1E40AF;--primary-light: #3B82F6;--primary-lighter: #60A5FA;--primary-dark: #1E3A8A;--primary-bg: rgba(30, 64, 175, .08);--secondary: #10B981;--secondary-light: #34D399;--cta: #F59E0B;--cta-light: #FBBF24;--error: #EF4444;--error-light: #FCA5A5;--bg-primary: #F8FAFC;--bg-surface: #FFFFFF;--bg-surface-alt: #F1F5F9;--bg-sidebar: linear-gradient(180deg, #1E40AF 0%, #1E3A8A 100%);--bg-hover: rgba(59, 130, 246, .05);--text-primary: #1E293B;--text-secondary: #64748B;--text-muted: #94A3B8;--text-inverse: #FFFFFF;--border: #E2E8F0;--border-hover: #CBD5E1;--border-focus: #3B82F6;--status-running: #3B82F6;--status-success: #10B981;--status-warning: #F59E0B;--status-error: #EF4444;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-card: 0 1px 3px rgba(0, 0, 0, .05);--shadow-card-hover: 0 4px 12px rgba(0, 0, 0, .1);--header-height: 80px;--sidebar-width: 240px;--sidebar-collapsed: 72px;--content-max-width: 1400px;--card-padding: 24px;--grid-gap: 16px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--transition-fast: .15s ease-out;--transition-normal: .2s ease-out;--transition-slow: .3s ease-in-out;--z-dropdown: 100;--z-modal: 200;--z-tooltip: 300;--font-sans: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;--font-serif: "Noto Serif SC", "Source Han Serif SC", "Songti SC", serif;--font-mono: "JetBrains Mono", "Fira Code", "SFMono-Regular", Consolas, monospace;--miller-full: #0891b2;--miller-full-dark: #0e7490;--miller-output: #d97706;--image-bg: #1a1a2e}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:600;line-height:1.3;color:var(--text-primary)}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.125rem}p{color:var(--text-secondary)}a{color:var(--primary-light);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary)}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit;font-size:inherit}code,pre{font-family:var(--font-mono)}img,svg{max-width:100%;height:auto}::selection{background-color:var(--primary-light);color:var(--text-inverse)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-surface-alt);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInUp{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}.animate-fade-in{animation:fadeIn var(--transition-normal) ease-out}.animate-slide-in{animation:slideInLeft var(--transition-slow) ease-out}.panel{background:#f9fcff;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px}.card{background:#fff;border:1px solid #b0d8f5;border-radius:8px;padding:10px 12px}.card-title{font-size:13px;font-weight:700;color:#103d7e;margin-bottom:6px;border-bottom:1px solid #d0edff;padding-bottom:4px}.btn{background:#d0edff;color:#104fb9;border:none;border-radius:8px;padding:7px 14px;cursor:pointer;font-weight:700;font-size:12px;font-family:inherit;transition:background .15s;white-space:nowrap}.btn:hover{background:#7ad6fb}.btn:active{background:#44bcf9}.btn:disabled{opacity:.5;cursor:default}.btn-sm{padding:4px 10px;font-size:11px;border-radius:6px}.btn-danger{background:#ffd0d0;color:#b91010}.btn-danger:hover{background:#ffb0b0}.btn-row{display:flex;gap:6px;flex-wrap:wrap}label{font-size:12px;font-weight:700}input[type=text],input[type=number],select{border:1px solid #104fb9;border-radius:4px;padding:4px 8px;font-size:12px;color:#103d7e;background:#fff;width:100%}input[type=range]{width:100%;accent-color:#2499f8}.form-row{display:flex;align-items:center;gap:8px}.form-row label{white-space:nowrap;min-width:80px}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:6px}.form-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.split-view{display:flex;height:100%;overflow:hidden}.left-pane{flex:0 0 58%;min-width:320px;overflow:auto;padding:8px}.right-pane{flex:1;min-width:260px;overflow:auto;padding:8px;border-left:2px solid #d0edff}.sub-tabs{display:flex;border-bottom:1px solid #b0d8f5;margin-bottom:8px}.sub-tab{padding:6px 16px;cursor:pointer;font-size:12px;font-weight:700;color:#104fb9;border-radius:8px 8px 0 0;transition:background .12s}.sub-tab:hover{background:#d0edff}.sub-tab.active{background:#103d7e;color:#d0edff}.canvas-wrap{position:relative;width:100%;background:#111;border-radius:8px;overflow:hidden;cursor:crosshair}.canvas-wrap canvas{display:block;width:100%;height:auto}.record-list{list-style:none;max-height:240px;overflow-y:auto;border:1px solid #d0edff;border-radius:6px}.record-item{padding:6px 10px;border-bottom:1px solid #edf2ff;font-size:11px;display:flex;justify-content:space-between;align-items:center}.record-item:last-child{border-bottom:none}.record-item:hover{background:#f0f7ff}.record-item.selected{background:#d0edff}.tag{display:inline-block;background:#d0edff;color:#104fb9;border-radius:4px;padding:1px 6px;font-size:11px;font-weight:700}.dimmed{opacity:.4}.section-title{font-size:13px;font-weight:700;color:#103d7e;margin-bottom:6px}
