@font-face{font-family:Pretendard Variable;src:url(/assets/PretendardVariable-CJuje-Rk.woff2)format("woff2");font-weight:45 920;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono Variable;src:url(/assets/JetBrainsMono-Variable-B9CIFXIH.woff2)format("woff2");font-weight:100 800;font-style:normal;font-display:swap}:root{--bg:#f2f4f7;--surface:#fff;--surface-2:#f9fafb;--surface-hover:#f5f7fb;--border:#e4e7ec;--border-strong:#d0d5dd;--border-subtle:#eef0f3;--text:#0d1526;--text-2:#2b3648;--muted:#556070;--faint:#8b95a5;--primary:#3355d1;--primary-hover:#2944b3;--primary-active:#22399a;--primary-soft:#eef2ff;--primary-ring:#3355d138;--ok:#067647;--ok-bg:#ecfdf3;--ok-line:#abefc6;--ok-solid:#17b26a;--warn:#b54708;--warn-bg:#fffaeb;--warn-line:#fedf89;--warn-solid:#f79009;--bad:#b42318;--bad-bg:#fef3f2;--bad-line:#fecdca;--bad-solid:#e5392c;--info:#1f4fc4;--info-bg:#eff4ff;--info-line:#c7d7fe;--info-solid:#3e6ff0;--muted-bg:#f2f4f7;--muted-line:#e4e7ec;--side-bg:#fff;--side-hover:#f2f4f7;--radius-sm:6px;--radius:8px;--radius-lg:12px;--radius-xl:16px;--shadow-xs:0 1px 2px #1018280d;--shadow-sm:0 1px 3px #1018280f, 0 1px 2px #1018280a;--shadow-lg:0 12px 24px -6px #1018281f, 0 4px 8px -4px #1018280f;--shadow-xl:0 24px 48px -12px #10182838, 0 0 0 1px #1018280a;--ring:0 0 0 3px var(--primary-ring);--border-card:#e3e7ee;--shadow-card:0 1px 2px #1018280a, 0 2px 6px -2px #1018280d;--page-px:1.75rem;--card-px:1.4rem;--card-py:1.2rem;--control-h:2.15rem;--sans:"Pretendard Variable", "Pretendard", -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", "맑은 고딕", "Noto Sans KR", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:"JetBrains Mono Variable", "Pretendard Variable", "D2Coding", ui-monospace, "SFMono-Regular", Menlo, Consolas, "Liberation Mono", "Noto Sans Mono", monospace;--fs-xs:.75rem;--fs-sm:.8125rem;--fs-md:.875rem;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:15px;line-height:1.55}*{box-sizing:border-box}body{min-height:100vh;margin:0}#root{flex-direction:column;min-height:100vh;display:flex}::selection{background:#3355d129}a{color:var(--primary);text-underline-offset:2px;text-decoration:none}a:hover{color:var(--primary-hover);text-decoration:underline}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}h1{letter-spacing:-.025em;color:var(--text);margin:.15rem 0 .2rem;font-size:1.6rem;font-weight:700;line-height:1.3}h2{letter-spacing:-.015em;color:var(--text);margin:0;font-size:1.05rem;font-weight:680;line-height:1.4}h3{color:var(--text-2);margin:1.25rem 0 .6rem;font-size:.9rem;font-weight:650}code,.mono{font-family:var(--mono);letter-spacing:0;font-size:.84em}code{background:var(--muted-bg);color:var(--text-2);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:5px;padding:.1em .38em}p{margin:.4rem 0}.muted,.sub,.hint{color:var(--muted)}.sub{font-size:var(--fs-sm);margin-top:.1rem;line-height:1.45;display:block}.sub.mono{color:var(--muted);word-break:break-all;font-size:.74rem}.hint{font-size:var(--fs-sm)}.pre{white-space:pre-wrap;word-break:break-word}.num{text-align:right;font-variant-numeric:tabular-nums}.tnum{font-variant-numeric:tabular-nums}.nowrap{white-space:nowrap}.center{text-align:center;justify-content:center}.clip{text-overflow:ellipsis;white-space:nowrap;max-width:22rem;overflow:hidden}.empty{color:var(--muted);text-align:center;background:var(--surface-2);border:1px dashed var(--border-strong);border-radius:var(--radius);margin:.25rem 0;padding:2.25rem 1rem}.warn-text{color:var(--warn);font-size:var(--fs-sm)}.error-text{color:var(--bad);font-size:var(--fs-sm);font-weight:500}ul.plain{margin:.3rem 0;padding:0;list-style:none}ul.plain>li{padding:.15rem 0}#root>.loading.page{flex:1;min-height:100vh}.spinner{border:2px solid var(--primary-soft);border-top-color:var(--primary);border-radius:50%;flex:none;animation:.8s linear infinite lsm-spin;display:inline-block}.spinner.sm{width:.95rem;height:.95rem}.spinner.md{border-width:3px;width:1.75rem;height:1.75rem}.spinner.lg{border-width:3.5px;width:2.6rem;height:2.6rem}.loading{justify-content:center;align-items:center;animation:.2s ease-out .15s both lsm-fade;display:flex}.loading.block{min-height:9rem;padding:1.25rem 1rem}.loading.page{min-height:55vh;padding:2rem 1rem}.loading-card{text-align:center;flex-direction:column;align-items:center;gap:.7rem;max-width:26rem;display:flex}.loading-card>strong{font-weight:600;font-size:var(--fs-md);color:var(--text-2)}.loading.page .loading-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);gap:.85rem;padding:2rem 2.75rem}.loading.page .loading-card>strong{color:var(--text);font-size:1rem}.loading-card>.hint{color:var(--muted);line-height:1.5}.loading.inline{color:var(--muted);font-size:var(--fs-md);align-items:center;gap:.5rem;margin:.4rem 0;display:flex}.btn>.spinner{vertical-align:-.15em;margin-right:.4rem}.shell{--side-w:15.5rem;grid-template-columns:var(--side-w) minmax(0, 1fr);flex:1;min-height:100vh;transition:grid-template-columns .2s;display:grid}.shell.side-collapsed{--side-w:4.5rem}.main{flex-direction:column;min-width:0;display:flex}.sidebar{z-index:6;background:var(--side-bg);border-right:1px solid var(--border);min-width:0;height:100vh;color:var(--text-2);flex-direction:column;display:flex;position:sticky;top:0}.side-head{padding:1.05rem .9rem .85rem}.brand{min-width:0;color:var(--text);border-radius:var(--radius);align-items:center;gap:.7rem;padding:.3rem .35rem;display:flex}.brand:hover{color:var(--text);background:var(--side-hover);text-decoration:none}.brand-mark{color:#fff;background:linear-gradient(135deg,#6f8cff 0%,#3d5ee0 55%,#2a3fa8 100%);border-radius:9px;flex:none;place-items:center;width:2rem;height:2rem;display:inline-grid;box-shadow:0 3px 10px -2px #3355d173,inset 0 1px #ffffff40}.brand-mark>.icon{width:72%;height:72%}.brand-text{flex-direction:column;gap:.2rem;min-width:0;display:flex}.brand-text>strong{letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;font-size:1.08rem;font-weight:760;overflow:hidden}.brand-ko{letter-spacing:0;color:var(--faint);margin-left:.1rem;font-size:.86em;font-weight:550}.brand-sub{color:var(--muted);white-space:nowrap;align-items:center;gap:.45rem;font-size:.72rem;display:flex}.mode-pill{letter-spacing:.01em;background:var(--ok-bg);box-shadow:inset 0 0 0 1px var(--ok-line);color:var(--ok);border-radius:999px;align-items:center;gap:.35rem;padding:.22rem .5rem .22rem .4rem;font-size:.66rem;font-weight:600;line-height:1;display:inline-flex}.mode-pill:before{content:"";background:var(--ok-solid);border-radius:50%;width:.42rem;height:.42rem;box-shadow:0 0 0 3px #17b26a2e}.mode-pill.online:before{background:var(--warn-solid);box-shadow:0 0 0 3px #f7900933}.side-nav{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;flex:1;min-height:0;padding:.25rem .75rem 1rem;overflow:hidden auto}.side-group+.side-group{margin-top:.35rem}.side-group-head{cursor:pointer;width:100%;font:inherit;letter-spacing:.06em;color:var(--faint);border-radius:var(--radius-sm);text-align:left;background:0 0;border:0;align-items:center;gap:.4rem;padding:.55rem .6rem .4rem;font-size:.7rem;font-weight:650;display:flex}.side-group-head>span:first-child{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.side-group-head:hover{color:var(--text-2)}.side-chevron.icon{opacity:.8;width:.85rem;height:.85rem;transition:transform .18s}.side-group.open .side-chevron{transform:rotate(90deg)}.side-dot{background:var(--primary);border-radius:50%;width:.4rem;height:.4rem}.side-items{grid-template-rows:0fr;transition:grid-template-rows .2s;display:grid}.side-group.open .side-items{grid-template-rows:1fr}.side-items>div{flex-direction:column;gap:2px;display:flex;overflow:hidden}.side-group:not(.open) .side-items>div{visibility:hidden;transition:visibility 0s .2s}.side-link{border-radius:var(--radius);height:2.4rem;color:var(--text-2);white-space:nowrap;align-items:center;gap:.75rem;padding:0 .7rem;font-size:.9rem;font-weight:500;transition:background .12s,color .12s;display:flex;position:relative}.side-link .icon{opacity:.85;flex:none;width:1.15rem;height:1.15rem;transition:opacity .12s,color .12s}.side-link:hover{color:var(--text);background:var(--side-hover);text-decoration:none}.side-link:hover .icon{opacity:1}.side-link.active{color:var(--primary-active);background:var(--primary-soft);font-weight:640}.side-link.active .icon{color:var(--primary);opacity:1}.side-link.active:before{content:"";background:var(--primary);border-radius:0 3px 3px 0;width:3px;position:absolute;top:.55rem;bottom:.55rem;left:-.75rem}.side-link:focus-visible,.side-group-head:focus-visible,.sidebar .icon-btn:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.side-label{text-overflow:ellipsis;overflow:hidden}.side-foot{border-top:1px solid var(--border-subtle);flex-direction:column;gap:.4rem;padding:.6rem .75rem .75rem;display:flex}.side-user{border-radius:var(--radius);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--border-subtle);align-items:center;gap:.65rem;padding:.55rem .5rem .55rem .55rem;display:flex}.avatar{color:#fff;width:2.1rem;height:2.1rem;box-shadow:0 0 0 2px var(--surface);background:linear-gradient(135deg,#7d97ff,#4b63d6);border-radius:50%;flex:none;place-items:center;font-size:.88rem;font-weight:700;display:inline-grid}.side-user-text{flex-direction:column;flex:1;min-width:0;line-height:1.3;display:flex}.side-user-text>strong{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.86rem;font-weight:620;overflow:hidden}.side-user-text>span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.side-user-actions{gap:.1rem;display:flex}.icon-btn{border-radius:var(--radius-sm);cursor:pointer;width:2rem;height:2rem;color:inherit;background:0 0;border:0;flex:none;place-items:center;display:inline-grid}.icon-btn .icon{width:1.1rem;height:1.1rem}.sidebar .icon-btn{color:var(--muted)}.sidebar .icon-btn:hover{color:var(--text);background:var(--side-hover);text-decoration:none}.sidebar.collapsed .side-head{justify-content:center;padding:1.05rem 0 .85rem;display:flex}.sidebar.collapsed .brand{padding:.3rem}.sidebar.collapsed .brand-text,.sidebar.collapsed .side-label,.sidebar.collapsed .side-user-text,.sidebar.collapsed .side-chevron,.sidebar.collapsed .side-dot{display:none}.sidebar.collapsed .side-nav{padding:.25rem .65rem 1rem}.sidebar.collapsed .side-group-head{pointer-events:none;height:1.05rem;padding:.5rem 0}.sidebar.collapsed .side-group-head>span:first-child{visibility:hidden}.sidebar.collapsed .side-group+.side-group .side-group-head{background:linear-gradient(var(--border), var(--border)) center / 1.5rem 1px no-repeat}.sidebar.collapsed .side-link{justify-content:center;padding:0}.sidebar.collapsed .side-link.active:before{left:-.65rem}.sidebar.collapsed .side-foot{padding:.6rem .65rem .75rem}.sidebar.collapsed .side-user{flex-direction:column;gap:.35rem;padding:.5rem 0}.sidebar.collapsed .side-user-actions{flex-direction:column}.side-tip{z-index:50;pointer-events:none;border-radius:var(--radius-sm);white-space:nowrap;color:#fff;font-size:var(--fs-sm);background:#1b2540;padding:.35rem .65rem;font-weight:550;animation:.12s ease-out both lsm-fade;position:fixed;left:5rem;transform:translateY(-50%);box-shadow:0 6px 18px -4px #080d1a80,0 0 0 1px #ffffff0f}.side-tip:before{content:"";background:#1b2540;border-radius:1px;width:8px;height:8px;margin-top:-4px;position:absolute;top:50%;left:-4px;transform:rotate(45deg)}.appbar{z-index:5;min-height:3.25rem;padding:0 var(--page-px);-webkit-backdrop-filter:saturate(1.4)blur(10px);border-bottom:1px solid var(--border);background:#f2f4f7d1;align-items:center;gap:.75rem;display:flex;position:sticky;top:0}.menu-btn{color:var(--muted);margin-left:-.5rem}.menu-btn:hover{color:var(--text);background:#1018280f}.shell.side-collapsed .menu-btn .icon{transform:scaleX(-1)}.crumbs{min-width:0;font-size:var(--fs-md);color:var(--muted);white-space:nowrap;flex:1;align-items:center;gap:.5rem;display:flex}.crumbs>*{text-overflow:ellipsis;overflow:hidden}.crumbs>*+:before{content:"›";color:var(--faint);margin-right:.5rem}.crumb-item{color:var(--text);font-weight:620}a.crumb-item:hover{color:var(--primary);text-decoration:none}.crumb-detail{color:var(--text-2)}.appbar-actions{align-items:center;gap:.5rem;display:flex}.shell.fullscreen{grid-template-columns:minmax(0,1fr)}.shell.fullscreen .sidebar{display:none}.shell.narrow{grid-template-columns:minmax(0,1fr)}.shell.narrow .sidebar{width:min(17rem,86vw);box-shadow:none;transition:transform .22s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.shell.narrow.drawer-open .sidebar{transform:none;box-shadow:0 0 40px #080d1a73}.drawer-backdrop{z-index:5;background:#080d1a73;animation:.15s ease-out both lsm-fade;position:fixed;inset:0}.page{width:100%;padding:1.9rem var(--page-px) 3rem;flex:1}.footer{text-align:center;color:var(--faint);font-size:var(--fs-xs);padding:1.1rem var(--page-px);border-top:1px solid var(--border-subtle)}.head-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.node-pick{font-size:var(--fs-sm);color:var(--muted);align-items:center;gap:.4rem;display:flex}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.4rem;display:flex}.page-head>div:first-child{min-width:0}.page-head p.muted{font-size:var(--fs-md);margin:.1rem 0 0}.page-head p.muted.mono{word-break:break-all;font-size:.78rem}.back{height:2.25rem;font-size:var(--fs-md);color:var(--text-2);white-space:nowrap;background:var(--surface);border:1px solid var(--border-strong);box-shadow:var(--shadow-xs);border-radius:999px;align-items:center;gap:.45rem;margin-bottom:.9rem;padding:0 1rem 0 .8rem;font-weight:600;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.back:hover{color:var(--primary);background:var(--primary-soft);border-color:var(--primary);text-decoration:none}.back:focus-visible{box-shadow:var(--ring);outline:none}.back>.arrow{font-size:1.1em;line-height:1;transition:transform .12s}.back:hover>.arrow{transform:translate(-2px)}.table a.row-link{color:var(--primary);font-weight:650}.table a.row-link:hover{color:var(--primary-hover)}.grid.two{grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));gap:1rem;margin-bottom:1rem;display:grid}.grid.two>.card{margin-bottom:0}.actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}progress.progress{appearance:none;background:var(--muted-bg);border:0;border-radius:999px;width:100%;min-width:9rem;height:.5rem;margin:.3rem 0 .15rem;display:block;overflow:hidden}progress.progress::-webkit-progress-bar{background:var(--muted-bg);border-radius:999px}progress.progress::-webkit-progress-value{background:var(--primary);border-radius:999px;transition:width .3s}progress.progress::-moz-progress-bar{background:var(--primary);border-radius:999px}.image-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,380px),1fr));gap:.9rem;display:grid}.image-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-xs);flex-direction:column;gap:.35rem;padding:.95rem 1.05rem;display:flex}.image-card header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.image-card header strong{font-size:1rem}.image-card>p{margin:0}.image-card>p.mono{color:var(--text-2);word-break:break-all;font-size:.8rem}.image-card .actions{margin-top:.35rem}.load-guide{font-size:var(--fs-md);margin-top:.4rem}.load-guide ol{flex-direction:column;gap:.45rem;margin:.5rem 0 0;padding-left:1.2rem;display:flex}.load-guide pre.code{white-space:pre;word-break:normal;margin:.35rem 0 0;overflow-x:auto}.load-guide li>p{margin:.35rem 0 0}.node-add>summary{cursor:pointer;font-weight:600}.node-add[open]>summary{margin-bottom:.6rem}.pull-row{border-bottom:1px solid var(--border-subtle);padding:.55rem 0!important}.pull-row:last-child{border-bottom:0}.hub-search{flex-wrap:wrap;gap:.6rem;margin-bottom:.8rem;display:flex}.hub-search input[type=search]{flex:1;min-width:min(100%,18rem)}.scroll-anchor{scroll-margin-top:4.5rem}.hub-controls{flex-wrap:wrap;align-items:center;gap:.9rem;margin:.2rem 0 .8rem;display:flex}.table tr.clickable{cursor:pointer}.table tr.selected td{background:var(--primary-soft)}.upgrade-row{border-top:1px solid var(--border);margin-top:.6rem;padding-top:.6rem}.upgrade-row:first-of-type{border-top:0;margin-top:0;padding-top:0}.upgrade-row h3{margin:0 0 .4rem}.upgrade-steps{flex-direction:column;gap:.45rem;margin:0;padding-left:1.2rem;display:flex}.upgrade-steps .btn.small{margin-left:.4rem}.pager{flex-wrap:wrap;align-items:center;gap:.3rem;margin-top:.8rem;display:flex}.pager .btn.small{justify-content:center;min-width:2.1rem}.pager>.muted:first-child{margin-right:.5rem}.card-head .count{font-size:.85rem;font-weight:400}.hf-link{white-space:nowrap;font-size:.85rem;font-weight:500}a.badge-link{text-decoration:none}a.badge-link:hover .badge{text-decoration:underline}.link-button{font:inherit;color:var(--primary);cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.link-button:hover{text-decoration:underline}.stack{flex-direction:column;gap:.8rem;display:flex}.card{background:var(--surface);border:1px solid var(--border-card);border-radius:var(--radius-lg);padding:var(--card-py) var(--card-px);box-shadow:var(--shadow-card);margin-bottom:1.1rem}.card-head{min-height:var(--control-h);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;margin-bottom:.9rem;display:flex}.card-head .actions{font-size:var(--fs-md)}.card.narrow{max-width:460px}.card>:last-child{margin-bottom:0}.login{background:radial-gradient(900px 480px at 50% -8%, #5b7cfa29, transparent 70%), radial-gradient(700px 420px at 100% 110%, #3355d114, transparent 70%), var(--bg);flex:1;justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.login-card,.login .card{border-radius:var(--radius-xl);width:100%;max-width:400px;box-shadow:var(--shadow-lg);flex-direction:column;gap:.9rem;padding:2rem 2rem 1.75rem;display:flex}.login-card h1,.login .card h1{margin:0;font-size:1.35rem}.login-brand{align-items:center;gap:.85rem;margin-bottom:.2rem;display:flex}.login-brand .brand-mark{border-radius:12px;width:2.75rem;height:2.75rem}.login-brand h1{letter-spacing:.04em;font-size:1.5rem;font-weight:780;line-height:1.2}.login-brand h1 .brand-ko{color:var(--muted);font-size:.8em}.login-brand .muted{font-size:var(--fs-sm)}.login-card>p.muted{font-size:var(--fs-md);margin:-.4rem 0 .3rem}.login-card .btn.primary{justify-content:center;height:2.5rem;margin-top:.35rem;font-size:.93rem}.login label,.card.narrow label,.stack label{font-weight:500;font-size:var(--fs-md);color:var(--text-2);flex-direction:column;gap:.35rem;display:flex}.login label input{height:2.5rem}.card.narrow{flex-direction:column;gap:.8rem;display:flex}.card.narrow h1{font-size:1.3rem}.card.narrow label.check,.stack label.check{flex-direction:row}input,select,textarea{font:inherit;font-size:var(--fs-md);color:var(--text);min-width:0;height:var(--control-h);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-xs);padding:0 .7rem;transition:border-color .12s,box-shadow .12s}textarea{height:auto;padding:.5rem .7rem}input::placeholder{color:var(--faint)}input:hover:not(:disabled),select:hover:not(:disabled){border-color:#b3bac6}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:var(--ring);outline:none}input:disabled,select:disabled{background:var(--muted-bg);color:var(--muted);cursor:not-allowed}select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5 6 7.5 9 4.5' fill='none' stroke='%23667085' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right .6rem center;background-repeat:no-repeat;background-size:12px;padding-right:2rem}input[type=checkbox],input[type=radio]{width:1rem;height:1rem;box-shadow:none;accent-color:var(--primary);cursor:pointer;flex:none;margin:0;padding:0}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:2px solid var(--primary);outline-offset:2px;box-shadow:none}label.inline{font-size:var(--fs-sm);color:var(--muted);align-items:center;gap:.5rem;font-weight:500;display:inline-flex}label.check{cursor:pointer;font-weight:400;font-size:var(--fs-md);color:var(--text-2);align-items:center;gap:.45rem;display:inline-flex}.btn{font:inherit;font-size:var(--fs-md);cursor:pointer;height:var(--control-h);border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface);color:var(--text-2);white-space:nowrap;box-shadow:var(--shadow-xs);justify-content:center;align-items:center;gap:.35rem;padding:0 .9rem;font-weight:550;line-height:1;text-decoration:none;transition:background .12s,border-color .12s,color .12s,box-shadow .12s;display:inline-flex}.btn:hover{background:var(--surface-2);color:var(--text);border-color:#b3bac6;text-decoration:none}.btn:active:not(:disabled){background:var(--muted-bg)}.btn:focus-visible{box-shadow:var(--ring);outline:none}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:var(--shadow-xs), inset 0 1px 0 #ffffff1f}.btn.primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover);color:#fff}.btn.primary:active:not(:disabled){background:var(--primary-active)}.btn.primary:disabled{opacity:1;background:#98a9e6;border-color:#98a9e6}.btn.danger{color:var(--bad);border-color:var(--bad-line)}.btn.danger:hover:not(:disabled){background:var(--bad-bg);color:var(--bad);border-color:#fda29b}.btn.danger:focus-visible{box-shadow:0 0 0 3px #e5392c33}.btn.ghost{box-shadow:none;color:var(--muted);background:0 0;border-color:#0000}.btn.ghost:hover:not(:disabled){background:var(--muted-bg);color:var(--text);border-color:#0000}.btn.small{height:1.8rem;font-size:var(--fs-sm);border-radius:var(--radius-sm);padding:0 .6rem}.btn.large{border-radius:10px;height:2.75rem;padding:0 1.5rem;font-size:.95rem;font-weight:600}button.icon{border-radius:var(--radius);cursor:pointer;width:2rem;height:2rem;color:var(--muted);background:0 0;border:none;justify-content:center;align-items:center;font-size:1.35rem;line-height:1;transition:background .12s,color .12s;display:inline-flex}button.icon:hover{background:var(--muted-bg);color:var(--text)}button.icon:focus-visible{box-shadow:var(--ring);outline:none}.badge{white-space:nowrap;vertical-align:middle;background:var(--muted-bg);color:var(--text-2);box-shadow:inset 0 0 0 1px var(--muted-line);border-radius:999px;align-items:center;gap:.35rem;padding:.12rem .55rem;font-size:.77rem;font-weight:650;line-height:1.5;display:inline-flex}.badge.ok,.badge.warn,.badge.bad,.badge.info{padding-left:.5rem}.badge.ok:before,.badge.warn:before,.badge.bad:before,.badge.info:before{content:"";background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.badge.ok{background:var(--ok-bg);color:var(--ok);box-shadow:inset 0 0 0 1px var(--ok-line)}.badge.ok:before{background:var(--ok-solid)}.badge.warn{background:var(--warn-bg);color:var(--warn);box-shadow:inset 0 0 0 1px var(--warn-line)}.badge.warn:before{background:var(--warn-solid)}.badge.bad{background:var(--bad-bg);color:var(--bad);box-shadow:inset 0 0 0 1px var(--bad-line)}.badge.bad:before{background:var(--bad-solid)}.badge.info{background:var(--info-bg);color:var(--info);box-shadow:inset 0 0 0 1px var(--info-line)}.badge.info:before{background:var(--info-solid)}.badge.muted{background:var(--muted-bg);color:#475467;box-shadow:inset 0 0 0 1px var(--muted-line)}td>.badge+.badge,.sub+.badge,.badge+.badge{margin-left:.3rem}td>.sub.mono+.badge{margin-top:.35rem;margin-left:0}.estimated{border:1px dashed var(--faint);color:var(--muted);cursor:help;vertical-align:middle;background:var(--surface);border-radius:999px;align-items:center;padding:0 .45rem;font-size:.7rem;font-weight:600;line-height:1.5;display:inline-flex}.chip{background:var(--primary-soft);color:var(--primary);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;box-shadow:inset 0 0 0 1px var(--info-line);border-radius:999px;align-items:center;margin:0 .25rem .2rem 0;padding:.05rem .5rem;font-weight:600;display:inline-flex}a.chip:hover{background:#e0e7ff;text-decoration:none}.alert{border-radius:var(--radius);border:1px solid var(--muted-line);background:var(--muted-bg);color:var(--text-2);font-size:var(--fs-md);overflow-wrap:anywhere;margin:.75rem 0;padding:.7rem 1rem .7rem 1.1rem;position:relative}.alert:before{content:"";border-radius:var(--radius) 0 0 var(--radius);background:var(--faint);width:3px;position:absolute;top:0;bottom:0;left:0}.alert strong{color:var(--text);margin-bottom:.2rem;font-weight:650;display:block}.alert p:first-child,.alert strong+p{margin-top:0}.alert p:last-child{margin-bottom:0}.alert ul{margin:.25rem 0;padding-left:1.2rem}.alert ul.checks{flex-direction:column;gap:.45rem;padding-left:0;display:flex}.alert ul.checks>li{list-style:none}.alert label.check{color:var(--text);margin-top:.4rem;font-weight:600}.alert.ok{background:var(--ok-bg);border-color:var(--ok-line)}.alert.ok:before{background:var(--ok-solid)}.alert.ok strong{color:var(--ok)}.alert.warn{background:var(--warn-bg);border-color:var(--warn-line)}.alert.warn:before{background:var(--warn-solid)}.alert.warn strong{color:var(--warn)}.alert.bad{background:var(--bad-bg);border-color:var(--bad-line)}.alert.bad:before{background:var(--bad-solid)}.alert.bad strong{color:var(--bad)}.alert.info{background:var(--info-bg);border-color:var(--info-line)}.alert.info:before{background:var(--info-solid)}.alert.info strong{color:var(--info)}.page>.alert{margin-top:0;margin-bottom:1rem}.page>.alert+.alert{margin-top:-.4rem}#root>.alert{padding:.6rem var(--page-px);border-width:0 0 1px;border-radius:0;margin:0;font-weight:500}#root>.alert:before{border-radius:0}.kv{font-size:var(--fs-md);grid-template-columns:minmax(10rem,max-content) 1fr;margin:.2rem 0;display:grid}.kv>div{display:contents}.kv dt,.kv dd{border-bottom:1px solid var(--border-subtle);padding:.45rem 0}.kv dt{color:var(--muted);padding-right:1.5rem}.kv dd{word-break:break-word;color:var(--text);min-width:0;margin:0}.kv>div:last-child>dt,.kv>div:last-child>dd{border-bottom:0}.kv dd code{word-break:break-all}.table-wrap{overflow-x:auto}.table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--fs-md)}.table th,.table td{text-align:left;border-bottom:1px solid var(--border-subtle);vertical-align:top;padding:.8rem .85rem}.table td{word-break:keep-all}.table th{font-size:var(--fs-xs);color:var(--muted);letter-spacing:.02em;white-space:nowrap;border-top:1px solid var(--border);border-bottom-color:var(--border);background:#f7f8fa;padding-top:.55rem;padding-bottom:.55rem;font-weight:650}.table th.num,.table td.num{text-align:right}.table td.num{white-space:nowrap;font-weight:550}.recommendation td>code{white-space:nowrap}.table tbody tr{transition:background .1s}.table tbody tr:hover{background:var(--surface-hover)}.table tbody tr:last-child>td{border-bottom:0}.table td>a:first-child:not(.btn):not(.chip){font-weight:600}.table td strong{font-weight:650}.table.compact{font-size:var(--fs-sm)}.table.compact th,.table.compact td{padding:.4rem .6rem}.table.compact tbody tr:last-child>td{border-bottom:1px solid var(--border-subtle)}.table td.reason{color:var(--muted);font-size:var(--fs-sm)}.table .row-actions{white-space:nowrap;text-align:right;width:1%}.table .row-actions>*+*{margin-left:.35rem}.detail-row>td{background:var(--surface-2);box-shadow:inset 3px 0 0 var(--primary);padding-top:.9rem;padding-bottom:1rem}.detail-row .table.compact{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-top:.5rem}.detail-row .table.compact td{border-bottom-color:var(--border-subtle)}.detail-row .table.compact tbody tr:last-child>td{border-bottom:0}.card>.table-wrap{margin-inline:calc(-1 * var(--card-px))}.card>.table{width:calc(100% + 2 * var(--card-px));margin-inline:calc(-1 * var(--card-px))}.card>.table-wrap>.table>*>tr>:first-child,.card>.table>*>tr>:first-child{padding-left:var(--card-px)}.card>.table-wrap>.table>*>tr>:last-child,.card>.table>*>tr>:last-child{padding-right:var(--card-px)}.card>.table.compact tbody tr:last-child>td{border-bottom:0}.card>.table-wrap:last-child,.card>.table:last-child{margin-bottom:calc(-1 * var(--card-py) + .25rem)}.card-head+.table-wrap,.card-head+.table{margin-top:-.1rem}pre.code,pre.log{font-family:var(--mono);border-radius:var(--radius);white-space:pre-wrap;word-break:break-all;margin:.5rem 0;padding:.8rem 1rem;font-size:.78rem;line-height:1.6;overflow:auto}pre.code{background:var(--surface-2);max-height:28rem;color:var(--text-2);border:1px solid var(--border)}pre.log{color:#cfd6e1;scrollbar-color:#344054 transparent;background:#0c111d;border:1px solid #1d2939;height:32rem;box-shadow:inset 0 1px #ffffff08}pre.log.small{height:auto;max-height:16rem}details>summary{cursor:pointer;color:var(--primary);font-weight:500;font-size:var(--fs-md);-webkit-user-select:none;user-select:none;border-radius:4px;align-items:center;gap:.45rem;margin:.3rem 0;list-style:none;display:inline-flex}details>summary::-webkit-details-marker{display:none}details>summary:before{content:"";border-bottom:1.6px solid;border-right:1.6px solid;flex:none;width:.4rem;height:.4rem;margin:0 .1rem 0 .05rem;transition:transform .15s;transform:rotate(-45deg)}details[open]>summary:before{transform:rotate(45deg)translate(-1px,-1px)}details>summary:hover{color:var(--primary-hover)}.inline-meter{align-items:center;gap:.5rem;display:flex}.inline-meter>.num{font-variant-numeric:tabular-nums}.meter{background:#e6e9ef;border-radius:999px;flex:1;min-width:80px;height:6px;overflow:hidden}.meter-fill{border-radius:999px;height:100%;transition:width .4s}.meter-fill.ok{background:var(--ok-solid)}.meter-fill.warn{background:var(--warn-solid)}.meter-fill.bad{background:var(--bad-solid)}.sparkline{color:var(--primary);background:linear-gradient(#3355d108,#3355d112);border-radius:5px;width:100%;margin:.3rem 0 .2rem;display:block;box-shadow:inset 0 0 0 1px #3355d112}.overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:10;background:#1018286b;justify-content:center;align-items:flex-start;padding:8vh 1rem;animation:.14s ease-out lsm-fade;display:flex;position:fixed;inset:0;overflow-y:auto}.dialog{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:560px;box-shadow:var(--shadow-xl);animation:.16s ease-out lsm-pop}.dialog.wide{max-width:1100px}.dialog>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:.85rem .9rem .85rem 1.3rem;display:flex}.dialog>header h2{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:1.02rem;overflow:hidden}.dialog-body{padding:1.1rem 1.3rem}.dialog-body>:first-child{margin-top:0}.dialog-body>:last-child{margin-bottom:0}.dialog>footer{border-top:1px solid var(--border);background:var(--surface-2);border-radius:0 0 var(--radius-lg) var(--radius-lg);justify-content:flex-end;gap:.5rem;padding:.8rem 1.3rem;display:flex}.dialog>footer .btn.danger{background:var(--bad-solid);border-color:var(--bad-solid);color:#fff}.dialog>footer .btn.danger:hover:not(:disabled){color:#fff;background:#c4291d;border-color:#c4291d}.dialog>footer .btn.danger:disabled{opacity:1;background:#f3a19a;border-color:#f3a19a}.overlay.free{display:block}.dialog.movable{resize:both;flex-direction:column;width:min(1100px,100vw - 2rem);min-width:360px;max-width:none;height:80vh;min-height:240px;display:flex;position:absolute;top:6vh;left:max(1rem,50vw - 550px);overflow:hidden}.dialog.movable>header{cursor:move;-webkit-user-select:none;user-select:none;touch-action:none;background:var(--surface-2);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.dialog.movable .dialog-body{flex-direction:column;flex:1;min-height:0;padding-bottom:1.3rem;display:flex}.dialog.movable pre.log{flex:1;height:auto;min-height:0;margin-bottom:0}.confirm-input{font-weight:500;font-size:var(--fs-md);flex-direction:column;gap:.4rem;margin-top:.9rem;display:flex}.confirm-input>code{align-self:flex-start;font-size:.8rem}@keyframes lsm-fade{0%{opacity:0}}@keyframes lsm-spin{to{transform:rotate(360deg)}}@keyframes lsm-pop{0%{opacity:0;transform:translateY(6px)scale(.99)}}@media (prefers-reduced-motion:reduce){.overlay,.dialog,.loading{animation:none}.spinner{animation-duration:2.4s}*{transition:none!important}}.launch-grid{grid-template-columns:minmax(300px,1fr) minmax(360px,1.4fr);gap:1.75rem;display:grid}@media (width<=960px){.launch-grid{grid-template-columns:1fr}}.launch-grid>div>h3:first-child{margin-top:.25rem}.choice-list{flex-direction:column;gap:.5rem;display:flex}.choice{border:1px solid var(--border);cursor:pointer;background:var(--surface);border-radius:10px;align-items:flex-start;gap:.75rem;padding:.7rem .9rem;transition:border-color .12s,background .12s,box-shadow .12s;display:flex}.choice:hover{border-color:var(--border-strong);background:var(--surface-2)}.choice:has(input:checked){border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 1px var(--primary)}.choice:has(input:focus-visible){box-shadow:var(--ring)}.choice.disabled{opacity:.62;cursor:not-allowed;background:var(--surface-2)}.choice.disabled:hover{border-color:var(--border)}.choice input{margin-top:.2rem}.choice>span{flex-direction:column;align-items:flex-start;gap:.1rem;min-width:0;display:flex}.choice>span>strong{font-weight:650}.choice>span>.badge{margin-top:.3rem}.capacity{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;margin-top:1rem;padding:.9rem 1rem .5rem}.capacity-head{flex-wrap:wrap;align-items:center;gap:.45rem;margin:0 0 .3rem;font-weight:650;display:flex}.capacity .kv dt,.capacity .kv dd{border-bottom-color:var(--border)}.recommendation .table.compact{border:1px solid var(--border);border-radius:10px;overflow:hidden}.recommendation .table.compact th{border-top:0}.recommendation .table.compact tbody tr:last-child>td{border-bottom:0}details.advanced{border:1px solid var(--border);background:var(--surface);border-radius:10px;margin-top:1.25rem;padding:.55rem 1rem}details.advanced[open]{padding-bottom:1rem}details.advanced>summary{color:var(--text);margin:.2rem 0;font-size:.93rem;font-weight:650}details.advanced>summary .badge{margin-left:.15rem}details.advanced>.hint{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.card>.actions:last-child{border-top:1px solid var(--border-subtle);margin-top:1.25rem;padding-top:1.1rem}.options-form fieldset{border:1px solid var(--border);border-radius:10px;margin:.9rem 0;padding:.3rem 1.1rem .6rem}.options-form legend{font-weight:650;font-size:var(--fs-md);color:var(--text);padding:0 .4rem}.field{border-bottom:1px solid var(--border-subtle);grid-template-columns:minmax(16rem,1fr) minmax(14rem,1.2fr);gap:.4rem 1.25rem;padding:.7rem 0;display:grid}.field:last-child{border-bottom:none}.field label{flex-direction:column;align-items:flex-start;gap:.2rem;display:flex}.field label code{color:var(--text);font-size:.8rem;font-weight:500}.field label span{color:var(--muted);font-size:var(--fs-sm)}.field.invalid input,.field.invalid select{border-color:var(--bad-solid)}.field.invalid input:focus,.field.invalid select:focus{box-shadow:0 0 0 3px #e5392c2e}.field-input{flex-direction:column;gap:.25rem;display:flex}.field-input>.hint,.field-input>.warn-text,.field-input>.error-text{margin:0}.expert{margin-top:.5rem}.expert>summary{font-size:var(--fs-sm);border:1px dashed var(--border-strong);background:var(--surface-2);border-radius:999px;margin:.2rem 0 .3rem;padding:.35rem .8rem .35rem .7rem;font-weight:600}.expert>summary:hover{border-color:var(--primary);background:var(--primary-soft)}.expert[open]>summary{border-style:solid}.lora-list{flex-direction:column;align-items:flex-start;gap:.45rem;display:flex}.lora-row{grid-template-columns:1fr 2fr auto;gap:.45rem;width:100%;display:grid}.gpu-grid{grid-template-columns:repeat(auto-fit, minmax(min(100%, var(--gpu-min)), 1fr));gap:1rem;display:grid}.node-flow{--gpu-min:360px;flex-wrap:wrap;gap:1.1rem;margin-bottom:1.1rem;display:flex}.node-slot{flex:var(--n) 1 calc(var(--n) * var(--gpu-min) + (var(--n) - 1) * 1rem + 2 * var(--card-px) + 2px);min-width:min(100%, calc(var(--gpu-min) + 2 * var(--card-px) + 2px));display:flex}.node-slot>.card{flex:1;min-width:0;margin:0}.gpu-card{border:1px solid var(--border-card);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-card);flex-direction:column;gap:.6rem;min-width:0;padding:1.1rem 1.2rem .9rem;display:flex}.gpu-card header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.gpu-title{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.95rem;font-weight:600;overflow:hidden}.gpu-title>span{color:var(--text);margin-right:.3rem;font-weight:750}.gpu-card>p{margin:0}.gpu-card details{border-top:1px solid var(--border-subtle);margin-top:.1rem;padding-top:.35rem}.gpu-card details ul.plain{font-size:var(--fs-sm);color:var(--text-2)}.gpu-uuid{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;color:var(--faint)!important;font-size:.7rem!important}.gpu-stats{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.1rem;padding:.35rem 0 .2rem;display:grid}.stat{flex-direction:column;gap:.35rem;min-width:0;display:flex}.stat-label{font-size:var(--fs-sm);color:var(--muted);font-weight:600}.stat-value{letter-spacing:-.03em;color:var(--text);font-variant-numeric:tabular-nums;font-size:2.3rem;font-weight:720;line-height:1}.stat-value>small{color:var(--muted);letter-spacing:0;margin-left:.12em;font-size:.5em;font-weight:600}.stat .meter{flex:none;min-width:0;height:8px}.stat-sub{font-size:var(--fs-sm);color:var(--text-2);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sparks{border-top:1px solid var(--border-subtle);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.1rem;margin-top:.1rem;padding:.7rem 0 .15rem;display:grid}.sparks .sub{font-size:.76rem}.sparks>div>.sub:first-child{color:var(--text-2);font-weight:600}.gpu-uses summary{cursor:pointer;font-size:var(--fs-sm);margin-top:.2rem}.gpu-uses ul{white-space:nowrap;color:var(--text-2);margin:.2rem 0 0;font-size:.78rem}.log-viewer{flex-direction:column;display:flex}.log-toolbar{flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin-bottom:.5rem;display:flex}.log-toolbar .hint{flex:18rem}.log-status{font-weight:600;font-size:var(--fs-sm);align-items:center;gap:.4rem;display:inline-flex}.log-status:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.log-status.live{color:var(--ok)}.log-status.live:before{background:var(--ok-solid);box-shadow:0 0 0 3px #17b26a2e}.log-status.retrying,.log-status.connecting{color:var(--warn)}.log-status.failed{color:var(--bad)}.log-status.ended{color:var(--muted)}.filters{flex-wrap:wrap;align-items:flex-end;gap:.8rem 1rem;display:flex}.filters label{font-size:var(--fs-sm);color:var(--text-2);flex-direction:column;gap:.3rem;font-weight:500;display:flex}.filters label.check{height:var(--control-h);flex-direction:row;align-items:center;font-weight:400}@media (width<=860px){:root{--page-px:1rem;--card-px:1rem}.field{grid-template-columns:1fr}.table-wrap>.table{min-width:760px}.kv{grid-template-columns:minmax(7rem,38%) 1fr}.page{padding-top:1.2rem}}.arch-row{border-bottom:1px solid var(--border);padding:.5rem 0}.arch-row:last-child{border-bottom:0}.arch-row>.btn{margin-left:.5rem}.arch-row details{margin:.25rem 0}.arch-row .sub{display:block}.guide-tabs{flex-wrap:wrap;gap:.4rem;margin-bottom:.9rem;display:flex}.checks-actions{flex-wrap:wrap;gap:.4rem;margin-top:.4rem;margin-left:-.6rem;display:flex}.checks-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.checks-head>strong{margin:0}.alert ul.checks{margin-top:.55rem}.alert ul.checks>li{color:var(--text);grid-template-columns:auto 1fr;align-items:start;gap:.65rem;display:grid}.alert ul.checks>li>.badge{margin-top:.05rem}.alert ul.checks .sub{margin-top:.15rem}.check-links{font-size:var(--fs-sm);flex-wrap:wrap;gap:1rem;margin-top:.2rem;font-weight:550;display:flex}.node-tag{font-family:var(--mono);color:var(--text-2);box-shadow:inset 0 0 0 1px var(--border-strong);vertical-align:.08em;background:#ffffffb3;border-radius:5px;margin-right:.45rem;padding:0 .4rem;font-size:.74rem;font-weight:600;display:inline-block}.filters .period-row{flex-wrap:wrap;flex-basis:100%;align-items:center;gap:.35rem;display:flex}.filters .period-row>.sub{margin-right:.2rem}.pager-row{align-items:center;gap:.7rem}.guide-body{grid-template-columns:minmax(12rem,18rem) 1fr;align-items:start}@media (width<=60rem){.guide-body{grid-template-columns:1fr}}.guide-toc{font-size:var(--fs-md);flex-direction:column;gap:.25rem;display:flex}.guide-toc .md-nested{padding-left:.9rem}button.linkish{font:inherit;color:var(--primary);cursor:pointer;text-align:left;background:0 0;border:0;padding:0}button.linkish:hover{text-decoration:underline}.md{font-size:var(--fs-md);line-height:1.65}.md>:first-child{margin-top:0}.md h2{margin:1.4rem 0 .5rem;font-size:1.1rem}.md h3{margin:1.1rem 0 .4rem;font-size:1rem}.md h4{margin:.9rem 0 .3rem;font-size:.95rem}.md-heading{scroll-margin-top:4.5rem}.md ul,.md ol{flex-direction:column;gap:.3rem;margin:.4rem 0;padding-left:1.2rem;display:flex}.md li.md-nested{margin-left:1.1rem}.md pre.code{white-space:pre;margin:.5rem 0;overflow-x:auto}.md blockquote{border-left:3px solid var(--border-strong);background:var(--muted-bg);border-radius:0 var(--radius) var(--radius) 0;margin:.6rem 0;padding:.5rem .8rem}.md hr{border:0;border-top:1px solid var(--border);margin:1.2rem 0}.md .table-wrap{margin:.6rem 0}.table tbody.node-group>tr>td:first-child{box-shadow:inset 4px 0 0 var(--node)}.table tr.group-row>td{background:var(--surface-2);background:color-mix(in srgb, var(--node) 7%, var(--surface));border-top:1px solid color-mix(in srgb, var(--node) 25%, var(--surface));border-bottom-color:color-mix(in srgb, var(--node) 18%, var(--surface));vertical-align:middle;padding-top:.6rem;padding-bottom:.6rem}.table tbody.node-group:first-of-type tr.group-row>td{border-top:0}.table tr.group-row:hover{background:0 0}.group-row strong{color:var(--text);margin-right:.7rem;font-size:.98rem;font-weight:700}.group-row .muted{font-size:var(--fs-sm);margin-right:.6rem}.node-dot{background:var(--node);vertical-align:-.02em;border-radius:3px;width:.7rem;height:.7rem;margin-right:.55rem;display:inline-block}.node-name{align-items:center;gap:.45rem;font-weight:600;display:inline-flex}.node-name>.node-dot{width:.6rem;height:.6rem;margin:0}.extras{flex-direction:column;gap:.5rem;margin:.9rem 0 .4rem;display:flex}.extras h3{margin:0 0 .1rem}.extras .choice>span>.sub{display:block}.card.collapsible:not(.open)>.card-head{margin-bottom:0}.collapse-toggle{text-align:left;min-width:0;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:.6rem;padding:0;display:flex}.collapse-toggle:focus-visible{box-shadow:var(--ring);border-radius:var(--radius-sm);outline:none}.collapse-toggle>.chevron{border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);flex:none;width:.55rem;height:.55rem;margin:0 .15rem 0 .1rem;transition:transform .15s;transform:rotate(-45deg)}.card.collapsible.open .collapse-toggle>.chevron{transform:rotate(45deg)translate(-2px,-2px)}.collapse-toggle:hover h2{color:var(--primary)}.collapse-summary{font-size:var(--fs-sm);color:var(--text-2);background:var(--muted-bg);white-space:nowrap;border-radius:999px;padding:.1rem .6rem;font-weight:600}.collapse-hint{font-size:var(--fs-sm);color:var(--muted);white-space:nowrap;margin-left:auto}.collapse-toggle:hover .collapse-hint{color:var(--primary)}.code-copy{position:relative}.code-copy>pre.code{padding-right:6.5rem}.code-copy>.copy-btn{position:absolute;top:.5rem;right:.5rem}.copy-btn.done{color:var(--ok);border-color:var(--ok-line);background:var(--ok-bg)}.fullscreen-btn{gap:.45rem}.fs-icon{background:linear-gradient(currentColor,currentColor) 0 0/35% 2px no-repeat,linear-gradient(currentColor,currentColor) 0 0/2px 35% no-repeat,linear-gradient(currentColor,currentColor) 100% 0/35% 2px no-repeat,linear-gradient(currentColor,currentColor) 100% 0/2px 35% no-repeat,linear-gradient(currentColor,currentColor) 0 100%/35% 2px no-repeat,linear-gradient(currentColor,currentColor) 0 100%/2px 35% no-repeat,linear-gradient(currentColor,currentColor) 100% 100%/35% 2px no-repeat,linear-gradient(currentColor,currentColor) 100% 100%/2px 35% no-repeat;flex:none;width:.85rem;height:.85rem}.fs-icon.on{transform:scale(.8)}.resv-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem 1rem;margin-bottom:.9rem;display:flex}.resv-range{font-variant-numeric:tabular-nums;margin-left:.3rem;font-size:.95rem}.segmented{border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-xs);display:inline-flex;overflow:hidden}.segmented button{font:inherit;font-size:var(--fs-sm);height:calc(var(--control-h) - 2px);background:var(--surface);color:var(--muted);cursor:pointer;border:0;padding:0 .9rem;font-weight:550}.segmented button+button{border-left:1px solid var(--border-strong)}.segmented button.on{background:var(--primary-soft);color:var(--primary)}.resv-scroll{margin:0 calc(-1 * var(--card-px));padding:0 var(--card-px);overflow-x:auto}.resv-grid{--resv-label:15rem;min-width:820px}.resv-head,.resv-row{grid-template-columns:var(--resv-label) 1fr;display:grid}.resv-head{z-index:2;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0}.resv-ticks{height:1.8rem;position:relative}.resv-tick{font-size:var(--fs-xs);color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;padding-left:.25rem;position:absolute;top:.35rem}.resv-tick.today{color:var(--primary);font-weight:700}.resv-node{border-bottom:1px solid var(--border)}.resv-node-name{font-weight:650;font-size:var(--fs-md);align-items:center;gap:.45rem;padding:.7rem 0 .35rem;display:flex}.resv-empty-node{margin:0 0 .6rem}.resv-row{border-top:1px solid var(--border-subtle);min-height:3rem}.resv-label{font-size:var(--fs-sm);min-width:0;padding:.4rem .8rem .4rem 0;line-height:1.35}.resv-label>div{margin-top:.15rem}.resv-gpu-name{color:var(--muted)}.resv-label .badge{padding-top:0;padding-bottom:0;font-size:.68rem}.resv-track{cursor:copy;background-image:linear-gradient(to right, var(--border-subtle) 1px, transparent 1px);border-left:1px solid var(--border-subtle);position:relative}.resv-track:hover{background-color:var(--surface-hover)}.resv-track.offline{cursor:default;background-color:var(--surface-2)}.resv-past{pointer-events:none;background:#10182809;position:absolute;inset:0 auto 0 0}.resv-now{background:var(--bad-solid);pointer-events:none;z-index:1;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0}.resv-bar{z-index:1;white-space:nowrap;min-width:4px;font:inherit;font-size:var(--fs-sm);text-align:left;cursor:pointer;border-radius:var(--radius-sm);border:1px solid;border-left-width:3px;align-items:center;gap:.15rem;padding:0 .45rem;line-height:1.2;display:flex;position:absolute;top:.35rem;bottom:.35rem;overflow:hidden}.resv-bar span{text-overflow:ellipsis;overflow:hidden}.resv-bar strong{flex:none;font-weight:650}.resv-bar:hover{filter:brightness(.97);box-shadow:var(--shadow-sm)}.resv-bar.mine{border-width:2px 2px 2px 4px}.resv-bar.ended{opacity:.55}.resv-field{font-size:var(--fs-sm);color:var(--text-2);flex-direction:column;gap:.3rem;font-weight:550;display:flex}.resv-times{flex-wrap:wrap;gap:.8rem 1.5rem;display:flex}.resv-gpus{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.45rem;margin:0;padding:.6rem .9rem .7rem;display:flex}.resv-gpus legend{font-size:var(--fs-sm);color:var(--text-2);padding:0 .3rem;font-weight:550}.resv-gpus label.check{align-items:flex-start}.resv-gpus label.check input{margin-top:.2rem}@media (width<=860px){.resv-grid{--resv-label:9.5rem}}.gpu-booking{flex-direction:column;gap:.3rem;margin:.5rem 0 .2rem;display:flex}.gpu-booking a:hover{text-decoration:none}.gpu-booking-now{background:var(--info-bg);border:1px solid var(--info-line);border-radius:var(--radius);color:var(--text-2);font-size:var(--fs-sm);flex-wrap:wrap;align-items:center;gap:.45rem;padding:.4rem .6rem;display:flex}.gpu-booking-now:hover{border-color:var(--info-solid);color:var(--text)}.gpu-booking-tag{color:var(--info);font-weight:700}.gpu-booking-purpose{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:6rem;min-width:0;overflow:hidden}.gpu-booking-next{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gpu-booking-next:hover{color:var(--primary)}.role-grid{grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:1rem;margin-bottom:1rem;display:grid}.role-grid>.card{flex-direction:column;gap:.7rem;margin-bottom:0;display:flex}.role-card.builtin{background:linear-gradient(180deg, var(--surface-2), var(--surface) 40%)}.role-card-head{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.role-card-head h2{font-size:1.02rem}.role-card-badges{flex-wrap:wrap;justify-content:flex-end;gap:.35rem;display:flex}.role-card>.hint{margin:-.2rem 0 0}.role-card>footer{margin-top:auto;padding-top:.2rem}.perm-chips{flex-wrap:wrap;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.perm-chips li{font-size:var(--fs-xs);white-space:nowrap;border-radius:999px;padding:.38rem .6rem;font-weight:560;line-height:1}.perm-chips li.on{background:var(--primary-soft);color:var(--primary-active);box-shadow:inset 0 0 0 1px var(--info-line)}.perm-chips li.off{color:var(--faint);box-shadow:inset 0 0 0 1px var(--border-subtle);opacity:.75}.perm-chips li.strong{background:var(--primary);color:#fff;box-shadow:none}ul.admin-only{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.4rem 1.2rem;margin:.4rem 0 0;padding:0;list-style:none;display:grid}ul.admin-only li{font-size:var(--fs-md);color:var(--text-2);align-items:center;gap:.5rem;display:flex}ul.admin-only .icon{width:.95rem;height:.95rem;color:var(--faint);flex:none}.role-fields{grid-template-columns:1fr 1fr;gap:.8rem;display:grid}.role-fields label{font-size:var(--fs-sm);color:var(--text-2);flex-direction:column;gap:.3rem;font-weight:500;display:flex}.perm-list{border:0;grid-template-columns:1fr 1fr;gap:.5rem;margin:0;padding:0;display:grid}.perm-list>legend{font-size:var(--fs-sm);color:var(--text-2);margin-bottom:.45rem;padding:0;font-weight:600}.perm-item{cursor:pointer;border-radius:var(--radius);box-shadow:inset 0 0 0 1px var(--border);background:var(--surface);align-items:flex-start;gap:.65rem;padding:.7rem .8rem;transition:box-shadow .12s,background .12s;display:flex}.perm-item:hover{box-shadow:inset 0 0 0 1px var(--border-strong)}.perm-item.on{background:var(--primary-soft);box-shadow:inset 0 0 0 1.5px var(--primary)}.perm-item.locked{cursor:default;opacity:.85}.perm-item input{accent-color:var(--primary);flex:none;width:1rem;height:1rem;margin-top:.2rem}.perm-item strong{font-size:var(--fs-md);color:var(--text);font-weight:620}.perm-item .sub{margin-top:.15rem}.menu-preview{border-radius:var(--radius);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--border-subtle);font-size:var(--fs-sm);flex-direction:column;gap:.45rem;padding:.8rem .9rem;display:flex}.menu-preview ul{flex-wrap:wrap;gap:.35rem .9rem;margin:0;padding:0;list-style:none;display:flex}.menu-preview li{color:var(--text-2);align-items:center;gap:.35rem;font-weight:520;display:inline-flex}.menu-preview .icon{width:.95rem;height:.95rem;color:var(--primary)}.menu-preview li.muted .icon{color:var(--faint)}.actions.end{justify-content:flex-end}@media (width<=640px){.role-fields,.perm-list{grid-template-columns:1fr}}.segmented.small button{font-size:var(--fs-sm);padding:.2rem .65rem}.usage{flex-direction:column;gap:1rem;display:flex}.stat-row{grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.75rem;display:grid}.stat-row .stat{border-radius:var(--radius-lg);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--border-subtle);padding:.85rem 1rem}.stat-row .stat-value{font-size:1.55rem}.stat-row .stat.warn{background:var(--warn-bg);box-shadow:inset 0 0 0 1px var(--warn-line)}.stat-row .stat.warn .stat-value{color:var(--warn)}.chart-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.chart-head h3{margin:0}.bars-wrap{position:relative}svg.bars{width:100%;height:auto;display:block;overflow:visible}svg.bars .grid-line{stroke:var(--border-subtle);stroke-width:1px}svg.bars .axis{fill:var(--faint);font-size:11px;font-family:var(--sans);font-variant-numeric:tabular-nums}svg.bars .bar{fill:var(--primary);opacity:.85;transition:opacity .1s}svg.bars .bar.hot{opacity:1}.bar-tip{pointer-events:none;z-index:2;white-space:nowrap;border-radius:var(--radius-sm);font-size:var(--fs-sm);background:var(--surface);color:var(--text-2);box-shadow:var(--shadow-lg), 0 0 0 1px var(--border);flex-direction:column;gap:.1rem;padding:.45rem .65rem;display:flex;position:absolute;transform:translate(-50%,-100%)}.bar-tip strong{color:var(--text)}.chart-empty{text-align:center;color:var(--muted);background:var(--surface-2);border-radius:var(--radius);padding:2.5rem 1rem}.usage-tables h3{margin-top:0}.usage-tables{margin-bottom:0}.chips{flex-wrap:wrap;gap:.25rem;display:inline-flex}.table tr.dim>td{color:var(--muted)}.table tr.dim>td strong{color:var(--text-2)}.key-form label{font-size:var(--fs-sm);color:var(--text-2);flex-direction:column;gap:.3rem;font-weight:500;display:flex}.key-form label.check{flex-direction:row;align-items:center;gap:.5rem;font-weight:400}.choice-row{border:0;grid-template-columns:1fr 1fr;gap:.5rem;margin:0;padding:0;display:grid}.choice-row>legend{font-size:var(--fs-sm);color:var(--text-2);margin-bottom:.4rem;padding:0;font-weight:600}.key-form label.choice{cursor:pointer;border-radius:var(--radius);box-shadow:inset 0 0 0 1px var(--border);flex-direction:row;align-items:flex-start;gap:.6rem;padding:.7rem .8rem;font-weight:400}.key-form label.choice.on{background:var(--primary-soft);box-shadow:inset 0 0 0 1.5px var(--primary)}.key-form label.choice input{accent-color:var(--primary);margin-top:.2rem}.key-form label.choice strong{color:var(--text);font-size:var(--fs-md)}.model-picks{border-radius:var(--radius);background:var(--surface-2);flex-direction:column;gap:.35rem;max-height:12rem;padding:.7rem .9rem;display:flex;overflow-y:auto}.model-picks .muted{font-size:var(--fs-xs)}.form-grid{grid-template-columns:repeat(3,1fr);gap:.8rem;display:grid}.key-reveal{border-radius:var(--radius);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--border);align-items:center;gap:.75rem;padding:.8rem .9rem;display:flex}.key-reveal>code{word-break:break-all;min-width:0;color:var(--text);background:0 0;flex:1;padding:0;font-size:.9rem}@media (width<=640px){.choice-row,.form-grid{grid-template-columns:1fr}}:root{--lane-0:#2a78d6;--lane-1:#eb6834;--lane-2:#1baf7a}.page.flush{min-height:0;padding:0;display:flex}.chat{flex:1;grid-template-columns:17rem minmax(0,1fr);height:calc(100vh - 3.25rem);min-height:0;display:grid}.chat.with-settings{grid-template-columns:17rem minmax(0,1fr) 20rem}.chat.list-hidden{grid-template-columns:minmax(0,1fr)}.chat.list-hidden.with-settings{grid-template-columns:minmax(0,1fr) 20rem}.chat.list-hidden .chat-list{display:none}.chat-list{border-right:1px solid var(--border);background:var(--surface);flex-direction:column;gap:.6rem;min-height:0;padding:.85rem .7rem .6rem;display:flex}.new-chat{justify-content:center;gap:.35rem}.new-chat .icon{width:1rem;height:1rem}.chat-search{border-radius:var(--radius);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--border-subtle);align-items:center;gap:.4rem;padding:0 .6rem;display:flex}.chat-search .icon{width:.95rem;height:.95rem;color:var(--faint);flex:none}.chat-search input{box-shadow:none;background:0 0;border:0;flex:1;min-width:0;height:2rem;padding:0}.chat-search input:focus{box-shadow:none;outline:none}.chat-list-scroll{flex:1;min-height:0;margin:0 -.3rem;padding:0 .3rem;overflow-y:auto}.chat-group{flex-direction:column;gap:1px;margin-bottom:.7rem;display:flex}.chat-group-label{color:var(--faint);letter-spacing:.04em;padding:.2rem .55rem;font-size:.7rem;font-weight:650}.chat-item{border-radius:var(--radius);align-items:center;display:flex;position:relative}.chat-item:hover{background:var(--surface-hover)}.chat-item.active{background:var(--primary-soft)}.chat-item-open{text-align:left;cursor:pointer;min-width:0;font:inherit;color:inherit;background:0 0;border:0;flex-direction:column;flex:1;gap:.1rem;padding:.5rem .55rem;display:flex}.chat-item-title{font-size:var(--fs-md);color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-weight:520;overflow:hidden}.chat-item.active .chat-item-title{color:var(--primary-active);font-weight:620}.chat-item-sub{color:var(--faint);white-space:nowrap;text-overflow:ellipsis;font-size:.7rem;overflow:hidden}.chat-item-del{opacity:0;color:var(--faint);margin-right:.2rem}.chat-item:hover .chat-item-del,.chat-item-del:focus-visible{opacity:1}.chat-item-del:hover{color:var(--bad)}.chat-privacy{color:var(--faint);border-top:1px solid var(--border-subtle);align-items:center;gap:.35rem;margin:0;padding:.3rem .4rem 0;font-size:.72rem;display:flex}.chat-privacy .icon{flex:none;width:.8rem;height:.8rem}.hint.pad{padding:.5rem .6rem}.icon-btn.small{width:1.7rem;height:1.7rem}.icon-btn.small .icon{width:.95rem;height:.95rem}.icon-btn.on{color:var(--primary);background:var(--primary-soft)}.icon-btn:disabled{opacity:.4;cursor:default}.link-btn{font:inherit;color:var(--primary);cursor:pointer;background:0 0;border:0;padding:0}.link-btn:hover{text-decoration:underline}.chat-main{background:var(--bg);flex-direction:column;min-width:0;min-height:0;display:flex}.chat-bar{border-bottom:1px solid var(--border-subtle);background:var(--surface);flex-wrap:wrap;align-items:center;gap:.6rem;padding:.55rem 1rem;display:flex}.chat-bar>.icon-btn{color:var(--muted)}.lane-pickers{flex-wrap:wrap;flex:1;align-items:center;gap:.5rem;min-width:0;display:flex}.lane-picker{border-radius:var(--radius);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--border);align-items:center;gap:.35rem;padding:.15rem .25rem .15rem .5rem;display:inline-flex}.lane-picker select{box-shadow:none;background-color:#0000;border:0;max-width:18rem;height:1.9rem;padding-left:.1rem;font-weight:600}.lane-picker select:focus{box-shadow:none}.lane-dot{background:var(--lane-0);border-radius:50%;flex:none;width:.6rem;height:.6rem}.lane-dot[data-lane="1"]{background:var(--lane-1)}.lane-dot[data-lane="2"]{background:var(--lane-2)}.btn .icon{width:.9rem;height:.9rem}.btn.small.ghost{gap:.3rem}.chat-bar-actions{align-items:center;gap:.3rem;display:flex}.export{gap:.2rem;display:inline-flex}.chat-scroll{scroll-behavior:smooth;flex:1;min-height:0;padding:1.5rem 1.25rem 1rem;overflow-y:auto}.turns{flex-direction:column;gap:1.6rem;max-width:64rem;margin:0 auto;display:flex}.chat-scroll>.alert,.chat-scroll>.error-box{max-width:64rem;margin:1rem auto 0}.turn{flex-direction:column;gap:.9rem;display:flex}.user-row{justify-content:flex-end;display:flex}.user-bubble{background:var(--primary);color:#fff;max-width:min(42rem,85%);box-shadow:var(--shadow-xs);border-radius:18px 18px 4px;padding:.7rem 1rem;font-size:.93rem;line-height:1.6}.bubble-images{flex-wrap:wrap;gap:.4rem;margin-bottom:.45rem;display:flex}.bubble-images img{object-fit:cover;border-radius:10px;max-width:12rem;max-height:9rem;display:block}.answers{gap:.9rem;display:grid}.answers.lanes-2{grid-template-columns:repeat(2,minmax(0,1fr))}.answers.lanes-3{grid-template-columns:repeat(3,minmax(0,1fr))}.answer{background:var(--surface);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-card);border:1px solid var(--border-card);flex-direction:column;gap:.5rem;padding:.9rem 1.1rem .7rem;display:flex}.answers.lanes-1 .answer{box-shadow:none;background:0 0;border-color:#0000;padding-left:.2rem;padding-right:.2rem}.answer-head{align-items:center;gap:.45rem;display:flex}.answer-model{font-size:var(--fs-sm);color:var(--text-2);font-weight:650;font-family:var(--mono)}.answer-body{color:var(--text);overflow-wrap:anywhere;font-size:.93rem;line-height:1.7}.answer-body>:first-child{margin-top:0}.answer-body pre.code{max-height:32rem;font-size:.82rem;overflow:auto}.answer-body table{font-size:var(--fs-md)}.caret{vertical-align:-.15rem;background:var(--primary);border-radius:1px;width:.5rem;height:1rem;margin-left:2px;animation:1s steps(2,end) infinite lsm-blink;display:inline-block}@keyframes lsm-blink{50%{opacity:0}}.typing{gap:3px;margin-left:.2rem;display:inline-flex}.typing i{background:var(--faint);border-radius:50%;width:5px;height:5px;animation:1.2s ease-in-out infinite lsm-bounce}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes lsm-bounce{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.reasoning{border-radius:var(--radius);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--border-subtle);font-size:var(--fs-sm)}.reasoning>summary{cursor:pointer;color:var(--muted);align-items:center;gap:.35rem;padding:.4rem .7rem;font-weight:550;list-style:none;display:flex}.reasoning>summary::-webkit-details-marker{display:none}.reasoning>summary .icon{width:.95rem;height:.95rem}.reasoning>.pre{color:var(--muted);max-height:18rem;padding:0 .8rem .6rem;line-height:1.55;overflow:auto}.answer-foot{color:var(--faint);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:.4rem .9rem;padding-top:.15rem;font-size:.74rem;display:flex}.answer-actions{opacity:.55;gap:.3rem;margin-left:auto;transition:opacity .12s;display:inline-flex}.answer:hover .answer-actions{opacity:1}.chat-empty{flex-direction:column;align-items:stretch;gap:1.5rem;max-width:46rem;margin:6vh auto 2rem;display:flex}.chat-hello{text-align:center;flex-direction:column;align-items:center;gap:.6rem;display:flex}.chat-hello h2{letter-spacing:-.02em;font-size:1.45rem;font-weight:720}.chat-hello p{margin:0}.brand-mark.big{border-radius:14px;width:3.2rem;height:3.2rem}.suggestions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}.suggestion{text-align:left;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);color:var(--text-2);font:inherit;font-size:var(--fs-md);cursor:pointer;padding:.85rem 1rem;line-height:1.45;transition:border-color .12s,box-shadow .12s}.suggestion:hover:not(:disabled){border-color:var(--primary);box-shadow:var(--ring);color:var(--text)}.suggestion:disabled{opacity:.5;cursor:default}.composer{background:linear-gradient(to bottom, transparent, var(--bg) 30%);padding:.6rem 1.25rem .9rem}.composer-box,.composer-images,.composer-hint{max-width:64rem;margin-left:auto;margin-right:auto}.composer-box{background:var(--surface);box-shadow:var(--shadow-lg), 0 0 0 1px var(--border);border-radius:18px;align-items:flex-end;gap:.4rem;padding:.45rem .5rem .45rem .4rem;transition:box-shadow .12s;display:flex}.composer-box:focus-within{box-shadow:var(--shadow-lg), 0 0 0 2px var(--primary)}.composer-box>.icon-btn{color:var(--muted)}.composer textarea{resize:none;min-width:0;box-shadow:none;font:inherit;background:0 0;border:0;flex:1;min-height:2.3rem;max-height:240px;padding:.45rem .2rem;font-size:.95rem;line-height:1.5}.composer textarea:focus{box-shadow:none;outline:none}.send-btn{cursor:pointer;background:var(--primary);color:#fff;border:0;border-radius:50%;flex:none;place-items:center;width:2.3rem;height:2.3rem;transition:background .12s,transform 80ms;display:inline-grid}.send-btn:hover:not(:disabled){background:var(--primary-hover)}.send-btn:active:not(:disabled){transform:scale(.94)}.send-btn:disabled{background:var(--border-strong);cursor:default}.send-btn .icon{width:1.1rem;height:1.1rem}.send-btn.stop{background:var(--text)}.send-btn.stop .icon{fill:currentColor}.composer-hint{color:var(--faint);text-align:center;margin-top:.4rem;font-size:.72rem}.composer-images{gap:.5rem;margin-bottom:.5rem;display:flex}.thumb{position:relative}.thumb img{object-fit:cover;width:4rem;height:4rem;box-shadow:0 0 0 1px var(--border);border-radius:10px;display:block}.thumb button{background:var(--text);color:#fff;cursor:pointer;border:0;border-radius:50%;place-items:center;width:1.25rem;height:1.25rem;display:grid;position:absolute;top:-6px;right:-6px}.thumb button .icon{width:.7rem;height:.7rem}.chat-settings{border-left:1px solid var(--border);background:var(--surface);flex-direction:column;min-height:0;display:flex}.chat-settings>header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:.7rem .9rem;display:flex}.chat-settings>header h2{font-size:.95rem}.chat-settings-body{flex-direction:column;flex:1;gap:.9rem;padding:.9rem;display:flex;overflow-y:auto}.chat-settings-body hr{border:0;border-top:1px solid var(--border-subtle);width:100%;margin:.2rem 0}.field-col{flex-direction:column;gap:.4rem;display:flex}.field-label{font-size:var(--fs-sm);color:var(--text-2);font-weight:600}.field-col textarea{resize:vertical;font-size:var(--fs-md);line-height:1.5}.preset-save{border-radius:var(--radius);background:var(--surface-2);flex-direction:column;gap:.5rem;padding:.7rem;display:flex}.slider{flex-direction:column;gap:.3rem;display:flex}.slider-head{font-size:var(--fs-sm);color:var(--text-2);justify-content:space-between;font-weight:600;display:flex}.slider-head .tnum{color:var(--primary)}.slider input[type=range]{accent-color:var(--primary);width:100%}.slider input.unset{opacity:.45}.slider-foot{justify-content:space-between;gap:.5rem;font-size:.72rem;display:flex}@media (width<=1100px){.chat.with-settings{grid-template-columns:minmax(0,1fr) 20rem}.chat.with-settings .chat-list{display:none}.answers.lanes-3{grid-template-columns:1fr}}@media (width<=900px){.chat,.chat.with-settings{grid-template-columns:minmax(0,1fr)}.chat .chat-list{display:none}.chat:not(.list-hidden) .chat-list{z-index:4;width:min(18rem,85vw);box-shadow:var(--shadow-xl);display:flex;position:fixed;inset:3.25rem auto 0 0}.chat-settings{z-index:4;width:min(22rem,92vw);box-shadow:var(--shadow-xl);position:fixed;inset:3.25rem 0 0 auto}.answers.lanes-2,.answers.lanes-3,.suggestions{grid-template-columns:1fr}}.title-with-badge{align-items:center;gap:.6rem;display:inline-flex}.check-list{flex-direction:column;gap:.45rem;margin:.6rem 0;padding:0;list-style:none;display:flex}.check-list>li{border-radius:var(--radius);background:var(--surface-2);align-items:flex-start;gap:.7rem;padding:.6rem .75rem;display:flex}.check-list>li.bad{background:var(--bad-bg)}.check-list>li.warn{background:var(--warn-bg)}.check-mark{color:#fff;border-radius:50%;flex:none;place-items:center;width:1.5rem;height:1.5rem;margin-top:.05rem;display:inline-grid}.check-mark .icon{width:.9rem;height:.9rem}.check-mark.ok{background:var(--ok-solid)}.check-mark.bad{background:var(--bad-solid)}.check-mark.warn{background:var(--warn-solid)}.check-mark.muted{background:var(--faint)}.check-text{flex-direction:column;gap:.1rem;min-width:0;display:flex}.check-text>strong{font-size:var(--fs-md)}.check-text .sub{word-break:break-word}.check-fix{font-size:var(--fs-sm);color:var(--text-2);margin-top:.15rem;font-weight:550}.appbar-actions .btn.ghost .icon{width:.95rem;height:.95rem}.integration-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;display:grid}.step{border-radius:var(--radius-lg);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--border-subtle);align-items:flex-start;gap:.6rem;padding:.75rem .85rem;display:flex}.step>span:last-child{flex-direction:column;gap:.3rem;min-width:0;display:flex}.step strong{font-size:var(--fs-md)}.step-no{background:var(--primary);color:#fff;width:1.5rem;height:1.5rem;font-size:var(--fs-sm);border-radius:50%;flex:none;place-items:center;font-weight:700;display:inline-grid}.model-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.model-row select{max-width:100%}.segmented.tabs{flex-wrap:wrap;align-self:flex-start}@media (width<=760px){.integration-steps{grid-template-columns:1fr}}.bundle-plan{flex-direction:column;gap:.75rem;margin-top:.6rem;display:flex}.bundle-plan-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.bundle-counts{flex-wrap:wrap;gap:.35rem;display:inline-flex}.kb-layout{grid-template-columns:16rem minmax(0,1fr);align-items:start;gap:1rem;display:grid}.kb-list{flex-direction:column;gap:.35rem;display:flex;position:sticky;top:4.5rem}.kb-item{text-align:left;cursor:pointer;font:inherit;border-radius:var(--radius-lg);border:1px solid var(--border-card);background:var(--surface);box-shadow:var(--shadow-card);flex-direction:column;gap:.25rem;padding:.7rem .85rem;display:flex}.kb-item:hover{border-color:var(--border-strong)}.kb-item.active{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-ring)}.kb-item-name{color:var(--text);align-items:center;gap:.45rem;font-weight:650;display:flex}.kb-item-name .icon{width:1rem;height:1rem;color:var(--primary);flex:none}.kb-item-sub{font-size:var(--fs-sm);color:var(--muted);align-items:center;gap:.4rem;display:flex}.kb-detail{background:var(--surface);border:1px solid var(--border-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--card-py) var(--card-px);flex-direction:column;gap:1rem;min-width:0;display:flex}.kb-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.kb-head h2{font-size:1.2rem}.kb-head p{margin:.2rem 0 0}.kb-meta{font-size:var(--fs-sm);color:var(--muted);flex-wrap:wrap;gap:.3rem 1rem;margin-top:.45rem;display:flex}.dropzone{cursor:pointer;text-align:center;border:2px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-2);flex-direction:column;align-items:center;gap:.4rem;padding:1.6rem 1rem;transition:border-color .12s,background .12s;display:flex}.dropzone:hover,.dropzone.over{border-color:var(--primary);background:var(--primary-soft)}.dropzone .icon{width:1.6rem;height:1.6rem;color:var(--primary)}.kb-import{align-items:flex-end;gap:.6rem;display:flex}.kb-import label{font-size:var(--fs-sm);color:var(--text-2);flex-direction:column;flex:1;gap:.3rem;font-weight:500;display:flex}.kb-progress{background:var(--muted-bg);border-radius:2px;width:6rem;height:4px;margin-top:.35rem;display:block;overflow:hidden}.kb-progress>i{background:var(--primary);height:100%;transition:width .3s;display:block}.kb-search{background:var(--surface);box-shadow:0 0 0 1px var(--border-strong);border-radius:999px;align-items:center;gap:.5rem;padding:.35rem .4rem .35rem .8rem;display:flex}.kb-search:focus-within{box-shadow:0 0 0 2px var(--primary)}.kb-search .icon{width:1.05rem;height:1.05rem;color:var(--faint);flex:none}.kb-search input{box-shadow:none;background:0 0;border:0;flex:1;height:2.2rem}.kb-search input:focus{box-shadow:none;outline:none}.kb-search .btn{border-radius:999px}ol.hits{flex-direction:column;gap:.7rem;margin:0;padding:0;list-style:none;display:flex}.hit{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);padding:.85rem 1rem}.hit>header{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.4rem;display:flex}.hit-no{background:var(--primary);color:#fff;width:1.4rem;height:1.4rem;font-size:var(--fs-xs);border-radius:50%;flex:none;place-items:center;font-weight:700;display:inline-grid}.hit-scores{gap:.3rem;margin-left:auto;display:inline-flex}.hit-text{white-space:pre-wrap;line-height:1.65;font-size:var(--fs-md);color:var(--text-2);margin:0 0 .35rem}.hit-text mark{color:inherit;background:#fff3b0;border-radius:3px;padding:0 1px}.ctx-chunk{border-radius:var(--radius);background:var(--surface-2);padding:.7rem .9rem}.ctx-chunk.hit-chunk{background:var(--primary-soft);box-shadow:inset 3px 0 0 var(--primary)}.ctx-chunk p{margin:.25rem 0 0}.form-grid.two-col{grid-template-columns:repeat(2,1fr)}.roles-pick{grid-template-columns:repeat(auto-fill,minmax(10rem,1fr))}@media (width<=900px){.kb-layout{grid-template-columns:1fr}.kb-list{flex-direction:row;position:static;overflow-x:auto}.kb-item{min-width:12rem}}.kb-picker{border-radius:var(--radius);box-shadow:0 0 0 1px var(--border);background:var(--surface);color:var(--muted);align-items:center;gap:.35rem;padding-left:.6rem;display:inline-flex}.kb-picker .icon{flex:none;width:.95rem;height:.95rem}.kb-picker select{box-shadow:none;background-color:#0000;border:0;max-width:16rem;height:2rem;padding-left:.1rem}.kb-picker.on{box-shadow:0 0 0 1px var(--primary);background:var(--primary-soft);color:var(--primary)}.kb-picker.on select{color:var(--primary);font-weight:600}.kb-on{background:var(--primary-soft);color:var(--primary);font-size:var(--fs-sm);border-radius:999px;align-items:center;gap:.35rem;margin-top:.4rem;padding:.35rem .75rem;display:inline-flex}.kb-on .icon{width:.95rem;height:.95rem}.sources{border-radius:var(--radius-lg);background:var(--surface-2);border:1px solid var(--border-subtle);flex-direction:column;gap:.5rem;margin-top:.6rem;padding:.65rem .85rem;display:flex}.sources-head{font-size:var(--fs-sm);color:var(--text-2);align-items:center;gap:.4rem;font-weight:600;display:flex}.sources-head .icon,.sources>.muted .icon{width:.95rem;height:.95rem;color:var(--primary);vertical-align:-2px}.source-chips{flex-wrap:wrap;gap:.35rem;display:flex}.source-chip{font:inherit;font-size:var(--fs-sm);cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;max-width:22rem;padding:.2rem .6rem;overflow:hidden}.source-chip b{color:var(--muted);font-weight:700}.source-chip.cited{border-color:var(--primary)}.source-chip.cited b{color:var(--primary)}.source-chip.open{background:var(--primary-soft)}.source-text{border-radius:var(--radius);background:var(--surface);box-shadow:inset 3px 0 0 var(--primary);max-height:18rem;margin:0;padding:.6rem .8rem;overflow:auto}.source-text p{font-size:var(--fs-md);margin:.3rem 0 0;line-height:1.65}.warn-text.small{font-size:var(--fs-sm);margin:0}.think-toggle{height:2rem;font:inherit;font-size:var(--fs-sm);cursor:pointer;border-radius:var(--radius);box-shadow:0 0 0 1px var(--border);background:var(--surface);color:var(--muted);border:0;align-items:center;gap:.4rem;margin-left:auto;padding:0 .6rem;display:inline-flex}.think-toggle .icon{width:.95rem;height:.95rem}.think-toggle .switch{background:var(--border-strong);border-radius:999px;width:1.9rem;height:1.1rem;transition:background .15s;position:relative}.think-toggle .switch:after{content:"";background:#fff;border-radius:50%;width:calc(1.1rem - 4px);height:calc(1.1rem - 4px);transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}.think-toggle.on{box-shadow:0 0 0 1px var(--primary);background:var(--primary-soft);color:var(--primary);font-weight:600}.think-toggle.on .switch{background:var(--primary)}.think-toggle.on .switch:after{transform:translate(.8rem)}.think-toggle:disabled{opacity:.6;cursor:default}
