.obs{--obs-bg:#0c1416;--obs-panel:#131e21;--obs-border:#26383d;--obs-text:#e4efeb;--obs-muted:#93aaa5;background:var(--obs-bg);color:var(--obs-text);min-height:100dvh;padding:0 32px 24px;font:14px/1.5 system-ui,sans-serif;overflow:auto;height:100dvh;box-sizing:border-box}.obs *{box-sizing:border-box}.obs a{color:#a9e9c4;text-decoration:none}.obs button,.obs input,.obs select{font:inherit;color:inherit;background:#17262a;border:1px solid var(--obs-border);border-radius:7px;padding:7px 12px}.obs button{cursor:pointer}.obs button:hover{background:#23363b}.obs button:focus-visible,.obs input:focus-visible,.obs select:focus-visible{outline:2px solid #a9e9c4;outline-offset:2px}.obs button:disabled{opacity:.4;cursor:default}.obs-header{height:76px;border-bottom:1px solid var(--obs-border);display:flex;align-items:center;justify-content:space-between;gap:16px}.obs-brand{font-size:13px;font-weight:750;letter-spacing:1.7px}.obs-brand span{font-weight:400;letter-spacing:.2px;color:var(--obs-muted);margin-left:14px}.obs-header>div{display:flex;gap:16px;align-items:center}.obs-title{display:flex;justify-content:space-between;align-items:center;margin:30px 0 24px;gap:20px}.obs h1{font-size:34px;font-weight:550;letter-spacing:-1.1px;margin:3px 0 7px}.obs h2{font-size:15px;font-weight:600;margin:0 0 16px}.obs h3{font-weight:550}.obs p{margin:6px 0}.obs-muted,.obs-chart-scale,.obs-footer{color:var(--obs-muted)}.obs-eyebrow{color:#a9e9c4;font-size:11px;letter-spacing:2px}.obs-live{display:flex;align-items:center;gap:8px;font-size:12px;white-space:nowrap;color:var(--obs-muted)}.obs-card{background:var(--obs-panel);border:1px solid var(--obs-border);border-radius:10px;padding:20px;min-width:0}.obs-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.obs-stats .obs-card{display:flex;flex-direction:column;gap:12px}.obs-stats strong{font-size:26px;font-weight:500;letter-spacing:-.7px}.obs-stats .obs-muted{font-size:12px}.obs-charts{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin:20px 0}.obs-chart{display:flex;flex-direction:column;justify-content:space-between;color:#a9e9c4}.obs-chart h2{color:var(--obs-text)}.obs-chart svg{width:100%;height:130px;margin:12px 0}.obs-chart-scale{display:flex;justify-content:space-between;font-size:11px;gap:12px}.obs-grid{fill:none;stroke:var(--obs-border);stroke-width:.5}.obs dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0;font-size:12px}.obs dt{color:var(--obs-muted)}.obs dd{margin:0;text-align:right;overflow-wrap:anywhere}.obs-model{display:flex;flex-direction:column;border-top:1px solid var(--obs-border);padding-top:12px;font-size:12px}.obs-model span{color:var(--obs-muted)}.obs-workspace{display:grid;grid-template-columns:minmax(300px,2fr) minmax(0,3fr);gap:20px}.obs-filters{display:flex;gap:8px;margin-bottom:16px}.obs-filters input{min-width:0;width:100%}.obs-run{width:100%;text-align:left;display:flex;align-items:center;gap:10px;margin:5px 0;padding:12px!important;background:transparent!important;border-color:transparent!important}.obs-run:hover,.obs-run.is-selected,.obs-node.is-selected{background:#23383b!important;border-color:#436459!important}.obs-run>span:nth-child(2){flex:1;min-width:0}.obs-run strong{font-size:13px;font-weight:550;display:block;overflow-wrap:anywhere}.obs-run small{display:block;font-size:11px;color:var(--obs-muted);margin-top:3px;overflow-wrap:anywhere}.obs-dot{display:inline-block;flex-shrink:0;width:7px;height:7px;border-radius:50%;background:#93aaa5}.obs-dot.ok{background:#97dfb4}.obs-dot.running{background:#7dc4ec;box-shadow:0 0 8px #7dc4ec66}.obs-dot.error{background:#f28c86}.obs-dot.interrupted,.obs-dot.cancelled{background:#e3c585}.obs-badge{font-size:10px;border:1px solid var(--obs-border);border-radius:4px;padding:2px 5px;color:var(--obs-muted)}.obs-badge.error{color:#f28c86}.obs-badge.ok{color:#a9e9c4}.obs-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:16px;font-size:12px;color:var(--obs-muted)}.obs-empty{padding:50px 10px;text-align:center}.obs-empty-icon{font-size:48px;color:#79ac95}.obs-empty p{max-width:300px;margin:auto}.obs-graph-head{display:flex;justify-content:space-between;font-size:10px;color:var(--obs-muted);padding:8px 0}.obs-node{display:flex;align-items:center;gap:10px;width:100%;border-radius:4px!important;padding:8px 0!important;border-color:transparent!important;background:transparent!important}.obs-node-label{display:flex;align-items:center;gap:7px;width:55%;text-align:left;min-width:0}.obs-node-label>span:last-child{min-width:0}.obs-node strong{display:block;font-size:12px;font-weight:500;overflow-wrap:anywhere}.obs-node small{display:block;font-size:10px;color:var(--obs-muted);overflow-wrap:anywhere}.obs-track{position:relative;height:20px;background:#0d1719;width:30%;border-radius:3px}.obs-bar{position:absolute;top:5px;height:10px;background:#629984;border-radius:2px;max-width:100%}.obs-bar.error{background:#d87a76}.obs-bar.running{background:#6ab7df}.obs-duration{width:15%;font-size:10px;color:var(--obs-muted);text-align:right;padding-right:5px}.obs-detail{margin-top:24px;border-top:1px solid var(--obs-border);padding-top:8px}.obs-detail a{display:inline-block;margin-top:16px;font-size:12px}.obs-error{background:#422723;color:#ffc1b7;padding:10px;border-radius:6px}.obs-footer{font-size:11px;margin-top:24px}.obs-execution{max-height:520px;overflow:auto}.obs-runs{max-height:850px;overflow:auto}@media (min-width:1700px){.obs{padding-left:max(32px,calc((100vw - 1640px)/2));padding-right:max(32px,calc((100vw - 1640px)/2))}}@media (max-width:1100px){.obs-stats{grid-template-columns:repeat(3,1fr)}.obs-charts{grid-template-columns:1fr 1fr}.obs-charts>.obs-card:last-child{grid-column:1/-1}.obs-workspace{grid-template-columns:1fr}.obs-runs{max-height:450px}}@media (max-width:600px){.obs{padding:0 14px 20px}.obs-header{height:64px}.obs-brand span,.obs-header .obs-muted{display:none}.obs-title{align-items:flex-start;flex-direction:column;gap:12px}.obs h1{font-size:28px}.obs-stats{grid-template-columns:repeat(2,1fr)}.obs-card{padding:14px}.obs-stats strong{font-size:23px}.obs-charts{grid-template-columns:1fr}.obs-filters{flex-direction:column}.obs-node-label{width:60%}.obs-track{width:25%}.obs-node small{display:none}}.obs-contents{margin-top:20px}.obs-contents h4{font-size:13px;font-weight:600;margin:18px 0 8px}.obs-contents .lib-code{--lib-code-bg:#0c1719;--lib-code-gutter-bg:#132327;--lib-line-soft:var(--obs-border);border:1px solid var(--obs-border);border-radius:6px;max-height:420px;overflow:auto;font-size:12px}.obs-contents .lib-code__pre{white-space:pre-wrap;overflow-wrap:anywhere;min-width:0}.obs-contents .lib-code__gutter{-webkit-user-select:none;user-select:none;color:var(--obs-muted)}.obs-thinking h4{color:#b7d6ff}.obs-content-note{font-size:12px;padding:10px 0}.obs-inspector>p{font-size:12px;margin-bottom:12px}html,body,#root{height:100%}body{margin:0;background:var(--lib-bg);color:var(--lib-ink);font-family:var(--lib-font);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}.ws-mark{color:var(--lib-accent);flex:none}.ws-splash{height:100%;display:grid;place-items:center}.ws-icon-btn{position:relative;flex:none;display:inline-grid;place-items:center;width:34px;height:34px;border:0;border-radius:8px;background:transparent;color:var(--lib-muted);cursor:pointer}.ws-icon-btn:hover,.ws-icon-btn.is-active{background:var(--lib-track);color:var(--lib-ink)}.ws-badge{position:absolute;top:1px;right:-1px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--lib-accent);color:var(--lib-accent-contrast);font-size:10px;font-weight:600;line-height:16px;text-align:center}.ws-app{--lib-chat-preview-max-h: 280px;display:grid;grid-template-columns:0 minmax(0,1fr) auto;overflow:hidden;height:100vh;height:100dvh}.ws-app.is-sidebar-open{grid-template-columns:276px minmax(0,1fr) auto}.ws-sidebar{display:none;flex-direction:column;gap:10px;min-height:0;padding:12px;background:var(--ws-sidebar-bg, var(--lib-surface));border-right:1px solid var(--lib-line)}.ws-app.is-sidebar-open .ws-sidebar{display:flex}.ws-sidebar .lib-convlist{flex:1 1 auto}.ws-sidebar__brand{display:flex;align-items:center;gap:9px;padding:2px 2px 4px 6px;font-weight:650;font-size:16px}.ws-sidebar__brand span{flex:1}.ws-sidebar__footer{display:flex;align-items:center;gap:4px;padding-top:8px;border-top:1px solid var(--lib-line)}.ws-user{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding-left:6px;font-size:13px;color:var(--lib-ink)}.ws-user span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-scrim{display:none}.ws-main{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--lib-bg)}.ws-topbar{flex:none;display:flex;align-items:center;gap:8px;height:52px;padding:0 12px;border-bottom:1px solid var(--lib-line)}.ws-topbar__title{flex:1;min-width:0;margin:0 0 0 4px;font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-topbar__model{flex:none;padding:3px 8px;border:1px solid var(--lib-line);border-radius:999px;font-family:var(--lib-font-mono);font-size:11px;color:var(--lib-muted)}.ws-remote{color:var(--lib-muted);font-size:13px;font-style:italic}.ws-context{flex:none;display:flex;flex-direction:column;gap:6px;padding:10px 6px 4px;border-top:1px solid var(--lib-line)}.ws-context__head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:12px;font-weight:600}.ws-context__num{font-family:var(--lib-font-mono);font-size:11px;font-weight:400;color:var(--lib-muted)}.ws-context__note{margin:0;font-size:12px;line-height:1.4;color:var(--lib-muted)}.ws-context__notes{font-size:12px}.ws-context__notes>summary{cursor:pointer;color:var(--lib-accent)}.ws-context__notes .lib-markdown{max-height:40vh;overflow-y:auto;margin-top:6px;padding:8px;border:1px solid var(--lib-border);border-radius:6px;font-size:12px}.ws-context__notes .lib-markdown :is(h1,h2,h3,h4){font-size:13px;margin:8px 0 4px;padding:0;border:0}.ws-context__notes .lib-markdown :is(h1,h2,h3,h4):first-child{margin-top:0}.ws-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:8vh 8px 0;text-align:center}.ws-empty__title{margin:6px 0 0;font-size:24px;font-weight:650;color:var(--lib-ink)}.ws-empty__lead{margin:0;max-width:460px;color:var(--lib-muted);line-height:1.55;font-size:14px}.ws-suggestions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;max-width:560px;margin-top:18px}.ws-suggestion{display:flex;align-items:center;gap:10px;padding:12px 14px;text-align:left;cursor:pointer;border:1px solid var(--lib-line);border-radius:12px;background:var(--lib-surface);color:var(--lib-ink);font:inherit;font-size:14px}.ws-suggestion svg{color:var(--lib-accent);flex:none}.ws-suggestion:hover{border-color:var(--lib-accent)}.ws-files{display:flex;flex-direction:column;width:360px;min-height:0;font-size:14px;border-left:1px solid var(--lib-line);background:var(--lib-surface)}.ws-files__head{flex:none;display:flex;align-items:center;gap:4px;height:52px;padding:0 8px 0 14px;border-bottom:1px solid var(--lib-line)}.ws-files__title{flex:1;display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px}.ws-files__body{flex:1 1 auto;min-height:0;overflow:auto;padding:8px}.ws-viewer{display:flex;flex-direction:column;width:min(48vw,820px);min-width:380px;min-height:0;border-left:1px solid var(--lib-line);background:var(--lib-surface)}.ws-viewer .lib-fv--fill{flex:1 1 auto;height:auto;min-height:0}.ws-viewer .lib-fv--fill .lib-fv__bar{min-height:52px}.ws-viewer__ask{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px max(8px,env(safe-area-inset-bottom));border-top:1px solid var(--lib-line);font-size:13px;color:var(--lib-muted)}.ws-viewer__ask-label{margin-right:2px}.ws-viewer__ask .lib-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;font-size:13px;font-weight:500}.ws-help__intro{margin:0 0 12px;font-size:14px;line-height:1.5;color:var(--lib-muted)}.ws-help kbd{padding:1px 5px;border:1px solid var(--lib-line);border-radius:4px;font:12px var(--lib-mono, ui-monospace, monospace)}.ws-tasks{height:100%;overflow-y:auto;padding:20px 16px 48px}.ws-tasks>*{max-width:860px;margin-inline:auto}.ws-tasks__bar{display:flex;align-items:center;gap:10px;margin-bottom:8px}.ws-tasks__bar h1{flex:1;margin:0;font-size:20px}.ws-tasks__back{transform:rotate(180deg)}.ws-tasks__intro{margin:0 0 14px;color:var(--lib-muted);line-height:1.5}.ws-tasks__zone{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin:0 0 22px}.ws-tasks__zone label{display:grid;gap:4px;font-size:13px;color:var(--lib-muted)}.ws-tasks__zonehint{flex:1 1 260px;margin:0;font-size:12px;color:var(--lib-muted);line-height:1.45}.ws-approval{margin:0 16px 10px;padding:14px 16px;border:1px solid var(--lib-danger, #c0392b);border-radius:12px;background:var(--lib-surface);display:grid;gap:8px}.ws-approval__head{margin:0;font-weight:600}.ws-approval__cmd{margin:0;padding:10px 12px;border-radius:8px;background:var(--lib-bg);border:1px solid var(--lib-line);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;white-space:pre-wrap;word-break:break-word}.ws-approval__why{margin:0;font-size:13px}.ws-approval__note{margin:0;font-size:12px;color:var(--lib-muted);line-height:1.45}.ws-approval__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.ws-approval .lib-btn.ws-approval__allow{background:var(--lib-danger, #c0392b);border-color:var(--lib-danger, #c0392b);color:#fff}.ws-rootbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 16px 8px;padding:6px 10px;border:1px solid var(--lib-line);border-radius:10px;color:var(--lib-muted);font-size:12px}.ws-tasks__loading{display:grid;place-items:center;padding:32px}.ws-tasks__empty{color:var(--lib-muted)}.ws-tasks .lib-btn.ws-tasks__primary{background:var(--lib-accent);border-color:var(--lib-accent);color:var(--lib-accent-ink, #fff)}.ws-tasks__form{display:grid;gap:12px;margin-bottom:22px;padding:16px;border:1px solid var(--lib-line);border-radius:12px;background:var(--lib-surface)}.ws-tasks__form label{display:grid;gap:4px;font-size:13px;color:var(--lib-muted)}.ws-tasks__form input,.ws-tasks__form textarea{padding:8px 10px;border:1px solid var(--lib-line);border-radius:8px;background:var(--lib-bg);color:var(--lib-ink);font:inherit;font-size:14px}.ws-tasks__form textarea{resize:vertical;line-height:1.45}.ws-tasks__row{display:flex;flex-wrap:wrap;gap:12px}.ws-tasks__row label{flex:1 1 200px}.ws-tasks__actions{display:flex;justify-content:flex-end;gap:8px}.ws-tasks__list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.ws-task{padding:14px 16px;border:1px solid var(--lib-line);border-radius:12px;background:var(--lib-surface)}.ws-task.is-paused{opacity:.72}.ws-task.is-failed{border-color:var(--lib-danger)}.ws-task__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.ws-task__title{font-weight:600}.ws-task__when{font-size:13px;color:var(--lib-accent)}.ws-task__prompt{margin:6px 0;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.ws-task__facts{display:flex;flex-wrap:wrap;gap:12px;font-size:12.5px;color:var(--lib-muted)}.ws-task__last{margin:8px 0 0;padding:8px 10px;border-radius:8px;background:var(--lib-track);font-size:13px;line-height:1.45;white-space:pre-wrap;max-height:8.5em;overflow:auto}.ws-task__actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.ws-task__actions .lib-btn{font-size:13px;padding:4px 9px}.ws-task__delete{color:var(--lib-danger)}.ws-find__summary{margin:0 0 12px;font-size:14px;color:var(--lib-muted)}.ws-find__error{color:var(--lib-danger)}.ws-find__loading{display:grid;place-items:center;padding:24px}.ws-find__file+.ws-find__file{margin-top:12px}.ws-find__path{display:inline-flex;align-items:center;gap:6px;padding:2px 4px;margin-bottom:4px;border:0;border-radius:6px;background:none;color:var(--lib-accent);font:600 14px/1.4 inherit;cursor:pointer;overflow-wrap:anywhere}.ws-find__path:hover{background:var(--lib-track)}.ws-find__lines{list-style:none;margin:0;padding:0;border:1px solid var(--lib-line);border-radius:8px;overflow:hidden}.ws-find__lines li+li{border-top:1px solid var(--lib-line)}.ws-find__lines button{display:flex;width:100%;gap:10px;padding:5px 10px;border:0;background:none;color:var(--lib-ink);text-align:left;cursor:pointer;font:13px/1.45 var(--lib-mono, ui-monospace, monospace)}.ws-find__lines button:hover{background:var(--lib-track)}.ws-find__num{flex:none;min-width:3ch;text-align:right;color:var(--lib-muted)}.ws-find__lines code{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:pre;background:none;padding:0;font:inherit}.ws-find mark{background:color-mix(in srgb,var(--lib-accent) 25%,transparent);color:inherit;border-radius:2px}.ws-connect{align-content:center;gap:12px;padding-inline:16px;text-align:center}.ws-connect p{margin:0;max-width:28rem;color:var(--lib-muted)}.ws-connect a{color:var(--lib-accent)}.ws-google p{margin:0 0 12px;line-height:1.5}.ws-google__who{display:flex;align-items:center;gap:6px}.ws-google__who svg{flex:none;color:var(--lib-accent)}.ws-google__list{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:10px}.ws-google__list li{display:grid;grid-template-columns:16px 1fr;gap:10px;align-items:start;line-height:1.45}.ws-google__list li svg{margin-top:2px;color:var(--lib-muted)}.ws-google__list li.is-off{color:var(--lib-muted)}.ws-google__note{font-size:13px;color:var(--lib-muted)}.ws-google__error{color:var(--lib-danger)}.ws-google__loading{display:grid;place-items:center;padding:24px}.ws-google__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:4px}.ws-google .ws-google__actions .lib-btn{font-weight:500}.ws-google .lib-btn.ws-google__primary{background:var(--lib-accent);border-color:var(--lib-accent);color:var(--lib-accent-ink, #fff)}.ws-google .lib-btn.ws-google__primary:hover{filter:brightness(1.08)}.ws-google .lib-btn.ws-google__danger{color:var(--lib-danger)}.ws-login{min-height:100%;display:grid;place-items:center;padding:24px 16px}.ws-login__card{width:100%;max-width:380px;display:flex;flex-direction:column;gap:14px;padding:28px;border:1px solid var(--lib-line);border-radius:16px;background:var(--lib-surface);box-shadow:var(--lib-shadow)}.ws-login__brand{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:650}.ws-login__title{margin:4px 0 2px;font-size:22px;font-weight:650}.ws-field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--lib-muted)}.ws-field input{padding:10px 12px;border:1px solid var(--lib-line);border-radius:10px;background:var(--lib-bg);color:var(--lib-ink);font:inherit;font-size:15px;outline:0}.ws-field input:focus{border-color:var(--lib-accent);box-shadow:0 0 0 3px var(--lib-accent-tint)}.ws-login__error{padding:9px 12px;border-radius:8px;font-size:13px;background:color-mix(in oklab,var(--lib-danger) 12%,transparent);color:var(--lib-danger)}.ws-login__submit{justify-content:center;padding:10px 14px;font-size:15px}.ws-login__note{margin:2px 0 0;font-size:12px;color:var(--lib-muted);text-align:center}@media (max-width: 860px){.ws-app,.ws-app.is-sidebar-open{grid-template-columns:minmax(0,1fr)}.ws-sidebar{display:flex;position:fixed;inset:0 auto 0 0;z-index:40;width:min(86vw,300px);transform:translate(-100%);transition:transform .2s ease}.ws-app.is-sidebar-open .ws-sidebar{transform:none;box-shadow:var(--lib-shadow)}.ws-app.is-sidebar-open .ws-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#00000059}.ws-main{grid-column:1}.ws-files{position:fixed;inset:0 0 0 auto;z-index:40;width:min(94vw,380px);box-shadow:var(--lib-shadow)}.ws-viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;width:100%;min-width:0;padding-top:env(safe-area-inset-top)}.ws-suggestions{grid-template-columns:minmax(0,1fr)}.ws-topbar__model{display:none}.ws-topbar{height:50px;padding:0 6px;gap:4px}.ws-empty{padding-top:4vh}.ws-app{--lib-chat-pad: 16px 12px 24px;--lib-chat-composer-pad: 0 10px max(10px, env(safe-area-inset-bottom))}.ws-main .lib-chat-composer__hint{display:none}}@media (pointer: coarse){.ws-field input{font-size:16px}.ws-icon-btn{width:40px;height:40px}}.lib-select{position:relative;display:inline-block;font-family:var(--lib-font, system-ui, sans-serif)}.lib-select__btn{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;font-family:inherit;font-size:var(--lib-control-font-size, 14px);padding:8px 12px;white-space:nowrap;cursor:pointer;background:var(--lib-surface, #fff);color:var(--lib-ink, #1f2a37);border:var(--lib-border-w, 1px) solid var(--lib-line, #d0d3d9);border-radius:var(--lib-radius, 8px)}.lib-select__btn:disabled{opacity:.5;cursor:not-allowed}.lib-select__caret{width:0;height:0;flex:none;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid currentColor}.lib-select__menu{position:absolute;top:calc(100% + 6px);left:0;z-index:60;min-width:100%;margin:0;padding:4px;list-style:none;background:var(--lib-surface, #fff);border:var(--lib-border-w, 1px) solid var(--lib-line, #d0d3d9);border-radius:var(--lib-radius, 8px);box-shadow:var(--lib-shadow, 0 8px 24px rgba(0, 0, 0, .12));max-height:280px;overflow-y:auto}.lib-select--up .lib-select__menu{top:auto;bottom:calc(100% + 6px)}.lib-select__menu li{margin:0}.lib-select__opt{display:block;width:100%;text-align:left;cursor:pointer;font-family:inherit;font-size:var(--lib-control-font-size, 14px);background:transparent;color:var(--lib-ink, #1f2a37);border:none;padding:8px 12px;white-space:nowrap;border-radius:calc(var(--lib-radius, 8px) - 4px)}.lib-select__opt:hover{background:var(--lib-track, #eef1f4)}.lib-select__opt.is-active{background:var(--lib-accent, #1d6fb8);color:var(--lib-accent-contrast, #fff)}.lib-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;padding:20px;display:flex;align-items:center;justify-content:center;background:var(--lib-overlay, rgba(18, 38, 58, .45));animation:lib-modal-fade .12s ease-out}.lib-modal{width:min(430px,100%);background:var(--lib-surface, #fff);color:var(--lib-ink, #1f2a37);border:var(--lib-border-w, 0) solid var(--lib-line, #d0d3d9);border-radius:var(--lib-radius-lg, 14px);padding:1.5rem;box-shadow:var(--lib-shadow, 0 8px 24px rgba(0, 0, 0, .18));font-family:var(--lib-font, system-ui, sans-serif);animation:lib-modal-pop .12s ease-out}.lib-modal__title{margin:0 0 .4rem;font-family:var(--lib-font-display, inherit)}.lib-modal__message{color:var(--lib-muted, #6b7a89);margin:0 0 18px}.lib-modal__actions{display:flex;justify-content:space-between;gap:12px}@keyframes lib-modal-fade{0%{opacity:0}to{opacity:1}}@keyframes lib-modal-pop{0%{transform:translateY(6px)}to{transform:translateY(0)}}.lib-btn{font:inherit;font-weight:600;cursor:pointer;font-family:var(--lib-font, system-ui, sans-serif);padding:.55rem 1rem;border:var(--lib-border-w, 1px) solid var(--lib-line, #d0d3d9);border-radius:var(--lib-radius, 8px);background:var(--lib-surface, #fff);color:var(--lib-ink, #1f2a37)}.lib-btn:hover{filter:brightness(.97)}.lib-btn--ghost{background:transparent}.lib-btn--primary{background:var(--lib-accent, #1d6fb8);border-color:var(--lib-accent-strong, #155a95);color:var(--lib-accent-contrast, #fff)}.lib-btn--danger{background:var(--lib-danger, #b3341f);border-color:var(--lib-danger, #b3341f);color:#fff}.lib-toast{position:fixed;left:50%;bottom:20px;transform:translate(-50%);z-index:400;background:var(--lib-toast-bg, var(--lib-ink, #12263a));color:var(--lib-toast-ink, #fff);border:var(--lib-border-w, 0) solid var(--lib-line, transparent);border-radius:var(--lib-radius, 10px);box-shadow:var(--lib-shadow, 0 8px 24px rgba(0, 0, 0, .18));padding:.8rem 1.1rem;font-weight:600;max-width:calc(100vw - 32px);font-family:var(--lib-font, system-ui, sans-serif);animation:lib-toast-in .2s ease}.lib-toast--ok{border-color:var(--lib-ok, #2e7d52);color:var(--lib-toast-ok-ink, #b6e6c8)}.lib-toast--err{border-color:var(--lib-danger, #b3341f);color:var(--lib-toast-err-ink, #ffc4b8)}@keyframes lib-toast-in{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.lib-spinner{display:inline-flex;align-items:center;gap:.5em;color:var(--lib-muted, #6b7a89);font-family:var(--lib-font, system-ui, sans-serif);animation:lib-blink 1s steps(2) infinite}@keyframes lib-blink{50%{opacity:.3}}.lib-badge{display:inline-block;font-family:var(--lib-font-mono, var(--lib-font, monospace));font-size:var(--lib-badge-font-size, 10.5px);letter-spacing:var(--lib-badge-tracking, .1em);text-transform:uppercase;padding:3px 9px;border:1px solid var(--lib-badge-border, var(--lib-line, #d0d3d9));border-radius:var(--lib-badge-radius, 3px);background:var(--lib-badge-bg, transparent);color:var(--lib-badge-ink, var(--lib-muted, #5b6069));cursor:default;white-space:nowrap;flex-shrink:0}.lib-badge--ok{color:var(--lib-ok, #1f7a3d);border-color:var(--lib-ok, #1f7a3d)}.lib-badge--warn{color:var(--lib-warn, #b45309);border-color:var(--lib-warn, #b45309)}.lib-badge--info{color:var(--lib-badge-info-ink, var(--lib-info, #2f6f9f));border-color:var(--lib-badge-info-border, var(--lib-info, #2f6f9f));background:var(--lib-badge-info-bg, transparent)}.lib-badge--danger{color:var(--lib-danger, #c0362c);border-color:var(--lib-danger, #c0362c)}button.lib-badge{cursor:pointer}.lib-badge.is-active{background:var(--lib-ink, #0a0b0d);color:var(--lib-surface, #fff);border-color:var(--lib-ink, #0a0b0d)}.lib-copybtn{display:inline-flex;align-items:center;gap:var(--lib-copybtn-gap, 6px);font-family:var(--lib-copybtn-font, var(--lib-font, system-ui, sans-serif));font-size:var(--lib-copybtn-font-size, 12px);padding:var(--lib-copybtn-pad, 4px 9px);border:var(--lib-copybtn-border-w, 1px) solid var(--lib-copybtn-border, var(--lib-line, #d0d3d9));border-radius:var(--lib-copybtn-radius, 3px);background:var(--lib-copybtn-bg, transparent);color:var(--lib-copybtn-ink, var(--lib-muted, #5b6069));box-shadow:var(--lib-copybtn-shadow, none);cursor:pointer;white-space:nowrap;flex-shrink:0;transition:color .12s,border-color .12s,background .12s}.lib-copybtn:hover:not(:disabled){color:var(--lib-copybtn-ink-hover, var(--lib-ink, #0a0b0d));border-color:var(--lib-copybtn-border-hover, var(--lib-ink, #0a0b0d));background:var(--lib-copybtn-bg-hover, var(--lib-copybtn-bg, transparent))}.lib-copybtn:disabled{opacity:.5;cursor:default}.lib-copybtn.is-copied,.lib-copybtn.is-copied:hover:not(:disabled){color:var(--lib-copybtn-ink-copied, var(--lib-ok, #1f7a3d));border-color:var(--lib-copybtn-border-copied, var(--lib-ok, #1f7a3d));background:var(--lib-copybtn-bg-copied, transparent)}.lib-copybtn__icon{flex-shrink:0}.lib-dropzone{position:relative;display:block;cursor:pointer;padding:var(--lib-dropzone-pad, 28px 18px);text-align:center;font-family:var(--lib-font, system-ui, sans-serif);color:var(--lib-muted, #6b7a89);background:var(--lib-dropzone-bg, var(--lib-surface, #fff));border:var(--lib-dropzone-border-w, 2px) dashed var(--lib-line, #d0d3d9);border-radius:var(--lib-radius, 8px)}.lib-dropzone.is-dragover{border-color:var(--lib-accent, #1d6fb8);background:var(--lib-accent-tint, #eef5fc);color:var(--lib-ink, #1f2a37)}.lib-dropzone.is-disabled{opacity:.5;cursor:not-allowed}.lib-dropzone__input{display:none}.lib-dropzone__label{display:block;font-size:var(--lib-control-font-size, 14px)}.lib-colorfield{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;font-family:var(--lib-font, system-ui, sans-serif);color:var(--lib-ink, #1f2a37);font-size:var(--lib-control-font-size, 14px)}.lib-colorfield.is-disabled{opacity:.5}.lib-colorfield__controls{display:inline-flex;align-items:center;gap:10px}.lib-colorfield__hexlabel{font-family:var(--lib-font-mono, monospace);font-size:calc(var(--lib-control-font-size, 14px) - 1px);color:var(--lib-muted, #6b7a89)}.lib-colorfield__swatch{width:40px;height:30px;padding:0;cursor:pointer;border:var(--lib-border-w, 1px) solid var(--lib-line, #d0d3d9);border-radius:var(--lib-radius, 8px)}.lib-colorfield__swatch:disabled{cursor:not-allowed}.lib-colorfield__pop{position:absolute;top:calc(100% + 8px);right:0;z-index:80;display:flex;flex-direction:column;gap:10px;width:220px;padding:12px;background:var(--lib-surface, #fff);border:var(--lib-border-w, 1px) solid var(--lib-line, #d0d3d9);border-radius:var(--lib-radius, 8px);box-shadow:var(--lib-shadow, 0 8px 24px rgba(0, 0, 0, .12))}.lib-colorfield__sv{position:relative;height:130px;cursor:crosshair;border-radius:calc(var(--lib-radius, 8px) - 3px);background-image:linear-gradient(to top,#000,#0000),linear-gradient(to right,#fff,#fff0);touch-action:none}.lib-colorfield__sv-thumb,.lib-colorfield__hue-thumb{position:absolute;width:14px;height:14px;transform:translate(-50%,-50%);border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #00000059;pointer-events:none}.lib-colorfield__hue{position:relative;height:14px;cursor:ew-resize;border-radius:7px;background:linear-gradient(to right,red,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red);touch-action:none}.lib-colorfield__hue-thumb{top:50%}.lib-colorfield__hex{width:100%;box-sizing:border-box;font-family:var(--lib-font-mono, monospace);font-size:var(--lib-control-font-size, 14px);padding:6px 8px;background:var(--lib-surface, #fff);color:var(--lib-ink, #1f2a37);border:var(--lib-border-w, 1px) solid var(--lib-line, #d0d3d9);border-radius:var(--lib-radius, 8px)}.lib-menu{position:fixed;z-index:1000;min-width:180px;padding:5px;background:var(--lib-surface, #1b1f25);border:1px solid var(--lib-line, #2a2f37);border-radius:var(--lib-radius, 8px);box-shadow:0 8px 28px #0007;display:grid;gap:1px}.lib-menu__item{display:flex;align-items:center;gap:9px;width:100%;text-align:left;background:none;border:none;cursor:pointer;font:inherit;color:var(--lib-ink, #e6e9ee);padding:7px 10px;border-radius:6px}.lib-menu__item:hover:not(:disabled){background:var(--lib-bg, #14171c)}.lib-menu__item:disabled{opacity:.4;cursor:default}.lib-menu__item--danger{color:var(--lib-danger, #e5484d)}.lib-menu__sep{height:1px;background:var(--lib-line, #2a2f37);margin:4px 2px}.lib-menu__sub{min-width:var(--lib-menu-sub-minw, 160px)}.lib-menu__item--parent[aria-expanded=true]{background:var(--lib-bg, #14171c)}.lib-menu__chev{flex:none;margin-left:auto;opacity:var(--lib-menu-chev-opacity, .6)}.lib-menu__check{flex:none;display:inline-flex;align-items:center;width:var(--lib-menu-check-w, 14px);color:var(--lib-menu-check, currentColor)}.lib-tokentext{display:flex;flex-direction:column;gap:4px}.lib-tokentext__edit{min-height:36px;padding:8px 10px;border:var(--lib-border-w, 1px) solid var(--lib-line, #ccc);border-radius:var(--lib-radius, 8px);background:var(--lib-surface, #fff);color:var(--lib-ink, #222);font:inherit;line-height:1.7;white-space:pre-wrap;overflow-wrap:break-word;cursor:text}.lib-tokentext--multiline .lib-tokentext__edit{min-height:90px}.lib-tokentext__edit:focus{outline:2px solid var(--lib-accent-tint, #dde);border-color:var(--lib-accent, #55f)}.lib-tokentext__edit:empty:before{content:attr(data-placeholder);color:var(--lib-muted, #999)}.lib-tokentext__chip{display:inline-flex;align-items:center;margin:0 2px;padding:1px 2px;border-radius:var(--lib-radius, 8px);background:var(--lib-accent-tint, #eef);border:1px solid var(--lib-accent, #55f);vertical-align:middle;position:relative;top:-1px;line-height:1.2}.lib-tokentext__label{color:var(--lib-accent-strong, #33c);font-size:.85em;font-weight:600;font-family:var(--lib-font-mono, monospace);padding:1px 4px 1px 2px;cursor:pointer;-webkit-user-select:none;user-select:none}.lib-tokentext__label:after{content:"";display:inline-block;margin-left:3px;border:4px solid transparent;border-top-color:var(--lib-accent-strong, #33c);vertical-align:1px}.lib-tokentext__chip{position:relative}.lib-tokentext__menu{position:absolute;top:calc(100% + 3px);left:0;z-index:40;display:inline-flex;flex-direction:column;min-width:110px;background:var(--lib-surface, #fff);border:1px solid var(--lib-line, #ccc);border-radius:var(--lib-radius, 8px);box-shadow:var(--lib-shadow, 0 8px 20px rgba(0,0,0,.15));padding:3px}.lib-tokentext__opt{padding:5px 9px;border-radius:calc(var(--lib-radius, 8px) - 3px);font-family:var(--lib-font-mono, monospace);font-size:.85em;font-weight:600;color:var(--lib-ink, #222);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.lib-tokentext__opt:hover{background:var(--lib-accent-tint, #eef);color:var(--lib-accent-strong, #33c)}.lib-tokentext__insert{align-self:flex-start;border:1px dashed var(--lib-line, #ccc);border-radius:var(--lib-radius, 8px);background:var(--lib-surface, #fff);color:var(--lib-muted, #888);font:inherit;font-size:.8em;font-weight:600;padding:3px 8px;cursor:pointer}.lib-tokentext__insert:hover{color:var(--lib-accent-strong, #33c);border-color:var(--lib-accent, #55f)}.lib-tokentext__grip{width:9px;align-self:stretch;margin-right:2px;border-radius:3px 0 0 3px;cursor:grab;background-image:radial-gradient(var(--lib-accent, #55f) 1px,transparent 1px);background-size:4px 4px;background-position:1px 2px;opacity:.55;touch-action:none}.lib-tokentext__grip:hover{opacity:1}.lib-tokentext__chip.is-dragging{opacity:.85;box-shadow:var(--lib-shadow, 0 4px 12px rgba(0,0,0,.2));cursor:grabbing}.lib-logofooter{position:var(--lib-logofooter-position, fixed);right:var(--lib-logofooter-inset, 16px);bottom:var(--lib-logofooter-inset, 16px);z-index:var(--lib-logofooter-z, 2147483647);display:block;line-height:0;opacity:var(--lib-logofooter-opacity, .9);transition:opacity .15s ease}a.lib-logofooter:hover{opacity:var(--lib-logofooter-opacity-hover, 1)}.lib-logofooter__img{display:block;height:var(--lib-logofooter-size, 96px);width:auto;filter:var(--lib-logofooter-shadow, drop-shadow(0 1px 2px rgba(0, 0, 0, .45)))}.lib-logo{display:inline-block;line-height:0;opacity:var(--lib-logo-opacity, 1);transition:opacity .15s ease}a.lib-logo:hover{opacity:var(--lib-logo-opacity-hover, 1)}.lib-logo__img{display:block;height:var(--lib-logo-height, 48px);width:auto}.lib-logo--light .lib-logo__img{filter:var(--lib-logo-invert, invert(1))}@media (prefers-color-scheme: light){.lib-logo--auto .lib-logo__img{filter:var(--lib-logo-invert, invert(1))}}.lib-markdown{font-family:var(--lib-font, system-ui, sans-serif);font-size:var(--lib-md-font-size, 15px);line-height:1.6;color:var(--lib-ink, #1f2a37);word-wrap:break-word}.lib-markdown h1,.lib-markdown h2{padding-bottom:.3em;border-bottom:1px solid var(--lib-line, #d8dee4)}.lib-markdown h1,.lib-markdown h2,.lib-markdown h3,.lib-markdown h4,.lib-markdown h5,.lib-markdown h6{margin:1.2em 0 .5em;line-height:1.25}.lib-markdown h1:first-child{margin-top:0}.lib-markdown a{color:var(--lib-accent, #0969da);text-decoration:none}.lib-markdown a:hover{text-decoration:underline}.lib-markdown code{font-family:var(--lib-mono, ui-monospace, "SF Mono", Consolas, monospace);font-size:.9em;padding:.15em .35em;background:var(--lib-md-code-bg, #f0f2f5);border-radius:5px}.lib-markdown pre{padding:12px 14px;overflow-x:auto;background:var(--lib-md-pre-bg, #f6f8fa);border:1px solid var(--lib-line, #d8dee4);border-radius:var(--lib-radius, 8px)}.lib-markdown pre code{padding:0;background:none;font-size:13px}.lib-markdown blockquote{margin:0 0 1em;padding:0 1em;color:var(--lib-ink-soft, #57606a);border-left:4px solid var(--lib-line, #d8dee4)}.lib-markdown table{border-collapse:collapse;margin:0 0 1em;display:block;overflow-x:auto}.lib-markdown th,.lib-markdown td{padding:6px 12px;border:1px solid var(--lib-line, #d8dee4)}.lib-markdown th{background:var(--lib-md-th-bg, #f6f8fa)}.lib-markdown img{max-width:100%}.lib-markdown hr{border:0;border-top:1px solid var(--lib-line, #d8dee4);margin:1.5em 0}.lib-markdown ul,.lib-markdown ol{padding-left:1.8em}.lib-markdown input[type=checkbox]{margin-right:.4em}.lib-diff{font-family:var(--lib-mono, ui-monospace, "SF Mono", Consolas, monospace);font-size:var(--lib-diff-font-size, 12.5px)}.lib-diff__empty,.lib-diff__binary{font-family:var(--lib-font, system-ui, sans-serif);color:var(--lib-ink-soft, #57606a);padding:8px 12px}.lib-diff__file{margin-bottom:16px;border:1px solid var(--lib-line, #d8dee4);border-radius:var(--lib-radius, 8px);overflow:hidden;background:var(--lib-surface, #fff)}.lib-diff__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;cursor:pointer;background:var(--lib-diff-head-bg, #f6f8fa);border-bottom:1px solid var(--lib-line, #d8dee4);font-weight:600;list-style:none}.lib-diff__file:not([open]) .lib-diff__head{border-bottom:none}.lib-diff__head::-webkit-details-marker{display:none}.lib-diff__head:before{content:"▾";margin-right:4px;color:var(--lib-ink-soft, #57606a)}.lib-diff__file:not([open]) .lib-diff__head:before{content:"▸"}.lib-diff__path{overflow-wrap:anywhere}.lib-diff__stats{flex:none;font-weight:400}.lib-diff__stat-add{color:var(--lib-diff-add-ink, #1a7f37);margin-right:8px}.lib-diff__stat-del{color:var(--lib-diff-del-ink, #cf222e)}.lib-diff__table{width:100%;border-collapse:collapse}.lib-diff__no{width:1%;min-width:42px;padding:0 8px;text-align:right;vertical-align:top;-webkit-user-select:none;user-select:none;color:var(--lib-ink-soft, #8c959f);background:var(--lib-diff-no-bg, #fafbfc);border-right:1px solid var(--lib-line-soft, #eaeef2)}.lib-diff__code{padding:0 8px;white-space:pre-wrap;overflow-wrap:anywhere}.lib-diff__marker{display:inline-block;width:1ch;margin-right:4px;-webkit-user-select:none;user-select:none}.lib-diff__line--add .lib-diff__code{background:var(--lib-diff-add-bg, #dafbe1)}.lib-diff__line--add .lib-diff__no{background:var(--lib-diff-add-no-bg, #aceebb)}.lib-diff__line--del .lib-diff__code{background:var(--lib-diff-del-bg, #ffebe9)}.lib-diff__line--del .lib-diff__no{background:var(--lib-diff-del-no-bg, #ffcecb)}.lib-diff__line--hunk .lib-diff__code,.lib-diff__line--hunk .lib-diff__no{background:var(--lib-diff-hunk-bg, #ddf4ff);color:var(--lib-ink-soft, #57606a);padding-top:3px;padding-bottom:3px}.lib-diff__line--meta .lib-diff__code{color:var(--lib-ink-soft, #8c959f)}.lib-crumbs{margin-bottom:var(--lib-crumbs-gap, 16px);font-family:var(--lib-mono, ui-monospace, "SF Mono", Consolas, monospace);font-size:var(--lib-crumbs-font-size, 14px);color:var(--lib-ink-2, #4a5560)}.lib-crumbs a{color:var(--lib-accent, #0969da);text-decoration:none}.lib-crumbs a:hover{text-decoration:underline}.lib-tree{width:100%;border-collapse:collapse;background:var(--lib-surface, #fff);border:1px solid var(--lib-line, #d8dee4);border-radius:var(--lib-radius, 8px);overflow:hidden;font-family:var(--lib-mono, ui-monospace, "SF Mono", Consolas, monospace);font-size:var(--lib-tree-font-size, 13px)}.lib-tree td{padding:var(--lib-tree-cell-pad, 8px 16px);border-top:1px solid var(--lib-line-soft, #eaeef2)}.lib-tree tr:first-child td{border-top:none}.lib-tree tr:hover td{background:var(--lib-bg-2, #f4f6f8)}.lib-tree a{color:var(--lib-ink, #1f2a37);text-decoration:none}.lib-tree a:hover{color:var(--lib-accent, #0969da)}.lib-tree__icon{margin-right:var(--lib-tree-icon-gap, 10px);display:inline-flex;vertical-align:text-bottom;color:var(--lib-ink-3, #6b7683)}.lib-tree__size{text-align:right;color:var(--lib-ink-3, #6b7683);font-size:var(--lib-tree-size-font, 12px)}.lib-tree__empty{color:var(--lib-ink-3, #6b7683)}.lib-code{display:flex;overflow:auto;background:var(--lib-code-bg, var(--lib-surface, #fff));font-family:var(--lib-mono, ui-monospace, "SF Mono", Consolas, monospace);font-size:var(--lib-code-font-size, 13px);line-height:var(--lib-code-line-height, 1.55)}.lib-code__gutter{flex:none;margin:0;padding:var(--lib-code-pad, 12px) var(--lib-code-gutter-pad, 12px);text-align:right;color:var(--lib-code-gutter-ink, var(--lib-ink-3, #6b7683));background:var(--lib-code-gutter-bg, var(--lib-bg-2, #f4f6f8));border-right:1px solid var(--lib-line-soft, #eaeef2);-webkit-user-select:none;user-select:none}.lib-code__pre{margin:0;padding:var(--lib-code-pad, 12px);overflow:visible}.lib-code__pre code{font:inherit;background:none;padding:0}.lib-commits{background:var(--lib-surface, #fff);border:1px solid var(--lib-line, #d8dee4);border-radius:var(--lib-radius, 8px);overflow:hidden}.lib-commits__empty{margin:0;padding:var(--lib-commit-pad, 12px 16px);color:var(--lib-ink-3, #6b7683)}.lib-commit-row{display:flex;align-items:center;justify-content:space-between;gap:var(--lib-commit-gap, 20px);padding:var(--lib-commit-pad, 12px 16px);border-top:1px solid var(--lib-line-soft, #eaeef2)}.lib-commit-row:first-child{border-top:none}.lib-commit-row:hover{background:var(--lib-bg-2, #f4f6f8)}.lib-commit-row__main{display:flex;flex-direction:column;gap:2px;min-width:0}.lib-commit-row__subject{font-weight:var(--lib-commit-subject-weight, 500);color:var(--lib-ink, #1f2a37);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lib-commit-row__subject:hover{color:var(--lib-accent, #0969da)}.lib-commit-row__meta{font-family:var(--lib-mono, ui-monospace, "SF Mono", Consolas, monospace);font-size:var(--lib-commit-meta-size, 12px);color:var(--lib-ink-3, #6b7683)}.lib-commit-row__sha{flex:none;font-family:var(--lib-mono, ui-monospace, "SF Mono", Consolas, monospace);font-size:var(--lib-commit-sha-size, 13px);color:var(--lib-accent, #0969da);background:var(--lib-bg-1, #f9fafb);padding:3px 10px;border:1px solid var(--lib-line, #d8dee4);border-radius:var(--lib-radius-sm, 5px)}.lib-commits__more{display:block;width:100%;border:none;border-top:1px solid var(--lib-line-soft, #eaeef2);border-radius:0;padding:var(--lib-commit-pad, 12px 16px);background:var(--lib-surface, #fff);color:var(--lib-ink-2, #4a5560);font-family:var(--lib-mono, ui-monospace, "SF Mono", Consolas, monospace);font-size:var(--lib-commit-sha-size, 13px);cursor:pointer}.lib-commits__more:hover:not(:disabled){background:var(--lib-bg-2, #f4f6f8);color:var(--lib-ink, #1f2a37)}.lib-commit-view__head{padding:var(--lib-commit-pad, 12px 16px);background:var(--lib-surface, #fff);border:1px solid var(--lib-line, #d8dee4);border-radius:var(--lib-radius, 8px) var(--lib-radius, 8px) 0 0;border-bottom:none}.lib-commit-view__head h2{margin:0 0 6px;font-size:var(--lib-commit-title-size, 18px)}.lib-commit-view__body{margin:0 0 8px;white-space:pre-wrap;font-family:var(--lib-mono, ui-monospace, "SF Mono", Consolas, monospace);font-size:var(--lib-commit-meta-size, 12px);color:var(--lib-ink-2, #4a5560)}.lib-commit-view__meta{display:flex;flex-wrap:wrap;gap:var(--lib-commit-gap, 20px);align-items:center;font-family:var(--lib-mono, ui-monospace, "SF Mono", Consolas, monospace);font-size:var(--lib-commit-meta-size, 12px);color:var(--lib-ink-3, #6b7683)}.lib-chat{position:relative;display:flex;flex-direction:column;flex:1 1 auto;min-height:0;font-family:var(--lib-chat-font, var(--lib-font, system-ui, sans-serif));color:var(--lib-chat-ink, var(--lib-ink, #1f2a37))}.lib-chat__scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;overflow-anchor:none}.lib-chat__inner{overflow-anchor:none;max-width:var(--lib-chat-max-width, 780px);margin:0 auto;padding:var(--lib-chat-pad, 24px 16px 32px);display:flex;flex-direction:column;gap:var(--lib-chat-gap, 22px)}.lib-chat__empty{margin:auto;padding:48px 0;text-align:center;color:var(--lib-muted, #6b7280)}.lib-chat__msg{display:flex;flex-direction:column;gap:6px;min-width:0}.lib-chat__msg--user{align-items:flex-end}.lib-chat__bubble{max-width:100%;min-width:0;overflow-wrap:anywhere;font-size:var(--lib-chat-font-size, 15px);line-height:var(--lib-chat-line-height, 1.6)}.lib-chat__msg--user .lib-chat__bubble{max-width:min(85%,640px);padding:10px 14px;border-radius:var(--lib-chat-bubble-radius, 18px);background:var(--lib-chat-user-bg, var(--lib-accent-tint, #e8f0fa));color:var(--lib-chat-user-ink, inherit)}.lib-chat__msg--assistant .lib-chat__bubble{width:100%;background:var(--lib-chat-assistant-bg, transparent)}.lib-chat__text{white-space:pre-wrap}.lib-chat__block-label{display:flex;align-items:center;gap:8px;margin:18px 0 8px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--lib-chat-label-ink, var(--lib-accent, #1d6fb8))}.lib-chat__block-label:after{content:"";flex:1;border-top:1px solid var(--lib-line, #d0d3d9)}.lib-chat__bubble>.lib-chat__block-label:first-child{margin-top:0}.lib-chat__md{font-size:inherit;line-height:inherit}.lib-chat__md>:first-child{margin-top:0}.lib-chat__md>:last-child{margin-bottom:0}.lib-chat__md pre{overflow-x:auto}.lib-chat__md img{max-width:100%}.lib-chat__md table{display:block;max-width:100%;overflow-x:auto}.lib-chat__caret{display:inline-block;width:8px;height:1.05em;margin-left:2px;vertical-align:text-bottom;background:currentColor;opacity:.55;animation:lib-chat-blink 1s steps(2) infinite}@keyframes lib-chat-blink{50%{opacity:0}}@keyframes lib-chat-pulse{50%{opacity:.25}}.lib-chat__meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--lib-chat-meta-ink, var(--lib-muted, #6b7280))}.lib-chat__msg--user .lib-chat__meta{justify-content:flex-end}.lib-chat__msg.is-error .lib-chat__note{color:var(--lib-danger, #b3341f)}.lib-chat__actions{display:inline-flex;gap:2px}.lib-chat__action{display:inline-flex;align-items:center;gap:5px;padding:3px 7px;border:0;border-radius:6px;background:transparent;color:inherit;font:inherit;font-size:12px;cursor:pointer}.lib-chat__action:hover{background:var(--lib-track, #eef1f4);color:var(--lib-ink, #1f2a37)}.lib-chat__jump{position:absolute;left:50%;bottom:12px;transform:translate(-50%);width:34px;height:34px;display:grid;place-items:center;cursor:pointer;border-radius:50%;border:var(--lib-border-w, 1px) solid var(--lib-line, #d0d3d9);background:var(--lib-surface, #fff);color:var(--lib-ink, #1f2a37);box-shadow:var(--lib-shadow, 0 8px 24px rgba(0, 0, 0, .12))}.lib-chat__tool{margin:8px 0;font-size:13px;border:var(--lib-border-w, 1px) solid var(--lib-chat-tool-line, var(--lib-line, #d0d3d9));border-radius:var(--lib-chat-tool-radius, 10px);background:var(--lib-chat-tool-bg, var(--lib-surface, #fff))}.lib-chat__tool-summary{display:flex;align-items:center;gap:8px;padding:7px 10px;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none;color:var(--lib-chat-tool-ink, var(--lib-muted, #6b7280))}.lib-chat__tool-summary::-webkit-details-marker{display:none}.lib-chat__tool-summary:after{content:"";margin-left:auto;flex:none;padding:2.5px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg) translateY(-2px)}.lib-chat__tool[open]>.lib-chat__tool-summary:after{transform:rotate(-135deg) translateY(-1px)}.lib-chat__tool-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lib-chat__tool.is-error>.lib-chat__tool-summary{color:var(--lib-danger, #b3341f)}.lib-chat__tool-dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--lib-accent, #1d6fb8);animation:lib-chat-pulse 1s ease-in-out infinite}.lib-chat__tool-body{padding:0 10px 10px;border-top:var(--lib-border-w, 1px) solid var(--lib-line, #d0d3d9)}.lib-chat__tool-heading{margin:8px 0 4px;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--lib-muted, #6b7280)}.lib-chat__tool-pre{margin:0;max-height:var(--lib-chat-tool-max-h, 280px);overflow:auto;padding:8px;border-radius:6px;background:var(--lib-chat-code-bg, var(--lib-track, #eef1f4));font-family:var(--lib-font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.lib-chat__files{display:flex;flex-direction:column;gap:6px;margin:6px 0 10px}.lib-chat__msg--user .lib-chat__files{align-items:flex-end;margin:0}.lib-chat__file{display:flex;align-items:center;gap:10px;max-width:100%;padding:7px 10px;border:var(--lib-border-w, 1px) solid var(--lib-chat-file-line, var(--lib-line, #d0d3d9));border-radius:var(--lib-chat-tool-radius, 10px);background:var(--lib-chat-file-bg, var(--lib-surface, #fff));font-size:13px}.lib-chat__file-icon{flex:none;color:var(--lib-accent, #1d6fb8)}.lib-chat__file-name{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.lib-chat__file-size{flex:none;font-size:12px;color:var(--lib-muted, #6b7280)}.lib-chat__file-link{flex:none;display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:6px;font-size:12px;text-decoration:none;color:var(--lib-accent, #1d6fb8);background:var(--lib-chat-file-link-bg, var(--lib-accent-tint, #e8f0fa))}.lib-chat__file-link:hover{filter:brightness(.96)}.lib-chat__file:has(.lib-chat__file-preview){flex-wrap:wrap}.lib-chat__file-preview{flex:1 1 100%;display:block;margin:0 0 6px;line-height:0}.lib-chat__file-preview img{display:block;max-width:100%;max-height:var(--lib-chat-preview-max-h, 320px);object-fit:contain;border-radius:6px;background:repeating-conic-gradient(var(--lib-chat-preview-check, rgba(127,127,127,.14)) 0 25%,transparent 0 50%) 50% / 16px 16px}.lib-chat__thinking{margin:2px 0 10px;padding-left:12px;border-left:2px solid var(--lib-chat-thinking-rule, rgba(127,127,127,.35));color:var(--lib-chat-thinking-fg, var(--lib-muted, #6b7280));font-size:.94em}.lib-chat__thinking-head{display:inline-flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:13px;font-weight:600;list-style:none}.lib-chat__thinking-head::-webkit-details-marker{display:none}.lib-chat__thinking-head:after{content:"›";transition:transform .15s}.lib-chat__thinking[open]>.lib-chat__thinking-head:after{transform:rotate(90deg)}.lib-chat__thinking.is-live .lib-chat__thinking-head>span{animation:lib-chat-thinking-pulse 1.4s ease-in-out infinite}.lib-chat__thinking-body{margin-top:6px;max-height:var(--lib-chat-thinking-max-h, 360px);overflow-y:auto}.lib-chat__thinking-body hr{margin:10px 0;border:0;border-top:1px dashed var(--lib-chat-thinking-rule, rgba(127,127,127,.35))}@keyframes lib-chat-thinking-pulse{50%{opacity:.45}}@media (prefers-reduced-motion: reduce){.lib-chat__thinking.is-live .lib-chat__thinking-head>span{animation:none}}.lib-chat__code{margin:0 0 12px;border:1px solid var(--lib-chat-code-border, var(--lib-border, #d0d7de));border-radius:8px;overflow:hidden}.lib-chat__code-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 4px 2px 12px;font-size:12px;color:var(--lib-muted, #6b7280);background:var(--lib-chat-code-bar-bg, rgba(127,127,127,.08));border-bottom:1px solid var(--lib-chat-code-border, var(--lib-border, #d0d7de))}.lib-chat__code-lang{text-transform:lowercase;font-family:var(--lib-font-mono, ui-monospace, monospace)}.lib-chat__code-copy{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border:0;border-radius:5px;background:none;color:inherit;font:inherit;cursor:pointer}.lib-chat__code-copy:hover{background:#7f7f7f29;color:var(--lib-text, inherit)}.lib-chat__md .lib-chat__code>pre{margin:0;border:0;border-radius:0}.lib-chat__tool-live{margin-top:8px;max-height:var(--lib-chat-tool-live-max-h, 220px)}.lib-chat__tool.is-live>.lib-chat__tool-summary{color:var(--lib-chat-tool-live-ink, var(--lib-ink, #1f2a37))}.lib-chat-composer{width:100%;max-width:var(--lib-chat-max-width, 780px);margin:0 auto;box-sizing:border-box;padding:var(--lib-chat-composer-pad, 0 16px 16px);font-family:var(--lib-chat-font, var(--lib-font, system-ui, sans-serif));color:var(--lib-chat-ink, var(--lib-ink, #1f2a37))}.lib-chat-composer__box{border:var(--lib-border-w, 1px) solid var(--lib-line, #d0d3d9);border-radius:var(--lib-chat-composer-radius, 20px);background:var(--lib-chat-composer-bg, var(--lib-surface, #fff));box-shadow:var(--lib-chat-composer-shadow, 0 2px 10px rgba(0, 0, 0, .06))}.lib-chat-composer__row{display:flex;align-items:flex-end;gap:6px;padding:6px}.lib-chat-composer:focus-within .lib-chat-composer__box{border-color:var(--lib-accent, #1d6fb8)}.lib-chat-composer.is-dragging .lib-chat-composer__box{border-style:dashed;border-color:var(--lib-accent, #1d6fb8)}.lib-chat-composer__tools{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:0 10px 8px}.lib-chat-composer__tools .lib-select__btn{padding:4px 10px;font-size:12px;border-radius:999px;gap:8px;background:var(--lib-chat-tool-bg, var(--lib-track, #eef1f4))}.lib-chat-composer__input{flex:1 1 auto;min-width:0;resize:none;border:0;outline:0;background:transparent;color:inherit;font:inherit;font-size:var(--lib-chat-font-size, 15px);line-height:1.5;padding:7px 6px;max-height:50vh}.lib-chat-composer__input::placeholder{color:var(--lib-muted, #6b7280)}.lib-chat-composer__btn{flex:none;width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:50%;cursor:pointer;background:transparent;color:var(--lib-muted, #6b7280)}.lib-chat-composer__btn:hover:not(:disabled){background:var(--lib-track, #eef1f4);color:var(--lib-ink, #1f2a37)}.lib-chat-composer__send,.lib-chat-composer__stop{background:var(--lib-accent, #1d6fb8);color:var(--lib-accent-contrast, #fff)}.lib-chat-composer__send:hover:not(:disabled),.lib-chat-composer__stop:hover:not(:disabled){background:var(--lib-accent-strong, #155a95);color:var(--lib-accent-contrast, #fff)}.lib-chat-composer__send:disabled{opacity:.35;cursor:default}.lib-chat-composer__attachments{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.lib-chat__cmd{margin:8px 0;padding:4px 0 4px 10px;font-size:13px;color:var(--lib-muted, #6b7280);border-left:2px solid var(--lib-chat-cmd-rule, var(--lib-line, #e3e7ec))}.lib-chat__cmd.is-failed{border-left-color:var(--lib-danger, #c0392b)}.lib-chat__cmd-line{display:flex;align-items:center;gap:6px;min-width:0}.lib-chat__cmd-line svg{flex:none}.lib-chat__cmd-line code{min-width:0;overflow-wrap:anywhere;background:none;padding:0;color:var(--lib-ink, #1f2a37);font:13px/1.4 var(--lib-mono, ui-monospace, SFMono-Regular, Menlo, monospace)}.lib-chat__cmd-note{margin-left:auto;flex:none;font-size:11px;color:var(--lib-muted, #6b7280)}.lib-chat__cmd-result{margin:4px 0 0;max-height:320px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font:12.5px/1.45 var(--lib-mono, ui-monospace, SFMono-Regular, Menlo, monospace);color:var(--lib-ink, #1f2a37)}.lib-chat__cmd.is-failed .lib-chat__cmd-result{color:var(--lib-danger, #c0392b)}.lib-chat-composer__box{position:relative}.lib-chat-composer__menu{position:absolute;left:0;right:0;bottom:calc(100% + 6px);z-index:20;max-height:min(320px,50vh);overflow-y:auto;margin:0;padding:4px;list-style:none;border:1px solid var(--lib-line, #e3e7ec);border-radius:var(--lib-chat-menu-radius, 12px);background:var(--lib-chat-menu-bg, var(--lib-surface, #fff));box-shadow:var(--lib-chat-menu-shadow, 0 8px 24px rgba(0, 0, 0, .12))}.lib-chat-composer__item{display:flex;align-items:baseline;gap:12px;padding:7px 10px;border-radius:8px;cursor:pointer;font-size:14px;color:var(--lib-ink, #1f2a37)}.lib-chat-composer__item.is-active{background:var(--lib-chat-menu-active, var(--lib-track, #eef1f4))}.lib-chat-composer__item-label{flex:none;white-space:nowrap;font-family:var(--lib-mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:13px}.lib-chat-composer__item-detail{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--lib-muted, #6b7280)}.lib-chat-composer__cmd{font-weight:600;color:var(--lib-accent, #1d6fb8)}.lib-chat-composer__args,.lib-chat-composer__path{color:var(--lib-ink, #1f2a37)}.lib-chat-composer__input.is-command{font-family:var(--lib-mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:14px}@media (max-width: 520px){.lib-chat-composer__item{flex-direction:column;gap:2px}.lib-chat-composer__item-detail{white-space:normal}}.lib-cmd-help{overflow-x:auto}.lib-cmd-help table{width:100%;border-collapse:collapse;font-size:14px}.lib-cmd-help td{padding:6px 8px;border-top:1px solid var(--lib-line, #e3e7ec);vertical-align:top}.lib-cmd-help__section th{padding:14px 8px 4px;text-align:left;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--lib-muted, #6b7280)}.lib-cmd-help tr:first-child th{padding-top:0}.lib-cmd-help__usage{white-space:nowrap}.lib-cmd-help__usage code{font-family:var(--lib-mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:13px;background:none;padding:0}.lib-cmd-help__name{font-weight:600;color:var(--lib-accent, #1d6fb8)}.lib-cmd-help__aliases{margin-top:2px;font-size:12px;color:var(--lib-muted, #6b7280)}.lib-cmd-help__desc{color:var(--lib-ink, #1f2a37);line-height:1.45}@media (max-width: 520px){.lib-cmd-help__usage{white-space:normal}}.lib-chat-composer__hint{margin-top:6px;text-align:center;font-size:12px;color:var(--lib-muted, #6b7280)}.lib-chat-chip{display:inline-flex;align-items:center;gap:6px;max-width:240px;padding:4px 6px 4px 10px;border:var(--lib-border-w, 1px) solid var(--lib-line, #d0d3d9);border-radius:999px;background:var(--lib-surface, #fff);font-size:12px}.lib-chat-chip__name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lib-chat-chip.is-busy{opacity:.6}.lib-chat-chip__x{flex:none;width:20px;height:20px;display:grid;place-items:center;cursor:pointer;border:0;border-radius:50%;background:transparent;color:var(--lib-muted, #6b7280)}.lib-chat-chip__x:hover{background:var(--lib-track, #eef1f4);color:var(--lib-ink, #1f2a37)}.lib-convlist{display:flex;flex-direction:column;gap:8px;height:100%;min-height:0;font-family:var(--lib-font, system-ui, sans-serif);color:var(--lib-convlist-ink, var(--lib-ink, #1f2a37))}.lib-convlist__new{display:flex;align-items:center;gap:8px;width:100%;padding:9px 12px;cursor:pointer;border:var(--lib-border-w, 1px) solid var(--lib-line, #d0d3d9);border-radius:var(--lib-radius, 8px);background:var(--lib-surface, #fff);color:inherit;font:inherit;font-size:14px}.lib-convlist__new:hover{background:var(--lib-track, #eef1f4)}.lib-convlist__search{display:flex;align-items:center;gap:6px;padding:6px 10px;color:var(--lib-muted, #6b7280);border:var(--lib-border-w, 1px) solid var(--lib-line, #d0d3d9);border-radius:var(--lib-radius, 8px);background:var(--lib-surface, #fff)}.lib-convlist__search input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--lib-ink, #1f2a37);font:inherit;font-size:13px}.lib-convlist__scroll{flex:1 1 auto;min-height:0;overflow-y:auto;margin:0 -4px;padding:0 4px}.lib-convlist__heading{padding:12px 8px 4px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--lib-muted, #6b7280)}.lib-convlist__items{list-style:none;margin:0;padding:0}.lib-convlist__item{position:relative;display:flex;align-items:center;border-radius:var(--lib-radius, 8px)}.lib-convlist__item:hover,.lib-convlist__item.is-active{background:var(--lib-convlist-active-bg, var(--lib-track, #eef1f4))}.lib-convlist__open{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:8px 10px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.lib-convlist__title{width:100%;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lib-convlist__subtitle{width:100%;font-size:12px;color:var(--lib-muted, #6b7280);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lib-convlist__busy{position:absolute;right:10px;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;background:var(--lib-accent, #1d6fb8);animation:lib-chat-pulse 1s ease-in-out infinite}.lib-convlist__tools{display:none;gap:2px;padding-right:6px}.lib-convlist__item:hover .lib-convlist__tools,.lib-convlist__item:focus-within .lib-convlist__tools{display:inline-flex}@media (hover: none){.lib-convlist__item.is-active .lib-convlist__tools{display:inline-flex}}.lib-convlist__tool{width:26px;height:26px;display:grid;place-items:center;cursor:pointer;border:0;border-radius:6px;background:transparent;color:var(--lib-muted, #6b7280)}.lib-convlist__tool:hover{color:var(--lib-ink, #1f2a37);background:var(--lib-surface, #fff)}.lib-convlist__rename{flex:1;min-width:0;margin:4px;padding:5px 8px;outline:0;border:var(--lib-border-w, 1px) solid var(--lib-accent, #1d6fb8);border-radius:6px;background:var(--lib-surface, #fff);color:var(--lib-ink, #1f2a37);font:inherit;font-size:14px}.lib-convlist__empty{padding:16px 8px;font-size:13px;color:var(--lib-muted, #6b7280)}@media (pointer: coarse){.lib-chat-composer__input{font-size:16px}.lib-convlist__open{padding:11px 10px}.lib-convlist__tool{width:36px;height:36px}.lib-chat__action{padding:7px 9px}}.lib-fb{display:flex;flex-direction:column;gap:12px}.lib-fb__bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.lib-fb__crumbs{display:flex;align-items:center;flex-wrap:wrap;min-width:0}.lib-fb__crumb{background:none;border:none;cursor:pointer;font:inherit;color:var(--lib-accent, #6ea8fe);padding:2px 4px;border-radius:4px}.lib-fb__crumb:disabled{color:var(--lib-ink, #e6e9ee);cursor:default;font-weight:600}.lib-fb__crumb:hover:not(:disabled){background:var(--lib-surface, #1b1f25)}.lib-fb__crumbsep{color:var(--lib-muted, #7b828d)}.lib-fb__actions{margin-left:auto;display:inline-flex;gap:8px;align-items:center}.lib-fb__newfolder{display:inline-flex;gap:6px;align-items:center}.lib-fb__loading,.lib-fb__empty{color:var(--lib-muted, #7b828d);padding:24px;text-align:center}.lib-fb__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.lib-fb__card{position:relative;border:1px solid var(--lib-line, #2a2f37);border-radius:var(--lib-radius, 8px);background:var(--lib-surface, #1b1f25);overflow:hidden;transition:border-color .1s}.lib-fb__card:hover{border-color:var(--lib-accent, #6ea8fe)}.lib-fb__card.is-dir{background:var(--lib-bg, #14171c)}.lib-fb__open{display:grid;gap:4px;width:100%;padding:14px 10px 10px;background:none;border:none;cursor:pointer;font:inherit;color:var(--lib-ink, #e6e9ee);text-align:center}.lib-fb__icon{line-height:0;color:var(--lib-muted, #7b828d)}.lib-fb__card.is-dir .lib-fb__icon{color:var(--lib-accent, #6ea8fe)}.lib-fb__bar .lib-btn{display:inline-flex;align-items:center;gap:5px}.lib-fb__name{font-size:12.5px;word-break:break-word;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.lib-fb__renameinput{font-size:12px;text-align:center}.lib-fb__meta{color:var(--lib-muted, #7b828d);font-size:11px;min-height:13px}.lib-fb__rowactions{position:absolute;top:4px;right:4px;display:inline-flex;gap:2px;opacity:0;transition:opacity .1s;background:color-mix(in srgb,var(--lib-surface, #1b1f25) 85%,transparent);border-radius:6px}.lib-fb__card:hover .lib-fb__rowactions,.lib-fb__card:focus-within .lib-fb__rowactions{opacity:1}.lib-fb__act{background:none;border:none;cursor:pointer;font-size:13px;padding:2px 4px;color:var(--lib-muted, #7b828d);border-radius:4px}.lib-fb__act:hover{color:var(--lib-accent, #6ea8fe);background:var(--lib-bg, #14171c)}.lib-fb__act--danger:hover{color:var(--lib-danger, #e5484d)}.lib-fb__tool{display:inline-flex;align-items:center;gap:5px;background:none;cursor:pointer;font:inherit;color:var(--lib-muted, #7b828d);border:1px solid var(--lib-line, #2a2f37);border-radius:6px;padding:5px 8px;text-transform:capitalize}.lib-fb__tool:hover{color:var(--lib-ink, #e6e9ee);border-color:var(--lib-accent, #6ea8fe)}.lib-fb__check{position:absolute;top:6px;left:6px;z-index:2;opacity:0}.lib-fb__card:hover .lib-fb__check,.lib-fb__card.is-sel .lib-fb__check{opacity:1}.lib-fb__card.is-sel,.lib-fb__table tr.is-sel{outline:2px solid var(--lib-accent, #6ea8fe);outline-offset:-2px}.lib-fb__bulkbar{display:flex;align-items:center;gap:12px;padding:6px 10px;background:var(--lib-surface);border:1px solid var(--lib-accent, #6ea8fe);border-radius:var(--lib-radius, 8px)}.lib-fb__bulkacts{margin-left:auto;display:inline-flex;gap:6px}.lib-fb__kebab{position:absolute;top:4px;right:4px;background:none;border:none;cursor:pointer;color:var(--lib-muted);padding:2px;border-radius:4px;opacity:0}.lib-fb__card:hover .lib-fb__kebab{opacity:1}.lib-fb__kebab:hover{color:var(--lib-accent);background:var(--lib-bg)}.lib-fb__table{border-collapse:collapse;width:100%;font-size:13px}.lib-fb__table th{text-align:left;color:var(--lib-muted);font-weight:500;padding:6px 8px;border-bottom:1px solid var(--lib-line);cursor:pointer;-webkit-user-select:none;user-select:none}.lib-fb__table td{padding:4px 8px;border-bottom:1px solid var(--lib-line)}.lib-fb__table tbody tr:hover{background:var(--lib-surface)}.lib-fb__c-check{width:28px}.lib-fb__c-size{width:90px;color:var(--lib-muted)}.lib-fb__c-date{width:130px;color:var(--lib-muted)}.lib-fb__c-act{width:34px}.lib-fb__rowopen{display:inline-flex;align-items:center;gap:8px;background:none;border:none;cursor:pointer;font:inherit;color:var(--lib-ink);text-align:left;width:100%}.lib-fb__rowopen:hover{color:var(--lib-accent)}.lib-fb__table .lib-fb__kebab{position:static;opacity:1}.lib-fb.is-dragover{outline:2px dashed var(--lib-accent, #6ea8fe);outline-offset:-6px;border-radius:var(--lib-radius, 8px)}.lib-fb__droplabel{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;gap:10px;justify-items:center;z-index:900;background:color-mix(in srgb,var(--lib-bg, #14171c) 70%,transparent);color:var(--lib-accent, #6ea8fe);font-size:18px;pointer-events:none}@media (max-width: 640px){.lib-fb__bar{flex-wrap:wrap;gap:8px}.lib-fb__crumbs{flex:1 1 100%;overflow-x:auto;white-space:nowrap}.lib-fb__actions{margin-left:0;flex-wrap:wrap;gap:6px;width:100%}.lib-fb__grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}.lib-fb__icon svg{width:26px;height:26px}.lib-fb__name{font-size:11.5px}.lib-fb__c-date,.lib-fb__table th.lib-fb__c-date{display:none}.lib-fb__table{font-size:12.5px}.lib-fb__kebab,.lib-fb__check{opacity:1}.lib-fb__bulkbar{flex-wrap:wrap}.lib-fb__bulkacts{margin-left:0;width:100%}}@media (hover: none){.lib-fb__kebab,.lib-fb__check,.lib-fb__rowactions{opacity:1!important}}.lib-fb__error{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--lib-radius, 8px);background:var(--lib-fb-error-bg, #3a1d20);color:var(--lib-fb-error-ink, #f2b8b5);border:1px solid color-mix(in srgb,var(--lib-fb-error-ink, #f2b8b5) 40%,transparent);font-size:12.5px}.lib-fb__error svg{flex:none}.lib-fb__errortext{flex:1 1 auto;min-width:0;word-break:break-word}.lib-fb__error .lib-btn{flex:none}.lib-fb__refresh{padding:5px 7px}.lib-fb__busy{display:inline-block;flex:none;width:14px;height:14px;border-radius:50%;border:2px solid color-mix(in srgb,var(--lib-fb-busy-ink, #7b828d) 28%,transparent);border-top-color:var(--lib-fb-busy-ink, #7b828d);animation:lib-fb-spin .8s linear infinite}.lib-fb__card .lib-fb__busy{width:26px;height:26px;border-width:3px}@keyframes lib-fb-spin{to{transform:rotate(360deg)}}.lib-fb__card.is-busy,.lib-fb__table tr.is-busy{opacity:.72}@media (prefers-reduced-motion: reduce){.lib-fb__busy{animation-duration:2.4s}}.lib-fb__progress{display:block;height:3px;overflow:hidden;border-radius:2px;background:color-mix(in srgb,var(--lib-fb-progress, #6ea8fe) 22%,transparent)}.lib-fb__progressbar{display:block;height:100%;background:var(--lib-fb-progress, #6ea8fe);transition:width .15s linear}.lib-fb__card .lib-fb__progress{position:absolute;left:0;right:0;bottom:0;border-radius:0}.lib-fb__rowname .lib-fb__progress{margin-top:3px}.lib-fb__link{display:inline-flex;line-height:0;vertical-align:middle;margin-left:4px;color:var(--lib-fb-link-badge, #6ea8fe)}.lib-fb__c-mode{width:96px;white-space:nowrap;color:var(--lib-muted, #7b828d);font-family:var(--lib-font-mono, ui-monospace, monospace);font-size:12px}.lib-fb__c-owner{width:112px;white-space:nowrap;color:var(--lib-muted, #7b828d)}.lib-fb__table th.lib-fb__c-mode,.lib-fb__table th.lib-fb__c-owner{cursor:default}@media (max-width: 640px){.lib-fb__c-mode,.lib-fb__table th.lib-fb__c-mode,.lib-fb__c-owner,.lib-fb__table th.lib-fb__c-owner{display:none}}.lib-fv{display:flex;flex-direction:column;min-height:200px;max-height:75vh}.lib-fv__msg{color:var(--lib-muted, #7b828d);padding:40px;text-align:center}.lib-fv__msg--err{color:var(--lib-danger, #e5484d)}.lib-fv__img{max-width:100%;max-height:72vh;object-fit:contain;margin:0 auto;display:block;background:#0008;border-radius:6px}.lib-fv__media{max-width:100%;max-height:72vh;display:block;margin:0 auto;background:#000;border-radius:6px}.lib-fv__audio{width:100%;margin:24px 0}.lib-fv__pdf{width:100%;height:72vh;border:0;border-radius:6px;background:#fff}.lib-fv__md{overflow:auto;padding:4px 8px}.lib-fv__text{overflow:auto;margin:0;padding:12px;font-family:var(--lib-font-mono, ui-monospace, Menlo, Consolas, monospace);font-size:12.5px;line-height:1.5;white-space:pre;-moz-tab-size:2;tab-size:2;background:var(--lib-bg, #0f1216);border-radius:6px;color:var(--lib-ink, #e6e9ee)}.lib-fv__none{display:grid;gap:12px;place-items:center;padding:48px;color:var(--lib-muted, #7b828d)}.lib-fv__none .lib-btn{display:inline-flex;align-items:center;gap:6px}.lib-fv__bar{display:flex;align-items:center;gap:6px;margin-bottom:8px}.lib-fv__spacer{flex:1}.lib-fv__body{flex:1;min-height:0;overflow:auto}.lib-fv__editor{width:100%;height:66vh;box-sizing:border-box;resize:vertical;font-family:var(--lib-font-mono, ui-monospace, Menlo, Consolas, monospace);font-size:12.5px;line-height:1.5;-moz-tab-size:2;tab-size:2;background:var(--lib-bg, #0f1216);color:var(--lib-ink, #e6e9ee);border:1px solid var(--lib-line, #2a2f37);border-radius:6px;padding:12px}.lib-fv__bar{flex-wrap:wrap}.lib-fv__title{display:flex;align-items:baseline;gap:8px;min-width:0;flex:0 1 auto}.lib-fv__name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;font-size:14px}.lib-fv__meta{flex:none;font-size:12px;color:var(--lib-muted, #7b828d)}.lib-fv__bar .lib-btn{display:inline-flex;align-items:center;gap:5px;text-decoration:none}.lib-fv__tabs{display:inline-flex;overflow:hidden;border-radius:7px;border:var(--lib-border-w, 1px) solid var(--lib-line, #d0d3d9)}.lib-fv__tab{border:0;background:none;padding:4px 10px;font:inherit;font-size:12px;cursor:pointer;color:var(--lib-muted, #7b828d)}.lib-fv__tab.is-on{background:var(--lib-accent-tint, #e8f0fa);color:var(--lib-accent, #1d6fb8)}.lib-fv__code{font-size:12.5px}.lib-fv__html{display:block;width:100%;height:72vh;border:0;border-radius:6px;background:#fff}.lib-fv__table-wrap{overflow:auto;max-width:100%}.lib-fv__table{border-collapse:collapse;font-size:12.5px}.lib-fv__table th,.lib-fv__table td{padding:4px 8px;text-align:left;white-space:nowrap;max-width:320px;overflow:hidden;text-overflow:ellipsis;border:var(--lib-border-w, 1px) solid var(--lib-line, #d0d3d9)}.lib-fv__table thead th{position:sticky;top:0;font-weight:600;background:var(--lib-fv-head-bg, var(--lib-track, #eef1f4))}.lib-fv__note{margin:8px 0 0;font-size:12px;color:var(--lib-muted, #7b828d)}.lib-fv--fill{height:100%;max-height:none;min-height:0}.lib-fv--fill .lib-fv__bar{margin:0;padding:8px 10px 8px 14px;gap:4px;border-bottom:var(--lib-border-w, 1px) solid var(--lib-line, #d0d3d9)}.lib-fv--fill .lib-fv__body{padding:12px}.lib-fv--fill .lib-fv__body--pdf,.lib-fv--fill .lib-fv__body--html{padding:0}.lib-fv--fill .lib-fv__pdf,.lib-fv--fill .lib-fv__html{height:100%;border-radius:0}.lib-fv--fill .lib-fv__img,.lib-fv--fill .lib-fv__media{max-height:100%}.lib-fv__bar .lib-btn{padding:5px 9px;font-size:13px;font-weight:500;line-height:1.2;gap:5px}.lib-fv__bar .lib-fv__close{padding:5px 7px}.lib-fv--fill .lib-fv__bar{flex-wrap:nowrap}.lib-fv--fill .lib-fv__title{flex:1 1 auto}.lib-fv--fill .lib-fv__spacer{flex:0 0 4px}@media (max-width: 640px){.lib-fv__bar .lib-fv__label{display:none}.lib-fv__bar .lib-btn{padding:6px 8px}}.lib-fv__ce{height:60vh}.lib-fv--fill .lib-fv__body--editing{padding:0;overflow:hidden}.lib-fv--fill .lib-fv__ce{height:100%;border:0;border-radius:0}.lib-fv__dirty{color:var(--lib-warn, #b7791f);font-weight:600}.lib-fv__notice{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--lib-danger, #b3341f)}:root{--lib-hl-keyword: #b3402f;--lib-hl-title: #6639ba;--lib-hl-const: #0550ae;--lib-hl-string: #14713a;--lib-hl-comment: #6a737d;--lib-hl-name: #14713a;--lib-hl-builtin: #8a4b00;--lib-hl-meta: #0550ae;--lib-hl-add: #116329;--lib-hl-add-bg: #dafbe1;--lib-hl-del: #82071e;--lib-hl-del-bg: #ffebe9}[data-theme=dark]{--lib-hl-keyword: #ff9d8a;--lib-hl-title: #c9b6ff;--lib-hl-const: #7fd0ff;--lib-hl-string: #8ddb8c;--lib-hl-comment: #8b949e;--lib-hl-name: #8ddb8c;--lib-hl-builtin: #ffc178;--lib-hl-meta: #7fd0ff;--lib-hl-add: #aff5b4;--lib-hl-add-bg: rgba(46, 160, 67, .18);--lib-hl-del: #ffdcd7;--lib-hl-del-bg: rgba(248, 81, 73, .18)}.hljs{color:inherit;background:transparent}.hljs-keyword,.hljs-doctag,.hljs-template-tag,.hljs-type,.hljs-variable.language_{color:var(--lib-hl-keyword)}.hljs-title,.hljs-title.class_,.hljs-title.function_{color:var(--lib-hl-title)}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable{color:var(--lib-hl-const)}.hljs-string,.hljs-regexp,.hljs-char.escape_{color:var(--lib-hl-string)}.hljs-comment,.hljs-code,.hljs-formula{color:var(--lib-hl-comment);font-style:italic}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo,.hljs-tag{color:var(--lib-hl-name)}.hljs-built_in,.hljs-symbol{color:var(--lib-hl-builtin)}.hljs-meta,.hljs-meta .hljs-string,.hljs-section,.hljs-bullet{color:var(--lib-hl-meta)}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:600}.hljs-addition{color:var(--lib-hl-add);background:var(--lib-hl-add-bg)}.hljs-deletion{color:var(--lib-hl-del);background:var(--lib-hl-del-bg)}.lib-ce{position:relative;display:flex;min-height:0;height:100%;overflow:hidden;font-family:var(--lib-font-mono, ui-monospace, "SF Mono", Menlo, Consolas, monospace);font-size:var(--lib-ce-font-size, 13px);line-height:var(--lib-ce-line-height, 1.55);background:var(--lib-ce-bg, var(--lib-code-bg, var(--lib-surface, #fff)));border:var(--lib-border-w, 1px) solid var(--lib-line, #d0d3d9);border-radius:8px}.lib-ce:focus-within{border-color:var(--lib-accent, #1d6fb8)}.lib-ce__gutter{flex:none;margin:0;padding:10px 10px 10px 12px;min-width:3.4em;overflow:hidden;text-align:right;-webkit-user-select:none;user-select:none;font:inherit;color:var(--lib-code-gutter-ink, var(--lib-ink-3, #6b7683));background:var(--lib-code-gutter-bg, var(--lib-bg-2, #f4f6f8))}.lib-ce__main{position:relative;flex:1 1 auto;min-width:0}.lib-ce__pre,.lib-ce__area{position:absolute;top:0;right:0;bottom:0;left:0;box-sizing:border-box;width:100%;height:100%;margin:0;padding:10px 12px;border:0;font:inherit;line-height:inherit;letter-spacing:normal;-moz-tab-size:4;tab-size:4;white-space:pre}.lib-ce__pre{z-index:0;overflow:hidden;pointer-events:none;color:var(--lib-ink, #1f2a37)}.lib-ce__pre code{font:inherit;background:none;padding:0}.lib-ce__area{z-index:1;overflow:auto;resize:none;outline:none;background:transparent;color:transparent;caret-color:var(--lib-ink, #1f2a37)}.lib-ce__area::selection{background:var(--lib-ce-selection, rgba(90, 140, 220, .32))}.lib-spark{display:flex;flex-direction:column;min-height:0;height:100%;font-family:var(--lib-font, system-ui, sans-serif)}.lib-spark__svg{display:block;width:100%;flex:1 1 auto;min-height:0;height:100%}.lib-spark__grid{stroke:var(--lib-spark-grid, var(--lib-chart-grid, var(--lib-line, #2c2c2a)));opacity:var(--lib-spark-grid-opacity, 1)}.lib-spark__line{stroke-width:var(--lib-spark-line-w, 2px);stroke-linejoin:round;stroke-linecap:round}.lib-spark__endpoint{opacity:var(--lib-spark-endpoint-opacity, 1)}.lib-spark__legend{display:flex;flex-wrap:wrap;gap:var(--lib-spark-legend-gap, 10px);margin-top:var(--lib-spark-legend-margin, 4px);font-size:var(--lib-spark-legend-size, 11px);color:var(--lib-muted, #898781);line-height:1.2}.lib-spark__legend-item{display:inline-flex;align-items:center;gap:5px}.lib-spark__swatch{width:var(--lib-spark-swatch, 8px);height:var(--lib-spark-swatch, 8px);border-radius:var(--lib-spark-swatch-radius, 2px);flex:none}.lib-spark__legend-value{color:var(--lib-ink, #fff);font-variant-numeric:tabular-nums}.lib-gauge{position:relative;overflow:hidden;display:flex;container-type:size;container-name:lib-gauge;flex-direction:column;align-items:center;justify-content:center;min-height:0;height:100%;font-family:var(--lib-font, system-ui, sans-serif)}.lib-gauge__svg{display:block;width:100%;height:100%;min-height:0}.lib-gauge__track{stroke:var(--lib-gauge-track, var(--lib-line, #2c2c2a))}.lib-gauge__value{transition:stroke-dasharray var(--lib-gauge-ease, 90ms) linear}.lib-gauge__center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.lib-gauge__value-text{font-size:var(--lib-gauge-value-size, clamp(13px, 23cqmin, 34px));font-weight:var(--lib-gauge-value-weight, 600);color:var(--lib-ink, #fff);line-height:1;font-variant-numeric:tabular-nums}.lib-gauge__unit{font-size:var(--lib-gauge-unit-size, clamp(8px, 7cqmin, 11px));color:var(--lib-muted, #898781);margin-top:2px}.lib-gauge__label{font-size:var(--lib-gauge-label-size, clamp(9px, 7cqmin, 12px));color:var(--lib-muted, #898781);text-align:center;margin-top:2px}.lib-meter{font-family:var(--lib-font, system-ui, sans-serif);min-width:0}.lib-meter--horizontal{display:grid;grid-template-columns:var(--lib-meter-cols, minmax(0, auto) 1fr minmax(0, auto));align-items:center;gap:var(--lib-meter-gap, 8px)}.lib-meter--horizontal .lib-meter__track{height:var(--lib-meter-thickness, 6px);width:100%;grid-column:2}.lib-meter--horizontal .lib-meter__value{grid-column:3}.lib-meter--horizontal .lib-meter__fill{height:100%}.lib-meter--vertical{display:flex;flex-direction:column-reverse;align-items:center;justify-content:flex-start;gap:3px;height:100%;min-height:0}.lib-meter--vertical .lib-meter__track{width:100%;flex:1 1 auto;min-height:0;display:flex;align-items:flex-end}.lib-meter--vertical .lib-meter__fill{width:100%}.lib-meter__track{display:block;background:var(--lib-meter-track, var(--lib-line, #2c2c2a));border-radius:var(--lib-meter-radius, 3px);overflow:hidden}.lib-meter__fill{display:block;border-radius:inherit;transition:width var(--lib-meter-ease, 90ms) linear,height var(--lib-meter-ease, 90ms) linear}.lib-meter__label{font-size:var(--lib-meter-label-size, 11px);color:var(--lib-muted, #898781);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lib-meter__value{font-size:var(--lib-meter-value-size, 11px);color:var(--lib-ink, #fff);font-variant-numeric:tabular-nums;white-space:nowrap}.lib-meter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--lib-meter-grid-min, 14px),1fr));gap:var(--lib-meter-grid-gap, 4px);grid-auto-rows:minmax(0,1fr);align-content:stretch;height:100%;min-height:0}@media (prefers-reduced-motion: reduce){.lib-meter__fill,.lib-gauge__value{transition:none}}:root{--lib-font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--lib-font-mono: ui-monospace, "SF Mono", "Cascadia Code", Menlo, Consolas, monospace;--lib-bg: #f5f7f9;--lib-surface: #ffffff;--lib-ink: #1b2430;--lib-muted: #637080;--lib-line: #dde3e9;--lib-track: #edf1f5;--lib-accent: #1f7fb5;--lib-accent-strong: #17648f;--lib-accent-contrast: #ffffff;--lib-accent-tint: #e3eff7;--lib-danger: #c0392b;--lib-ok: #2e8b57;--lib-warn: #b7791f;--lib-radius: 10px;--lib-shadow: 0 12px 32px rgba(16, 32, 52, .14);--lib-md-code-bg: #edf1f5;--lib-md-pre-bg: #f2f5f8;--lib-md-th-bg: #f2f5f8;--lib-md-font-size: 15px;--lib-chat-user-bg: #e3eff7;--lib-chat-code-bg: #f1f4f7;--lib-code-gutter-bg: #eef2f5;--lib-convlist-active-bg: #e6ebf0;--lib-toast-bg: #1b2430;--ws-sidebar-bg: #eef2f5}[data-theme=dark]{--lib-bg: #0f141a;--lib-surface: #161d25;--lib-ink: #e2e8ee;--lib-muted: #8995a3;--lib-line: #27313c;--lib-track: #1d2630;--lib-accent: #4ba8dd;--lib-code-gutter-bg: #1a222b;--lib-code-gutter-ink: #6e7a88;--lib-accent-strong: #6ab9e7;--lib-accent-contrast: #08121a;--lib-accent-tint: #183044;--lib-danger: #e8695c;--lib-ok: #4fbf82;--lib-warn: #e0a84a;--lib-shadow: 0 12px 32px rgba(0, 0, 0, .45);--lib-md-code-bg: #1d2630;--lib-md-pre-bg: #121920;--lib-md-th-bg: #1a222b;--lib-chat-user-bg: #1b3144;--lib-chat-code-bg: #121920;--lib-convlist-active-bg: #1f2833;--lib-toast-bg: #2a3542;--ws-sidebar-bg: #121920}
