@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&family=Outfit:wght@400;500;600;700&display=swap";*{margin:0;padding:0;box-sizing:border-box}body{font-family:Outfit,-apple-system,BlinkMacSystemFont,sans-serif;background:#08090c;color:#c8ccd8;overflow:hidden;height:100vh}.app{display:flex;flex-direction:column;height:100vh;padding:10px;gap:8px}.header{display:flex;justify-content:space-between;align-items:center;padding:10px 20px;background:linear-gradient(135deg,#10131a,#141820);border-radius:14px;border:1px solid #1F2533;flex-shrink:0;box-shadow:0 2px 12px #0006,inset 0 1px #ffffff05}.header-left{display:flex;align-items:baseline;gap:14px}.logo{font-family:Outfit,sans-serif;font-size:19px;font-weight:700;background:linear-gradient(135deg,#e8b84b,#f5d98a,#d4a03c);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.3px}.subtitle{font-size:11px;color:#5a6070;font-weight:500;letter-spacing:.5px}.header-controls{display:flex;gap:12px;align-items:center}.control-group{display:flex;flex-direction:column;gap:3px}.control-group label{font-size:9px;color:#5a6070;text-transform:uppercase;letter-spacing:1px;font-weight:600}select,.seed-input{padding:6px 10px;background:#0d0f14;border:1px solid #1F2533;border-radius:8px;color:#c8ccd8;font-family:JetBrains Mono,monospace;font-size:11px;cursor:pointer;outline:none;transition:all .2s ease}select:hover,.seed-input:hover{border-color:#3d4560}select:focus,.seed-input:focus{border-color:#e8b84b;box-shadow:0 0 0 2px #e8b84b1a}.seed-input{width:72px}.btn-refresh{padding:7px 14px;background:linear-gradient(135deg,#e8b84b,#d4a03c);border:none;border-radius:8px;color:#0a0b0e;font-size:11px;font-weight:600;cursor:pointer;align-self:flex-end;transition:all .2s ease;box-shadow:0 2px 8px #e8b84b33}.btn-refresh:hover{transform:translateY(-1px);box-shadow:0 4px 16px #e8b84b4d}.date-picker-wrapper{position:relative}.date-btn{padding:6px 10px;background:#0d0f14;border:1px solid #1F2533;border-radius:8px;color:#c8ccd8;font-family:JetBrains Mono,monospace;font-size:11px;cursor:pointer;min-width:100px;text-align:left;transition:all .2s}.date-btn:hover{border-color:#3d4560}.calendar-dropdown{position:absolute;top:100%;left:0;margin-top:6px;background:#10131a;border:1px solid #1F2533;border-radius:12px;padding:12px;z-index:200;width:260px;box-shadow:0 12px 40px #000000b3,0 0 0 1px #ffffff08;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.cal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:12px;color:#c8ccd8;font-weight:600}.cal-nav{background:none;border:none;color:#5a6070;cursor:pointer;font-size:14px;padding:4px 8px;border-radius:6px;transition:all .15s}.cal-nav:hover{color:#e8b84b;background:#1a1d26}.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:9px;color:#3d4560;margin-bottom:6px;font-weight:600;letter-spacing:.5px}.cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.cal-days span{text-align:center;padding:6px 0;font-size:11px;border-radius:6px;transition:all .1s}.cal-day{color:#2a2f3c;cursor:default}.cal-available{color:#8890a0;cursor:pointer}.cal-available:hover{background:#1a1d26;color:#e8b84b}.cal-selected{background:#e8b84b;color:#0a0b0e;font-weight:600}.model-select-wrapper{position:relative}.model-btn{padding:6px 10px;background:#0d0f14;border:1px solid #1F2533;border-radius:8px;color:#c8ccd8;font-size:11px;cursor:pointer;min-width:80px;transition:all .2s;font-family:JetBrains Mono,monospace}.model-btn:hover{border-color:#3d4560}.model-dropdown{position:absolute;top:100%;left:0;margin-top:6px;background:#10131a;border:1px solid #1F2533;border-radius:12px;padding:6px;z-index:200;min-width:210px;box-shadow:0 12px 40px #000000b3}.model-option{display:flex;align-items:center;gap:8px;padding:7px 10px;font-size:11px;color:#8890a0;cursor:pointer;border-radius:8px;transition:all .1s}.model-option:hover{background:#1a1d26;color:#c8ccd8}.model-option input{accent-color:#E8B84B;width:14px;height:14px}.playback-bar{display:flex;align-items:center;gap:16px;padding:7px 18px;background:linear-gradient(135deg,#10131a,#141820);border-radius:14px;border:1px solid #1F2533;flex-shrink:0;box-shadow:0 2px 12px #0000004d}.playback-controls{display:flex;gap:4px}.pb-btn{width:32px;height:28px;background:#0d0f14;border:1px solid #1F2533;border-radius:8px;color:#8890a0;font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.pb-btn:hover:not(:disabled){border-color:#e8b84b;color:#e8b84b;background:#141820}.pb-btn:disabled{opacity:.3;cursor:not-allowed}.pb-btn.play-btn{width:36px;background:linear-gradient(135deg,#e8b84b,#d4a03c);border-color:transparent;color:#0a0b0e;font-weight:700}.pb-btn.play-btn:hover:not(:disabled){box-shadow:0 0 16px #e8b84b4d;transform:scale(1.03)}.pb-btn.replay-btn{font-size:15px}.pb-btn.skip-btn{width:auto;padding:0 8px;font-size:9px;font-family:JetBrains Mono,monospace;color:#e8b84b}.pb-label{font-size:10px;color:#5a6070;margin-right:5px;font-weight:500}.speed-controls,.mode-controls{display:flex;align-items:center}.speed-select{padding:4px 8px;background:#0d0f14;border:1px solid #1F2533;border-radius:6px;color:#e8b84b;font-family:JetBrains Mono,monospace;font-size:10px;cursor:pointer;outline:none;margin-left:3px;transition:all .15s}.speed-select:hover,.speed-select:focus{border-color:#e8b84b}.speed-btn,.mode-btn{padding:4px 8px;background:#0d0f14;border:1px solid #1F2533;border-radius:6px;color:#5a6070;font-size:10px;font-family:JetBrains Mono,monospace;cursor:pointer;margin-left:3px;transition:all .15s}.speed-btn.active,.mode-btn.active{background:#e8b84b14;border-color:#e8b84b;color:#e8b84b}.speed-btn:hover,.mode-btn:hover{border-color:#3d4560;color:#c8ccd8}.progress-info{display:flex;align-items:center;margin-left:auto;gap:8px}.tick-info{font-size:10px;color:#e8b84b;font-family:JetBrains Mono,monospace;white-space:nowrap}.progress-bar-container{width:110px;height:4px;background:#1a1d26;border-radius:4px;margin:0 8px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#e8b84b,#f5d98a);border-radius:4px;transition:width .15s ease}.progress-text{font-size:10px;color:#5a6070;font-family:JetBrains Mono,monospace;min-width:55px}.charts-container{display:grid;gap:8px;flex:1;min-height:0}.grid-2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.grid-3{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.grid-4{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(0,1fr)}.grid-6{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(0,1fr)}.chart-panel{background:#10131a;border-radius:12px;border:1px solid #1F2533;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:visible;box-shadow:0 4px 16px #0000004d,inset 0 1px #ffffff05;transition:border-color .3s}.chart-panel:hover{border-color:#2a3040}.chart-header{padding:8px 14px;border-bottom:1px solid #1A1D26;flex-shrink:0;overflow:visible;position:relative;z-index:10;box-sizing:border-box}.chart-title{display:flex;align-items:center;gap:8px;margin-bottom:3px;min-width:0}.model-name{font-size:10px;font-weight:600;font-family:JetBrains Mono,monospace;letter-spacing:.3px;white-space:nowrap}.model-badge{padding:3px 10px;border-radius:6px;letter-spacing:.5px;border:1px solid currentColor;border-opacity:.2}.model-tip-wrapper{position:static;display:inline-flex}.model-tip{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#1a1d26;color:#5a6070;font-size:9px;font-weight:700;cursor:help;transition:all .15s;position:relative;border:1px solid #2A2F3C}.model-tip:hover{background:#1f2533;color:#e8b84b;border-color:#e8b84b}.model-tooltip{display:none;position:absolute;top:26px;left:-10px;padding:12px 16px;background:#141820;border:1px solid #1F2533;border-radius:10px;color:#c8ccd8;font-size:11px;line-height:1.7;width:320px;z-index:9999;box-shadow:0 12px 40px #000000b3;white-space:normal;font-weight:400;font-family:Outfit,sans-serif;pointer-events:none}.model-tip:hover .model-tooltip{display:block}.bar-count{margin-left:auto;font-size:9px;color:#3d4560;font-family:JetBrains Mono,monospace}.chart-wrapper{flex:1;min-height:0;overflow:hidden;padding-bottom:2px}.panel-stats{display:flex;gap:10px;font-size:10px;font-family:JetBrains Mono,monospace;color:#5a6070;align-items:center;font-weight:400;flex-wrap:nowrap;overflow:hidden;white-space:nowrap;min-width:0}.panel-stats .up{color:#00d09e;font-weight:500}.panel-stats .down{color:#ff4961;font-weight:500}.stats-time-inline{color:#e8b84b;margin-right:4px;font-weight:500}.loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#08090ceb;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;z-index:100}.spinner{width:28px;height:28px;border:2px solid #1F2533;border-top-color:#e8b84b;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.btn-hybrid-config{width:32px;height:32px;background:#0d0f14;border:1px solid #1F2533;border-radius:8px;color:#5a6070;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;align-self:flex-end}.btn-hybrid-config:hover{border-color:#e8b84b;color:#e8b84b;background:#141820}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#08090cd9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center}.hybrid-config-modal{background:linear-gradient(135deg,#10131a,#141820);border:1px solid #1F2533;border-radius:16px;width:780px;max-width:95vw;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0009,0 0 0 1px #ffffff08}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 28px;border-bottom:1px solid #1F2533}.modal-header h2{font-size:17px;font-weight:600;color:#e8b84b}.modal-close{width:34px;height:34px;background:none;border:1px solid #1F2533;border-radius:8px;color:#5a6070;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.modal-close:hover{border-color:#ff4961;color:#ff4961;background:#1a1d26}.modal-body{padding:22px 28px 28px}.config-section{margin-bottom:20px}.config-label{display:flex;align-items:baseline;gap:10px;font-size:12px;font-weight:600;color:#8890a0;margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}.config-label.clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.config-label.clickable:hover{color:#e8b84b}.config-hint{font-size:10px;color:#3d4560;text-transform:none;font-weight:400;letter-spacing:0}.config-textarea{width:100%;padding:12px 14px;background:#0d0f14;border:1px solid #1F2533;border-radius:10px;color:#c8ccd8;font-family:JetBrains Mono,monospace;font-size:12px;line-height:1.8;resize:vertical;outline:none;transition:border-color .2s}.config-textarea:focus{border-color:#e8b84b;box-shadow:0 0 0 2px #e8b84b14}.config-textarea::placeholder{color:#2a2f3c}.speed-row{display:flex;align-items:center;gap:14px}.speed-slider{flex:1;height:5px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#1a1d26;border-radius:3px;outline:none;cursor:pointer}.speed-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#e8b84b;cursor:pointer;border:2px solid #141820;box-shadow:0 0 8px #e8b84b4d}.speed-input{width:72px;padding:6px 10px;background:#0d0f14;border:1px solid #1F2533;border-radius:8px;color:#c8ccd8;font-family:JetBrains Mono,monospace;font-size:12px;text-align:center;outline:none}.speed-input:focus{border-color:#e8b84b}.speed-desc{font-size:11px;color:#5a6070;min-width:180px}.config-actions{display:flex;align-items:center;gap:12px;margin-bottom:20px}.btn-save{padding:10px 24px;background:linear-gradient(135deg,#e8b84b,#d4a03c);border:none;border-radius:8px;color:#0a0b0e;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #e8b84b33}.btn-save:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #e8b84b4d}.btn-save:disabled{opacity:.5;cursor:not-allowed}.btn-cancel{padding:10px 18px;background:#0d0f14;border:1px solid #1F2533;border-radius:8px;color:#5a6070;font-size:13px;cursor:pointer;transition:all .15s}.btn-cancel:hover{border-color:#3d4560;color:#c8ccd8}.config-saved-msg{font-size:12px;color:#00d09e;font-weight:500;margin-left:10px}.timeline-section{border-top:1px solid #1F2533;padding-top:18px}.timeline-section h3{font-size:13px;font-weight:600;color:#8890a0;margin-bottom:10px}.timeline-section h3.clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.timeline-section h3.clickable:hover{color:#e8b84b}.timeline-table{border:1px solid #1F2533;border-radius:10px;overflow:hidden}.timeline-row{display:grid;grid-template-columns:140px 170px 65px 1fr;padding:10px 16px;font-size:11px;color:#8890a0;border-bottom:1px solid #1A1D26;font-family:JetBrains Mono,monospace;align-items:center}.timeline-row:last-child{border-bottom:none}.header-row{background:#141820;color:#5a6070;font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.5px}.row-transition{background:#e8b84b08}.timeline-time{color:#e8b84b}.timeline-model{color:#c8ccd8}.timeline-desc{color:#5a6070;font-size:10px}.config-loading{display:flex;align-items:center;gap:12px;padding:40px 0;color:#5a6070;font-size:12px}.vol-config-modal{max-width:480px}.vol-intro{font-size:11px;line-height:1.7;color:#8890a0;background:#141820;border:1px solid #1F2533;border-radius:8px;padding:10px 12px;margin-bottom:18px}.vol-group{border:1px solid #1F2533;border-radius:10px;padding:14px 16px;margin-bottom:16px}.vol-group-title{font-size:12px;font-weight:600;color:#e8b84b;margin-bottom:12px}.vol-field{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.vol-field label{font-size:12px;color:#c8ccd8}.vol-field .vol-unit{color:#5a6070;font-size:10px;margin-left:2px}.vol-field input{width:120px;padding:6px 10px;font-size:12px;background:#0e1116;border:1px solid #1F2533;border-radius:6px;color:#c8ccd8;text-align:right;font-family:JetBrains Mono,monospace}.vol-field input:focus{border-color:#e8b84b;outline:none;box-shadow:0 0 0 2px #e8b84b14}.vol-sigma{margin-top:6px;font-size:10px;color:#5a6070;font-family:JetBrains Mono,monospace;text-align:right}.vol-hint-inline{margin-top:6px;font-size:10px;color:#5a6070}.vol-help{margin-bottom:16px}.vol-help-toggle{font-size:12px;font-weight:600;color:#8890a0;cursor:pointer;-webkit-user-select:none;user-select:none;padding:4px 0}.vol-help-toggle:hover{color:#e8b84b}.vol-help-body{margin-top:8px;padding:12px;background:#141820;border:1px solid #1F2533;border-radius:8px}.vol-help-table{width:100%;border-collapse:collapse;font-size:11px;margin-bottom:10px}.vol-help-table th{text-align:left;color:#8890a0;font-weight:600;padding:4px 6px;border-bottom:1px solid #1F2533}.vol-help-table td{padding:4px 6px;color:#c8ccd8;border-bottom:1px solid #171B24;vertical-align:top}.vol-help-table td.yes{color:#00d09e;text-align:center}.vol-help-table td.no{color:#3a4050;text-align:center}.vol-help-note{font-size:11px;line-height:1.7;color:#8890a0;margin:8px 0 0}.vol-help-note b{color:#c8ccd8}.model-tooltip .tt-title{font-weight:600;color:#e8b84b;margin-bottom:6px;font-size:11px}.model-tooltip .tt-row{display:block;line-height:1.8;padding:1px 0}.model-tooltip .tt-time{color:#e8b84b;font-family:JetBrains Mono,monospace}.model-tooltip .tt-model{color:#c8ccd8}.model-tooltip .tt-speed{color:#5a6070;font-size:9px}.model-tooltip .tt-global-speed{margin-top:6px;padding-top:6px;border-top:1px solid #1F2533;font-size:10px;color:#5a6070;font-family:JetBrains Mono,monospace}.modal-header-actions{display:flex;align-items:center;gap:8px}.btn-raw-toggle{padding:5px 12px;background:#0d0f14;border:1px solid #1F2533;border-radius:6px;color:#5a6070;font-size:10px;cursor:pointer;font-family:JetBrains Mono,monospace;transition:all .15s}.btn-raw-toggle:hover{border-color:#3d4560;color:#c8ccd8}.btn-raw-toggle.active{background:#e8b84b14;border-color:#e8b84b;color:#e8b84b}.model-catalog{display:grid;grid-template-columns:1fr 1fr;gap:8px}.model-card{background:#0d0f14;border:1px solid #1F2533;border-radius:10px;padding:10px 14px;display:flex;flex-direction:column;gap:4px;transition:border-color .15s}.model-card:hover{border-color:#3d4560}.mc-name{font-size:13px;color:#c8ccd8;font-weight:600}.mc-desc{font-size:11px;color:#5a6070;line-height:1.5}.segment-list{display:flex;flex-direction:column;gap:10px}.segment-row{background:#0d0f14;border:1px solid #1F2533;border-radius:10px;padding:12px 14px;transition:border-color .15s;display:flex;flex-direction:column;gap:10px}.segment-row:hover{border-color:#3d4560}.segment-row.seg-transition{border-left:3px solid #E8B84B}.seg-row-top{display:flex;align-items:center;gap:12px}.seg-row-bottom{display:flex;align-items:center;gap:10px;padding-left:32px}.seg-index{width:24px;height:24px;border-radius:50%;background:#1a1d26;color:#8890a0;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:JetBrains Mono,monospace}.seg-time{display:flex;align-items:center;gap:6px;flex-shrink:0;flex-wrap:wrap}.seg-time-input{width:110px;padding:5px 8px;box-sizing:border-box;background:#1a1d26;border:1px solid #1F2533;border-radius:6px;color:#e8b84b;font-size:12px;text-align:center;outline:none;font-family:JetBrains Mono,monospace}.seg-time-input::-webkit-calendar-picker-indicator{filter:invert(.6);cursor:pointer}.seg-time-input:focus{border-color:#e8b84b}.seg-session-select{padding:5px 8px;background:#1a1d26;border:1px solid #1F2533;border-radius:6px;color:#c8ccd8;font-size:11px;outline:none;cursor:pointer;font-family:Outfit,sans-serif}.seg-time-sep{color:#3d4560}.seg-time-unit{font-size:11px;color:#5a6070}.seg-type-toggle{display:flex;gap:2px;flex-shrink:0}.stt-btn{padding:5px 12px;background:#1a1d26;border:1px solid #1F2533;color:#5a6070;font-size:10px;cursor:pointer;transition:all .12s;font-family:JetBrains Mono,monospace}.stt-btn:first-child{border-radius:5px 0 0 5px}.stt-btn:last-child{border-radius:0 5px 5px 0}.stt-btn.active{background:#e8b84b1a;border-color:#e8b84b;color:#e8b84b}.stt-btn:hover:not(.active){border-color:#3d4560;color:#8890a0}.seg-sub-label{font-size:10px;color:#3d4560;text-transform:uppercase;flex-shrink:0;font-weight:500;letter-spacing:.3px}.seg-model-select{padding:5px 10px;background:#1a1d26;border:1px solid #1F2533;border-radius:6px;color:#c8ccd8;font-size:12px;outline:none;cursor:pointer;font-family:Outfit,sans-serif;min-width:130px}.seg-model-select:focus{border-color:#e8b84b}.seg-trans-sel{padding:5px 10px;background:#1a1d26;border:1px solid #1F2533;border-radius:6px;color:#c8ccd8;font-size:12px;outline:none;cursor:pointer;font-family:Outfit,sans-serif;min-width:120px}.seg-trans-sel:focus{border-color:#e8b84b}.seg-trans-arrow{color:#e8b84b;font-size:14px}.seg-speed-input{width:56px;padding:4px 6px;background:#1a1d26;border:1px solid #E8B84B33;border-radius:5px;color:#e8b84b;font-size:12px;text-align:center;outline:none;font-family:JetBrains Mono,monospace}.seg-speed-input:focus{border-color:#e8b84b}.seg-remove{width:28px;height:28px;margin-left:auto;background:none;border:1px solid #1F2533;border-radius:6px;color:#5a6070;font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .12s}.seg-remove:hover:not(:disabled){border-color:#ff4961;color:#ff4961;background:#1a1d26}.seg-remove:disabled{opacity:.2;cursor:not-allowed}.btn-add-seg{margin-top:10px;padding:8px;background:none;border:1px dashed #1F2533;border-radius:8px;color:#5a6070;font-size:12px;cursor:pointer;width:100%;transition:all .15s;font-family:Outfit,sans-serif}.btn-add-seg:hover{border-color:#e8b84b;color:#e8b84b;background:#e8b84b08}.preset-buttons{display:flex;gap:10px;flex-wrap:wrap}.preset-btn{padding:8px 16px;background:#0d0f14;border:1px solid #1F2533;border-radius:8px;color:#8890a0;font-size:12px;cursor:pointer;transition:all .15s;font-family:Outfit,sans-serif}.preset-btn:hover{border-color:#e8b84b;color:#e8b84b;background:#e8b84b0d}.generated-preview{padding:10px 14px;background:#0a0b0e;border:1px solid #1F2533;border-radius:8px;color:#e8b84b;font-size:11px;line-height:1.6;word-break:break-all;font-family:JetBrains Mono,monospace}
