@charset "UTF-8";:root{--ctp-rosewater: #f5e0dc;--ctp-rosewater-rgb: 245, 224, 220;--ctp-flamingo: #f2cdcd;--ctp-flamingo-rgb: 242, 205, 205;--ctp-pink: #f5c2e7;--ctp-pink-rgb: 245, 194, 231;--ctp-mauve: #cba6f7;--ctp-mauve-rgb: 203, 166, 247;--ctp-red: #f38ba8;--ctp-red-rgb: 243, 139, 168;--ctp-maroon: #eba0ac;--ctp-maroon-rgb: 235, 160, 172;--ctp-peach: #fab387;--ctp-peach-rgb: 250, 179, 135;--ctp-yellow: #f9e2af;--ctp-yellow-rgb: 249, 226, 175;--ctp-green: #a6e3a1;--ctp-green-rgb: 166, 227, 161;--ctp-teal: #94e2d5;--ctp-teal-rgb: 148, 226, 213;--ctp-sky: #89dceb;--ctp-sky-rgb: 137, 220, 235;--ctp-sapphire: #74c7ec;--ctp-sapphire-rgb: 116, 199, 236;--ctp-blue: #89b4fa;--ctp-blue-rgb: 137, 180, 250;--ctp-lavender: #b4befe;--ctp-lavender-rgb: 180, 190, 254;--ctp-text: #cdd6f4;--ctp-text-rgb: 205, 214, 244;--ctp-subtext1: #bac2de;--ctp-subtext1-rgb: 186, 194, 222;--ctp-subtext0: #a6adc8;--ctp-subtext0-rgb: 166, 173, 200;--ctp-overlay2: #9399b2;--ctp-overlay2-rgb: 147, 153, 178;--ctp-overlay1: #7f849c;--ctp-overlay1-rgb: 127, 132, 156;--ctp-overlay0: #6c7086;--ctp-overlay0-rgb: 108, 112, 134;--ctp-surface2: #585b70;--ctp-surface2-rgb: 88, 91, 112;--ctp-surface1: #45475a;--ctp-surface1-rgb: 69, 71, 90;--ctp-surface0: #313244;--ctp-surface0-rgb: 49, 50, 68;--ctp-base: #1e1e2e;--ctp-base-rgb: 30, 30, 46;--ctp-mantle: #181825;--ctp-mantle-rgb: 24, 24, 37;--ctp-crust: #11111b;--ctp-crust-rgb: 17, 17, 27}:root[data-theme=light]{--ctp-rosewater: #dc8a78;--ctp-rosewater-rgb: 220, 138, 120;--ctp-flamingo: #dd7878;--ctp-flamingo-rgb: 221, 120, 120;--ctp-pink: #ea76cb;--ctp-pink-rgb: 234, 118, 203;--ctp-mauve: #8839ef;--ctp-mauve-rgb: 136, 57, 239;--ctp-red: #d20f39;--ctp-red-rgb: 210, 15, 57;--ctp-maroon: #e64553;--ctp-maroon-rgb: 230, 69, 83;--ctp-peach: #fe640b;--ctp-peach-rgb: 254, 100, 11;--ctp-yellow: #df8e1d;--ctp-yellow-rgb: 223, 142, 29;--ctp-green: #40a02b;--ctp-green-rgb: 64, 160, 43;--ctp-teal: #179299;--ctp-teal-rgb: 23, 146, 153;--ctp-sky: #04a5e5;--ctp-sky-rgb: 4, 165, 229;--ctp-sapphire: #209fb5;--ctp-sapphire-rgb: 32, 159, 181;--ctp-blue: #1e66f5;--ctp-blue-rgb: 30, 102, 245;--ctp-lavender: #7287fd;--ctp-lavender-rgb: 114, 135, 253;--ctp-text: #4c4f69;--ctp-text-rgb: 76, 79, 105;--ctp-subtext1: #5c5f77;--ctp-subtext1-rgb: 92, 95, 119;--ctp-subtext0: #6c6f85;--ctp-subtext0-rgb: 108, 111, 133;--ctp-overlay2: #7c7f93;--ctp-overlay2-rgb: 124, 127, 147;--ctp-overlay1: #8c8fa1;--ctp-overlay1-rgb: 140, 143, 161;--ctp-overlay0: #9ca0b0;--ctp-overlay0-rgb: 156, 160, 176;--ctp-surface2: #acb0be;--ctp-surface2-rgb: 172, 176, 190;--ctp-surface1: #bcc0cc;--ctp-surface1-rgb: 188, 192, 204;--ctp-surface0: #ccd0da;--ctp-surface0-rgb: 204, 208, 218;--ctp-base: #eff1f5;--ctp-base-rgb: 239, 241, 245;--ctp-mantle: #e6e9ef;--ctp-mantle-rgb: 230, 233, 239;--ctp-crust: #dce0e8;--ctp-crust-rgb: 220, 224, 232}:root{--chart-axis: #b6b6b6;--chart-grid: #2d2d5a}:root[data-theme=light]{--chart-axis: #6c6f85;--chart-grid: #ccd0da}:root{--cursor-a: rgba(0, 255, 100, .9);--cursor-b: rgba(255, 100, 150, .9)}:root[data-theme=light]{--cursor-a: #2f9e44;--cursor-b: #d6336c}:root{--cursor-label-bg: rgba(0, 0, 0, .88);--cursor-delta-bg: rgba(70, 70, 70, .95);--cursor-delta-fg: #f9e2af}:root[data-theme=light]{--cursor-label-bg: rgba(255, 255, 255, .92);--cursor-delta-bg: rgba(255, 246, 235, .97);--cursor-delta-fg: #9a4f00}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--ctp-mantle);color:var(--ctp-text);height:100vh;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.plot-legend,.toolbar-stats,.uplot .u-legend{font-variant-numeric:tabular-nums}::selection{background:#f00b0b40}:focus{outline:none}:focus-visible{outline:2px solid var(--ctp-teal);outline-offset:2px;border-radius:.25rem}.app-container{display:flex;height:100vh;overflow:hidden}.nav-menu{width:240px;min-width:240px;background:var(--ctp-crust);border-right:1px solid var(--ctp-surface0);display:flex;flex-direction:column;transition:width .3s cubic-bezier(.4,0,.2,1),min-width .3s cubic-bezier(.4,0,.2,1);z-index:100}.nav-menu.collapsed{width:60px;min-width:60px}.nav-header{display:flex;align-items:center;justify-content:space-between;padding:16px}.nav-logo{display:flex;align-items:center;gap:10px;overflow:hidden}.logo-icon{width:22px;height:22px;color:var(--ctp-teal);flex-shrink:0;display:flex;align-items:center;justify-content:center}.logo-icon svg{width:100%;height:100%}.logo-text{font-size:18px;font-weight:600;color:var(--ctp-text);white-space:nowrap;transition:opacity .2s}.nav-menu.collapsed .logo-text{opacity:0;width:0}.nav-toggle{background:transparent;border:none;color:var(--ctp-overlay1);cursor:pointer;padding:6px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.nav-toggle:hover{background:var(--ctp-base);color:var(--ctp-text)}.nav-menu.collapsed .nav-toggle svg{transform:rotate(180deg)}.nav-items{flex:1;padding:12px 8px;display:flex;flex-direction:column;gap:4px;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;color:var(--ctp-overlay1);text-decoration:none;border-radius:8px;transition:all .15s;cursor:pointer;white-space:nowrap;overflow:hidden}.nav-item:hover{background:rgba(var(--ctp-text-rgb),.04);color:var(--ctp-text)}.nav-item.active{background:rgba(var(--ctp-teal-rgb),.12);color:var(--ctp-teal);font-weight:600;box-shadow:inset 3px 0 0 var(--ctp-teal)}.nav-item.active .nav-icon{color:var(--ctp-teal)}.nav-item.locked{opacity:.4;cursor:not-allowed}.nav-item.locked:hover{background:transparent;color:var(--ctp-overlay1)}.nav-icon{width:20px;height:20px;flex-shrink:0}.nav-label{font-size:14px;transition:opacity .2s}.nav-menu.collapsed .nav-label{opacity:0;width:0}.nav-footer{padding:12px 8px;border-top:1px solid var(--ctp-surface0)}.nav-user{gap:10px}.user-avatar{width:28px;height:28px;background:linear-gradient(135deg,var(--ctp-teal),var(--ctp-maroon));border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--ctp-crust);flex-shrink:0}.nav-support{margin-top:auto}.nav-support-btn{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;background:rgba(var(--ctp-teal-rgb),.1);border:1px solid rgba(var(--ctp-teal-rgb),.2);border-radius:8px;color:var(--ctp-teal);font-size:14px;font-weight:500;text-decoration:none;transition:all .15s;overflow:hidden;white-space:nowrap}.nav-support-btn:hover{background:rgba(var(--ctp-teal-rgb),.2);border-color:rgba(var(--ctp-teal-rgb),.3);color:var(--ctp-yellow)}.nav-support-btn svg{width:20px;height:20px;flex-shrink:0}.nav-support-btn span{transition:opacity .2s}.nav-menu.collapsed .nav-support-btn{justify-content:center;padding:10px}.nav-menu.collapsed .nav-support-btn span{display:none}.nav-theme-toggle{display:grid;place-items:center;width:36px;height:36px;margin:0 auto 6px;padding:0;background:transparent;border:none;color:var(--ctp-overlay1);cursor:pointer;transition:color .15s}.nav-theme-toggle:hover{color:var(--ctp-text)}.nav-theme-toggle.active{color:var(--ctp-teal)}.nav-theme-toggle .theme-icon{grid-area:1/1;width:20px;height:20px;transition:transform .3s ease,opacity .3s ease}.nav-theme-toggle .theme-icon-sun{opacity:0;transform:rotate(-45deg) scale(.6)}.nav-theme-toggle .theme-icon-moon,.nav-theme-toggle.active .theme-icon-sun{opacity:1;transform:rotate(0) scale(1)}.nav-theme-toggle.active .theme-icon-moon{opacity:0;transform:rotate(45deg) scale(.6)}.main-content{flex:1;overflow:hidden;display:flex;flex-direction:column}.view-container{display:none;height:100%;overflow:hidden}.view-container.active{display:flex}.placeholder-view{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--ctp-overlay0);gap:16px}.placeholder-view svg{opacity:.3}.placeholder-view h2{font-size:24px;font-weight:600;color:var(--ctp-overlay1)}.placeholder-view p{font-size:14px;color:var(--ctp-overlay1)}.coming-soon{padding:6px 16px;background:var(--ctp-surface0);border-radius:20px;font-size:12px;color:var(--ctp-teal);margin-top:8px}.utilities-view{flex:1;padding:40px;overflow-y:auto}.utilities-header{margin-bottom:32px}.utilities-header h1{font-size:28px;font-weight:600;color:var(--ctp-text);margin-bottom:8px}.utilities-header p{font-size:14px;color:var(--ctp-overlay1)}.utilities-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px;max-width:1200px}.utility-card{background:var(--ctp-base);border:1px solid var(--ctp-surface0);border-radius:12px;padding:24px;display:flex;align-items:flex-start;gap:16px;cursor:pointer;transition:all .2s ease}.utility-card:hover{background:var(--ctp-surface0);border-color:var(--ctp-teal);transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.utility-icon{width:48px;height:48px;background:linear-gradient(135deg,var(--ctp-teal),var(--ctp-maroon));border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.utility-icon svg{width:24px;height:24px;color:var(--ctp-crust)}.utility-content{flex:1;min-width:0}.utility-content h3{font-size:16px;font-weight:600;color:var(--ctp-text);margin-bottom:6px}.utility-content p{font-size:13px;color:var(--ctp-overlay1);margin-bottom:12px;line-height:1.4}.utility-formats{display:flex;flex-wrap:wrap;gap:6px}.format-tag{padding:3px 8px;background:var(--ctp-surface0);border-radius:4px;font-size:11px;color:var(--ctp-overlay2);font-family:JetBrains Mono,Fira Code,SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,monospace}.utility-card:hover .format-tag{background:var(--ctp-surface1);color:var(--ctp-subtext1)}.utility-arrow{display:flex;align-items:center;justify-content:center;opacity:0;transition:all .2s}.utility-arrow svg{width:20px;height:20px;color:var(--ctp-teal)}.utility-card:hover .utility-arrow{opacity:1;transform:translate(4px)}.converter-view{flex:1;padding:32px 40px;overflow-y:auto;max-width:800px}.converter-header{margin-bottom:32px}.back-button{display:inline-flex;align-items:center;gap:6px;background:transparent;border:none;color:var(--ctp-overlay1);font-size:14px;cursor:pointer;padding:8px 12px;margin-left:-12px;margin-bottom:16px;border-radius:6px;transition:all .2s}.back-button:hover{background:var(--ctp-base);color:var(--ctp-text)}.back-button svg{width:18px;height:18px}.converter-title h1{font-size:24px;font-weight:600;color:var(--ctp-text);margin-bottom:8px}.converter-title p{font-size:14px;color:var(--ctp-overlay1)}.converter-notice{display:flex;flex-wrap:wrap;gap:16px;margin-top:20px;padding:16px;background:rgba(var(--ctp-green-rgb),.05);border:1px solid rgba(var(--ctp-green-rgb),.2);border-radius:8px}.notice-item{display:flex;align-items:flex-start;gap:10px;flex:1;min-width:250px}.notice-item svg{width:20px;height:20px;color:var(--ctp-green);flex-shrink:0;margin-top:1px}.notice-item span{font-size:13px;color:var(--ctp-overlay2);line-height:1.4}.notice-item strong{color:var(--ctp-green)}.converter-content{display:flex;flex-direction:column;gap:24px}.converter-card{background:var(--ctp-base);border:1px solid var(--ctp-surface0);border-radius:12px;padding:24px}.converter-step{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid var(--ctp-surface0)}.converter-step:last-child{border-bottom:none;padding-bottom:0}.converter-step:first-child{padding-top:0}.step-number{width:32px;height:32px;background:var(--ctp-surface0);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:var(--ctp-overlay1);flex-shrink:0}.step-content{flex:1;min-width:0}.step-label{display:block;font-size:14px;font-weight:500;color:var(--ctp-text);margin-bottom:12px}.file-input-wrapper{position:relative}.file-input-wrapper input[type=file]{display:none}.file-input-display{border:2px dashed var(--ctp-surface1);border-radius:8px;padding:24px;text-align:center;cursor:pointer;transition:all .2s}.file-input-display:hover{border-color:var(--ctp-teal);background:rgba(var(--ctp-teal-rgb),.05)}.file-input-display svg{width:32px;height:32px;color:var(--ctp-overlay1);margin-bottom:12px}.file-input-text{display:block;font-size:14px;color:var(--ctp-subtext1);margin-bottom:4px}.file-input-formats{display:block;font-size:12px;color:var(--ctp-overlay1)}.file-selected{display:flex;align-items:center;justify-content:space-between;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:8px;padding:12px 16px}.file-info{display:flex;align-items:center;gap:12px;min-width:0}.file-info svg{width:24px;height:24px;color:var(--ctp-teal);flex-shrink:0}.file-details{display:flex;flex-direction:column;min-width:0}.file-name{font-size:14px;color:var(--ctp-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-size{font-size:12px;color:var(--ctp-overlay1)}.file-remove{background:transparent;border:none;color:var(--ctp-overlay1);cursor:pointer;padding:4px;border-radius:4px;transition:all .2s}.file-remove:hover{background:#ff64641a;color:var(--ctp-red)}.file-remove svg{width:18px;height:18px}.format-select{width:100%;padding:12px 16px;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:8px;color:var(--ctp-text);font-size:14px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.format-select:focus{outline:none;border-color:var(--ctp-teal)}.format-select option{background:var(--ctp-base);color:var(--ctp-text)}.format-select.small{padding:8px 12px;font-size:13px}.format-options{margin-top:16px;padding:16px;background:rgba(var(--ctp-teal-rgb),.05);border:1px solid var(--ctp-surface1);border-radius:8px}.format-hint{display:block;margin-top:8px;font-size:11px;color:var(--ctp-overlay1);font-style:italic}.convert-state{display:flex}.convert-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px 24px;background:linear-gradient(135deg,var(--ctp-teal),var(--ctp-maroon));border:none;border-radius:8px;color:var(--ctp-crust);font-size:15px;font-weight:500;cursor:pointer;transition:all .2s}.convert-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px rgba(var(--ctp-teal-rgb),.4);filter:brightness(1.05)}.convert-button:disabled{opacity:.5;cursor:not-allowed}.convert-button svg{width:20px;height:20px}.progress-state{padding:8px 0}.progress-info{display:flex;justify-content:space-between;margin-bottom:10px}.progress-info span{font-size:13px;color:var(--ctp-overlay1)}#progressPercent{color:var(--ctp-teal);font-weight:500}.progress-bar{height:8px;background:var(--ctp-surface0);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--ctp-teal),var(--ctp-maroon));border-radius:4px;transition:width .3s ease}.complete-state{display:flex;flex-direction:column;gap:12px}.complete-message{display:flex;align-items:center;gap:10px;padding:12px 16px;background:rgba(var(--ctp-green-rgb),.1);border:1px solid rgba(var(--ctp-green-rgb),.3);border-radius:8px;color:var(--ctp-green);font-size:14px}.complete-message svg{width:20px;height:20px;flex-shrink:0}.download-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px 24px;background:linear-gradient(135deg,var(--ctp-green),var(--ctp-teal));border:none;border-radius:8px;color:var(--ctp-crust);font-size:15px;font-weight:500;cursor:pointer;transition:all .2s}.download-button:hover{transform:translateY(-1px);box-shadow:0 4px 16px rgba(var(--ctp-green-rgb),.4);filter:brightness(1.05)}.download-button svg{width:20px;height:20px}.reset-button{background:transparent;border:1px solid var(--ctp-surface1);border-radius:8px;padding:10px 16px;color:var(--ctp-overlay1);font-size:13px;cursor:pointer;transition:all .2s}.reset-button:hover{border-color:var(--ctp-teal);color:var(--ctp-text)}.dbc-section{margin-top:16px;padding-top:16px;border-top:1px dashed var(--ctp-surface0)}.step-label-small{display:block;font-size:12px;color:var(--ctp-overlay1);margin-bottom:8px}.file-input-display.small{padding:12px 16px;display:flex;align-items:center;gap:10px}.file-input-display.small svg{width:20px;height:20px;margin-bottom:0}.file-input-display.small .file-input-text{margin-bottom:0;font-size:13px}.file-selected.small{padding:8px 12px}.file-selected.small .file-info svg{width:18px;height:18px}.file-selected.small .file-name{font-size:13px}.error-state{display:flex;flex-direction:column;gap:12px}.error-message{display:flex;align-items:center;gap:10px;padding:12px 16px;background:rgba(var(--ctp-red-rgb),.1);border:1px solid rgba(var(--ctp-red-rgb),.3);border-radius:8px;color:var(--ctp-red);font-size:14px}.error-message svg{width:20px;height:20px;flex-shrink:0}.concat-file-list{border:1px solid var(--ctp-surface0);border-radius:8px;min-height:100px;margin-bottom:12px;overflow:hidden}.concat-empty{display:flex;align-items:center;justify-content:center;height:100px;color:var(--ctp-overlay0);font-size:13px}.concat-file-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--ctp-base);border-bottom:1px solid var(--ctp-surface0);cursor:grab;transition:background .2s}.concat-file-item:last-child{border-bottom:none}.concat-file-item:hover{background:var(--ctp-surface0)}.concat-file-item.dragging{opacity:.5;background:var(--ctp-surface1)}.concat-file-item.drag-over{border-top:2px solid var(--ctp-teal)}.concat-file-order{width:24px;height:24px;background:var(--ctp-surface0);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--ctp-overlay1);flex-shrink:0}.concat-file-drag{color:var(--ctp-overlay0);cursor:grab;flex-shrink:0}.concat-file-drag svg{width:16px;height:16px}.concat-file-info{flex:1;min-width:0}.concat-file-name{font-size:13px;color:var(--ctp-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.concat-file-size{font-size:11px;color:var(--ctp-overlay1)}.concat-file-remove{background:transparent;border:none;color:var(--ctp-overlay0);cursor:pointer;padding:4px;border-radius:4px;transition:all .2s;flex-shrink:0}.concat-file-remove:hover{background:#ff64641a;color:var(--ctp-red)}.concat-file-remove svg{width:16px;height:16px}.concat-add-wrapper{margin-bottom:12px}.concat-add-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;background:transparent;border:2px dashed var(--ctp-surface1);border-radius:8px;color:var(--ctp-overlay1);font-size:13px;cursor:pointer;transition:all .2s}.concat-add-btn:hover{border-color:var(--ctp-teal);color:var(--ctp-text);background:rgba(var(--ctp-teal-rgb),.05)}.concat-add-btn svg{width:18px;height:18px}.concat-hint{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ctp-overlay0);margin:0}.concat-hint svg{width:14px;height:14px;flex-shrink:0}.concat-info{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;color:var(--ctp-overlay1);padding:10px 12px;background:rgba(var(--ctp-teal-rgb),.05);border:1px solid var(--ctp-surface0);border-radius:6px;margin-top:12px}.concat-info-sep{color:var(--ctp-surface1)}.concat-info-remaining{color:var(--ctp-green)}.concat-stats{padding:12px 16px;background:var(--ctp-surface0);border-radius:6px;font-size:13px;color:var(--ctp-overlay2);margin-bottom:12px}.concat-stats strong{color:var(--ctp-text)}.app{display:flex;height:100%;width:100%}.sidebar{width:250px;background:var(--ctp-crust);border-right:1px solid var(--ctp-surface0);display:flex;flex-direction:column}.sidebar-files{flex:0 0 auto;min-height:60px;display:flex;flex-direction:column;gap:10px;padding:10px 14px 14px;overflow-y:auto}.sidebar-signals{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.sidebar-vsplitter{position:relative;flex:0 0 9px;cursor:row-resize;background:transparent}.sidebar-vsplitter:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;transform:translateY(-50%);background:var(--ctp-surface2)}.sidebar-vsplitter:after{content:"";position:absolute;left:50%;top:50%;width:28px;height:3px;transform:translate(-50%,-50%);border-radius:2px;background:var(--ctp-overlay1);transition:background .15s}.sidebar-vsplitter:hover:after{background:var(--ctp-teal)}.sidebar-section-header{display:flex;align-items:center;justify-content:space-between}.sidebar-section-title{font-size:11px;font-weight:600;color:var(--ctp-overlay1);text-transform:uppercase;letter-spacing:1px}.sidebar-header{padding:14px}.sidebar-title{font-size:11px;font-weight:600;color:var(--ctp-overlay1);text-transform:uppercase;letter-spacing:1px;margin-bottom:10px}.sidebar-splitter:hover{background:#ffffff1f!important}.search-box{width:100%;padding:8px 10px;background:var(--ctp-base);border:1px solid var(--ctp-surface0);border-radius:4px;color:var(--ctp-text);font-size:12px}.search-box:focus{outline:none;border-color:var(--ctp-teal)}.search-box::-webkit-search-cancel-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.signal-list{flex:1;overflow-y:auto;padding:10px}.signal-list::-webkit-scrollbar{width:5px}.signal-list::-webkit-scrollbar-thumb{background:var(--ctp-surface1);border-radius:3px}.sidebar-footer{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:10px 14px;border-top:1px solid var(--ctp-surface0);font-size:10px;color:var(--ctp-subtext0);background:var(--ctp-mantle)}.sidebar-footer .stat{display:inline-flex;align-items:center;gap:4px}.sidebar-footer .stat-label{color:var(--ctp-subtext1)}.signal-list-empty{padding:20px;text-align:center;color:var(--ctp-overlay1);font-size:12px}.create-variable-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:calc(100% - 20px);margin:0 10px 10px;padding:10px 12px;background:transparent;border:1px dashed var(--ctp-surface1);border-radius:8px;color:var(--ctp-overlay1);font-size:12px;cursor:pointer;transition:all .2s ease}.create-variable-btn:hover{background:rgba(var(--ctp-teal-rgb),.08);border-color:var(--ctp-teal);color:var(--ctp-teal)}.create-variable-btn svg{width:16px;height:16px;flex-shrink:0}.create-var-drawer{position:fixed;top:0;right:0;bottom:0;width:420px;max-width:90vw;background:var(--ctp-mantle);border-left:1px solid var(--ctp-surface0);z-index:1000;display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s}.create-var-drawer.active{transform:translate(0);box-shadow:-8px 0 32px #0006}.drawer-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--ctp-surface0);background:var(--ctp-crust)}.drawer-header h2{font-size:16px;font-weight:600;color:var(--ctp-text);margin:0}.drawer-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--ctp-overlay1);font-size:20px;cursor:pointer;transition:all .15s}.drawer-close:hover{background:var(--ctp-surface0);border-color:var(--ctp-surface0);color:var(--ctp-text)}.drawer-body{flex:1;overflow-y:auto;padding:20px}.drawer-description{font-size:13px;color:var(--ctp-overlay1);margin-bottom:20px;line-height:1.5;padding:12px;background:rgba(var(--ctp-teal-rgb),.05);border-radius:8px;border-left:3px solid var(--ctp-teal)}.drawer-field{margin-bottom:20px}.drawer-field:last-child{margin-bottom:0}.drawer-field>label{display:block;font-size:12px;font-weight:600;color:var(--ctp-subtext1);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.drawer-field .required{color:var(--ctp-red)}.drawer-field .optional{font-weight:400;color:var(--ctp-overlay0);text-transform:none;letter-spacing:0}.create-var-row{display:flex;gap:12px}.create-var-row .drawer-field{flex:1}.create-var-row .drawer-field.unit-field{flex:0 0 100px}.drawer-field input[type=text],.drawer-field textarea{width:100%;padding:10px 12px;background:var(--ctp-base);border:1px solid var(--ctp-surface0);border-radius:6px;color:var(--ctp-text);font-size:13px;transition:all .2s}.drawer-field input[type=text]:focus,.drawer-field textarea:focus{outline:none;border-color:var(--ctp-teal);box-shadow:0 0 0 3px rgba(var(--ctp-teal-rgb),.1)}.drawer-field input[type=text]::placeholder,.drawer-field textarea::placeholder{color:var(--ctp-overlay0)}.drawer-field textarea{resize:vertical;min-height:60px;font-family:inherit}.var-mapping-section{margin-bottom:20px}.var-mapping-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.var-mapping-header label{font-size:12px;font-weight:600;color:var(--ctp-subtext1);text-transform:uppercase;letter-spacing:.5px}.var-mapping-actions{display:flex;gap:6px}.var-mapping-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--ctp-base);border:1px solid var(--ctp-surface0);border-radius:6px;color:var(--ctp-overlay1);font-size:16px;cursor:pointer;transition:all .15s}.var-mapping-btn:hover{background:var(--ctp-surface0);border-color:var(--ctp-surface1);color:var(--ctp-text)}.var-mapping-btn.add:hover{border-color:var(--ctp-green);color:var(--ctp-green)}.var-mapping-btn.remove:hover{border-color:var(--ctp-red);color:var(--ctp-red)}.var-mapping-btn:disabled{opacity:.4;cursor:not-allowed}.var-mapping-list{display:flex;flex-direction:column;gap:8px;max-height:240px;overflow-y:auto;padding-right:4px}.var-mapping-item{display:flex;align-items:center;gap:10px}.var-mapping-label{display:flex;align-items:center;justify-content:center;min-width:36px;height:36px;background:linear-gradient(135deg,var(--ctp-teal),var(--ctp-maroon));border-radius:8px;color:var(--ctp-crust);font-size:14px;font-weight:700;font-family:JetBrains Mono,Fira Code,SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,monospace}.var-mapping-dropzone{flex:1;min-height:40px;padding:8px 12px;background:var(--ctp-base);border:2px dashed var(--ctp-surface1);border-radius:8px;display:flex;align-items:center;gap:8px;transition:all .2s;cursor:default}.var-mapping-dropzone.empty{color:var(--ctp-overlay0);font-size:12px;font-style:italic}.var-mapping-dropzone.dragover{background:rgba(var(--ctp-teal-rgb),.15);border-color:var(--ctp-teal);border-style:solid;box-shadow:0 0 0 3px rgba(var(--ctp-teal-rgb),.1)}.var-mapping-dropzone .mapped-signal{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--ctp-surface0);border:1px solid var(--ctp-surface0);border-radius:6px;font-size:12px;color:var(--ctp-subtext1);font-family:JetBrains Mono,Fira Code,SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,monospace}.var-mapping-dropzone .mapped-signal .signal-color-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.var-mapping-dropzone .mapped-signal .remove-mapped{display:flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:4px;background:transparent;border:none;border-radius:4px;color:var(--ctp-overlay1);font-size:14px;cursor:pointer;transition:all .15s}.var-mapping-dropzone .mapped-signal .remove-mapped:hover{background:rgba(var(--ctp-red-rgb),.2);color:var(--ctp-red)}.formula-field{position:relative}.formula-input{width:100%;padding:14px 16px;background:var(--ctp-crust);border:1px solid var(--ctp-surface0);border-radius:8px;color:var(--ctp-green);font-size:15px;font-family:JetBrains Mono,Fira Code,SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,monospace;transition:all .2s}.formula-input:focus{outline:none;border-color:var(--ctp-teal);box-shadow:0 0 0 3px rgba(var(--ctp-teal-rgb),.1)}.formula-input::placeholder{color:var(--ctp-overlay0);font-style:italic}.formula-hint{margin-top:10px;font-size:11px;color:var(--ctp-overlay0);line-height:1.6}.formula-hint code{padding:2px 6px;background:var(--ctp-base);border-radius:4px;color:var(--ctp-overlay1);font-family:JetBrains Mono,Fira Code,SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,monospace}.drawer-field.error input,.drawer-field.error textarea,.formula-field.error .formula-input{border-color:var(--ctp-red)}.drawer-field .error-message{margin-top:6px;font-size:11px;color:var(--ctp-red)}.drawer-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid var(--ctp-surface0);background:var(--ctp-crust)}.create-var-drawer.creating .drawer-body{opacity:.6;pointer-events:none}.create-var-drawer .creating-indicator{display:none;align-items:center;gap:8px;padding:12px 16px;background:rgba(var(--ctp-teal-rgb),.1);border-radius:6px;margin-top:16px;font-size:13px;color:var(--ctp-teal)}.create-var-drawer.creating .creating-indicator{display:flex}.creating-indicator .spinner{width:16px;height:16px;border:2px solid rgba(var(--ctp-teal-rgb),.3);border-top-color:var(--ctp-teal);border-radius:50%;animation:spin .8s linear infinite}.create-var-drawer.active~.app-container .signal-item,.app-container:has(~.create-var-drawer.active) .signal-item{cursor:grab}.create-var-drawer.active~.app-container .signal-item:active,.app-container:has(~.create-var-drawer.active) .signal-item:active{cursor:grabbing}.layouts-drawer{position:fixed;top:0;right:0;bottom:0;width:420px;max-width:90vw;background:var(--ctp-mantle);border-left:1px solid var(--ctp-surface0);z-index:1000;display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s}.layouts-drawer.active{transform:translate(0);box-shadow:-8px 0 32px #0006}.layouts-drawer .header-save,.layouts-drawer .footer-save,.layouts-drawer.save-mode .header-list,.layouts-drawer.save-mode .footer-list,.layouts-drawer.save-mode .layouts-list-mode{display:none}.layouts-drawer.save-mode .header-save,.layouts-drawer.save-mode .footer-save,.layouts-drawer.save-mode .layouts-save-mode{display:block}.layouts-drawer .layouts-save-mode{display:none}.layouts-list{flex:1;overflow-y:auto;margin:0 -20px;padding:0 20px}.layouts-loading,.layouts-empty,.layouts-error{padding:40px 20px;text-align:center;color:var(--ctp-overlay1);font-size:13px}.layouts-error{color:var(--ctp-red)}.layouts-section{margin-bottom:24px}.layouts-section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--ctp-overlay0);margin-bottom:12px;padding-left:4px}.layout-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:var(--ctp-base);border:1px solid var(--ctp-surface0);border-radius:8px;margin-bottom:8px;transition:all .15s}.layout-item:hover{background:var(--ctp-surface0);border-color:var(--ctp-surface1)}.layout-item.demo{border-left:3px solid var(--ctp-sapphire)}.layout-info{flex:1;min-width:0}.layout-name{font-size:13px;font-weight:500;color:var(--ctp-text);display:flex;align-items:center;gap:8px}.layout-badge{font-size:9px;font-weight:600;padding:2px 6px;background:rgba(var(--ctp-sapphire-rgb),.2);color:var(--ctp-sapphire);border-radius:4px;text-transform:uppercase}.layout-meta{font-size:11px;color:var(--ctp-overlay1);margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layout-actions{display:flex;gap:6px;flex-shrink:0}.btn-small{padding:6px 12px;font-size:11px;border-radius:6px;border:1px solid transparent;cursor:pointer;transition:all .15s}.btn-small.btn-primary{background:var(--ctp-teal);color:var(--ctp-crust);font-weight:500}.btn-small.btn-primary:hover{background:var(--ctp-teal)}.btn-small.btn-danger{background:transparent;border-color:var(--ctp-surface0);color:var(--ctp-overlay1)}.btn-small.btn-danger:hover{background:rgba(var(--ctp-red-rgb),.1);border-color:var(--ctp-red);color:var(--ctp-red)}.layouts-save-trigger{margin-top:16px;padding-top:16px;border-top:1px solid var(--ctp-surface0);display:flex;flex-direction:column;gap:8px}.layouts-save-trigger .btn-primary,.layouts-save-trigger .btn-secondary{width:100%;display:flex;align-items:center;justify-content:center;gap:8px}.layouts-save-trigger .btn-primary svg,.layouts-save-trigger .btn-secondary svg{width:16px;height:16px}.layouts-back-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;margin-bottom:20px;background:transparent;border:1px solid var(--ctp-surface0);border-radius:6px;color:var(--ctp-overlay1);font-size:12px;cursor:pointer;transition:all .15s}.layouts-back-btn:hover{background:var(--ctp-surface0);border-color:var(--ctp-surface1);color:var(--ctp-text)}.layouts-back-btn svg{width:16px;height:16px}.layout-preview{margin-top:20px;padding:16px;background:rgba(var(--ctp-sapphire-rgb),.08);border:1px solid rgba(var(--ctp-sapphire-rgb),.2);border-radius:8px}.layout-preview-title{font-size:12px;font-weight:600;color:var(--ctp-sapphire);margin-bottom:12px}.layout-preview-list{margin:0;padding-left:20px;font-size:12px;color:var(--ctp-subtext1);line-height:1.8}.layout-preview-list li::marker{color:var(--ctp-sapphire)}.layout-guest-hint{margin-top:16px;padding:12px 14px;background:rgba(var(--ctp-teal-rgb),.08);border:1px solid rgba(var(--ctp-teal-rgb),.25);border-radius:8px;font-size:12px;line-height:1.6;color:var(--ctp-subtext1)}.signal-item{position:relative;display:flex;align-items:center;gap:8px;padding:4px 10px;margin-bottom:3px;background:var(--ctp-base);border:1px solid transparent;border-left:3px solid var(--ctp-overlay0);cursor:grab;transition:all .15s;font-size:12px;min-width:0;border-radius:8px;-webkit-mask-image:-webkit-radial-gradient(white,black);content-visibility:auto;contain-intrinsic-size:auto 28px}.signal-item:hover{background:var(--ctp-surface0);border-color:var(--ctp-surface1)}.signal-item.dragging{opacity:.4}.signal-item.selected{background:var(--ctp-surface0);border-color:var(--ctp-teal);border-left-color:var(--ctp-teal)}.signal-item.active{border-left-color:var(--signal-color, var(--ctp-green))}.signal-item.active .signal-dot{background:var(--signal-color, var(--ctp-green));box-shadow:0 0 6px var(--signal-color, var(--ctp-green))}.signal-dot{width:8px;height:8px;min-width:8px;border-radius:50%;background:var(--ctp-overlay0);transition:all .15s;flex-shrink:0}.signal-item.not-loaded{opacity:.6;cursor:default}.signal-item.not-loaded:hover{opacity:.8}.signal-item.not-loaded .signal-name{font-style:italic}.signal-dot.lazy-indicator{background:transparent!important;border:2px dashed var(--surface2, #666);box-sizing:border-box}.signal-loader{width:12px;height:12px;border:2px solid var(--surface2, #444);border-top-color:var(--accent, #fab387);border-radius:50%;animation:spin .8s linear infinite;margin-left:auto}@keyframes spin{to{transform:rotate(360deg)}}.signal-item.loading{opacity:.8}.signal-item.loading .signal-name{color:var(--accent, #fab387)}.signal-item.load-error .signal-dot{border-color:var(--red, #f38ba8)!important}.signal-item.active .signal-dot{background:var(--signal-color)!important;border:none}.signal-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.signal-unit{color:var(--ctp-overlay1);font-size:10px;flex-shrink:0;min-width:30px;text-align:right}.legend-row .lt-name.reorder-target{box-shadow:inset 0 2px 0 var(--ctp-teal)}.legend-row .lt-name[draggable=true]{cursor:grab}.signal-coverage{flex-shrink:0;margin-left:6px;padding:1px 5px;border-radius:8px;font-size:9px;font-weight:600;line-height:1.4;color:var(--ctp-teal);background:rgba(var(--ctp-teal-rgb),.14)}.signal-coverage.partial{color:var(--ctp-peach);background:rgba(var(--ctp-peach-rgb),.16)}.signal-item.computed .signal-coverage{margin-right:20px}.signal-item.computed{background:rgba(var(--ctp-teal-rgb),.08);border-left:3px solid var(--ctp-teal);position:relative}.signal-item.computed:before{content:"fx";position:absolute;top:50%;right:8px;transform:translateY(-50%);font-size:9px;font-weight:600;font-family:JetBrains Mono,Fira Code,SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,monospace;color:var(--ctp-teal);opacity:.6;pointer-events:none}.signal-item.computed:hover{background:rgba(var(--ctp-teal-rgb),.15);border-color:var(--ctp-teal);cursor:pointer}.signal-item.computed:hover:before{opacity:1}.signal-item.computed .signal-dot{background:var(--ctp-teal)}.signal-item.computed .signal-name{color:var(--ctp-text)}.signal-item.computed .signal-unit{margin-right:20px}.signal-item.computed.active{border-left-color:var(--signal-color, var(--ctp-teal));background:rgba(var(--ctp-teal-rgb),.12)}.signal-item.computed.active .signal-dot{background:var(--signal-color, var(--ctp-teal));box-shadow:0 0 6px var(--signal-color, var(--ctp-teal))}.legend-extend-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:4px;border-top:1px solid rgba(255,255,255,.1);margin-top:4px}.legend-extend-row label{font-size:11px;color:#a6adc8;cursor:help}.extend-zones-toggle{width:16px;height:16px;cursor:pointer;accent-color:#89b4fa}.main{flex:1;display:flex;flex-direction:column;overflow:hidden}.toolbar{padding:10px 16px;background:var(--ctp-crust);border-bottom:1px solid var(--ctp-surface0);display:flex;align-items:center;gap:16px;flex-wrap:wrap}.toolbar-title{font-size:16px;font-weight:600}.toolbar-group{display:flex;align-items:center;gap:8px}.toolbar-group label{font-size:11px;color:var(--ctp-overlay1)}#sourceSelector{padding:6px 10px;background:var(--ctp-base);border:1px solid var(--ctp-surface0);border-radius:4px;color:var(--ctp-text);font-size:12px;cursor:pointer;min-width:150px;max-width:250px;width:250px;text-overflow:ellipsis}#sourceSelector:focus{outline:none;border-color:var(--ctp-teal)}#sourceSelector:hover{background:var(--ctp-surface0)}#sourceSelector option{background:var(--ctp-base);color:var(--ctp-text)}#sourceSelector option:disabled{color:var(--ctp-overlay1)}button{background:var(--ctp-surface1);color:var(--ctp-text);border:none;padding:6px 14px;border-radius:4px;cursor:pointer;font-size:12px}.toolbar-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0!important;background:var(--ctp-surface1);border:1px solid var(--ctp-surface2);border-radius:4px;color:var(--ctp-subtext1);cursor:pointer;transition:all .2s}.toolbar-btn:hover{background:var(--ctp-teal);border-color:var(--ctp-teal);color:var(--ctp-crust)}.toolbar-btn.disabled{opacity:.5;cursor:not-allowed}.toolbar-divider{align-self:center;width:1px;height:24px;background:var(--ctp-surface2);margin:0 -4px}.toolbar-btn.active,.toolbar-btn.active:hover{background:var(--ctp-teal);border-color:var(--ctp-teal);color:var(--ctp-crust)}body.hide-cursor-labels .cursor-time-label,body.hide-cursor-labels .cursor-delta-line,body.hide-cursor-labels .cursor-delta-label,body.hide-cursor-labels .cursor-label{display:none!important}.toolbar-btn svg{width:16px;height:16px}#clearBtn,#resetBtn{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:6px 14px;background:var(--ctp-surface1);border:1px solid var(--ctp-surface2);border-radius:4px;color:var(--ctp-subtext1);font-size:12px;font-weight:500;cursor:pointer;overflow:hidden;transition:all .2s ease;z-index:1}#clearBtn:after{content:"";position:absolute;top:0;left:0;width:0;height:100%;background:var(--ctp-red);z-index:-1;transition:width .35s ease}#clearBtn:hover{color:var(--ctp-crust);border-color:var(--ctp-red)}#clearBtn:hover:after{width:100%}#resetBtn:hover{background:var(--ctp-teal);border-color:var(--ctp-teal);color:var(--ctp-crust)}.modal-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;z-index:1000;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-overlay.active{display:flex}.modal-content{background:var(--ctp-mantle);border:1px solid var(--ctp-surface0);border-radius:12px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000080}.modal-content.drag-over{border-color:var(--ctp-teal);outline:2px dashed var(--ctp-teal);outline-offset:-10px}.modal-content.drag-over .file-input-display{border-color:var(--ctp-teal)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--ctp-surface0)}.modal-header h2{font-size:18px;font-weight:600;color:var(--ctp-text)}.modal-close{background:transparent;border:none;color:var(--ctp-overlay1);font-size:24px;cursor:pointer;padding:0;line-height:1;transition:color .2s}.modal-close:hover{color:var(--ctp-text)}.modal-body{padding:24px}.modal-description{font-size:13px;color:var(--ctp-overlay1);margin-bottom:20px;line-height:1.5}.modal-field{margin-bottom:20px}.modal-field:last-child{margin-bottom:0}.modal-field>label{display:block;font-size:13px;font-weight:500;color:var(--ctp-subtext1);margin-bottom:8px}.modal-field .optional{font-weight:400;color:var(--ctp-overlay1)}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--ctp-surface0)}.btn-secondary{padding:10px 20px;background:transparent;border:1px solid var(--ctp-surface1);border-radius:6px;color:var(--ctp-overlay1);font-size:14px;cursor:pointer;transition:all .2s}.btn-secondary:hover{border-color:var(--ctp-teal);color:var(--ctp-text)}.btn-primary{display:flex;align-items:center;gap:8px;padding:10px 20px;background:linear-gradient(135deg,var(--ctp-teal),var(--ctp-maroon));border:none;border-radius:6px;color:var(--ctp-crust);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--ctp-teal-rgb),.4);filter:brightness(1.05)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-primary svg{width:16px;height:16px}.upload-progress{margin-top:20px;padding:16px;background:var(--ctp-surface0);border-radius:8px}button:hover{background:var(--ctp-surface2)}button:disabled{background:var(--ctp-surface1);color:var(--ctp-overlay1);cursor:default}input[type=number]{width:60px;padding:5px 8px;background:var(--ctp-base);border:1px solid var(--ctp-surface0);border-radius:4px;color:var(--ctp-text);font-size:12px}.tabs-container{display:flex;align-items:center;padding:0 12px;background:transparent;gap:4px;min-height:36px;flex-shrink:0}.tabs-list{display:flex;align-items:center;gap:2px;overflow-x:auto;overflow-y:hidden;padding:4px 0 0}.tabs-list::-webkit-scrollbar{height:3px}.tabs-list::-webkit-scrollbar-thumb{background:var(--ctp-surface1);border-radius:2px}.tab-item{display:flex;align-items:center;gap:10px;padding:6px 12px;background:transparent;border:1px solid transparent;border-bottom:none;border-radius:6px 6px 0 0;color:var(--ctp-overlay1);font-size:12px;cursor:pointer;transition:all .15s;white-space:nowrap;position:relative;top:1px}.tab-item:hover{background:#ffffff0d;color:var(--ctp-subtext1)}.tab-item.active{background:var(--ctp-base);border-color:var(--ctp-surface0);color:var(--ctp-text)}.tab-name{max-width:120px;overflow:hidden;text-overflow:ellipsis}.tab-name-input{background:transparent;border:none;border-bottom:1px solid var(--ctp-teal);color:var(--ctp-text);font-size:12px;padding:0;width:100px;outline:none}.tab-close{display:flex;align-items:center;justify-content:center;min-width:16px;width:16px;height:16px;background:transparent;border:none;border-radius:3px;color:var(--ctp-overlay1);font-size:14px;line-height:1;cursor:pointer;padding:0 2px;transition:all .15s;opacity:0;margin-left:4px}.tab-item:hover .tab-close,.tab-item.active .tab-close{opacity:1}.tab-item.dragging{opacity:.5}.tab-item.drop-before{box-shadow:inset 2px 0 0 var(--ctp-teal)}.tab-item.drop-after{box-shadow:inset -2px 0 0 var(--ctp-teal)}.tab-close:hover{background:#ff646433;color:var(--ctp-red)}.tab-add{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;border:1px dashed var(--ctp-surface1);border-radius:4px;color:var(--ctp-overlay1);font-size:16px;cursor:pointer;transition:all .15s;flex-shrink:0;margin-left:6px;position:relative;top:1px}.tab-add:hover{border-color:var(--ctp-teal);color:var(--ctp-teal);background:rgba(var(--ctp-teal-rgb),.1)}.tabs-actions{display:flex;align-items:center;gap:6px;margin-left:auto;padding-left:12px;border-left:1px solid var(--ctp-surface0);position:relative;top:1px}.tab-action-btn{display:flex;align-items:center;gap:4px;padding:5px 10px;background:transparent;border:1px solid var(--ctp-surface1);border-radius:4px;color:var(--ctp-overlay1);font-size:11px;cursor:pointer;transition:all .15s}.tab-action-btn:hover{border-color:var(--ctp-teal);color:var(--ctp-text);background:rgba(var(--ctp-teal-rgb),.1)}.tab-action-btn svg{width:14px;height:14px}.tab-content{display:none;flex:1;flex-direction:column;overflow:hidden}.tab-content.active{display:flex}.plots-area{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:0 8px 8px 0}.plots-wrapper{flex:1;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;min-height:0}.plot-container{background:var(--ctp-base);border:1px solid var(--ctp-surface0);border-radius:6px;display:flex;flex-direction:column;min-height:100px;overflow:hidden;position:relative}.plot-container.bool-strip{min-height:56px}.plot-container.comment-strip{min-height:40px}.plot-container.drop-target{border-color:rgba(var(--ctp-overlay0-rgb),.5);box-shadow:0 0 10px #5555cc4d}.plot-main{flex:1;display:flex;min-height:0;overflow:hidden}.plot-body{flex:1;min-height:0;min-width:0;overflow:hidden}.plot-body .chart{width:100%;height:100%}.comment-tooltip{position:absolute;top:4px;z-index:20;max-width:280px;padding:6px 8px;background:var(--ctp-crust);border:1px solid var(--ctp-surface1);border-radius:6px;font-size:11px;line-height:1.35;color:var(--ctp-text);pointer-events:none;box-shadow:0 4px 12px #00000059}.comment-tooltip-text{white-space:pre-wrap;word-break:break-word}.comment-tooltip-meta{margin-top:3px;font-size:10px;color:var(--ctp-subtext0)}.comment-legend-row{display:flex;align-items:center;gap:6px;font-size:12px}.plot-legend{width:150px;flex-shrink:0;background:var(--ctp-mantle);border-left:1px solid var(--ctp-surface0);padding:8px;overflow-y:auto;display:flex;flex-direction:column;gap:6px;transition:width .15s cubic-bezier(.4,0,.2,1)}.u-select{background:#63b3ed1f}.plot-legend.has-cursor-table{width:430px}.plot-legend::-webkit-scrollbar{width:4px}.plot-legend::-webkit-scrollbar-thumb{background:var(--ctp-surface1);border-radius:2px}.legend-item{background:#ffffff08;border-radius:4px;font-size:10px;overflow:hidden}.legend-item-header{display:flex;align-items:center;gap:6px;padding:4px 6px;cursor:pointer;transition:background .1s}.legend-item-header:hover{background:#ffffff0d}.legend-color-btn{width:16px;height:10px;border-radius:2px;border:none;cursor:pointer;padding:0}.legend-color-btn::-webkit-color-swatch-wrapper{padding:0}.legend-color-btn::-webkit-color-swatch{border:none;border-radius:2px}.legend-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ctp-subtext1)}.legend-toggle{opacity:.4;font-size:8px;transition:transform .2s}.legend-item.expanded .legend-toggle{transform:rotate(180deg)}.legend-remove{opacity:0;cursor:pointer;color:var(--ctp-overlay1);font-size:12px;line-height:1;transition:opacity .1s}.legend-item-header:hover .legend-remove{opacity:1}.legend-remove:hover{color:var(--ctp-red)}.legend-controls{display:none;padding:6px;background:var(--ctp-mantle);border-top:1px solid var(--ctp-surface0)}.legend-item.expanded .legend-controls{display:flex;flex-direction:column;gap:6px}.legend-control-row{display:grid;grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:6px;min-height:24px}.legend-control-row label{color:var(--ctp-overlay1);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.legend-controls-sep{height:1px;margin:3px 0;background:var(--ctp-surface0);opacity:.7}.legend-analysis-group{display:flex;gap:6px}.legend-control-row input[type=range]{flex:1;min-width:0;height:4px;-webkit-appearance:none;background:var(--ctp-surface0);border-radius:2px;outline:none}.legend-control-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:10px;height:10px;background:rgba(var(--ctp-overlay0-rgb),.5);border-radius:50%;cursor:pointer}.legend-control-row select{flex:1;min-width:0;background:var(--ctp-base);border:1px solid var(--ctp-surface0);color:var(--ctp-subtext1);font-size:9px;padding:2px 4px;border-radius:3px;cursor:pointer}.legend-control-row select:focus{outline:none;border-color:rgba(var(--ctp-overlay0-rgb),.5)}.legend-width-value{color:var(--ctp-overlay2);font-size:9px;min-width:20px;text-align:right}.plot-stats{position:absolute;bottom:4px;right:6px;padding:0;border-top:none;background:transparent;z-index:5}.plot-stats .plot-delete{background:transparent;border:none;color:var(--ctp-red);padding:2px 6px;font-size:10px;cursor:pointer;border-radius:3px;transition:all .15s;flex-shrink:0;margin-left:8px;opacity:0}.plot-container:hover .plot-stats .plot-delete{opacity:.65}.plot-stats .plot-delete:hover{background:#ff646426;color:var(--ctp-red);opacity:1}.splitter{height:6px;background:transparent;cursor:row-resize;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:background .15s}.splitter:hover,.splitter.active{background:#55c3}.splitter:after{content:"";width:40px;height:3px;background:var(--ctp-surface1);border-radius:2px}.splitter:hover:after,.splitter.active:after{background:rgba(var(--ctp-overlay0-rgb),.5)}.drop-zone{border:2px dashed var(--ctp-surface1);border-radius:6px;padding:8px;text-align:center;color:var(--ctp-overlay0);font-size:12px;flex-shrink:0;margin-top:4px}.drop-zone.active{border-color:rgba(var(--ctp-overlay0-rgb),.5);background:#5555cc1a;color:rgba(var(--ctp-overlay1-rgb),.8)}.empty-plot{flex:1;display:flex;align-items:center;justify-content:center;color:var(--ctp-overlay0);background:var(--ctp-base);border:1px solid var(--ctp-surface0);border-radius:6px}.cursor-line{position:absolute;left:0;top:0;bottom:0;width:6px;margin-left:-3px;pointer-events:auto;z-index:50;cursor:ew-resize}.cursor-line:after{content:"";position:absolute;left:2px;top:0;bottom:0;width:2px;background:var(--cursor-color)}.cursor-line:hover:after{width:4px;left:1px}.cursor-1{--cursor-color: var(--cursor-a)}.cursor-2{--cursor-color: var(--cursor-b)}.cursor-line.dragging:after{width:4px;left:1px}.cursor-label{position:absolute;left:0;top:0;font-size:10px;font-family:monospace;padding:2px 5px;border-radius:3px;pointer-events:none;z-index:60;white-space:nowrap;transform:translateY(-50%);background:var(--cursor-label-bg);border:1px solid var(--sig-color);color:var(--sig-color)}.cursor-time-label{position:absolute;top:2px;font-size:10px;font-family:monospace;padding:2px 6px;border-radius:3px;pointer-events:none;z-index:70;white-space:nowrap;background:var(--cursor-label-bg);border:1px solid var(--cursor-color);color:var(--cursor-color);transform:translate(-50%);left:0}.cursor-delta-line{position:absolute;left:0;top:8px;height:2px;background:repeating-linear-gradient(90deg,rgba(255,170,68,.6) 0px,rgba(255,170,68,.6) 4px,transparent 4px,transparent 8px);pointer-events:none;z-index:45}.cursor-delta-label{position:absolute;top:2px;font-size:10px;font-family:monospace;padding:2px 8px;border-radius:3px;pointer-events:none;z-index:70;white-space:nowrap;background:var(--cursor-delta-bg);color:var(--cursor-delta-fg);transform:translate(-50%);left:0}:root{--scrollbar-size: 8px;--scrollbar-size-thin: 6px;--scrollbar-track: rgba(255, 255, 255, .03);--scrollbar-thumb: rgba(100, 100, 140, .3);--scrollbar-thumb-hover: rgba(100, 100, 140, .5);--scrollbar-thumb-active: rgba(var(--ctp-teal-rgb), .6)}::-webkit-scrollbar{width:var(--scrollbar-size);height:var(--scrollbar-size)}::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover);border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:active{background:var(--scrollbar-thumb-active)}::-webkit-scrollbar-corner{background:transparent}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}.signal-list::-webkit-scrollbar,.plot-legend::-webkit-scrollbar,.tabs-list::-webkit-scrollbar,.nav-items::-webkit-scrollbar,.palette-blocks::-webkit-scrollbar,.outline-content::-webkit-scrollbar,#consoleContent::-webkit-scrollbar,#mappingItems::-webkit-scrollbar{width:var(--scrollbar-size-thin);height:var(--scrollbar-size-thin)}.canvas-block-code-content::-webkit-scrollbar,pre::-webkit-scrollbar,code::-webkit-scrollbar{width:6px;height:6px}.canvas-block-code-content::-webkit-scrollbar-track,pre::-webkit-scrollbar-track{background:#0003}.canvas-block-code-content::-webkit-scrollbar-thumb,pre::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.canvas-block-code-content::-webkit-scrollbar-thumb:hover,pre::-webkit-scrollbar-thumb:hover{background:#fff3}.modal-content::-webkit-scrollbar{width:var(--scrollbar-size)}.modal-content::-webkit-scrollbar-track{background:#0003;border-radius:0 12px 12px 0}#editionCanvas::-webkit-scrollbar,#canvasBlocks::-webkit-scrollbar,.edition-canvas::-webkit-scrollbar{width:var(--scrollbar-size)}.utilities-view::-webkit-scrollbar,.converter-view::-webkit-scrollbar{width:var(--scrollbar-size)}.signal-list,.plot-legend,.nav-items,.palette-blocks{scrollbar-color:transparent transparent}.signal-list:hover,.plot-legend:hover,.nav-items:hover,.palette-blocks:hover{scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}.signal-list::-webkit-scrollbar-thumb,.plot-legend::-webkit-scrollbar-thumb,.nav-items::-webkit-scrollbar-thumb,.palette-blocks::-webkit-scrollbar-thumb{background:transparent}.signal-list:hover::-webkit-scrollbar-thumb,.plot-legend:hover::-webkit-scrollbar-thumb,.nav-items:hover::-webkit-scrollbar-thumb,.palette-blocks:hover::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.upload-guest-note{margin:0 0 1.25rem;padding:.625rem .75rem;font-size:.75rem;color:var(--ctp-subtext1);background:rgba(var(--ctp-blue-rgb),.08);border-left:3px solid var(--ctp-blue);border-radius:.25rem;line-height:1.5}.modal-description+.upload-guest-note{margin-top:-.5rem}.legend-table{display:grid;grid-template-columns:minmax(0,1fr);row-gap:2px;align-items:stretch;font-family:JetBrains Mono,Fira Code,SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,monospace;font-size:10px}.legend-table.cursors-active{grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(46px,auto)) minmax(22px,auto)}.legend-table:not(.cursors-active) .lt-measure{display:none}.legend-row{display:contents}.legend-table .ct-h{font-size:9px;font-weight:600;letter-spacing:.06em;text-align:right;color:var(--ctp-overlay1);padding-bottom:3px;padding-left:.5rem;padding-right:2px;border-bottom:1px solid var(--ctp-surface0);margin-bottom:2px}.legend-table .ct-h:first-child{text-align:left;padding-left:.25rem}.legend-table .ct-ha{color:var(--cursor-a)}.legend-table .ct-hb{color:var(--cursor-b)}.legend-table .ct-hd{color:var(--ctp-yellow)}.legend-table .ct-time-label{color:var(--ctp-overlay1);font-style:italic;padding-left:.25rem;min-height:20px;display:flex;align-items:center}.legend-table .ct-val{text-align:right;white-space:nowrap;color:var(--ctp-text);padding-left:.5rem;padding-right:2px;display:flex;align-items:center;justify-content:flex-end}.legend-table .ct-val.ct-a{color:var(--cursor-a)}.legend-table .ct-val.ct-b{color:var(--cursor-b)}.legend-table .ct-val.ct-d{color:var(--ctp-yellow);font-weight:600}.legend-table .ct-unit{text-align:left;color:var(--ctp-overlay1);font-size:9px;padding-left:.5rem;display:flex;align-items:center}.legend-table .ct-unit.ct-unit-error{color:var(--ctp-red);font-weight:600}.lt-name{display:flex;align-items:center;gap:4px;min-width:0;min-height:24px;padding:0 .25rem;border-radius:.25rem;cursor:pointer}.lt-name:hover{background:rgba(var(--ctp-text-rgb),.04)}.lt-name .legend-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.lt-name .legend-toggle{font-size:11px;line-height:1;padding:2px 4px;margin-left:auto;border-radius:.25rem;color:var(--ctp-overlay1);transition:transform .1s cubic-bezier(.4,0,.2,1)}.lt-name .legend-toggle:hover{color:var(--ctp-text);background:rgba(var(--ctp-text-rgb),.04)}.legend-row.expanded .lt-name .legend-toggle{transform:rotate(180deg)}.legend-row.selected>*{background:rgba(var(--ctp-teal-rgb),.12)}.legend-row.selected>:first-child{border-radius:.25rem 0 0 .25rem}.legend-row.selected>.ct-unit{border-radius:0 .25rem .25rem 0}.legend-table:not(.cursors-active) .legend-row.selected>.lt-name{border-radius:.25rem}.legend-row.selected .lt-name .legend-name{font-weight:600}.legend-row>.ct-val,.legend-row>.ct-unit{cursor:pointer}.legend-row .legend-controls{grid-column:1/-1;display:none}.legend-row.expanded .legend-controls{display:block}.legend-analysis-btn{height:20px;padding:0 12px;background:transparent;border:1px solid var(--ctp-surface0);border-radius:4px;color:var(--ctp-subtext1);font-size:11px;cursor:pointer;transition:border-color .12s,color .12s}.legend-analysis-btn:hover{border-color:var(--ctp-teal);color:var(--ctp-teal)}.analysis-popover{position:fixed;right:24px;bottom:24px;z-index:900;padding:10px;background:var(--ctp-mantle);border:1px solid var(--ctp-surface0);border-radius:10px;box-shadow:0 12px 40px #00000073}.analysis-popover-resize{position:absolute;top:3px;left:3px;width:14px;height:14px;cursor:nwse-resize;border-top:2px solid var(--ctp-overlay0);border-left:2px solid var(--ctp-overlay0);border-top-left-radius:8px;opacity:.45;transition:opacity .12s}.analysis-popover-resize:hover{opacity:1}.analysis-popover-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.analysis-popover-title{font-size:12px;font-weight:600;color:var(--ctp-text)}.analysis-popover-range{flex:1;font-size:10px;color:var(--ctp-subtext1);font-family:JetBrains Mono,monospace}.analysis-popover-btn{height:22px;padding:0 8px;background:transparent;border:1px solid var(--ctp-surface0);border-radius:4px;color:var(--ctp-subtext1);font-size:11px;cursor:pointer}.analysis-popover-btn:hover{border-color:var(--ctp-teal);color:var(--ctp-teal)}.analysis-popover-stats{margin-top:6px;font-size:10px;font-family:JetBrains Mono,monospace;color:var(--ctp-subtext1);text-align:center}.analysis-popover-readout{margin-top:6px;min-height:14px;font-size:10px;font-family:JetBrains Mono,monospace;color:var(--ctp-text);text-align:center}.legend-row-missing{opacity:.45;font-style:italic;cursor:default}.legend-row-missing .legend-name{color:var(--ctp-overlay1);text-decoration:line-through;text-decoration-thickness:1px}.legend-missing-dot{display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:50%;border:1px dashed var(--ctp-overlay1);flex:0 0 auto}.plot-stats .plot-grip,.plot-stats .plot-autoy,.plot-stats .plot-lock,.plot-stats .plot-solo-btn{background:transparent;border:none;color:var(--ctp-overlay1);padding:2px 6px;font-size:11px;line-height:1;border-radius:3px;transition:all .15s;flex-shrink:0;opacity:0}.plot-stats svg{display:block}.plot-stats .plot-grip{cursor:grab}.plot-stats .plot-autoy,.plot-stats .plot-lock,.plot-stats .plot-solo-btn{cursor:pointer}.plot-container:hover .plot-stats .plot-grip,.plot-container:hover .plot-stats .plot-autoy,.plot-container:hover .plot-stats .plot-lock,.plot-container:hover .plot-stats .plot-solo-btn{opacity:.65}.plot-stats .plot-grip:hover,.plot-stats .plot-autoy:hover,.plot-stats .plot-lock:hover,.plot-stats .plot-solo-btn:hover{opacity:1;background:#ffffff14;color:var(--ctp-text)}.plot-stats .plot-lock.is-on,.plot-stats .plot-solo-btn.is-on{opacity:1;color:var(--ctp-teal)}.plot-stats .plot-grip:active{cursor:grabbing}.plot-stats .plot-autoy:active,.plot-stats .plot-lock:active,.plot-stats .plot-solo-btn:active{background:#ffffff24}.plot-container.plot-hidden-by-solo{display:none}.plot-container.plot-solo{flex:1 1 auto!important}.plots-wrapper.has-solo .splitter{display:none}.plot-container.plot-dragging{opacity:.4;outline:1px dashed var(--ctp-teal)}.plot-container.plot-drop-above{box-shadow:inset 0 3px 0 0 var(--ctp-teal)}.plot-container.plot-drop-below{box-shadow:inset 0 -3px 0 0 var(--ctp-teal)}.dashboard-view{display:flex;flex-direction:column;width:100%;height:100%;overflow:hidden;background:var(--ctp-crust)}.dashboard-toggle-header{display:flex;align-items:center;justify-content:center;padding:12px 20px;background:var(--ctp-crust);border-bottom:1px solid var(--ctp-surface0);height:56px;min-height:56px}.dashboard-toggle{display:flex;background:var(--ctp-base);border:1px solid var(--ctp-surface0);border-radius:8px;overflow:hidden;position:relative;width:400px}.dashboard-toggle-btn{flex:1 1 33.333%;padding:10px 0;font-size:13px;font-weight:500;color:var(--ctp-overlay1);background:transparent;border:none;cursor:pointer;transition:color .2s;position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:8px}.dashboard-toggle-btn svg{width:16px;height:16px}.dashboard-toggle-btn:hover{color:var(--ctp-subtext1)}.dashboard-toggle-btn.active{color:var(--ctp-text);z-index:3}.dashboard-toggle-indicator{position:absolute;top:3px;bottom:3px;left:3px;width:calc(33.333% - 2px);background:linear-gradient(135deg,var(--ctp-teal),var(--ctp-maroon));border-radius:6px;transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:2}.dashboard-toggle.edition .dashboard-toggle-indicator{transform:translate(100%)}.dashboard-toggle.mapping .dashboard-toggle-indicator{transform:translate(200%)}.dashboard-slider{flex:1;overflow:hidden;position:relative}.dashboard-slider-track{display:flex;width:300%;height:100%;transition:transform .4s cubic-bezier(.4,0,.2,1)}.dashboard-slider-track.show-edition{transform:translate(-33.333%)}.dashboard-slider-track.show-mapping{transform:translate(-66.666%)}.dashboard-panel{width:33.333%;height:100%;overflow:hidden;display:flex}.execution-panel{display:flex;flex-direction:column;width:100%;height:100%;background:var(--ctp-crust)}.execution-scripts{flex:1;overflow-y:auto;padding:20px}.execution-scripts-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.execution-scripts-header h3{font-size:14px;font-weight:600;color:var(--ctp-text);margin:0}.execution-scripts-count{font-size:12px;color:var(--ctp-overlay1)}.script-card{background:var(--ctp-base);border:1px solid var(--ctp-surface0);border-radius:12px;padding:16px;margin-bottom:12px;transition:all .2s}.script-card:hover{border-color:var(--ctp-overlay0);background:var(--ctp-surface0)}.script-card-main{display:flex;align-items:center;gap:14px;margin-bottom:14px}.script-card-icon{width:48px;height:48px;background:linear-gradient(135deg,var(--ctp-teal),var(--ctp-maroon));border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.script-card-icon svg{width:24px;height:24px;color:var(--ctp-crust)}.script-card-content{flex:1;min-width:0}.script-card-name{font-size:16px;font-weight:600;color:var(--ctp-text);margin-bottom:6px}.script-card-meta{display:flex;align-items:center;gap:16px;font-size:12px;color:var(--ctp-overlay1)}.script-card-status.success{color:var(--ctp-green)}.script-card-status.error{color:var(--ctp-red)}.script-card-actions{display:flex;gap:10px;padding-top:14px;border-top:1px solid var(--ctp-surface0)}.script-btn-edit,.script-btn-run{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.script-btn-edit svg,.script-btn-run svg{width:16px;height:16px}.script-btn-edit{background:transparent;border:1px solid var(--ctp-overlay0);color:var(--ctp-subtext1)}.script-btn-edit:hover{border-color:var(--ctp-teal);background:rgba(var(--ctp-teal-rgb),.1);color:var(--ctp-text)}.script-btn-run{background:linear-gradient(135deg,var(--ctp-green),var(--ctp-teal));border:none;color:var(--ctp-crust)}.script-btn-run:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--ctp-green-rgb),.4);filter:brightness(1.05)}.scripts-loading,.scripts-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;color:var(--ctp-overlay1)}.scripts-empty svg{width:48px;height:48px;color:var(--ctp-surface1);margin-bottom:16px}.scripts-empty p{font-size:14px;margin:0}.scripts-empty-hint{font-size:12px;color:var(--ctp-overlay0);margin-top:8px}.execution-console{height:200px;min-height:150px;background:var(--ctp-crust);border-top:1px solid var(--ctp-surface0);display:flex;flex-direction:column}.execution-console-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--ctp-crust);border-bottom:1px solid var(--ctp-surface0)}.execution-console-header h4{font-size:12px;font-weight:600;color:var(--ctp-overlay1);margin:0;display:flex;align-items:center;gap:8px}.execution-console-header h4 svg{width:14px;height:14px}.console-clear-btn{padding:4px 8px;font-size:10px;color:var(--ctp-overlay1);background:transparent;border:1px solid var(--ctp-surface0);border-radius:4px;cursor:pointer;transition:all .2s}.console-clear-btn:hover{color:var(--ctp-text);border-color:var(--ctp-surface1)}.execution-console-content{flex:1;overflow-y:auto;padding:12px 16px;font-family:Fira Code,SF Mono,Monaco,monospace;font-size:12px;line-height:1.6}.console-line{display:flex;gap:8px;margin-bottom:4px}.console-time{color:var(--ctp-overlay0)}.console-message{color:var(--ctp-overlay2)}.console-message.info{color:var(--ctp-teal)}.console-message.success{color:var(--ctp-green)}.console-message.warning{color:var(--ctp-yellow)}.console-message.error{color:var(--ctp-red)}.edition-panel{display:flex;width:100%;height:100%;background:var(--ctp-crust)}.edition-palette{width:200px;min-width:200px;background:var(--ctp-crust);border-right:1px solid var(--ctp-surface0);display:flex;flex-direction:column}.edition-palette-header{padding:16px;border-bottom:1px solid var(--ctp-surface0)}.edition-palette-header h3{font-size:13px;font-weight:600;color:var(--ctp-text);margin:0}.edition-palette-search{padding:12px;border-bottom:1px solid var(--ctp-surface0)}.edition-palette-search input{width:100%;padding:8px 10px;background:var(--ctp-base);border:1px solid var(--ctp-surface0);border-radius:6px;color:var(--ctp-text);font-size:12px}.edition-palette-search input:focus{outline:none;border-color:var(--ctp-teal)}.edition-palette-blocks{flex:1;overflow-y:auto;padding:12px}.palette-block{position:relative;display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--ctp-base);border:1px solid var(--ctp-surface0);margin-bottom:8px;cursor:grab;transition:all .2s;border-radius:8px}.palette-block:hover{background:var(--ctp-surface0);border-color:var(--ctp-teal)}.palette-block:active,.palette-block.dragging{cursor:grabbing;opacity:.6}.palette-block-icon{width:28px;height:28px;background:var(--block-color, var(--ctp-teal));-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M 0,50 C 0,5 5,0 50,0 S 100,5 100,50 95,100 50,100 0,95 0,50' fill='black'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M 0,50 C 0,5 5,0 50,0 S 100,5 100,50 95,100 50,100 0,95 0,50' fill='black'/%3E%3C/svg%3E");-webkit-mask-size:100% 100%;mask-size:100% 100%;display:flex;align-items:center;justify-content:center}.palette-block-icon svg{width:14px;height:14px;color:var(--ctp-crust)}.palette-block-name{font-size:12px;font-weight:500;color:var(--ctp-text)}.palette-block-desc{font-size:10px;color:var(--ctp-overlay1);margin-top:2px}.edition-canvas-container{flex:1;display:flex;flex-direction:column;overflow:hidden}.edition-canvas-toolbar{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--ctp-crust);border-bottom:1px solid var(--ctp-surface0)}.edition-canvas-toolbar-left{display:flex;align-items:center;gap:12px}.edition-script-name input{background:transparent;border:none;border-bottom:1px solid transparent;color:var(--ctp-text);font-size:14px;font-weight:500;padding:4px 0;width:200px}.edition-script-name input:hover{border-bottom-color:var(--ctp-surface1)}.edition-script-name input:focus{outline:none;border-bottom-color:var(--ctp-teal)}.script-status-indicator{font-size:11px;color:var(--ctp-overlay1);padding:3px 8px;background:var(--ctp-base);border-radius:4px}.script-status-indicator.modified{color:var(--ctp-yellow);background:#f59e0b1a}.script-status-indicator.saved{color:var(--ctp-green);background:rgba(var(--ctp-green-rgb),.1)}.edition-canvas-toolbar-right{display:flex;align-items:center;gap:8px}.edition-toolbar-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.edition-toolbar-btn svg{width:14px;height:14px}.edition-toolbar-btn.secondary{background:transparent;border:1px solid var(--ctp-surface1);color:var(--ctp-subtext1)}.edition-toolbar-btn.secondary:hover{border-color:var(--ctp-teal);color:var(--ctp-text)}.edition-toolbar-btn.primary{background:linear-gradient(135deg,var(--ctp-teal),var(--ctp-maroon));border:none;color:var(--ctp-crust)}.edition-toolbar-btn.primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--ctp-teal-rgb),.4);filter:brightness(1.05)}.edition-toolbar-btn.success{background:linear-gradient(135deg,var(--ctp-green),var(--ctp-teal));border:none;color:var(--ctp-crust)}.edition-toolbar-btn.success:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--ctp-green-rgb),.4);filter:brightness(1.05)}.edition-canvas{flex:1;overflow-y:auto;padding:20px}.edition-canvas-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:300px;border:2px dashed var(--ctp-surface0);border-radius:12px;color:var(--ctp-overlay0);text-align:center;transition:all .2s}.edition-canvas-empty.drag-over{border-color:var(--ctp-teal);background:rgba(var(--ctp-teal-rgb),.05)}.edition-canvas-empty svg{width:48px;height:48px;margin-bottom:16px;opacity:.5}.edition-canvas-empty h3{font-size:16px;color:var(--ctp-overlay1);margin:0 0 8px}.edition-canvas-empty p{font-size:13px;color:var(--ctp-overlay0);margin:0}.canvas-block{background:var(--ctp-surface0);border:1px solid var(--ctp-surface0);border-radius:8px;margin-bottom:8px;overflow:hidden;transition:all .2s ease}.canvas-block:hover{border-color:var(--ctp-surface1)}.canvas-block.dragging{opacity:.5;border-color:var(--ctp-teal)}.canvas-block.highlighted{border-color:var(--ctp-teal);box-shadow:0 0 0 3px rgba(var(--ctp-teal-rgb),.3);animation:highlight-pulse 1.5s ease-out}@keyframes highlight-pulse{0%{box-shadow:0 0 0 3px rgba(var(--ctp-teal-rgb),.5)}to{box-shadow:0 0 0 3px rgba(var(--ctp-teal-rgb),0)}}.canvas-block-header{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--ctp-surface1);cursor:grab;transition:background .15s}.canvas-block-header:hover{background:var(--ctp-surface2)}.canvas-block.dragging .canvas-block-header{cursor:grabbing}.canvas-block-icon{width:28px;height:28px;background:var(--block-color, var(--ctp-teal));border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.canvas-block-icon svg{width:14px;height:14px;color:var(--ctp-crust)}.canvas-block-info{flex:1;min-width:0}.canvas-block-title{font-size:12px;font-weight:600;color:var(--ctp-text)}.canvas-block-subtitle{font-size:11px;color:var(--ctp-overlay1);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.canvas-block-actions{display:flex;align-items:center;gap:2px;opacity:0;transition:opacity .15s}.canvas-block:hover .canvas-block-actions{opacity:1}.canvas-block-action{width:26px;height:26px;background:transparent;border:none;border-radius:4px;color:var(--ctp-overlay1);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;padding:0}.canvas-block-action:hover{background:#ffffff1a;color:var(--ctp-text)}.canvas-block-action.delete:hover{background:rgba(var(--ctp-red-rgb),.2);color:var(--ctp-red)}.canvas-block-action svg{width:14px;height:14px}.canvas-block-body{transition:max-height .25s ease,opacity .2s ease}.canvas-block-config{padding:12px 14px;background:var(--ctp-crust)}.block-config-row{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}.block-config-row:last-child{margin-bottom:0}.block-config-label{width:70px;font-size:11px;color:var(--ctp-overlay1);padding-top:8px;flex-shrink:0}.block-config-input,.block-config-select{flex:1;padding:8px 10px;background:var(--ctp-base);border:1px solid var(--ctp-surface0);border-radius:6px;color:var(--ctp-text);font-size:12px;transition:border-color .15s}.block-config-input:focus,.block-config-select:focus{outline:none;border-color:var(--ctp-teal)}.block-config-input.code-input{font-family:Fira Code,SF Mono,Monaco,monospace;font-size:13px;line-height:1.6;resize:vertical;background:var(--ctp-crust);color:var(--ctp-text);border:1px solid var(--ctp-surface0);border-radius:6px;padding:12px 14px;min-height:120px;-moz-tab-size:4;tab-size:4;white-space:pre;overflow-wrap:normal;overflow-x:auto}.code-editor-container{width:100%;min-height:150px;border-radius:6px;overflow:hidden;border:1px solid var(--ctp-surface0);transition:border-color .15s,box-shadow .15s}.code-editor-container:focus-within{border-color:var(--ctp-teal);box-shadow:0 0 0 3px rgba(var(--ctp-teal-rgb),.15)}.code-editor-container .cm-editor{height:100%;min-height:150px}.code-editor-container .cm-scroller{font-family:Fira Code,SF Mono,Monaco,monospace!important;font-size:13px!important;line-height:1.6!important}.code-editor-container .cm-content{padding:12px 0}.code-editor-container .cm-line{padding:0 14px}.code-editor-fallback{width:100%;min-height:150px;font-family:Fira Code,SF Mono,Monaco,monospace;font-size:13px;line-height:1.6;background:var(--ctp-crust);color:var(--ctp-text);border:1px solid var(--ctp-surface0);border-radius:6px;padding:12px 14px;resize:vertical;-moz-tab-size:4;tab-size:4}.code-editor-fallback:focus{outline:none;border-color:var(--ctp-teal);box-shadow:0 0 0 3px rgba(var(--ctp-teal-rgb),.15)}.block-config-color{width:36px;height:36px;padding:2px;background:var(--ctp-base);border:1px solid var(--ctp-surface0);border-radius:6px;cursor:pointer}.canvas-block-code{border-top:1px solid var(--ctp-surface0)}.canvas-block-code-header{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;background:var(--ctp-mantle);cursor:pointer;transition:background .15s}.canvas-block-code-header:hover{background:var(--ctp-mantle)}.canvas-block-code-header-left{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--ctp-overlay1)}.canvas-block-code-header-left svg{width:12px;height:12px;transition:transform .2s ease}.canvas-block-code-copy{padding:4px 8px;font-size:10px;color:var(--ctp-overlay0);background:transparent;border:1px solid var(--ctp-surface0);border-radius:4px;cursor:pointer;display:flex;align-items:center;gap:4px;transition:all .15s}.canvas-block-code-copy:hover{color:var(--ctp-text);border-color:var(--ctp-surface1)}.canvas-block-code-copy svg{width:10px;height:10px}.canvas-block-code-content{display:none;margin:0;padding:12px 14px;background:var(--ctp-crust);font-family:Fira Code,SF Mono,Monaco,monospace;font-size:12px;line-height:1.5;overflow-x:auto}.canvas-block.is-section{background:transparent;border:none;border-radius:0;margin-bottom:4px}.canvas-block.is-section>.canvas-block-header{background:var(--ctp-base);border-radius:8px;border-left:4px solid var(--block-color);padding-left:10px}.canvas-block.is-section:hover>.canvas-block-header{background:var(--ctp-surface0)}.section-toggle{width:24px;height:24px;background:transparent;border:none;color:var(--ctp-overlay1);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .15s;flex-shrink:0;padding:0}.section-toggle:hover{background:#ffffff1a;color:var(--ctp-text)}.section-toggle svg{width:14px;height:14px;transition:transform .2s ease}.canvas-block.is-section.collapsed .section-toggle svg{transform:rotate(-90deg)}.canvas-block.is-section>.canvas-block-body{padding-left:16px;margin-left:10px;border-left:2px solid var(--block-color);background:#ffffff05}.canvas-block.is-section>.canvas-block-children{padding-left:16px;margin-left:10px;margin-top:8px;border-left:2px solid var(--block-color);transition:all .25s ease}.canvas-block.is-section.collapsed>.canvas-block-body,.canvas-block.is-section.collapsed>.canvas-block-children{display:none}.canvas-block.is-section.h1>.canvas-block-header{padding:12px 14px 12px 10px}.canvas-block.is-section.h1 .canvas-block-title{font-size:14px}.canvas-block.is-section.h1>.canvas-block-children{border-left-width:3px}.canvas-block.is-section.h2>.canvas-block-header{background:var(--ctp-surface0);padding:10px 12px 10px 8px}.canvas-block.is-section.h2 .canvas-block-title{font-size:13px}.canvas-block.is-section.h3>.canvas-block-header{background:var(--ctp-mantle);padding:8px 10px 8px 6px}.canvas-block.is-section.h3 .canvas-block-title{font-size:12px;font-weight:500}.canvas-block.is-section.h3 .canvas-block-icon{width:24px;height:24px}.canvas-block.is-section.h3 .canvas-block-icon svg{width:12px;height:12px}.canvas-drop-zone{height:4px;margin:2px 0;border-radius:2px;transition:all .2s ease}.canvas-drop-zone.drag-over{height:40px;background:rgba(var(--ctp-teal-rgb),.1);border:2px dashed var(--ctp-teal);border-radius:6px}.canvas-drop-zone.empty-section{height:60px;display:flex;align-items:center;justify-content:center;border:2px dashed var(--ctp-surface0);border-radius:6px;margin:8px 0;color:var(--ctp-overlay0);font-size:12px}.canvas-drop-zone.empty-section.drag-over{border-color:var(--ctp-teal);background:rgba(var(--ctp-teal-rgb),.05);color:var(--ctp-teal)}.edition-outline{width:200px;min-width:200px;background:var(--ctp-crust);border-left:1px solid var(--ctp-surface0);display:flex;flex-direction:column}.edition-outline-header{padding:16px;border-bottom:1px solid var(--ctp-surface0);display:flex;align-items:center;justify-content:space-between}.edition-outline-header h3{font-size:13px;font-weight:600;color:var(--ctp-text);margin:0;display:flex;align-items:center;gap:8px}.edition-outline-header h3 svg{width:14px;height:14px;color:var(--ctp-overlay1)}.outline-actions{display:flex;gap:4px}.outline-action-btn{width:24px;height:24px;background:transparent;border:1px solid var(--ctp-surface0);border-radius:4px;color:var(--ctp-overlay1);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;padding:0}.outline-action-btn:hover{border-color:var(--ctp-teal);color:var(--ctp-text)}.outline-action-btn svg{width:12px;height:12px}.edition-outline-content{flex:1;overflow-y:auto;padding:12px}.outline-empty{text-align:center;padding:20px 12px;color:var(--ctp-overlay0)}.outline-empty p{font-size:12px;margin:0;line-height:1.5}.outline-item{display:flex;align-items:center;gap:8px;padding:8px 10px;margin-bottom:4px;border-radius:6px;cursor:pointer;transition:all .15s;color:var(--ctp-overlay2);font-size:12px}.outline-item:hover{background:var(--ctp-surface0);color:var(--ctp-text)}.outline-item.active{background:rgba(var(--ctp-teal-rgb),.15);color:var(--ctp-text)}.outline-item-icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center}.outline-item-icon svg{width:12px;height:12px}.outline-item-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.outline-item.h1{font-weight:600;color:var(--ctp-text);background:rgba(var(--ctp-teal-rgb),.1);border-left:3px solid var(--ctp-maroon)}.outline-item.h1:hover{background:rgba(var(--ctp-teal-rgb),.2)}.outline-item.h1.active{background:rgba(var(--ctp-teal-rgb),.25)}.outline-item.h1 .outline-item-icon{color:var(--ctp-maroon)}.outline-item.h2{padding-left:24px;font-weight:500;background:rgba(var(--ctp-teal-rgb),.08);border-left:3px solid var(--ctp-teal)}.outline-item.h2:hover{background:rgba(var(--ctp-teal-rgb),.15)}.outline-item.h2.active{background:rgba(var(--ctp-teal-rgb),.2)}.outline-item.h2 .outline-item-icon{color:var(--ctp-teal)}.outline-item.h3{padding-left:38px;font-weight:400;font-size:11px;background:#818cf80d;border-left:3px solid var(--ctp-yellow)}.outline-item.h3:hover{background:#818cf81f}.outline-item.h3.active{background:#818cf82e}.outline-item.h3 .outline-item-icon{color:var(--ctp-yellow)}.outline-stats{padding:12px;border-top:1px solid var(--ctp-surface0);font-size:11px;color:var(--ctp-overlay1);text-align:center}.mapping-panel{display:flex;flex-direction:column;width:100%;height:100%;background:var(--ctp-crust)}.mapping-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:var(--ctp-crust);border-bottom:1px solid var(--ctp-surface0)}.mapping-header-left h2{font-size:18px;font-weight:600;color:var(--ctp-text);margin:0 0 4px}.mapping-header-left p{font-size:13px;color:var(--ctp-overlay1);margin:0}.mapping-header-right{display:flex;align-items:center;gap:10px}.mapping-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.mapping-btn svg{width:14px;height:14px}.mapping-btn.secondary{background:transparent;border:1px solid var(--ctp-surface1);color:var(--ctp-subtext1)}.mapping-btn.secondary:hover{border-color:var(--ctp-teal);color:var(--ctp-text)}.mapping-btn.primary{background:linear-gradient(135deg,var(--ctp-teal),var(--ctp-maroon));border:none;color:var(--ctp-crust)}.mapping-btn.primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--ctp-teal-rgb),.4);filter:brightness(1.05)}.mapping-toolbar{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:var(--ctp-crust);border-bottom:1px solid var(--ctp-surface0)}.mapping-search{display:flex;align-items:center;gap:10px;background:var(--ctp-base);border:1px solid var(--ctp-surface0);border-radius:6px;padding:8px 12px;width:300px}.mapping-search svg{width:16px;height:16px;color:var(--ctp-overlay1)}.mapping-search input{background:transparent;border:none;color:var(--ctp-text);font-size:13px;width:100%}.mapping-search input::placeholder{color:var(--ctp-overlay0)}.mapping-search input:focus{outline:none}.mapping-stats{font-size:13px;color:var(--ctp-overlay1)}.mapping-list{flex:1;overflow-y:auto;padding:20px 24px}.mapping-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:300px;text-align:center;color:var(--ctp-overlay0)}.mapping-empty svg{width:64px;height:64px;margin-bottom:20px;opacity:.5}.mapping-empty h3{font-size:16px;color:var(--ctp-overlay1);margin:0 0 8px}.mapping-empty p{font-size:13px;color:var(--ctp-overlay0);margin:0 0 20px}.mapping-items{display:flex;flex-direction:column;gap:16px}.mapping-item{background:var(--ctp-base);border:1px solid var(--ctp-surface0);border-radius:10px;overflow:hidden}.mapping-item:hover{border-color:var(--ctp-surface1)}.mapping-item-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--ctp-surface0);cursor:pointer}.mapping-item-header-left{display:flex;align-items:center;gap:12px}.mapping-item-icon{width:36px;height:36px;background:linear-gradient(135deg,var(--ctp-teal),var(--ctp-maroon));border-radius:8px;display:flex;align-items:center;justify-content:center}.mapping-item-icon svg{width:18px;height:18px;color:var(--ctp-crust)}.mapping-item-name input{background:transparent;border:none;border-bottom:1px solid transparent;color:var(--ctp-text);font-size:14px;font-weight:600;padding:2px 0;width:200px}.mapping-item-name input:hover{border-bottom-color:var(--ctp-surface1)}.mapping-item-name input:focus{outline:none;border-bottom-color:var(--ctp-teal)}.mapping-item-meta{font-size:11px;color:var(--ctp-overlay1)}.mapping-item-content{display:none;padding:16px;border-top:1px solid var(--ctp-surface0)}.mapping-item.expanded .mapping-item-content{display:block}@media(max-width:1200px){.edition-outline{width:160px;min-width:160px}}@media(max-width:900px){.edition-palette{width:160px;min-width:160px}.palette-block-desc,.edition-outline{display:none}.dashboard-toggle{width:320px}}#view-settings{width:100%!important;max-width:none!important;padding:0!important;margin:0!important}.settings-view{width:100%;height:100%;overflow:hidden;margin:0;padding:0}.settings-container{display:flex;width:100%;height:100%}.settings-sidebar{width:260px;background:var(--ctp-crust);border-right:1px solid var(--ctp-surface0);display:flex;flex-direction:column;flex-shrink:0}.settings-sidebar-header{padding:24px;border-bottom:1px solid var(--ctp-surface0)}.settings-sidebar-header h2{font-size:20px;font-weight:600;color:var(--ctp-text);margin:0}.settings-nav{flex:1;padding:16px 0;overflow-y:auto}.settings-nav-section{margin-bottom:24px}.settings-nav-title{padding:8px 24px;font-size:11px;font-weight:600;color:var(--ctp-overlay1);text-transform:uppercase;letter-spacing:.5px}.settings-nav-item{display:flex;align-items:center;gap:12px;padding:12px 24px;color:var(--ctp-overlay1);text-decoration:none;font-size:14px;transition:all .15s;border-left:3px solid transparent;cursor:pointer}.settings-nav-item:hover{color:var(--ctp-text);background:#ffffff08}.settings-nav-item.active{color:var(--ctp-text);background:rgba(var(--ctp-teal-rgb),.1);border-left-color:var(--ctp-teal)}.settings-nav-item svg{width:18px;height:18px;flex-shrink:0}.settings-content{flex:1;padding:32px 48px;overflow-y:auto;background:var(--ctp-crust)}.settings-section{display:none;width:100%;max-width:1400px;margin:0 auto}.settings-section.active{display:block}.settings-section-header{margin-bottom:32px}.settings-section-header h3{font-size:26px;font-weight:600;color:var(--ctp-text);margin:0 0 8px}.settings-section-header p{font-size:14px;color:var(--ctp-overlay1);margin:0}.settings-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:24px}.settings-card{background:var(--ctp-crust);border:1px solid var(--ctp-surface0);border-radius:12px;padding:24px}.settings-card.full-width{grid-column:1/-1}.settings-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--ctp-surface0)}.settings-card-header h4{font-size:16px;font-weight:600;color:var(--ctp-text);margin:0;display:flex;align-items:center;gap:10px}.settings-card-header h4 svg{width:20px;height:20px;color:var(--ctp-teal)}.settings-card-header .settings-btn{margin:0}.settings-form{display:flex;flex-direction:column;gap:20px}.settings-form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.settings-field{display:flex;flex-direction:column;gap:6px}.settings-field.full-width{grid-column:1/-1}.settings-field label{font-size:13px;font-weight:500;color:var(--ctp-subtext1)}.settings-field input,.settings-field select{padding:12px 16px;background:var(--ctp-base);border:1px solid var(--ctp-surface0);border-radius:8px;color:var(--ctp-text);font-size:14px;transition:all .2s;width:100%}.settings-field input:focus,.settings-field select:focus{outline:none;border-color:var(--ctp-teal);box-shadow:0 0 0 3px rgba(var(--ctp-teal-rgb),.1)}.settings-field input:disabled{opacity:.5;cursor:not-allowed}.settings-field input::placeholder{color:var(--ctp-overlay0)}.settings-hint{font-size:11px;color:var(--ctp-overlay1)}.settings-actions{display:flex;gap:12px;margin-top:8px;padding-top:16px;border-top:1px solid var(--ctp-surface0)}.settings-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.settings-btn svg{width:16px;height:16px}.settings-btn.primary{background:linear-gradient(135deg,var(--ctp-teal),var(--ctp-maroon));color:var(--ctp-crust)}.settings-btn.primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--ctp-teal-rgb),.4);filter:brightness(1.05)}.settings-btn.secondary{background:var(--ctp-base);border:1px solid var(--ctp-surface0);color:var(--ctp-subtext1)}.settings-btn.secondary:hover{background:var(--ctp-surface0);border-color:var(--ctp-surface1);color:var(--ctp-text)}.settings-btn.small{padding:6px 12px;font-size:12px}.settings-btn.small svg{width:14px;height:14px}.settings-btn.danger{background:rgba(var(--ctp-red-rgb),.1);border:1px solid rgba(var(--ctp-red-rgb),.3);color:var(--ctp-red)}.settings-btn.danger:hover{background:rgba(var(--ctp-red-rgb),.2)}.settings-users-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:16px}.settings-users-list{display:flex;flex-direction:column;gap:12px}.settings-user-item{display:flex;align-items:center;gap:16px;padding:16px 20px;background:var(--ctp-base);border:1px solid var(--ctp-surface0);border-radius:10px;transition:all .15s}.settings-user-item:hover{border-color:var(--ctp-surface1);background:var(--ctp-surface0)}.settings-user-avatar{width:48px;height:48px;background:linear-gradient(135deg,var(--ctp-teal),var(--ctp-maroon));border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;color:var(--ctp-crust);flex-shrink:0}.settings-user-info{flex:1;min-width:0}.settings-user-name{font-size:15px;font-weight:600;color:var(--ctp-text);margin-bottom:4px}.settings-user-email{font-size:13px;color:var(--ctp-overlay1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settings-user-meta{display:flex;align-items:center;gap:12px}.settings-user-role{padding:5px 12px;background:rgba(var(--ctp-teal-rgb),.1);border:1px solid rgba(var(--ctp-teal-rgb),.3);border-radius:12px;font-size:11px;font-weight:600;color:var(--ctp-teal);text-transform:uppercase;letter-spacing:.5px}.settings-user-role.admin{background:#f59e0b1a;border-color:#f59e0b4d;color:var(--ctp-yellow)}.settings-user-status{width:10px;height:10px;border-radius:50%;background:var(--ctp-green);box-shadow:0 0 8px rgba(var(--ctp-green-rgb),.5)}.settings-user-status.inactive{background:var(--ctp-overlay1);box-shadow:none}.settings-user-actions{display:flex;gap:8px}.settings-prefs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.settings-pref-item{display:flex;flex-direction:column;gap:8px;padding:16px;background:var(--ctp-base);border:1px solid var(--ctp-surface0);border-radius:10px}.settings-pref-item label{font-size:13px;font-weight:500;color:var(--ctp-subtext1)}.settings-pref-item select,.settings-pref-item input{padding:10px 14px;background:var(--ctp-crust);border:1px solid var(--ctp-surface0);border-radius:6px;color:var(--ctp-text);font-size:14px}.settings-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.settings-stat-card{background:var(--ctp-base);border:1px solid var(--ctp-surface0);border-radius:10px;padding:20px;text-align:center}.settings-stat-value{font-size:32px;font-weight:700;color:var(--ctp-text);margin-bottom:4px}.settings-stat-label{font-size:13px;color:var(--ctp-overlay1)}.settings-stat-card.highlight{border-color:var(--ctp-teal);background:rgba(var(--ctp-teal-rgb),.05)}.settings-stat-card.highlight .settings-stat-value{color:var(--ctp-teal)}.settings-loading{display:flex;align-items:center;justify-content:center;padding:60px;color:var(--ctp-overlay1);font-size:14px}.settings-coming-soon{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:60px;color:var(--ctp-overlay1);font-size:14px;text-align:center}.settings-coming-soon svg{width:48px;height:48px;color:var(--ctp-surface2)}.settings-login-prompt{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 40px;text-align:center;max-width:400px;margin:0 auto}.settings-login-prompt svg{width:72px;height:72px;color:var(--ctp-surface2);margin-bottom:24px}.settings-login-prompt h3{font-size:22px;font-weight:600;color:var(--ctp-text);margin:0 0 8px}.settings-login-prompt p{font-size:14px;color:var(--ctp-overlay1);margin:0 0 24px;line-height:1.5}.view-load-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 40px;text-align:center;color:var(--ctp-overlay1)}.view-load-error svg{width:48px;height:48px;color:var(--ctp-red);margin-bottom:16px}.view-load-error h3{font-size:18px;font-weight:600;color:var(--ctp-text);margin:0 0 8px}.view-load-error p{font-size:14px;margin:0 0 24px}.view-load-error button{padding:10px 24px;background:var(--ctp-base);border:1px solid var(--ctp-surface0);border-radius:8px;color:var(--ctp-text);font-size:14px;cursor:pointer;transition:all .2s}.view-load-error button:hover{background:var(--ctp-surface0);border-color:var(--ctp-surface1)}.metrics-realtime{margin-bottom:24px}.metrics-realtime .settings-stat-card{background:linear-gradient(135deg,var(--ctp-base) 0%,var(--ctp-surface0) 100%)}.metrics-realtime .settings-stat-card.highlight{background:linear-gradient(135deg,var(--ctp-teal) 0%,var(--ctp-maroon) 100%)}.metrics-weekly-summary{padding:20px}.metrics-weekly-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.metrics-weekly-stat{background:var(--ctp-crust);border-radius:8px;padding:16px;text-align:center}.metrics-weekly-stat-value{font-size:24px;font-weight:700;color:var(--ctp-text);margin-bottom:4px}.metrics-weekly-stat-label{font-size:12px;color:var(--ctp-overlay1)}.metrics-weekly-stat.highlight .metrics-weekly-stat-value{color:var(--ctp-teal)}.metrics-daily-breakdown{padding:16px}.metrics-day-row{display:grid;grid-template-columns:120px repeat(4,1fr) 100px;gap:12px;align-items:center;padding:12px 16px;background:var(--ctp-crust);border-radius:8px;margin-bottom:8px;transition:background .2s}.metrics-day-row:hover{background:var(--ctp-base)}.metrics-day-row.header{background:transparent;color:var(--ctp-overlay1);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.metrics-day-row.header:hover{background:transparent}.metrics-day-date{font-weight:500;color:var(--ctp-text)}.metrics-day-date .day-name{font-size:11px;color:var(--ctp-overlay1);margin-left:8px}.metrics-day-value{text-align:center;color:var(--ctp-subtext1);font-size:14px}.metrics-day-value.highlight{color:var(--ctp-teal);font-weight:600}.metrics-day-bar{height:6px;background:var(--ctp-surface0);border-radius:3px;overflow:hidden}.metrics-day-bar-fill{height:100%;background:linear-gradient(90deg,var(--ctp-teal),var(--ctp-maroon));border-radius:3px;transition:width .3s ease}.metrics-endpoints-list{padding:16px}.metrics-endpoint-row{display:flex;align-items:center;gap:16px;padding:12px 16px;background:var(--ctp-crust);border-radius:8px;margin-bottom:8px}.metrics-endpoint-rank{width:28px;height:28px;background:var(--ctp-surface0);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--ctp-overlay1)}.metrics-endpoint-rank.top-3{background:linear-gradient(135deg,var(--ctp-teal),var(--ctp-maroon));color:var(--ctp-crust)}.metrics-endpoint-path{flex:1;font-family:JetBrains Mono,Fira Code,SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,monospace;font-size:13px;color:var(--ctp-subtext1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metrics-endpoint-count{font-size:14px;font-weight:600;color:var(--ctp-text);min-width:60px;text-align:right}.metrics-endpoint-bar{width:120px;height:6px;background:var(--ctp-surface0);border-radius:3px;overflow:hidden}.metrics-endpoint-bar-fill{height:100%;background:linear-gradient(90deg,var(--ctp-green),var(--ctp-teal));border-radius:3px}.metrics-latency-stats{padding:20px}.metrics-latency-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}.metrics-latency-item{background:var(--ctp-crust);border-radius:8px;padding:16px;text-align:center}.metrics-latency-value{font-size:20px;font-weight:700;color:var(--ctp-text);margin-bottom:4px}.metrics-latency-value.good{color:var(--ctp-green)}.metrics-latency-value.warning{color:var(--ctp-yellow)}.metrics-latency-value.bad{color:var(--ctp-red)}.metrics-latency-label{font-size:11px;color:var(--ctp-overlay1);text-transform:uppercase;letter-spacing:.5px}.metrics-no-data{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:var(--ctp-overlay1);text-align:center}.metrics-no-data svg{width:48px;height:48px;margin-bottom:16px;opacity:.5}.metrics-no-data p{font-size:14px;margin:0}.metrics-status-codes{display:flex;gap:8px;margin-top:8px}.metrics-status-badge{padding:4px 8px;border-radius:4px;font-size:11px;font-weight:500}.metrics-status-badge.success{background:rgba(var(--ctp-green-rgb),.15);color:var(--ctp-green)}.metrics-status-badge.error{background:rgba(var(--ctp-red-rgb),.15);color:var(--ctp-red)}.metrics-status-badge.other{background:rgba(var(--ctp-teal-rgb),.15);color:var(--ctp-teal)}@media(max-width:1200px){.metrics-weekly-stats{grid-template-columns:repeat(2,1fr)}.metrics-latency-grid{grid-template-columns:repeat(3,1fr)}.metrics-day-row{grid-template-columns:100px repeat(3,1fr) 80px}.metrics-day-row>*:nth-child(5){display:none}}@media(max-width:768px){.settings-container{flex-direction:column}.settings-sidebar{width:100%;border-right:none;border-bottom:1px solid var(--ctp-surface0)}.settings-nav{display:flex;flex-wrap:wrap;padding:8px}.settings-nav-section{margin-bottom:0}.settings-nav-title{display:none}.settings-nav-item{padding:8px 16px;border-left:none;border-radius:8px}.settings-nav-item.active{background:rgba(var(--ctp-teal-rgb),.2)}.settings-content{padding:24px 16px}.settings-form-row,.settings-users-grid,.settings-prefs-grid{grid-template-columns:1fr}.metrics-day-row{grid-template-columns:1fr 1fr;gap:8px}.metrics-day-row.header{display:none}.metrics-latency-grid{grid-template-columns:repeat(2,1fr)}}.storage-quota-card{background:linear-gradient(135deg,var(--ctp-base),var(--ctp-crust));border:1px solid var(--ctp-surface0);border-radius:12px;padding:24px;margin-bottom:24px}.storage-quota-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.storage-quota-info{display:flex;align-items:baseline;gap:4px}.storage-quota-used{font-size:28px;font-weight:700;color:var(--ctp-text)}.storage-quota-separator{font-size:20px;color:var(--ctp-overlay1)}.storage-quota-total{font-size:18px;color:var(--ctp-overlay1)}.storage-quota-percent{font-size:24px;font-weight:600;color:var(--ctp-teal)}.storage-quota-bar{height:8px;background:var(--ctp-surface0);border-radius:4px;overflow:hidden;margin-bottom:16px}.storage-quota-bar-fill{height:100%;background:linear-gradient(90deg,var(--ctp-teal),var(--ctp-maroon));border-radius:4px;transition:width .3s ease}.storage-quota-bar-fill.warning{background:linear-gradient(90deg,var(--ctp-yellow),#fbecc5)}.storage-quota-bar-fill.critical{background:linear-gradient(90deg,var(--ctp-red),#f6a0b8)}.storage-quota-details{display:flex;flex-wrap:wrap;gap:16px}.storage-quota-category{display:flex;flex-direction:column;gap:2px;padding:8px 12px;background:#ffffff08;border-radius:6px}.storage-quota-category-name{font-size:11px;color:var(--ctp-overlay1);text-transform:uppercase;letter-spacing:.5px}.storage-quota-category-value{font-size:13px;color:var(--ctp-subtext1);font-weight:500}.storage-tabs{display:flex;gap:8px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--ctp-surface0);overflow-x:auto}.storage-tab{display:flex;align-items:center;gap:8px;padding:10px 16px;background:transparent;border:1px solid var(--ctp-surface0);border-radius:8px;color:var(--ctp-overlay1);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}.storage-tab:hover{background:#ffffff08;color:var(--ctp-subtext1)}.storage-tab.active{background:rgba(var(--ctp-teal-rgb),.1);border-color:rgba(var(--ctp-teal-rgb),.3);color:var(--ctp-teal)}.storage-tab svg{width:16px;height:16px}.storage-tab-count{padding:2px 8px;background:#ffffff1a;border-radius:10px;font-size:11px;font-weight:600}.storage-tab.active .storage-tab-count{background:rgba(var(--ctp-teal-rgb),.2)}.storage-files-area{background:var(--ctp-crust);border:1px solid var(--ctp-surface0);border-radius:12px;overflow:hidden}.storage-files-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--ctp-surface0);background:#ffffff05}.storage-files-title{display:flex;align-items:center;gap:16px}.storage-files-title h4{margin:0;font-size:16px;font-weight:600;color:var(--ctp-text)}.storage-show-default{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ctp-overlay1);cursor:pointer}.storage-show-default input{accent-color:var(--ctp-teal)}.storage-files-actions{display:flex;gap:8px}.storage-files-list{padding:16px;max-height:500px;overflow-y:auto}.storage-files-list::-webkit-scrollbar{width:6px}.storage-files-list::-webkit-scrollbar-thumb{background:var(--ctp-surface1);border-radius:3px}.storage-files-group{margin-bottom:20px}.storage-files-group:last-child{margin-bottom:0}.storage-files-group-title{font-size:11px;font-weight:600;color:var(--ctp-overlay1);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;padding-left:4px}.storage-file-item{display:flex;align-items:center;gap:16px;padding:14px 16px;background:var(--ctp-base);border:1px solid var(--ctp-surface0);border-radius:10px;margin-bottom:8px;transition:all .15s}.storage-file-item:last-child{margin-bottom:0}.storage-file-item:hover{border-color:var(--ctp-surface1);background:var(--ctp-surface0)}.storage-file-item.default{background:rgba(var(--ctp-teal-rgb),.03);border-color:rgba(var(--ctp-teal-rgb),.15)}.storage-file-icon{position:relative;flex-shrink:0}.storage-file-icon svg{width:36px;height:36px;color:var(--ctp-teal)}.storage-file-badge{position:absolute;bottom:-4px;right:-8px;padding:2px 6px;background:linear-gradient(135deg,var(--ctp-teal),var(--ctp-maroon));border-radius:4px;font-size:8px;font-weight:700;color:var(--ctp-crust);letter-spacing:.5px}.storage-file-info{flex:1;min-width:0}.storage-file-name{font-size:14px;font-weight:500;color:var(--ctp-text);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.storage-file-meta{display:flex;gap:12px;font-size:12px;color:var(--ctp-overlay1)}.storage-file-desc{max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ctp-overlay1)}.storage-file-actions{display:flex;gap:6px}.storage-file-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;min-width:32px;min-height:32px;background:#ffffff0d;border:1px solid var(--ctp-surface0);border-radius:6px;color:var(--ctp-overlay1);cursor:pointer;transition:all .15s;padding:0}.storage-file-btn:hover{background:#ffffff1a;color:var(--ctp-text)}.storage-file-btn.danger:hover{background:rgba(var(--ctp-red-rgb),.1);border-color:rgba(var(--ctp-red-rgb),.3);color:var(--ctp-red)}.storage-file-btn svg{width:16px;height:16px;min-width:16px;min-height:16px;flex-shrink:0}.storage-loading,.storage-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 40px;text-align:center;color:var(--ctp-overlay1)}.storage-empty svg{width:48px;height:48px;margin-bottom:16px;opacity:.5}.storage-empty p{margin:0;font-size:14px}.storage-modal{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;z-index:1000;align-items:center;justify-content:center;padding:20px}.storage-modal.active{display:flex}.storage-modal-content{background:var(--ctp-crust);border:1px solid var(--ctp-surface0);border-radius:16px;width:100%;max-width:500px;overflow:hidden;animation:modalSlideIn .2s ease}.storage-modal-content.small{max-width:400px}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.storage-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--ctp-surface0)}.storage-modal-header h3{margin:0;font-size:18px;font-weight:600;color:var(--ctp-text)}.storage-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:6px;color:var(--ctp-overlay1);cursor:pointer;transition:all .15s}.storage-modal-close:hover{background:#ffffff1a;color:var(--ctp-text)}.storage-modal-close svg{width:20px;height:20px}.storage-modal-body{padding:24px}.storage-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--ctp-surface0);background:#ffffff05}.storage-upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;border:2px dashed var(--ctp-surface1);border-radius:12px;background:#ffffff05;cursor:pointer;transition:all .2s}.storage-upload-zone:hover,.storage-upload-zone.dragover{border-color:var(--ctp-teal);background:rgba(var(--ctp-teal-rgb),.05)}.storage-upload-icon{width:56px;height:56px;background:rgba(var(--ctp-teal-rgb),.1);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:16px}.storage-upload-icon svg{width:28px;height:28px;color:var(--ctp-teal)}.storage-upload-zone p{margin:0 0 8px;font-size:14px;color:var(--ctp-subtext1)}.storage-upload-zone p span{color:var(--ctp-teal);cursor:pointer;font-weight:500}.storage-upload-zone p span:hover{text-decoration:underline}.storage-upload-hint{font-size:12px;color:var(--ctp-overlay1)}.storage-upload-selected{display:flex;align-items:center;justify-content:space-between;padding:16px;background:var(--ctp-base);border:1px solid var(--ctp-surface0);border-radius:10px;margin-bottom:16px}.storage-upload-file-info{display:flex;align-items:center;gap:12px}.storage-upload-file-info svg{width:32px;height:32px;color:var(--ctp-teal)}.storage-upload-filename{font-size:14px;font-weight:500;color:var(--ctp-text)}.storage-upload-filesize{font-size:12px;color:var(--ctp-overlay1)}.storage-upload-remove{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:6px;color:var(--ctp-overlay1);cursor:pointer;transition:all .15s}.storage-upload-remove:hover{background:rgba(var(--ctp-red-rgb),.1);color:var(--ctp-red)}.storage-upload-remove svg{width:16px;height:16px}.storage-upload-description{margin-bottom:16px}.storage-upload-description label{display:block;font-size:13px;font-weight:500;color:var(--ctp-subtext1);margin-bottom:8px}.storage-upload-description input{width:100%;padding:12px 16px;background:var(--ctp-base);border:1px solid var(--ctp-surface0);border-radius:8px;color:var(--ctp-text);font-size:14px}.storage-upload-description input:focus{outline:none;border-color:var(--ctp-teal)}.storage-upload-description input::placeholder{color:var(--ctp-overlay0)}.storage-upload-progress{display:flex;align-items:center;gap:12px}.storage-upload-progress-bar{flex:1;height:6px;background:var(--ctp-surface0);border-radius:3px;overflow:hidden}.storage-upload-progress-fill{height:100%;background:linear-gradient(90deg,var(--ctp-teal),var(--ctp-maroon));border-radius:3px;transition:width .2s}.storage-upload-progress-text{font-size:13px;font-weight:600;color:var(--ctp-teal);min-width:40px;text-align:right}.storage-delete-warning{font-size:13px;color:var(--ctp-red);margin-top:8px}.storage-modal-body p{margin:0;font-size:14px;color:var(--ctp-subtext1);line-height:1.5}.storage-modal-body strong{color:var(--ctp-text)}@media(max-width:768px){.storage-tabs{gap:4px}.storage-tab{padding:8px 12px;font-size:12px}.storage-tab svg{display:none}.storage-files-header{flex-direction:column;gap:12px;align-items:stretch}.storage-files-title{flex-direction:column;align-items:flex-start;gap:8px}.storage-files-actions{justify-content:flex-end}.storage-file-item{flex-wrap:wrap}.storage-file-info{flex-basis:calc(100% - 60px)}.storage-file-actions{margin-left:auto}.storage-quota-details{flex-direction:column;gap:8px}}.header-auth{display:flex;align-items:center;gap:12px;margin-left:auto}.login-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:linear-gradient(135deg,var(--ctp-teal),var(--ctp-maroon));border:none;border-radius:8px;color:var(--ctp-crust);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.login-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--ctp-teal-rgb),.4);filter:brightness(1.05)}.login-btn svg{width:16px;height:16px}.nav-login{cursor:pointer;background:linear-gradient(135deg,rgba(var(--ctp-teal-rgb),.2),rgba(var(--ctp-teal-rgb),.2));border:1px solid rgba(var(--ctp-teal-rgb),.3);border-radius:10px;margin:0 12px;transition:all .2s}.nav-login:hover{background:linear-gradient(135deg,rgba(var(--ctp-teal-rgb),.3),rgba(var(--ctp-teal-rgb),.3));border-color:rgba(var(--ctp-teal-rgb),.5)}.nav-login .nav-icon{color:var(--ctp-teal)}.nav-user{cursor:pointer;border-radius:10px;margin:0 12px;transition:all .2s}.nav-user:hover{background:#ffffff0d}.nav-footer{position:relative}.nav-user-dropdown{position:absolute;bottom:100%;left:12px;right:12px;margin-bottom:8px;background:var(--ctp-base);border:1px solid var(--ctp-surface0);border-radius:12px;box-shadow:0 8px 32px #0006;opacity:0;visibility:hidden;transform:translateY(10px);transition:all .2s;z-index:1000;overflow:hidden}.nav-user-dropdown.active{opacity:1;visibility:visible;transform:translateY(0)}.nav-user-dropdown-header{padding:16px;background:rgba(var(--ctp-teal-rgb),.1)}.nav-user-dropdown-header .user-name{display:block;font-size:14px;font-weight:600;color:var(--ctp-text);margin-bottom:2px}.nav-user-dropdown-header .user-email{display:block;font-size:12px;color:var(--ctp-overlay1)}.nav-user-dropdown-divider{height:1px;background:var(--ctp-surface0)}.nav-user-dropdown-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;background:none;border:none;color:var(--ctp-subtext1);font-size:13px;text-align:left;cursor:pointer;transition:all .15s}.nav-user-dropdown-item:hover{background:#ffffff0d;color:var(--ctp-text)}.nav-user-dropdown-item svg{width:16px;height:16px;flex-shrink:0}.nav-user-dropdown-item.logout{color:var(--ctp-red)}.nav-user-dropdown-item.logout:hover{background:rgba(var(--ctp-red-rgb),.1)}.nav-menu.collapsed .nav-user-dropdown{left:70px;right:auto;width:220px;bottom:0;margin-bottom:0}.nav-menu.collapsed .nav-footer{padding:8px;overflow:visible}.nav-menu.collapsed .nav-login,.nav-menu.collapsed .nav-user{margin:0;justify-content:center;padding:12px;width:44px;height:44px;box-sizing:border-box}.nav-menu.collapsed .nav-login .nav-icon{width:20px;height:20px}.nav-menu.collapsed .nav-login .nav-label,.nav-menu.collapsed .nav-user .nav-label{display:none}.nav-menu.collapsed .nav-user .user-avatar{margin:0;width:32px;height:32px;min-width:32px;font-size:13px}.user-info{display:flex;align-items:center;gap:10px;padding:6px 12px;background:var(--ctp-base);border:1px solid var(--ctp-surface0);border-radius:8px;cursor:pointer;transition:all .2s}.user-info:hover{border-color:var(--ctp-surface1);background:var(--ctp-surface0)}.user-avatar{width:32px;height:32px;background:linear-gradient(135deg,var(--ctp-teal),var(--ctp-maroon));border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:var(--ctp-crust)}.user-details{display:flex;flex-direction:column}.user-name{font-size:13px;font-weight:500;color:var(--ctp-text)}.user-email{font-size:11px;color:var(--ctp-overlay1)}.user-dropdown{position:absolute;top:100%;right:0;margin-top:8px;min-width:200px;background:var(--ctp-base);border:1px solid var(--ctp-surface0);border-radius:10px;box-shadow:0 8px 24px #0006;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .2s;z-index:1000}.user-info-wrapper{position:relative}.user-info-wrapper:hover .user-dropdown,.user-dropdown.active{opacity:1;visibility:visible;transform:translateY(0)}.user-dropdown-item{display:flex;align-items:center;gap:10px;padding:12px 16px;color:var(--ctp-subtext1);font-size:13px;cursor:pointer;transition:all .15s;border:none;background:none;width:100%;text-align:left}.user-dropdown-item:first-child{border-radius:10px 10px 0 0}.user-dropdown-item:last-child{border-radius:0 0 10px 10px}.user-dropdown-item:hover{background:var(--ctp-surface0);color:var(--ctp-text)}.user-dropdown-item svg{width:16px;height:16px}.user-dropdown-divider{height:1px;background:var(--ctp-surface0);margin:4px 0}.user-dropdown-item.logout{color:var(--ctp-red)}.user-dropdown-item.logout:hover{background:rgba(var(--ctp-red-rgb),.1)}.auth-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;opacity:0;visibility:hidden;transition:all .2s}.auth-modal.active{opacity:1;visibility:visible}.auth-modal-content{width:100%;max-width:420px;background:var(--ctp-crust);border:1px solid var(--ctp-surface0);border-radius:16px;padding:32px;transform:scale(.95);transition:transform .2s}.auth-modal.active .auth-modal-content{transform:scale(1)}.auth-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.auth-modal-header h2{font-size:24px;font-weight:600;color:var(--ctp-text);margin:0}.auth-modal-close{width:40px;height:40px;background:transparent;border:1px solid var(--ctp-surface0);border-radius:10px;color:var(--ctp-overlay1);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.auth-modal-close:hover{background:var(--ctp-surface0);border-color:var(--ctp-surface1);color:var(--ctp-text)}.auth-modal-close svg{width:22px;height:22px}.auth-form{display:flex;flex-direction:column;gap:20px}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-field label{font-size:13px;font-weight:500;color:var(--ctp-subtext1)}.auth-field input{padding:12px 16px;background:var(--ctp-base);border:1px solid var(--ctp-surface0);border-radius:8px;color:var(--ctp-text);font-size:14px;transition:all .2s}.auth-field input:focus{outline:none;border-color:var(--ctp-teal);box-shadow:0 0 0 3px rgba(var(--ctp-teal-rgb),.1)}.auth-field input::placeholder{color:var(--ctp-overlay0)}.auth-hint{font-size:11px;color:var(--ctp-overlay1)}.auth-password-rules{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.auth-rule{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--ctp-overlay1);transition:color .2s}.auth-rule svg{width:14px;height:14px;flex-shrink:0}.auth-rule.valid{color:var(--ctp-green)}.auth-rule.valid svg{stroke:var(--ctp-green)}.auth-rule.invalid{color:var(--ctp-overlay1)}.auth-password-match{font-size:12px;margin-top:6px;display:flex;align-items:center;gap:6px}.auth-password-match.match{color:var(--ctp-green)}.auth-password-match.no-match{color:var(--ctp-red)}.auth-password-match svg{width:14px;height:14px}.auth-error{color:var(--ctp-red);font-size:13px;min-height:20px}.auth-submit-btn{padding:14px 24px;background:linear-gradient(135deg,var(--ctp-peach),var(--ctp-maroon));border:none;border-radius:8px;color:var(--ctp-crust);font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.auth-submit-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--ctp-teal-rgb),.4);filter:brightness(1.05)}.auth-submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-footer{margin-top:24px;text-align:center;font-size:13px;color:var(--ctp-overlay1)}.auth-footer a{color:var(--ctp-teal);text-decoration:none}.auth-footer a:hover{text-decoration:underline}.notification-container{position:fixed;top:20px;right:20px;z-index:10001;display:flex;flex-direction:column;gap:10px}.notification{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;background:var(--ctp-base);border:1px solid var(--ctp-surface0);border-radius:10px;color:var(--ctp-text);font-size:13px;box-shadow:0 4px 16px #0000004d;animation:slideIn .3s ease;min-width:280px;max-width:400px}@keyframes slideIn{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}.notification button{background:none;border:none;color:var(--ctp-overlay1);font-size:18px;cursor:pointer;padding:0;line-height:1}.notification button:hover{color:var(--ctp-text)}.notification-success{border-left:3px solid var(--ctp-green)}.notification-error{border-left:3px solid var(--ctp-red)}.notification-warning{border-left:3px solid var(--ctp-yellow)}.notification-info{border-left:3px solid var(--ctp-teal)}.feature-locked{position:relative;pointer-events:none}.feature-locked:after{content:"🔒";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:24px;opacity:.8}.feature-locked>*{opacity:.4;filter:blur(2px)}.login-prompt{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;color:var(--ctp-overlay1)}.login-prompt svg{width:48px;height:48px;margin-bottom:16px;opacity:.5}.login-prompt h3{font-size:16px;color:var(--ctp-subtext1);margin:0 0 8px}.login-prompt p{font-size:13px;margin:0 0 20px}.login-prompt .login-btn{padding:10px 24px}@media(max-width:768px){.auth-modal-content{margin:20px;padding:24px}.user-details{display:none}.notification-container{left:20px;right:20px}.notification{min-width:auto;max-width:none}}.reports-view{display:flex;width:100%;height:100%;overflow:hidden}.reports-sidebar{width:300px;min-width:300px;background:var(--ctp-crust);border-right:1px solid var(--ctp-surface0);display:flex;flex-direction:column}.reports-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:56px;min-height:56px;border-bottom:1px solid var(--ctp-surface0)}.reports-sidebar-header h2{font-size:16px;font-weight:600;color:var(--ctp-text);margin:0}.reports-search{padding:12px 16px;border-bottom:1px solid var(--ctp-surface0)}.reports-search input{width:100%;padding:8px 12px;background:var(--ctp-base);border:1px solid var(--ctp-surface0);border-radius:6px;color:var(--ctp-text);font-size:13px}.reports-search input:focus{outline:none;border-color:var(--ctp-teal)}.reports-search input::placeholder{color:var(--ctp-overlay1)}.reports-list{flex:1;overflow-y:auto;padding:12px}.reports-list::-webkit-scrollbar{width:6px}.reports-list::-webkit-scrollbar-thumb{background:var(--ctp-surface1);border-radius:3px}.reports-loading{text-align:center;padding:40px 20px;color:var(--ctp-overlay1);font-size:13px}.reports-empty-list{text-align:center;padding:40px 20px;color:var(--ctp-overlay0)}.reports-empty-list svg{width:48px;height:48px;margin-bottom:12px;opacity:.3}.reports-empty-list p{font-size:13px;margin:0}.report-item{display:flex;flex-direction:column;padding:14px 16px;background:var(--ctp-base);border:1px solid transparent;border-radius:8px;margin-bottom:8px;cursor:pointer;transition:all .15s;position:relative}.report-item:hover{background:var(--ctp-surface0);border-color:var(--ctp-surface1)}.report-item.active{background:var(--ctp-surface0);border-color:var(--ctp-teal)}.report-item-header{display:flex;align-items:flex-start;gap:12px}.report-item-icon{width:36px;height:36px;background:linear-gradient(135deg,var(--ctp-teal),var(--ctp-maroon));border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.report-item-icon svg{width:18px;height:18px;color:var(--ctp-crust)}.report-item-info{flex:1;min-width:0}.report-item-name{font-size:14px;font-weight:500;color:var(--ctp-text);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-item-meta{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--ctp-overlay1)}.report-item-meta span{display:flex;align-items:center;gap:4px}.report-item-meta svg{width:12px;height:12px}.report-item-delete{position:absolute;top:8px;right:8px;width:24px;height:24px;background:transparent;border:none;border-radius:4px;color:var(--ctp-overlay0);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .15s}.report-item:hover .report-item-delete{opacity:1}.report-item-delete:hover{background:rgba(var(--ctp-red-rgb),.15);color:var(--ctp-red)}.report-item-delete svg{width:14px;height:14px}.reports-sidebar-footer{padding:12px 16px;border-top:1px solid var(--ctp-surface0);font-size:11px;color:var(--ctp-overlay1);text-align:center}.reports-content{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--ctp-crust)}.reports-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--ctp-overlay0);gap:16px}.reports-empty svg{opacity:.3}.reports-empty h3{font-size:18px;font-weight:600;color:var(--ctp-overlay1);margin:0}.reports-empty p{font-size:13px;color:var(--ctp-overlay1);margin:0}.reports-viewer{flex:1;display:flex;flex-direction:column;overflow:hidden}.reports-viewer-toolbar{display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:56px;min-height:56px;background:var(--ctp-crust);border-bottom:none;flex-shrink:0;position:relative}.reports-viewer-toolbar:after{content:"";position:absolute;bottom:0;left:0;right:0;height:24px;background:linear-gradient(to bottom,var(--ctp-crust) 0%,transparent 100%);pointer-events:none;transform:translateY(100%);z-index:10}.reports-viewer-title{font-size:14px;font-weight:500;color:var(--ctp-text);display:flex;align-items:center;gap:10px}.reports-viewer-actions{display:flex;gap:10px}.reports-action-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:transparent;border:1px solid var(--ctp-surface1);border-radius:6px;color:var(--ctp-subtext1);font-size:12px;cursor:pointer;transition:all .2s}.reports-action-btn:hover{background:var(--ctp-surface0);border-color:var(--ctp-teal);color:var(--ctp-text)}.reports-action-btn.primary{background:linear-gradient(135deg,var(--ctp-teal),var(--ctp-maroon));border:none;color:var(--ctp-crust)}.reports-action-btn.primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--ctp-teal-rgb),.4);filter:brightness(1.05)}.reports-action-btn.danger{color:var(--ctp-red);border-color:rgba(var(--ctp-red-rgb),.3)}.reports-action-btn.danger:hover{background:rgba(var(--ctp-red-rgb),.15);border-color:var(--ctp-red);color:var(--ctp-red)}.reports-action-btn.danger:disabled{opacity:.4;cursor:not-allowed;pointer-events:none;background:transparent;border-color:rgba(var(--ctp-red-rgb),.15);color:var(--ctp-overlay1)}.reports-action-btn svg{width:16px;height:16px}.reports-iframe{flex:1;width:100%;border:none;background:var(--ctp-text)}.reports-delete-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:all .2s}.reports-delete-modal.show{opacity:1;visibility:visible}.reports-delete-modal-content{background:var(--ctp-base);border:1px solid var(--ctp-surface0);border-radius:12px;padding:24px;max-width:400px;width:90%;text-align:center}.reports-delete-modal h3{color:var(--ctp-text);font-size:16px;margin:0 0 12px}.reports-delete-modal p{color:var(--ctp-overlay1);font-size:13px;margin:0 0 20px}.reports-delete-modal-actions{display:flex;gap:12px;justify-content:center}.reports-delete-modal-actions button{padding:10px 20px;border-radius:6px;font-size:13px;cursor:pointer;transition:all .2s}.reports-delete-modal-actions .cancel-btn{background:transparent;border:1px solid var(--ctp-surface1);color:var(--ctp-subtext1)}.reports-delete-modal-actions .cancel-btn:hover{background:var(--ctp-surface0);border-color:var(--ctp-teal)}.reports-delete-modal-actions .delete-btn{background:var(--ctp-red);border:none;color:var(--ctp-crust)}.reports-delete-modal-actions .delete-btn:hover{background:var(--ctp-maroon);filter:brightness(1.05)}@media(max-width:900px){.reports-view{flex-direction:column}.reports-sidebar{width:100%;min-width:auto;max-height:40vh;border-right:none;border-bottom:1px solid var(--ctp-surface0)}}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.file-actions{display:flex;align-items:center;gap:6px}.run-slots{display:flex;flex-direction:column;gap:6px}.run-slot{display:flex;align-items:center;gap:7px}.run-swatch{width:10px;height:10px;border-radius:50%;flex:0 0 auto}.run-slot .run-slot-select,.run-slot #sourceSelector{flex:1;width:auto;min-width:0;max-width:none}.run-details-btn{flex:0 0 auto;width:24px;height:26px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;color:var(--ctp-overlay1);cursor:pointer}.run-details-btn:hover{background:var(--ctp-surface1);color:var(--ctp-text)}.run-details-btn svg{width:15px;height:15px}.run-roster{display:flex;flex-direction:column;gap:4px}.run-chip{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;cursor:pointer;transition:background .12s}.run-chip:hover{background:rgba(var(--ctp-text-rgb),.04)}.run-chip.active{background:rgba(var(--ctp-teal-rgb),.12)}.run-chip .run-name{flex:1;min-width:0;font-size:12px;color:var(--ctp-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.run-chip.active .run-name{color:var(--ctp-teal)}.run-chip .run-ref{flex:0 0 auto;display:inline-flex;color:var(--ctp-teal)}.run-chip .run-ref svg{width:13px;height:13px}.run-chip-remove{flex:0 0 auto;width:22px;height:22px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;color:var(--ctp-overlay1);cursor:pointer}.run-chip-remove svg{width:14px;height:14px}.run-chip-remove:hover{background:var(--ctp-surface1);color:var(--ctp-red)}.run-compare-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px;background:transparent;border:1px solid var(--ctp-surface1);border-radius:8px;color:var(--ctp-subtext1);font-size:12px;cursor:pointer;transition:border-color .12s,color .12s}.run-compare-btn svg{width:15px;height:15px}.run-compare-btn:hover{border-color:var(--ctp-teal);color:var(--ctp-teal)}.run-popover{position:fixed;z-index:2000;width:320px;max-width:calc(100vw - 24px);background:var(--ctp-surface0);border:1px solid var(--ctp-surface0);border-radius:10px;box-shadow:0 12px 32px #00000059;padding:12px;display:flex;flex-direction:column;gap:10px}.run-delete-btn{width:100%;padding:8px;background:transparent;border:1px solid var(--ctp-red, #f38ba8);border-radius:8px;color:var(--ctp-red, #f38ba8);font-size:12px;cursor:pointer;transition:background .12s,color .12s}.run-delete-btn:hover{background:var(--ctp-red, #f38ba8);color:var(--ctp-crust, #11111b)}.run-popover-header{display:flex;align-items:center;gap:8px}.run-popover-name{font-size:13px;font-weight:600;color:var(--ctp-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.run-popover-stats{display:flex;gap:8px}.run-popover-stats .stat-cell{flex:1;background:var(--ctp-base);border-radius:6px;padding:7px 9px}.stat-cell-label{font-size:10px;color:var(--ctp-overlay1)}.stat-cell-value{font-size:13px;color:var(--ctp-text)}.run-offset-block{border:1px solid var(--ctp-surface0);border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:10px;opacity:.85}.run-offset-block-header{display:flex;align-items:center;justify-content:space-between}.run-offset-block-title{font-size:12px;font-weight:600;color:var(--ctp-subtext1)}.run-offset-badge{font-size:10px;color:var(--ctp-yellow);background:rgba(var(--ctp-yellow-rgb),.15);padding:2px 8px;border-radius:20px}.run-offset-controls{display:flex;align-items:center;gap:6px}.run-offset-dt{font-size:11px;color:var(--ctp-subtext1)}.run-offset-value{flex:0 0 auto;min-width:64px;text-align:center;font-family:JetBrains Mono,Fira Code,SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,monospace;font-size:12px;color:var(--ctp-text);border:1px solid var(--ctp-surface0);border-radius:6px;padding:4px 0}.run-offset-step{width:26px;height:26px;padding:0;background:transparent;border:1px solid var(--ctp-surface0);border-radius:6px;color:var(--ctp-subtext1);cursor:pointer;transition:border-color .12s,color .12s}.run-offset-auto{height:26px;padding:0 8px;margin-left:4px;background:transparent;border:1px solid var(--ctp-surface0);border-radius:6px;color:var(--ctp-subtext1);font-size:11px;cursor:pointer;transition:border-color .12s,color .12s}.run-offset-auto:hover{border-color:var(--ctp-teal);color:var(--ctp-teal)}.run-offset-auto:disabled{opacity:.6;cursor:wait}.run-offset-step:hover{border-color:var(--ctp-teal);color:var(--ctp-teal)}.run-offset-input{flex:1;min-width:0;height:26px;text-align:right;font-family:JetBrains Mono,Fira Code,SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,monospace;font-size:12px;color:var(--ctp-text);background:transparent;border:1px solid var(--ctp-surface0);border-radius:6px;padding:0 8px}.run-offset-input:focus{outline:none;border-color:var(--ctp-teal)}.run-offset-unit{font-size:11px;color:var(--ctp-subtext1)}.run-offset-note{font-size:11px;line-height:1.4;color:var(--ctp-subtext1)}.run-offset-resync{margin-left:auto;height:26px;padding:0 12px;background:var(--ctp-surface1);border:1px solid var(--ctp-surface2);border-radius:6px;color:var(--ctp-subtext1);font-size:12px;cursor:not-allowed}.run-offset-step:disabled,.run-offset-resync:disabled{opacity:.6;cursor:not-allowed}.resync-methods{border-top:1px solid var(--ctp-surface0);padding-top:9px;display:flex;flex-direction:column;gap:8px}.resync-methods-title{font-size:10px;color:var(--ctp-overlay1);text-transform:uppercase;letter-spacing:.5px}.resync-method{display:flex;align-items:flex-start;gap:8px;cursor:not-allowed}.resync-method input{margin-top:3px}.resync-method-name{display:block;font-size:12px;color:var(--ctp-text)}.resync-method-desc{display:block;font-size:11px;color:var(--ctp-overlay1)}.resync-ref-search{margin-top:6px;width:100%;padding:6px 8px;background:var(--ctp-base);border:1px solid var(--ctp-surface0);border-radius:6px;color:var(--ctp-text);font-size:12px}.resync-ref-search:disabled{opacity:.6;cursor:not-allowed}.run-mode-toggle{display:flex;gap:4px;margin-bottom:6px}.run-mode-btn{flex:1;height:22px;padding:0 8px;background:transparent;border:1px solid var(--ctp-surface0);border-radius:5px;color:var(--ctp-subtext1);font-size:10px;cursor:pointer;transition:border-color .12s,color .12s}.run-mode-btn:hover{border-color:var(--ctp-teal)}.run-mode-btn.active{border-color:var(--ctp-teal);color:var(--ctp-teal);font-weight:600}.exp-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4000;display:flex;align-items:center;justify-content:center;background:#0009;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.exp-panel{position:relative;display:flex;flex-direction:column;gap:10px;max-width:96vw;max-height:94vh;padding:12px;background:var(--ctp-surface0);border:1px solid var(--ctp-surface0);border-radius:10px;box-shadow:0 12px 40px #00000080}.exp-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.exp-body{display:flex;gap:12px;min-height:0}.exp-left{display:flex;flex-direction:column;gap:10px;align-items:flex-start;min-width:0;overflow:auto}.exp-section-title{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ctp-subtext1)}.exp-close{position:absolute;top:8px;right:10px;width:26px;height:26px;padding:0;background:transparent;border:1px solid var(--ctp-surface0);border-radius:6px;color:var(--ctp-subtext1);font-size:16px;line-height:1;cursor:pointer}.exp-close:hover{border-color:var(--ctp-teal);color:var(--ctp-teal)}.exp-report{display:flex;flex-direction:column;gap:8px;flex:0 0 380px;min-height:0;padding-left:12px;border-left:1px solid var(--ctp-surface0)}.exp-rep-actions{display:flex;gap:8px}.exp-rep-actions .exp-tool{flex:1}.exp-rep-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding-right:2px}.exp-rep-empty{padding:24px 12px;color:var(--ctp-subtext1);font-size:12px;text-align:center;border:1px dashed var(--ctp-surface0);border-radius:8px}.exp-rep-block{position:relative;padding:8px;background:var(--ctp-base);border:1px solid var(--ctp-surface0);border-radius:8px}.exp-rep-block:hover .exp-rep-controls{opacity:1}.exp-rep-controls{position:absolute;top:4px;right:4px;display:flex;gap:2px;opacity:0;transition:opacity .12s}.exp-rep-ctrl{width:22px;height:22px;padding:0;background:var(--ctp-surface0);border:1px solid var(--ctp-surface0);border-radius:4px;color:var(--ctp-subtext1);font-size:12px;line-height:1;cursor:pointer}.exp-rep-ctrl:hover{border-color:var(--ctp-teal);color:var(--ctp-teal)}.exp-rep-thumb{width:100%;border-radius:4px;border:1px solid var(--ctp-surface0);display:block}.exp-rep-input{width:100%;margin-top:6px;padding:6px 8px;background:var(--ctp-surface0);border:1px solid var(--ctp-surface0);border-radius:4px;color:var(--ctp-text);font-size:12px;font-family:inherit;resize:none}.exp-rep-input:focus{outline:none;border-color:var(--ctp-teal)}.exp-rep-title{margin-top:0;font-weight:600}.exp-tool{height:30px;padding:0 12px;background:transparent;border:1px solid var(--ctp-surface0);border-radius:6px;color:var(--ctp-subtext1);font-size:12px;cursor:pointer;transition:border-color .12s,color .12s,background .12s}.exp-tool:hover{border-color:var(--ctp-teal);color:var(--ctp-teal)}.exp-tool.active{border-color:var(--ctp-teal);color:var(--ctp-teal);background:rgba(var(--ctp-teal-rgb),.12)}.exp-tool.exp-primary{background:var(--ctp-teal);border-color:var(--ctp-teal);color:var(--ctp-base);font-weight:600}.exp-tool.exp-primary:hover{color:var(--ctp-base);filter:brightness(1.05)}.exp-color{width:30px;height:30px;padding:0;background:transparent;border:1px solid var(--ctp-surface0);border-radius:6px;cursor:pointer}.exp-spacer{flex:1}.exp-stage{position:relative;overflow:hidden;border:1px solid var(--ctp-surface0);border-radius:6px}.exp-snapshot{display:block}.exp-annlayer{position:absolute;top:0;right:0;bottom:0;left:0;cursor:crosshair}.exp-textinput{position:fixed;z-index:4100;min-width:80px;padding:2px 6px;background:var(--ctp-surface0);border:1px solid var(--ctp-teal);border-radius:4px;font-size:14px;outline:none}.bb-banner{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;gap:10px;padding:10px 16px;font-size:13px;line-height:1.4;font-weight:500;box-shadow:0 1px 8px #0000004d}.bb-banner-msg{flex:1 1 auto}.bb-banner-icon{flex:0 0 18px;width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;font-family:monospace;border:1.5px solid currentColor}.bb-banner-close{flex:0 0 auto;margin-left:8px;background:transparent;border:none;color:inherit;font-size:18px;line-height:1;cursor:pointer;opacity:.8;padding:0 4px}.bb-banner-close:hover{opacity:1}.bb-banner-info{background:var(--ctp-sapphire);color:var(--ctp-crust)}.bb-banner-warning{background:var(--ctp-peach);color:var(--ctp-crust)}.bb-banner-critical{background:var(--ctp-red);color:#fff}body.has-bb-banner .app-container{height:calc(100vh - var(--bb-banner-h, 0px));margin-top:var(--bb-banner-h, 0px)}.fb-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5000;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:16px}.fb-modal{width:100%;max-width:460px;background:var(--ctp-surface0);border:1px solid var(--ctp-surface0);border-radius:10px;padding:20px;display:flex;flex-direction:column;gap:12px;box-shadow:0 10px 40px #0006}.fb-title{margin:0;font-size:16px;color:var(--ctp-text)}.fb-message,.fb-email{width:100%;box-sizing:border-box;background:var(--ctp-surface0);color:var(--ctp-text);border:1px solid var(--ctp-surface0);border-radius:6px;padding:8px 10px;font-size:13px;font-family:inherit}.fb-message{resize:vertical;min-height:90px}.fb-status{min-height:16px;font-size:12px;color:var(--ctp-subtext1)}.fb-actions{display:flex;justify-content:flex-end;gap:8px}.fb-btn{border:1px solid var(--ctp-surface0);border-radius:6px;padding:7px 14px;font-size:13px;cursor:pointer}.fb-cancel{background:transparent;color:var(--ctp-subtext1)}.fb-send{background:var(--ctp-teal);color:var(--ctp-crust);border-color:var(--ctp-teal)}.fb-send:disabled{opacity:.6;cursor:default}.canvas-block-code-content{font-family:JetBrains Mono,Fira Code,SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,monospace!important;font-size:13px!important;line-height:1.6!important;font-feature-settings:"liga" 1,"calt" 1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--ctp-mantle)!important;color:var(--ctp-text)!important;padding:16px!important;border-radius:8px!important;overflow-x:auto;white-space:pre!important;-moz-tab-size:4;tab-size:4;margin:0!important;box-shadow:inset 0 1px 3px #0000004d}.canvas-block-code-content code{font-family:inherit!important;font-size:inherit!important;background:transparent!important;padding:0!important;color:inherit!important}.canvas-block-code-content .token.comment,.canvas-block-code-content .token.prolog,.canvas-block-code-content .token.doctype,.canvas-block-code-content .token.cdata{color:var(--ctp-overlay1);font-style:italic}.canvas-block-code-content .token.punctuation{color:var(--ctp-overlay2)}.canvas-block-code-content .token.property,.canvas-block-code-content .token.tag,.canvas-block-code-content .token.constant,.canvas-block-code-content .token.symbol,.canvas-block-code-content .token.deleted{color:var(--ctp-mauve)}.canvas-block-code-content .token.boolean,.canvas-block-code-content .token.number{color:var(--ctp-peach)}.canvas-block-code-content .token.selector,.canvas-block-code-content .token.attr-name,.canvas-block-code-content .token.string,.canvas-block-code-content .token.char,.canvas-block-code-content .token.builtin,.canvas-block-code-content .token.inserted{color:var(--ctp-green)}.canvas-block-code-content .token.operator,.canvas-block-code-content .token.entity,.canvas-block-code-content .token.url,.language-css .canvas-block-code-content .token.string,.style .canvas-block-code-content .token.string{color:var(--ctp-sky)}.canvas-block-code-content .token.atrule,.canvas-block-code-content .token.attr-value,.canvas-block-code-content .token.keyword{color:var(--ctp-mauve);font-weight:500}.canvas-block-code-content .token.function,.canvas-block-code-content .token.class-name{color:var(--ctp-blue)}.canvas-block-code-content .token.regex,.canvas-block-code-content .token.important,.canvas-block-code-content .token.variable{color:var(--ctp-text)}.canvas-block-code-content .token.important,.canvas-block-code-content .token.bold{font-weight:600}.canvas-block-code-content .token.italic{font-style:italic}.canvas-block-code-content .token.entity{cursor:help}.canvas-block-code-content .token.decorator{color:var(--ctp-text);font-style:italic}.canvas-block-code-content .token.self{color:var(--ctp-mauve);font-style:italic}.canvas-block-code-content .token.triple-quoted-string{color:var(--ctp-green)}.canvas-block-code-content::-webkit-scrollbar{height:8px;width:8px}.canvas-block-code-content::-webkit-scrollbar-track{background:var(--ctp-mantle);border-radius:4px}.canvas-block-code-content::-webkit-scrollbar-thumb{background:var(--ctp-surface2);border-radius:4px}.canvas-block-code-content::-webkit-scrollbar-thumb:hover{background:var(--ctp-overlay1)}.canvas-block-code-header{font-family:JetBrains Mono,Fira Code,SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,monospace;font-size:12px;background:linear-gradient(135deg,var(--ctp-base) 0%,var(--ctp-surface0) 100%);border-bottom:1px solid rgba(255,255,255,.05);padding:8px 12px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px 8px 0 0;color:var(--ctp-overlay1);transition:background .2s ease}.canvas-block-code-header:hover{background:linear-gradient(135deg,var(--ctp-surface0) 0%,var(--ctp-surface1) 100%)}.canvas-block-code-header-left{display:flex;align-items:center;gap:8px}.canvas-block-code-header-left svg{width:14px;height:14px;transition:transform .2s ease}.canvas-block-code.expanded .canvas-block-code-header-left svg{transform:rotate(90deg)}.canvas-block-code-copy{font-family:JetBrains Mono,Fira Code,SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,monospace;font-size:11px;display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;background:#ffffff0d;border:none;color:var(--ctp-overlay1);cursor:pointer;transition:all .2s ease}.canvas-block-code-copy:hover{background:#7aa2f733;color:var(--ctp-blue)}.canvas-block-code-copy svg{width:12px;height:12px}.canvas-block-code{border-radius:8px;overflow:hidden;background:var(--ctp-mantle);margin-top:12px;border:1px solid rgba(255,255,255,.05)}.canvas-block-code-content{display:none;border-radius:0 0 8px 8px!important}.canvas-block-code.expanded .canvas-block-code-content{display:block}@media(max-width:768px){.canvas-block-code-content{font-size:12px!important;padding:12px!important}}
