@charset "UTF-8";.light{--background: #F3F3F6;--text: #1A1C1E;--border: #C6C6C9;--highlight: #fff;--track: #86878A;--link: #2872E3;--surface: #fff;--surface2: #EBEBEE;--badge-bg: #E8F0FE;--badge-text: #1a73e8}.dark{--background: #1A1C1E;--text: #fff;--border: #37393C;--highlight: #000;--track: #37393C;--link: #87A9FF;--surface: #26282B;--surface2: #2E3033;--badge-bg: #1a2744;--badge-text: #87A9FF}*{margin:0;padding:0;box-sizing:border-box;font-variant-ligatures:none}:root{--track-fill: #fff;--mid: #757575;font-family:Space Mono,monospace}#root{width:100vw}h1,h2,h3,h4,h5,h6{font-weight:400}li{list-style:none}input,textarea{font-family:Space Mono,monospace;background:none;color:var(--text);border:none;outline:none;font-size:14px;resize:none;-webkit-user-select:text;user-select:text}input::placeholder,textarea::placeholder{-webkit-user-select:none;user-select:none}textarea{width:100%;background:var(--highlight);border:1px solid var(--border);border-radius:8px;font-size:14px;padding:10px 15px;margin-bottom:10px}textarea.active{border-color:var(--text)}[role=button]{cursor:pointer}button{font-family:Space Mono,monospace;background:none;color:var(--text);border:none;font-size:14px;cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:5px}button:focus{outline:none}button[disabled]{opacity:.5;cursor:not-allowed}button .icon{display:block}.button{padding:8px 10px;border-radius:6px;display:flex;align-items:center;justify-content:center;gap:5px}.button.inactive{opacity:.3;pointer-events:none}.icon{font-family:Material Symbols Outlined;font-weight:300;line-height:1}main{max-width:1200px;min-height:100vh;display:flex;flex-direction:column;margin:0 auto;background:var(--background);color:var(--text)}.top{display:flex;min-height:50vh;border-bottom:1px solid var(--border)}.tools{display:flex;gap:20px;flex:1;transition:opacity .2s}.tools.inactive{opacity:.2;pointer-events:none}.collapseButton{border-left:1px solid var(--border);width:20px;display:flex;align-items:center;justify-content:center}.collapseButton .icon{font-size:24px;color:var(--text)}.modeSelector{display:flex;flex-direction:column;gap:30px;overflow:hidden;width:250px;min-width:250px;transition:width .2s,min-width .2s}.modeSelector.hide{width:0;min-width:0}.modeSelector>div{padding:20px 15px}.modeSelector>div:first-child{flex:1;overflow:auto}.modeSelector>div:last-child{border-top:1px solid var(--border)}.modeSelector h2{font-size:14px;color:var(--text);white-space:nowrap;margin-bottom:15px}.modeSelector.inactive{opacity:.2;pointer-events:none}.modeList{flex-direction:column;display:flex;gap:10px}.modeList .button{justify-content:flex-start;gap:12px;transition:background .2s;background:none;outline:1px solid var(--border);white-space:nowrap;border-radius:8px;min-width:fit-content;width:100%}.modeList .button:hover{background:var(--border)}.modeList .button.active{outline:2px solid var(--text)}.modeList .button.cached{outline-color:var(--link)}.modeList .button.active.cached{outline:2px solid var(--text)}.cachedDot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--link);margin-left:auto;flex-shrink:0}.noResult{padding:20px 0;font-size:14px;opacity:.5}.generateButton{padding:12px 20px;background:var(--highlight);width:100%;border:1px solid var(--border)}.activeProv{display:flex;align-items:center;justify-content:space-between;background:var(--surface2);border:1px solid var(--border);border-radius:6px;padding:6px 10px;margin-bottom:15px;gap:8px}.activeProvLabel{font-size:11px;opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.changeProvBtn{font-size:11px;color:var(--link);white-space:nowrap;flex-shrink:0}.changeProvBtn:hover{text-decoration:underline}.output{flex:1;padding:20px 15px;position:relative}.output:hover .sentence{opacity:.5}.output time{color:var(--link);padding:2px 5px;border-radius:4px;font-size:inherit;text-decoration:underline}.output .sentence{font-size:18px;line-height:1.8;display:inline;cursor:pointer;transition:opacity .2s}.output .sentence:hover{opacity:1}.output .sentence time{margin-right:8px}.output ul{display:flex;flex-direction:column;gap:5px}.output ul button{font-size:15px;display:flex;gap:15px;text-align:left;padding:10px 15px;border-radius:6px;width:100%}.output ul button:hover{background:var(--border)}.output ul button p{font-size:14px}.modelSelector{position:relative;margin-bottom:10px}.modelSelector:after{content:"▾";display:block;position:absolute;right:10px;top:50%;transform:translateY(-55%);pointer-events:none}.modelSelector select{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;color:var(--text);background:var(--surface2);border:1px solid var(--border);border-radius:6px;padding:8px 30px 8px 12px;font-family:Space Mono,monospace;font-size:13px;outline:none;cursor:pointer}.loading{padding:20px;font-size:14px}.loading span{display:inline-block;animation:loading steps(4,jump-none) 777ms infinite;width:0;overflow:hidden;vertical-align:bottom}@keyframes loading{to{width:30px}}.providerSetup{width:100vw;min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--background);color:var(--text);padding:40px 20px}.providerSetupInner{width:100%;max-width:540px}.providerTitle{font-size:28px;font-weight:700;margin-bottom:10px}.providerSubtitle{font-size:14px;opacity:.7;line-height:1.6;margin-bottom:32px}.providerForm{display:flex;flex-direction:column;gap:20px}.providerFormGroup{display:flex;flex-direction:column;gap:8px}.providerFormGroup label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;opacity:.6}.providerTabs{display:flex;gap:8px;flex-wrap:wrap}.providerTab{padding:8px 16px;border-radius:8px;border:1px solid var(--border);background:var(--surface2);font-size:13px;transition:all .15s}.providerTab:hover{background:var(--border)}.providerTab.active{background:var(--text);color:var(--background);border-color:var(--text)}.apiKeyInput{display:flex;align-items:center;border:1px solid var(--border);border-radius:8px;background:var(--surface);overflow:hidden}.apiKeyInput input{flex:1;padding:10px 15px;background:transparent;font-size:14px;border:none}.apiKeyToggle{padding:10px 12px;border-left:1px solid var(--border);border-radius:0;opacity:.6}.apiKeyToggle:hover{opacity:1}.apiKeyNote{font-size:11px;opacity:.5;line-height:1.5}.providerStartBtn{font-size:15px;padding:14px 24px;background:var(--text);color:var(--background);border:none;border-radius:8px;margin-top:8px}.providerStartBtn:hover:not([disabled]){opacity:.85}.exportBtn{display:flex;align-items:center;gap:5px;padding:6px 10px;border-radius:6px;border:1px solid var(--border);font-size:12px;background:var(--surface2);transition:background .15s;white-space:nowrap}.exportBtn:hover{background:var(--border)}.exportBtn .icon{font-size:14px}.exportActions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.diagramView{display:flex;flex-direction:column;gap:20px;padding:4px 0}.diagramSummary{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:12px 16px;font-size:14px;line-height:1.6;opacity:.85}.diagramExportAll{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding-bottom:4px;border-bottom:1px solid var(--border)}.diagramPanel{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--surface)}.diagramPanelHeader{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);gap:12px;flex-wrap:wrap;background:var(--surface2)}.diagramPanelHeader h3{font-size:14px;white-space:nowrap}.diagramRender{padding:16px;overflow:auto;min-height:120px}.diagramRender svg{max-width:100%;height:auto;display:block}.plantumlRender{display:flex;align-items:flex-start;justify-content:center}.plantumlRender img{max-width:100%;height:auto;display:block}.diagramError{padding:16px;color:#e53935;font-size:13px}.diagramError p{margin-bottom:10px}.diagramSource{border-top:1px solid var(--border)}.diagramSource summary{padding:8px 16px;font-size:12px;cursor:pointer;opacity:.6;-webkit-user-select:none;user-select:none}.diagramSource summary:hover{opacity:1}.diagramCode{padding:12px 16px;font-size:12px;font-family:Space Mono,monospace;line-height:1.5;overflow:auto;background:var(--surface2);white-space:pre}.jsonlView{display:flex;flex-direction:column;gap:16px}.jsonlMetadata{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:14px 16px}.jsonlMetadata h2{font-size:16px;margin-bottom:10px}.jsonlMetaGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.jsonlMetaItem{display:flex;flex-direction:column;gap:2px}.jsonlMetaItem span:last-child{font-size:14px}.jsonlLabel{font-size:11px;text-transform:uppercase;letter-spacing:.06em;opacity:.5}.jsonlExportBar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-bottom:4px;border-bottom:1px solid var(--border)}.jsonlCount{font-size:12px;opacity:.5;white-space:nowrap}.jsonlCards{display:flex;flex-direction:column;gap:8px}.jsonlCard{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface)}.jsonlCardHeader{width:100%;display:flex;align-items:center;gap:10px;padding:10px 14px;text-align:left;background:var(--surface2);border-radius:0;border:none;justify-content:flex-start}.jsonlCardHeader:hover{background:var(--border)}.jsonlTimecode{font-size:12px;color:var(--link);white-space:nowrap;min-width:42px;text-decoration:underline}.jsonlStep{flex:1;display:flex;align-items:center;gap:6px;overflow:hidden}.jsonlStepText{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jsonlBadge{display:inline-block;font-size:10px;padding:2px 6px;border-radius:10px;background:var(--badge-bg);color:var(--badge-text);white-space:nowrap;flex-shrink:0}.jsonlBadge.phase{background:#f3e5f5;color:#7b1fa2}.dark .jsonlBadge.phase{background:#3a1f4a;color:#ce93d8}.jsonlBadge.app{background:#e8f5e9;color:#2e7d32}.dark .jsonlBadge.app{background:#1b3a1f;color:#81c784}.jsonlCardBody{padding:14px 16px;display:flex;flex-direction:column;gap:14px;border-top:1px solid var(--border)}.jsonlSection h4{font-size:11px;text-transform:uppercase;letter-spacing:.06em;opacity:.5;margin-bottom:6px}.jsonlSection dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:13px}.jsonlSection dt{opacity:.5;white-space:nowrap}.jsonlSection dd{word-break:break-word}.jsonlUiElements{display:flex;flex-direction:column;gap:4px}.jsonlUiElement{display:flex;align-items:center;gap:6px;font-size:12px}.jsonlValue{font-family:Space Mono,monospace;background:var(--surface2);padding:1px 4px;border-radius:3px;font-size:11px}.jsonlState{opacity:.5;font-size:11px}.jsonlNotes{background:var(--surface2);border-radius:6px;padding:10px 12px;margin:-2px}.jsonlNotes p{font-size:13px;line-height:1.5}.jsonlRaw{border-top:1px solid var(--border);padding-top:10px}.jsonlRaw details summary{font-size:11px;cursor:pointer;opacity:.4;-webkit-user-select:none;user-select:none;margin-bottom:8px}.jsonlRaw details summary:hover{opacity:.7}.jsonlRaw pre{font-size:11px;line-height:1.4;overflow:auto;background:var(--surface2);padding:10px;border-radius:6px;white-space:pre-wrap;word-break:break-word}.lineChart{width:100%;height:100%}.lineChart path{fill:none;stroke:var(--link);stroke-width:2}.lineChart circle{fill:var(--background);stroke:var(--text);stroke-width:2}.axisLabels text{text-anchor:middle;font-size:12px;fill:var(--text)}.axisTitle{font-size:12px;fill:var(--text)}.dataPoint text{fill:var(--text);font-size:12px;text-anchor:middle}.timeLabels text{cursor:pointer;fill:var(--link);text-decoration:underline}video{max-height:50vh;width:100%;height:100%;margin:0 auto}.videoPlayer{flex:1;background:#000;display:flex;align-items:stretch;flex-direction:column;justify-content:center;font-size:0;position:relative;-webkit-user-select:none;user-select:none;border-left:1px solid var(--border)}.videoPlayer:has(.timecodeMarker:hover) .videoCaption{opacity:0}.videoPlayer>div:first-child{display:flex;flex:1}.emptyVideo{height:50vh;color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px}.emptyVideo p{max-width:500px;text-align:center}.emptyVideo p span{display:inline-block;rotate:-45deg}.videoCaption{background:#000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 0 10px #00000080;position:absolute;bottom:80px;text-align:center;padding:10px;color:#fff;max-width:720px;font-size:15px;margin-inline:30px;left:50%;translate:-50% 0;width:-webkit-fill-available;border-radius:5px;transition:opacity .2s}.videoControls{font-size:12px;position:relative;background:var(--background)}.videoControls:hover .videoScrubber,.videoControls:hover .timecodeMarkerTick{scale:1 2.3}.videoScrubber{height:5px;transform-origin:bottom;transition:all .2s;overflow:hidden}.videoScrubber input{position:relative;top:-8px;height:5px;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;background-image:linear-gradient(to right,var(--track-fill) 0%,var(--track-fill) var(--pct),var(--track) var(--pct),var(--track) 100%)}.videoScrubber input::-webkit-slider-thumb{opacity:0}.videoTime{display:flex;justify-content:space-between;align-items:center;padding:15px;font-size:15px;border-top:1px solid var(--border)}.videoTime button{font-size:20px}.timecodeList{overflow:auto;padding:10px 20px}.timecodeList td{padding:10px 5px}.timecodeList button{color:var(--link)}.timecodeMarkers{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.timecodeMarker{position:absolute;top:0;width:10px;background:#00000003;translate:-4px 0}.timecodeMarker:hover .timecodeMarkerLabel{opacity:1}.timecodeMarkerTick{height:5px;pointer-events:auto;cursor:pointer;transform-origin:bottom;transition:all .2s;background:#00000003;overflow:hidden}.timecodeMarkerTick>div{width:3px;height:100%;background:var(--link);translate:3px 0}.timecodeMarkerLabel{background:#000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 0 10px #00000080;opacity:0;display:flex;flex-direction:column;gap:5px;font-size:11px;transition:opacity .1s;pointer-events:none;position:absolute;top:0;translate:0 calc(-100% - 15px);z-index:99;padding:8px;border-radius:5px;width:max-content;max-width:200px;color:var(--mid)}.timecodeMarkerLabel.right{right:0}.timecodeMarkerLabel p{color:var(--text);font-size:13px}
