@charset "UTF-8";@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbY2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKxTN1OVgaY.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbY2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKxTPlOVgaY.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbY2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKxTOVOVgaY.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbY2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKxTNVOVgaY.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbY2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKxTNFOVgaY.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbY2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKxTOlOV.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--surface: #101419;--surface-low: #181c21;--surface-container: #1c2025;--surface-high: #272a30;--surface-highest: #31353b;--surface-lowest: #0b0e13;--on-surface: #e0e2ea;--on-surface-var: #c0c7d3;--primary: #9fcaff;--primary-container: #007acc;--on-primary: #003258;--secondary: #ffb784;--secondary-container:#db761e;--outline: #8a919d;--outline-var: #404751;--error: #ffb4ab;--error-container: #93000a;--on-error-container: #ffdad6;--activity-bar-w: 48px;--sidebar-w: 260px;--status-bar-h: 24px;--header-h: 36px;--panel-padding: 8px;--content-pad-y: 20px;--content-pad-x: 24px;--r-sm: 2px;--r: 4px;--r-md: 6px;--r-lg: 8px;--r-xl: 12px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;background:var(--surface);color:var(--on-surface);font-family:Inter,system-ui,sans-serif;font-size:12px;line-height:18px;overflow:hidden}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-corner{background:transparent}*::-webkit-scrollbar-thumb{background:var(--outline-var);border:2px solid transparent;background-clip:padding-box;border-radius:var(--r-lg)}*::-webkit-scrollbar-thumb:hover{background:var(--outline);background-clip:padding-box}*::-webkit-scrollbar-thumb:active{background:var(--primary-container);background-clip:padding-box}*{scrollbar-width:thin;scrollbar-color:var(--outline-var) transparent}.t-header{font-family:Inter,system-ui,sans-serif;font-size:13px;font-weight:600;line-height:16px;letter-spacing:.02em}.t-body{font-size:12px;font-weight:400;line-height:18px}.t-label{font-size:11px;font-weight:500;line-height:14px}.t-code{font-family:JetBrains Mono,monospace;font-size:13px;line-height:20px}.t-code-sm{font-family:JetBrains Mono,monospace;font-size:11px;line-height:16px}.muted{color:var(--on-surface-var)}.hint{color:var(--on-surface-var);font-size:11px;line-height:14px}.ok{color:#8fd6a0}.ko{color:var(--error)}.empty{color:var(--on-surface-var);text-align:center;padding:24px}.btn{display:inline-flex;align-items:center;gap:5px;background:var(--primary-container);color:#fff;border:none;border-radius:var(--r-sm);padding:5px 12px;cursor:pointer;font-size:12px;font-family:inherit;font-weight:500;line-height:1;white-space:nowrap;transition:opacity .12s}.btn:hover:not(:disabled){opacity:.85}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.ghost{background:transparent;border:1px solid var(--outline-var);color:var(--on-surface)}.btn.ghost:hover:not(:disabled){background:var(--surface-high);border-color:var(--outline);opacity:1}.btn.danger{background:var(--error-container);color:var(--on-error-container);border:none}.btn.small{padding:3px 8px;font-size:11px}.btn.xsmall{padding:.05rem .3rem;font-size:11px;line-height:1.4}.btn.active-tab{border-color:var(--primary-container);color:var(--primary)}.ic{background:var(--surface-highest);border:1px solid var(--outline-var);color:var(--on-surface-var);border-radius:var(--r);width:20px;height:20px;cursor:pointer;line-height:1;padding:0;font-size:11px;display:flex;align-items:center;justify-content:center}.ic:disabled{opacity:.3;cursor:default}.ic:hover:not(:disabled){border-color:var(--primary-container);color:var(--on-surface)}.ic.danger:hover:not(:disabled){border-color:var(--error);color:var(--error)}.card{background:var(--surface-container);border:1px solid var(--outline-var);border-radius:var(--r-md);padding:16px;margin-bottom:12px}.card h2{font-size:14px;font-weight:600;margin-bottom:12px}.synth-queue{margin-top:.8rem;border:1px solid var(--outline-var);border-radius:var(--r);padding:.6rem;background:var(--surface-low)}.synth-queue-head{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap}.synth-queue-list{list-style:none;margin:.5rem 0 0;padding:0;max-height:14rem;overflow-y:auto}.synth-queue-list li{display:flex;align-items:center;gap:.25rem;padding:.2rem .1rem;border-top:1px solid var(--outline-var)}.synth-queue-list .spacer{flex:1}table.grid{width:100%;border-collapse:collapse;font-size:12px}table.grid th,table.grid td{text-align:left;padding:5px 8px;border-bottom:1px solid var(--outline-var);vertical-align:top}table.grid thead th{color:var(--on-surface-var);font-weight:500;font-size:11px;background:var(--surface-container);position:sticky;top:0}table.grid tbody tr{cursor:pointer}table.grid tbody tr:hover{background:var(--surface-high)}table.grid tbody tr.sel{background:color-mix(in srgb,var(--primary-container) 15%,transparent)}table.grid td.num{text-align:right;font-variant-numeric:tabular-nums}table.grid td.status-cell{text-align:center}table.grid.controls td{vertical-align:middle;white-space:nowrap}table.grid.controls td select,table.grid.controls td input,table.grid.controls td .btn{height:24px;margin:0;line-height:1;padding:2px 8px}table.grid.controls .row-actions{display:flex;align-items:center;gap:4px}table.grid.kv th{color:var(--on-surface-var);width:38%;font-weight:500;cursor:default}table.grid.kv tbody tr{cursor:default}table.grid.kv td{word-break:break-word}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600;letter-spacing:.03em}.badge.queued{background:var(--surface-highest);color:var(--on-surface-var)}.badge.running,.badge.cancelling,.badge.pausing{background:color-mix(in srgb,var(--secondary) 25%,transparent);color:var(--secondary)}.badge.done{background:color-mix(in srgb,#8fd6a0 20%,transparent);color:#8fd6a0}.badge.error{background:color-mix(in srgb,var(--error) 20%,transparent);color:var(--error)}.badge.cancelled,.badge.paused{background:var(--surface-highest);color:var(--on-surface-var)}.doc-bar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:6px 2px;border-bottom:1px solid var(--outline-var);margin-bottom:6px}.doc-grp{display:inline-flex;align-items:center;gap:4px}.doc-sep{width:1px;align-self:stretch;background:var(--outline-var);margin:0 2px}.doc-badge{font-size:10px;padding:1px 6px;border-radius:var(--r);border:1px solid var(--outline-var);color:var(--on-surface-var)}.doc-badge[data-s=done]{color:#8fd6a0;border-color:#8fd6a0}.doc-badge[data-s=processing]{color:var(--primary);border-color:var(--primary)}.doc-badge[data-s=failed]{color:var(--error);border-color:var(--error)}.doc-badge[data-s=skipped]{color:var(--secondary);border-color:var(--secondary)}.doc-badge[data-s=edited]{color:#fdc400;border-color:#fdc400}.doc-err{font-size:11px;color:var(--error)}label{display:block;margin:8px 0 4px;font-size:11px;color:var(--on-surface-var);font-weight:500}input[type=text],input[type=password],input[type=number],input[type=search],input[type=email],input[type=tel],input[type=url],select,textarea{width:100%;background:var(--surface-highest);border:1px solid var(--outline-var);border-radius:var(--r-sm);color:var(--on-surface);padding:5px 8px;font-size:12px;font-family:inherit}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary-container);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary-container) 25%,transparent)}input[type=number]{color-scheme:dark}.gauge{height:3px;background:var(--surface-highest);border-radius:2px;overflow:hidden}.gauge>div{height:100%;background:var(--primary-container);transition:width .4s}.dropzone{border:1px dashed var(--outline-var);border-radius:var(--r-md);padding:24px;text-align:center;color:var(--on-surface-var);cursor:pointer;transition:border-color .12s,color .12s}.dropzone:hover,.dropzone.drag{border-color:var(--primary-container);color:var(--on-surface)}.row{display:flex;gap:12px;flex-wrap:wrap}.row>*{flex:1;min-width:180px}.sep{height:1px;background:var(--outline-var);margin:8px 0}.provider-tag{font-size:10px;padding:2px 7px;border-radius:var(--r);background:var(--surface-highest);border:1px solid var(--outline-var);color:var(--on-surface-var)}.plat-badges{display:flex;gap:3px;flex-wrap:wrap;margin-top:3px}.plat-badge{font-size:9px;font-weight:700;line-height:1.4;padding:1px 5px;border-radius:var(--r);color:#fff}.plat-wd{background:#fdc400;color:#3a2e00}.plat-wb{background:#009ee0}.plat-wm{background:#ff9c00;color:#3a2400}.plat-autre{background:maroon}.ide-layout{display:grid;grid-template-columns:var(--activity-bar-w) var(--sidebar-w) 1fr;grid-template-rows:1fr var(--status-bar-h);height:100vh;overflow:hidden}.activity-bar{grid-column:1;grid-row:1;background:var(--surface-low);border-right:1px solid var(--outline-var);display:flex;flex-direction:column;align-items:center;padding:8px 0;gap:4px}.act-btn{width:36px;height:36px;background:transparent;border:none;border-radius:var(--r-md);color:var(--on-surface-var);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:color .12s,background .12s}.act-btn:hover{background:var(--surface-high);color:var(--on-surface)}.act-btn.active{color:var(--on-surface);background:var(--surface-highest);border-left:2px solid var(--primary-container)}.act-spacer{flex:1}.ide-sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--surface-low);border-right:1px solid var(--outline-var);display:flex;flex-direction:column;overflow:hidden}.ide-layout>.ide-sidebar{grid-column:2;grid-row:1}.sidebar-body{flex:1;overflow-y:auto}.sidebar-header{display:flex;align-items:center;justify-content:space-between;height:var(--header-h);padding:0 12px;border-bottom:1px solid var(--outline-var);letter-spacing:.06em;font-size:11px;font-weight:600;color:var(--on-surface-var);text-transform:uppercase;flex-shrink:0}.sidebar-count{background:var(--surface-highest);border-radius:10px;padding:1px 7px;font-size:10px;color:var(--on-surface-var)}.ide-main{grid-column:3;grid-row:1;background:var(--surface);overflow:hidden;display:flex;flex-direction:column}.ide-main-inner{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--content-pad-y) var(--content-pad-x)}.content-header{display:flex;align-items:center;gap:8px;flex-shrink:0;height:var(--header-h);padding:0 var(--content-pad-x);background:var(--surface-container);border-bottom:1px solid var(--outline-var);font-size:12px;font-weight:600;color:var(--on-surface)}.ide-status{grid-column:1/4;grid-row:2;background:var(--surface-highest);border-top:1px solid var(--outline-var);display:flex;align-items:center;gap:16px;padding:0 12px;font-size:11px;color:var(--on-surface-var)}.ide-status.active{background:var(--primary-container);color:#fff}.ide-status-sep{width:1px;height:12px;background:var(--outline-var)}.job-page{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:var(--surface)}.jp-header{background:var(--surface-high);border-bottom:1px solid var(--outline-var);padding:10px 16px;flex-shrink:0}.jp-header-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.jp-title{font-size:14px;font-weight:600}.jp-id{font-size:11px;color:var(--on-surface-var);font-family:JetBrains Mono,monospace}.jp-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-left:auto}.jp-selectors{display:flex;gap:16px;flex-wrap:wrap;margin-top:8px;align-items:center}.jp-sel-group{display:flex;align-items:center;gap:8px}.jp-sel-group label{font-size:11px;color:var(--on-surface-var);white-space:nowrap;margin:0}.jp-progress{margin-top:8px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.jp-body{display:flex;flex:1;min-height:0;overflow:hidden;position:relative}.act-sep-h{width:22px;height:1px;flex-shrink:0;background:var(--outline-var);margin:2px 0}.jp-tree-node{display:flex;align-items:center;gap:6px;padding:5px 10px;cursor:pointer;font-size:12px;font-weight:600;color:var(--on-surface-var);-webkit-user-select:none;user-select:none}.jp-tree-node:hover{background:var(--surface-high);color:var(--on-surface)}.jp-tree-caret{width:12px;font-size:10px;color:var(--outline)}.jp-tree-count{margin-left:auto;font-size:10px;font-weight:400;color:var(--outline);background:var(--surface-highest);border-radius:8px;padding:0 5px}.jp-tree-leaf{display:flex;align-items:center;gap:6px;padding:0 10px 0 26px;line-height:22px;cursor:pointer;font-size:11px;color:var(--on-surface-var);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jp-tree-leaf:hover{background:var(--surface-high);color:var(--on-surface)}.jp-tree-leaf.sel{background:color-mix(in srgb,var(--primary-container) 25%,transparent);color:var(--on-surface);border-left:2px solid var(--primary-container);padding-left:24px}.jp-tree-dot{width:6px;height:6px;border-radius:50%;background:var(--outline-var);flex-shrink:0}.jp-tree-dot.done{background:#8fd6a0}.jp-tree-dot.processing{background:var(--primary)}.jp-tree-dot.failed{background:var(--error)}.jp-tree-leaf-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.jp-tree-leaf-count{font-size:10px;color:var(--outline)}.jp-warn{font-size:11px;color:#f3b46b;flex:0 0 auto}.jp-activity{flex-shrink:0;width:var(--activity-bar-w);background:var(--surface-low);border-right:1px solid var(--outline-var);display:flex;flex-direction:column;align-items:center;padding:8px 0;gap:4px;position:relative;z-index:45}.jp-activity .act-btn{position:relative}.act-badge{position:absolute;top:1px;right:2px;min-width:14px;height:14px;padding:0 3px;border-radius:7px;background:var(--primary-container);color:#fff;font-size:9px;line-height:14px;text-align:center;font-weight:600}.jp-center{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden;background:var(--surface)}.editor-tabs{display:flex;align-items:stretch;background:var(--surface-container);border-bottom:1px solid var(--outline-var);flex-shrink:0;height:var(--header-h);padding-left:calc(var(--content-pad-x) - 16px)}.editor-tab{padding:0 16px;display:flex;align-items:center;gap:6px;background:transparent;border:none;color:var(--on-surface-var);cursor:pointer;font-size:12px;font-family:inherit;border-top:2px solid transparent;border-radius:var(--r) var(--r) 0 0;white-space:nowrap;transition:color .1s}.editor-tab:hover{color:var(--on-surface);background:var(--surface-high)}.editor-tab.active{color:var(--on-surface);background:var(--surface);border-top-color:var(--primary-container)}.editor-tab:disabled{opacity:.4;cursor:not-allowed}.editor-tab:disabled:hover{background:transparent;color:var(--on-surface-var)}.editor-tab-title{display:flex;align-items:center;padding:0 16px;font-size:12px;font-weight:600;color:var(--on-surface);border-top:2px solid var(--primary-container)}.editor-content{flex:1;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;padding:var(--content-pad-y) var(--content-pad-x);min-height:0}.jp-status{background:var(--surface-highest);border-top:1px solid var(--outline-var);height:var(--status-bar-h);display:flex;align-items:center;gap:12px;padding:0 12px;font-size:11px;color:var(--on-surface-var);flex-shrink:0}.jp-status.active{background:var(--primary-container);color:#fff}.filelist{list-style:none;margin:8px 0 0}.filelist li{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;background:var(--surface-high);border-radius:var(--r);margin-bottom:3px;font-size:11px}.filelist li button{background:none;border:none;color:var(--on-surface-var);cursor:pointer;font-size:12px}.filelist li button:hover{color:var(--error)}.code-block{margin-bottom:12px}.code-head{background:var(--surface-highest);border:1px solid var(--outline-var);border-bottom:none;border-radius:var(--r) var(--r) 0 0;padding:5px 10px;font-size:11px;color:var(--on-surface-var);display:flex;align-items:center;gap:8px}pre.code{margin:0;background:var(--surface-lowest);border:1px solid var(--outline-var);border-radius:0 0 var(--r) var(--r);padding:10px 14px;overflow:auto;font-family:JetBrains Mono,monospace;font-size:12px;line-height:1.55;white-space:pre;color:#cdd6e3}pre.code .kw{color:#6cb6ff;font-weight:600}pre.code .st{color:#7ee787}pre.code .cm{color:#6a7b8c;font-style:italic}pre.code .nb{color:#f0a35e}pre.code .fn{color:#6cb6ff}pre.code .prop{color:#d2a8ff}pre.code .type{color:#79c0ff}pre.code .const{color:#f0a35e;font-style:italic}pre.code .var{color:#adbac7}pre.code .ref{color:#4ec9b0}pre.code .ref[data-target]{cursor:pointer}pre.code .ref[data-target]:hover{text-decoration:underline}pre.code .st-multi{background:#ff78c81f;border-radius:2px}pre.code .op{color:#8b949e}pre.code .id{color:inherit}pre.code .fn[data-ref]{cursor:help}pre.code .fn[data-ref]:hover{text-decoration:underline}pre.code .diag-error{text-decoration:underline wavy #ff0000;text-underline-offset:2px}pre.code .diag-warn{text-decoration:underline wavy #ff8000;text-underline-offset:2px}.diag-badge{font-size:11px;font-weight:600;padding:0 6px;border-radius:8px;margin-left:6px;white-space:nowrap}.diag-badge-error{background:#ff000026;color:#ff5a5a}.diag-badge-warn{background:#ff800026;color:#ffab52}.code-chip{font-size:11px;font-weight:600;padding:0 6px;border-radius:8px;margin-left:6px;white-space:nowrap}.code-chip-serveur{background:#5a96ff2e;color:#6ea8ff}.code-chip-navigateur{background:#78c8782e;color:#7fce7f}.code-chip-template{background:#be8cff2e;color:#c19bff}:root[data-theme=light] pre.code .var{color:#24292f}:root[data-theme=light] pre.code .op{color:#57606a}:root[data-theme=light] pre.code .ref{color:#067d68}:root[data-theme=light] pre.code .st-multi{background:#d2008214}.code-explanation{margin-top:6px;padding:8px 10px;background:color-mix(in srgb,var(--surface-highest) 60%,transparent);border-left:2px solid var(--primary-container);border-radius:0 var(--r) var(--r) 0;font-size:11px;color:var(--on-surface-var);line-height:1.5}.content3{display:flex;flex:1;min-height:0;gap:0}.ctree{flex:0 0 auto;min-width:140px;overflow:auto;min-height:0;border:1px solid var(--outline-var);border-radius:var(--r-md);background:var(--surface-container);padding:4px 0}.ccenter{flex:1 1 auto;min-width:0;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:10px;padding:4px 12px}.cprops{flex:0 0 auto;min-width:140px;min-height:0;overflow:auto;border:1px solid var(--outline-var);border-radius:var(--r-md);background:var(--surface-container);padding:4px 12px 10px}.cprops h4:first-of-type{margin-top:8px}.col-resizer{flex:0 0 8px;cursor:col-resize;align-self:stretch;background:transparent;position:relative}.col-resizer:after{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;transform:translate(-50%);background:var(--outline-var)}.col-resizer:hover:after{width:3px;background:var(--primary)}.ctree .trow{cursor:pointer;padding-top:3px;padding-bottom:3px;padding-right:6px}.ctree .trow:hover{background:color-mix(in srgb,var(--surface-highest) 50%,transparent)}.ctree .trow.sel{background:color-mix(in srgb,var(--primary-container) 18%,transparent)}.ctree .caret{display:inline-block;width:1em;flex:0 0 auto;cursor:pointer;color:var(--on-surface-var);-webkit-user-select:none;user-select:none;text-align:center}.ctree .caret-sp{display:inline-block;width:1em;flex:0 0 auto}.ctree .tline{display:flex;align-items:center;gap:4px;font-size:12px;white-space:nowrap}.ctree .ticon{width:1.1em;text-align:center;flex:0 0 auto}.ctree .tlabel{overflow:hidden;text-overflow:ellipsis}.llm-box{border:1px solid color-mix(in srgb,var(--primary) 35%,var(--outline-var));border-left:3px solid var(--primary);background:color-mix(in srgb,var(--primary-container) 10%,var(--surface-container));border-radius:var(--r-md);padding:.5rem .75rem;margin:.3rem 0 0}.skeleton{position:relative;overflow:hidden;background:var(--surface-highest);border-radius:var(--r-sm)}.skeleton:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--on-surface) 14%,transparent),transparent);animation:skeleton-sweep 1.3s ease-in-out infinite}@keyframes skeleton-sweep{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.skeleton:after{animation:none}}.llm-skeleton{display:flex;flex-direction:column;gap:5px}.llm-skeleton .skeleton{height:9px}.llm-skeleton .skeleton:last-child{width:60%}.llm-box .llm-head{font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--primary);margin-bottom:.35rem}.md{font-size:12px;line-height:1.55;color:var(--on-surface)}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md h1,.md h2,.md h3,.md h4{font-size:12.5px;color:var(--primary);margin:.7rem 0 .3rem;text-transform:none;letter-spacing:0}.md p{margin:.35rem 0}.md ul,.md ol{margin:.35rem 0;padding-left:1.3rem}.md li{margin:.15rem 0}.md code{font-family:var(--mono, monospace);font-size:11px;padding:0 4px;background:var(--surface-highest);border-radius:var(--r)}.md pre{background:var(--surface-highest);border:1px solid var(--outline-var);border-radius:var(--r);padding:.5rem .6rem;overflow:auto;margin:.4rem 0}.md pre code{background:none;padding:0}.md table{border-collapse:collapse;margin:.4rem 0;font-size:11px}.md th,.md td{border:1px solid var(--outline-var);padding:2px 7px;text-align:left}.md th{background:var(--surface-highest)}.md a{color:var(--primary)}.md blockquote{margin:.4rem 0;padding:.1rem .7rem;border-left:2px solid var(--outline-var);color:var(--on-surface-var)}.detail-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.detail-head h3{margin:0;font-size:13px}.crumb.link{cursor:pointer}.crumb.link:hover{color:var(--primary);text-decoration:underline}.detail h4{margin:14px 0 6px;color:var(--primary);font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.pane-top{display:flex;gap:10px;flex-wrap:wrap}.shot{margin:0}.shot img{max-width:100%;max-height:280px;border:1px solid var(--outline-var);border-radius:var(--r-md);background:#fff}.shot figcaption{color:var(--on-surface-var);font-size:10px;margin-top:3px}.element-summary{background:color-mix(in srgb,var(--surface-highest) 50%,transparent);border:1px solid var(--outline-var);border-radius:var(--r-md);padding:10px 14px;margin-bottom:12px;font-size:12px;line-height:1.6;color:var(--on-surface-var)}.dec-split{display:flex;gap:10px;min-height:0;flex:1}.dec-list{width:340px;flex-shrink:0;overflow:auto;border:1px solid var(--outline-var);border-radius:var(--r-md);background:var(--surface-container)}.dec-preview{flex:1;min-width:0;overflow:auto;background:var(--surface-container);border:1px solid var(--outline-var);border-radius:var(--r-md);padding:8px}.zones{margin-bottom:8px;font-size:11px}.zone-chip{display:inline-block;background:var(--surface-highest);border-radius:var(--r);padding:1px 6px;margin:2px;font-family:JetBrains Mono,monospace;font-size:10px}.dtype{font-size:11px}.queue-list{list-style:none}.qitem{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:var(--r)}.qitem:nth-child(odd){background:#ffffff05}.qitem.off{opacity:.5}.qname{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.qtype{font-size:10px;color:var(--on-surface-var)}.qstatus{width:14px;text-align:center;font-size:11px}.qstatus[data-s=done]{color:#8fd6a0}.qstatus[data-s=processing]{color:var(--primary)}.qstatus[data-s=failed]{color:var(--error)}.qstatus[data-s=pending]{color:var(--outline)}.qmove{display:flex;gap:2px}.qsection{margin:4px 0 12px}.qsec-head{display:flex;align-items:center;gap:6px;font-weight:600;font-size:11px;padding:4px 6px;border-bottom:1px solid var(--outline-var);margin-bottom:4px;color:var(--on-surface-var)}.qsec-head .count{background:var(--surface-highest);border-radius:8px;padding:0 6px;font-size:10px;color:var(--on-surface-var);font-weight:400}.qsec-actions{margin-left:auto;display:flex;gap:5px;align-items:center}.qsec-actions select{width:auto;min-width:120px}.done-sec{opacity:.7}.el-inst{width:auto;min-width:100px;font-size:11px;padding:2px 4px}.el-start{display:inline-flex;gap:5px;align-items:center}.qgroup{margin:4px 0 6px}.qgroup-head{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--on-surface-var);padding:2px 6px}.qgroup-head .count{background:var(--surface-highest);border-radius:8px;padding:0 6px;font-size:10px;font-weight:400}.qitem .doc-badge{flex:none}.qsec-toggle{cursor:pointer;-webkit-user-select:none;user-select:none}.qsec-toggle:hover{color:var(--on-surface)}.qsec-toggle .caret{width:12px;display:inline-block;font-size:10px}.inst-card{background:var(--surface-high);border:1px solid var(--outline-var);border-radius:var(--r-md);padding:12px;margin-bottom:8px;display:flex;align-items:center;gap:10px}.inst-card .inst-info{flex:1;min-width:0}.inst-card .inst-name{font-size:13px;font-weight:600}.inst-card .inst-sub{font-size:11px;color:var(--on-surface-var)}pre.joblog{margin:0;padding:10px 14px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-family:JetBrains Mono,monospace;font-size:11px;line-height:1.5;color:var(--on-surface-var);background:var(--surface-lowest);border-radius:var(--r-md);min-height:100px}.server-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.server-card{background:var(--surface-high);border:1px solid var(--outline-var);border-radius:var(--r-md);padding:12px}.sjl-item{display:flex;align-items:center;gap:8px;padding:6px 12px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .1s}.sjl-item:hover{background:var(--surface-high)}.sjl-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;background:var(--outline)}.sjl-dot.queued,.sjl-dot.paused{background:var(--outline)}.sjl-dot.running,.sjl-dot.cancelling,.sjl-dot.pausing{background:var(--secondary)}.sjl-dot.done{background:#8fd6a0}.sjl-dot.error{background:var(--error)}.sjl-dot.cancelled{background:var(--outline-var)}.sjl-info{flex:1;min-width:0}.sjl-name{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sjl-sub{font-size:10px;color:var(--on-surface-var);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sjl-open{background:transparent;border:none;color:var(--on-surface-var);cursor:pointer;font-size:13px;opacity:0;padding:2px 4px;border-radius:var(--r)}.sjl-item:hover .sjl-open{opacity:1}.sjl-open:hover{background:var(--surface-highest);color:var(--on-surface)}.sjl-section{padding:6px 12px 2px;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--outline)}.sjl-empty{padding:16px 12px;font-size:11px;color:var(--on-surface-var);text-align:center}.detail-sticky{position:sticky;top:0;z-index:3;flex:0 0 auto;background:var(--surface);box-shadow:0 -13px 0 var(--surface);border-bottom:1px solid var(--outline-var);padding-bottom:8px;margin-bottom:10px}.detail-sticky .detail-head{margin-bottom:8px}.detail-sticky .doc-bar{border-bottom:none;margin-bottom:0;padding-bottom:0}.seg{display:inline-flex;border:1px solid var(--outline-var);border-radius:var(--r);overflow:hidden;margin-left:auto}.seg button{background:var(--surface-container);border:none;color:var(--on-surface-var);padding:3px 10px;cursor:pointer;font-size:11px;font-family:inherit}.seg button.on{background:var(--primary-container);color:#fff}.seg button:disabled{opacity:.4;cursor:not-allowed}.seg button:hover:not(.on):not(:disabled){background:var(--surface-high);color:var(--on-surface)}.src-pages{flex:1 1 100%;min-width:0;white-space:normal;overflow-wrap:anywhere;font-size:10px;color:var(--on-surface-var)}.tokens{font-variant-numeric:tabular-nums}.recap-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.recap-title{font-size:20px;font-weight:600;line-height:1.2}.recap-sub{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px;font-size:12px;color:var(--on-surface-var)}.recap-sub-sep{color:var(--outline-var)}.recap-head-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:16px}.stat-card{display:flex;flex-direction:column;gap:4px;background:var(--surface-container);border:1px solid var(--outline-var);border-radius:var(--r-md);padding:14px 16px}.stat-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--on-surface-var)}.stat-value{font-size:26px;font-weight:600;line-height:1.1;color:var(--on-surface)}.stat-foot{font-size:11px}.recap-cols{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}.recap-col-main{flex:1 1 460px;min-width:0}.recap-col-side{flex:1 1 280px;min-width:0;max-width:380px}.recap-warn{color:#f3b46b;margin-left:6px;font-size:12px}.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.card-head h2{margin:0}.step-list{list-style:none;display:flex;flex-direction:column;gap:2px}.step{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:var(--r)}.step:hover{background:var(--surface-high)}.step-mark{width:18px;text-align:center;font-size:13px;color:var(--outline);flex-shrink:0}.step.ok .step-mark{color:#8fd6a0}.step.partial .step-mark{color:var(--secondary)}.step.off .step-mark{color:var(--outline-var)}.step-name{flex:1;min-width:0;font-size:12px}.step-info{font-size:11px;flex-shrink:0}.el-status{font-size:11px;white-space:nowrap}.el-status[data-s=done]{color:#8fd6a0}.el-status[data-s=processing]{color:var(--primary)}.el-status[data-s=failed]{color:var(--error)}.el-status[data-s=pending]{color:var(--on-surface-var)}.mono{font-family:JetBrains Mono,monospace;font-size:11px}.type-bars{list-style:none;display:flex;flex-direction:column;gap:8px}.type-bar{display:flex;align-items:center;gap:10px;font-size:12px}.type-bar-name{flex:0 0 38%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.type-bar-track{flex:1;height:8px;background:var(--surface-highest);border-radius:var(--r-sm);overflow:hidden}.type-bar-fill{display:block;height:100%;background:var(--primary-container);border-radius:var(--r-sm)}.type-bar-count{flex:0 0 auto;font-variant-numeric:tabular-nums;color:var(--on-surface-var)}.sjl-item.sel{background:color-mix(in srgb,var(--primary-container) 22%,transparent);border-left:2px solid var(--primary-container);padding-left:10px}.graph-wrap{flex:1;min-height:480px;display:flex;flex-direction:column;margin:calc(-1 * var(--content-pad-y)) calc(-1 * var(--content-pad-x))}.graph-msg{margin:auto}.graph-toolbar{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--outline-var);background:var(--surface-container);flex-shrink:0}input.graph-search{width:240px;padding:5px 9px;font-size:12px;font-family:inherit;color:var(--on-surface);background:var(--surface-low);border:1px solid var(--outline-var);border-radius:var(--r)}input.graph-search:focus{outline:none;border-color:var(--primary-container)}.graph-counts{font-size:12px;color:var(--on-surface-var)}.graph-tb-spacer{flex:1}.graph-body{flex:1;display:flex;min-height:0}.graph-svg{flex:1;min-width:0;background:radial-gradient(circle at 1px 1px,var(--surface-high) 1px,transparent 0) 0 0/26px 26px,var(--surface-lowest);cursor:grab;touch-action:none}.graph-svg:active{cursor:grabbing}.graph-node{cursor:pointer}.graph-node.dim{pointer-events:none}.graph-label{font-size:11px;font-family:inherit;fill:var(--on-surface);paint-order:stroke;stroke:var(--surface-lowest);stroke-width:3px;-webkit-user-select:none;user-select:none}.graph-side{padding:12px}.gl-title{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--on-surface-var);margin-bottom:6px}.gl-row,.gl-hub{display:flex;align-items:center;gap:8px;width:100%;padding:4px 6px;background:transparent;border:none;border-radius:var(--r);color:var(--on-surface);font-family:inherit;font-size:12px;cursor:pointer;text-align:left}.gl-row:hover,.gl-hub:hover{background:var(--surface-high)}.gl-row.off{opacity:.4}.gl-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.gl-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gl-count{font-size:11px;color:var(--on-surface-var)}.gd-head{display:flex;align-items:center;gap:8px}.gd-icon{font-size:16px}.gd-name{font-weight:600;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gd-type{font-size:11px;color:var(--on-surface-var);margin:2px 0 8px}.gd-summary{font-size:12px;color:var(--on-surface-var);line-height:1.45;margin:0 0 8px}.gd-meta{display:flex;flex-direction:column;gap:2px;font-size:11px;color:var(--on-surface-var);margin-bottom:10px}.gd-sec{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--on-surface-var);margin:12px 0 4px}.gd-rel{list-style:none;margin:0;padding:0}.gd-rel li{display:flex;align-items:center;gap:7px;padding:3px 6px;border-radius:var(--r);cursor:pointer}.gd-rel li:hover{background:var(--surface-high)}.gd-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.gd-rel-name{flex:1;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gd-rel-kind{font-size:10px;color:var(--on-surface-var)}.spec-print .md h1{font-size:20px;margin:0 0 .2rem}.spec-print .md h2{font-size:16px;margin:1.4rem 0 .4rem}.spec-print .md h3{font-size:13px;margin:.9rem 0 .3rem}.spec-print .md table{width:100%}@media print{body *{visibility:hidden}.spec-print,.spec-print *{visibility:visible}.spec-print{position:absolute;inset:0;height:auto;overflow:visible;background:#fff;color:#000;padding:0}.spec-print .spec-print-bar{display:none}.spec-print .md{color:#000;font-size:10pt}.spec-print .md h1{color:#000;font-size:18pt}.spec-print .md h2{color:#000;font-size:14pt}.spec-print .md h3{color:#000;font-size:11pt}.spec-print .md h2~h2{break-before:page}.spec-print .md th{background:#eee}.spec-print .md table,.spec-print .md tr{break-inside:avoid}}
