@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-serif-4-latin-600-normal-DouSKlru.woff2) format("woff2"),url(/assets/source-serif-4-latin-600-normal-DeJomR3S.woff) format("woff")}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-serif-4-latin-ext-600-normal-pa-C5Dkf.woff2) format("woff2"),url(/assets/source-serif-4-latin-ext-600-normal-B2fExS53.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff) format("woff")}:root{--brand-50: #eef6ff;--brand-100: #dbecff;--brand-200: #bcdcff;--brand-300: #8cc4ff;--brand-400: #3ea4fe;--brand-500: #0a8cf5;--brand-600: #0670e0;--brand-700: #0559bd;--brand-800: #0a4a98;--brand-900: #0c3d7a;--ink-950: #050f1c;--ink-900: #081a2d;--ink-800: #16273c;--ink-700: #334155;--ink-600: #475569;--ink-500: #64748b;--ink-400: #94a3b8;--ink-300: #c2ccd9;--ink-250: #d3dbe6;--ink-200: #e1e7ef;--ink-150: #e9eef4;--ink-100: #f1f4f8;--ink-75: #f6f8fb;--ink-50: #fafbfd;--paper: #ffffff;--app-bg: #f4f6f9;--pos: #0f8a5f;--pos-bg: #e8f6ef;--neg: #c2453b;--neg-bg: #fbeceb;--warn: #a96a12;--warn-bg: #fbf2e1;--warn-bd: #f0dcb6;--row-h: 30px;--rownum-w: 44px;--radius-sm: 5px;--radius: 7px;--radius-lg: 11px;--shadow-pop: 0 1px 2px rgba(15,23,42,.06), 0 6px 18px -6px rgba(15,23,42,.18);--shadow-card: 0 1px 2px rgba(15,23,42,.05), 0 1px 0 rgba(15,23,42,.02);--shadow-toast: 0 2px 4px rgba(15,23,42,.08), 0 12px 28px -8px rgba(15,23,42,.28);--ring: 0 0 0 3px var(--brand-100);--font-display: "Source Serif 4", Georgia, "Times New Roman", serif}*{box-sizing:border-box}html,body,#app{height:100%}body{margin:0;font-family:Avenir Next,Avenir Next LT Pro,Avenir,Segoe UI,system-ui,sans-serif;font-size:13px;line-height:1.45;color:var(--ink-800);background:var(--app-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select,textarea{font-family:inherit}.mono{font-family:IBM Plex Mono,ui-monospace,Menlo,monospace}.tnum{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}:focus{outline:none}.focusable:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:none;box-shadow:var(--ring);border-color:var(--brand-500)}.thin-scroll::-webkit-scrollbar{height:11px;width:11px}.thin-scroll::-webkit-scrollbar-thumb{background:var(--ink-250);border-radius:9999px;border:3px solid transparent;background-clip:content-box}.thin-scroll::-webkit-scrollbar-thumb:hover{background:var(--ink-300);background-clip:content-box}.thin-scroll::-webkit-scrollbar-track{background:transparent}.thin-scroll{scrollbar-width:thin;scrollbar-color:var(--ink-250) transparent}.rc-grid-wrap{position:relative;height:100%;overflow:auto;background:var(--paper)}.rc-grid{border-collapse:separate;border-spacing:0;font-size:13px;width:-moz-max-content;width:max-content;min-width:100%}.rc-grid th,.rc-grid td{border-bottom:1px solid var(--ink-150);border-right:1px solid var(--ink-150)}.rc-grid thead th{position:sticky;top:0;z-index:12;background:var(--ink-75);color:var(--ink-600);font-weight:600;text-align:left;padding:0 10px;height:32px;white-space:nowrap;border-bottom:1px solid var(--ink-200);-webkit-user-select:none;-moz-user-select:none;user-select:none}.rc-grid thead th .col-name{font-size:12px;color:var(--ink-800);letter-spacing:-.01em}.rc-grid thead th.num{text-align:right}.rc-corner{position:sticky;left:0;top:0;z-index:20!important;width:var(--rownum-w);min-width:var(--rownum-w);background:var(--ink-75)!important}.rc-rownum{position:sticky;left:0;z-index:11;width:var(--rownum-w);min-width:var(--rownum-w);background:var(--ink-50);color:var(--ink-400);text-align:center;font-size:11px;font-variant-numeric:tabular-nums;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;user-select:none}.rc-grid tbody tr:hover .rc-rownum{background:var(--ink-100);color:var(--ink-500)}.rc-grid tbody td{height:var(--row-h);padding:0;background:var(--paper);vertical-align:middle}.rc-grid tbody tr:nth-child(2n) td{background:#fcfdfe}.rc-grid tbody tr:hover td{background:var(--brand-50)}.rc-grid tbody tr:hover td.rc-rownum{background:var(--ink-100)}.rc-cell{display:block;padding:0 10px;min-height:var(--row-h);line-height:var(--row-h);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rc-cell.num{text-align:right;font-variant-numeric:tabular-nums}.rc-cell.muted{color:var(--ink-400)}.rc-grid td.sel{box-shadow:inset 0 0 0 2px var(--brand-600);background:var(--brand-50)!important;position:relative;z-index:5}.rc-grid td.editing{box-shadow:inset 0 0 0 2px var(--brand-600),var(--shadow-pop);background:var(--paper)!important;z-index:6}.rc-cell-input{width:100%;height:var(--row-h);border:0;padding:0 10px;font:inherit;color:var(--ink-900);background:transparent}.rc-cell-input.num{text-align:right;font-variant-numeric:tabular-nums}.cur-sym{color:var(--ink-400);margin-left:2px;font-size:11px}.bool-chip{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:5px}.bool-true{background:var(--pos-bg);color:var(--pos)}.bool-false{background:var(--ink-100);color:var(--ink-400)}.cat-chip{display:inline-block;padding:1px 7px;border-radius:999px;background:var(--ink-100);color:var(--ink-600);font-size:11px;font-weight:500;border:1px solid var(--ink-200);line-height:16px;vertical-align:middle}.type-glyph{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:4px;font-size:9px;font-weight:600;background:var(--ink-100);color:var(--ink-500);flex:none;font-family:IBM Plex Mono,monospace}@keyframes rc-fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes rc-fade{0%{opacity:0}to{opacity:1}}@keyframes rc-slide-in{0%{transform:translate(100%)}to{transform:none}}@keyframes rc-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes rc-pulse-dot{0%,to{box-shadow:0 0 #0f8a5f80}70%{box-shadow:0 0 0 5px #0f8a5f00}}.anim-fade-up{animation:rc-fade-up .22s cubic-bezier(.2,.7,.3,1) both}.anim-fade{animation:rc-fade .18s ease both}.skeleton{background:linear-gradient(90deg,var(--ink-100) 25%,var(--ink-150) 37%,var(--ink-100) 63%);background-size:800px 100%;animation:rc-shimmer 1.4s infinite linear;border-radius:5px}.live-dot{position:relative}.live-dot.on{animation:rc-pulse-dot 2.4s infinite}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.t-fast{transition:all .13s cubic-bezier(.2,.7,.3,1)}.grid-toolbar{display:flex;align-items:center;gap:8px;padding:7px 12px;background:var(--paper);border-bottom:1px solid var(--ink-150)}.tool-btn{display:inline-flex;align-items:center;gap:5px;padding:4px 9px 4px 7px;border-radius:var(--radius-sm);background:var(--ink-75);border:1px solid var(--ink-200);color:var(--ink-700);font-size:12px;font-weight:500;cursor:pointer;transition:all .12s ease}.tool-btn:hover{background:var(--ink-100);border-color:var(--ink-250);color:var(--ink-900)}.tool-btn svg{color:var(--ink-400)}.col-menu-btn{display:inline-flex;padding:2px;border-radius:4px;border:0;background:transparent;color:var(--ink-400);cursor:pointer;opacity:0;transition:all .12s}.rc-grid thead th:hover .col-menu-btn{opacity:1}.col-menu-btn:hover{background:var(--ink-200);color:var(--ink-700)}.add-col-th,.add-col-cell{min-width:40px!important;width:40px;border-right:0!important;background:var(--ink-50)!important}.add-col-th{background:var(--ink-75)!important}.add-col-btn{display:inline-flex;padding:4px;border-radius:5px;border:0;background:transparent;color:var(--ink-400);cursor:pointer}.add-col-btn:hover{background:var(--ink-150);color:var(--brand-600)}.add-col-cell{background:var(--ink-50)!important}.rownum-inner{display:inline-flex;align-items:center;justify-content:center;width:100%}.rownum-n{transition:opacity .1s}.row-del{display:none;border:0;background:transparent;color:var(--ink-300);cursor:pointer;padding:2px;border-radius:4px}.row-del:hover{color:var(--neg);background:var(--neg-bg)}.rc-grid tbody tr:hover .rownum-n{display:none}.rc-grid tbody tr:hover .row-del{display:inline-flex}.add-row-strip{display:flex;align-items:center;gap:6px;width:100%;padding:7px 12px;border:0;border-bottom:1px solid var(--ink-150);background:var(--paper);color:var(--ink-400);font-size:12px;cursor:pointer;text-align:left}.add-row-strip:hover{background:var(--brand-50);color:var(--brand-700)}.grid-empty{padding:48px 24px;text-align:center;font-size:13px}.col-menu{position:absolute;right:6px;top:30px;z-index:50;min-width:168px;background:var(--paper);border:1px solid var(--ink-200);border-radius:var(--radius);box-shadow:var(--shadow-pop);padding:5px;font-weight:400}.col-menu-item{display:flex;align-items:center;gap:9px;width:100%;padding:7px 9px;border:0;background:transparent;border-radius:var(--radius-sm);color:var(--ink-700);font-size:13px;text-align:left;cursor:pointer}.col-menu-item:hover{background:var(--ink-75)}.col-menu-item svg{color:var(--ink-400)}.col-menu-item.danger{color:var(--neg)}.col-menu-item.danger:hover{background:var(--neg-bg)}.col-menu-item.danger svg{color:var(--neg)}.col-menu-item .rc-ic[style] svg{color:inherit}.col-menu-sep{height:1px;background:var(--ink-150);margin:5px 4px}.shell{display:flex;flex-direction:column;height:100%}.topbar{display:flex;align-items:center;gap:14px;height:50px;padding:0 14px;background:var(--paper);border-bottom:1px solid var(--ink-200);flex:none}.brand-lockup{display:flex;align-items:center;gap:9px}.ws-pill{display:inline-flex;align-items:center;gap:7px;padding:4px 10px;border-radius:var(--radius);background:var(--ink-75);border:1px solid var(--ink-200);font-size:12.5px;font-weight:500;color:var(--ink-700);cursor:pointer;transition:all .12s}.ws-pill:hover{background:var(--ink-100)}.ws-pill .chev{color:var(--ink-400)}.live-chip{display:inline-flex;align-items:center;gap:7px;padding:4px 10px 4px 9px;border-radius:999px;background:var(--ink-75);border:1px solid var(--ink-200);font-size:12px;color:var(--ink-600);font-weight:500}.live-chip .ld{width:7px;height:7px;border-radius:999px;background:var(--pos)}.live-chip.off .ld{background:var(--ink-300)}.tb-btn{display:inline-flex;align-items:center;gap:7px;padding:6px 11px;border-radius:var(--radius);border:1px solid var(--ink-200);background:var(--paper);color:var(--ink-700);font-size:13px;font-weight:500;cursor:pointer;transition:all .12s}.tb-btn:hover{background:var(--ink-75);border-color:var(--ink-250);color:var(--ink-900)}.tb-btn svg{color:var(--ink-500)}.tb-btn.ghost{border-color:transparent;background:transparent}.tb-btn.ghost:hover{background:var(--ink-100)}.counts{display:flex;gap:2px;font-size:12px;color:var(--ink-400)}.counts b{color:var(--ink-700);font-weight:600}.body-row{display:flex;min-height:0;flex:1}.sidebar{width:248px;flex:none;background:var(--paper);border-right:1px solid var(--ink-200);overflow:auto;display:flex;flex-direction:column}.side-search{margin:12px 12px 4px;display:flex;align-items:center;gap:7px;padding:6px 9px;border-radius:var(--radius);background:var(--ink-75);border:1px solid var(--ink-200);color:var(--ink-400)}.side-search input{border:0;background:transparent;font:inherit;font-size:12.5px;color:var(--ink-800);width:100%}.side-search input::-moz-placeholder{color:var(--ink-400)}.side-search input::placeholder{color:var(--ink-400)}.side-section{padding:10px 8px 4px}.side-head{display:flex;align-items:center;justify-content:space-between;padding:0 8px 6px}.side-title{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-400)}.side-title svg{color:var(--ink-300)}.side-add{display:inline-flex;padding:3px;border-radius:5px;border:0;background:transparent;color:var(--ink-400);cursor:pointer}.side-add:hover{background:var(--brand-50);color:var(--brand-600)}.side-item{display:flex;align-items:center;gap:9px;width:100%;padding:6px 9px;border-radius:var(--radius-sm);border:0;background:transparent;color:var(--ink-700);font-size:13px;text-align:left;cursor:pointer;transition:background .1s;position:relative}.side-item:hover{background:var(--ink-75)}.side-item.active{background:var(--brand-50);color:var(--brand-800);font-weight:600}.side-item.active:before{content:"";position:absolute;left:-8px;top:6px;bottom:6px;width:3px;border-radius:0 3px 3px 0;background:var(--brand-600)}.side-item .si-ic{color:var(--ink-400);flex:none}.side-item.active .si-ic{color:var(--brand-600)}.side-item .si-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-item .si-meta{font-size:11px;color:var(--ink-300);font-variant-numeric:tabular-nums}.side-err{width:7px;height:7px;border-radius:999px;background:var(--neg);flex:none}.side-empty{padding:4px 9px;font-size:12px;color:var(--ink-300);font-style:italic}.main{flex:1;min-width:0;background:var(--app-bg);display:flex;flex-direction:column}.panel{display:flex;flex-direction:column;height:100%}.panel-head{display:flex;align-items:center;gap:12px;flex:none;padding:12px 16px;background:var(--paper);border-bottom:1px solid var(--ink-200)}.panel-kind{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--radius);background:var(--brand-50);color:var(--brand-600);flex:none}.panel-title{font-size:15px;font-weight:600;color:var(--ink-900);letter-spacing:-.01em}.panel-sub{font-size:12px;color:var(--ink-400)}.panel-inputs{display:flex;align-items:center;gap:6px;margin-left:auto}.input-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:999px;background:var(--ink-75);border:1px solid var(--ink-200);font-size:11.5px;color:var(--ink-600)}.input-chip svg{color:var(--ink-400)}.btn{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border-radius:var(--radius);font-size:13px;font-weight:500;cursor:pointer;border:1px solid transparent;transition:all .12s}.btn-primary{background:var(--brand-600);color:#fff;box-shadow:0 1px 2px #0670e040}.btn-primary:hover{background:var(--brand-700)}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--ink-600)}.btn-ghost:hover{background:var(--ink-100);color:var(--ink-900)}.btn-soft{background:var(--ink-75);border-color:var(--ink-200);color:var(--ink-700)}.btn-soft:hover{background:var(--ink-100)}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:20px;background:#0f172a52;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:rc-fade .14s ease}.modal{width:100%;max-width:420px;max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);display:flex;flex-direction:column;background:var(--paper);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);border:1px solid var(--ink-200);animation:rc-fade-up .18s cubic-bezier(.2,.7,.3,1) both}.modal-form{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.modal-head{flex:none;display:flex;align-items:center;justify-content:space-between;padding:15px 18px;border-bottom:1px solid var(--ink-150)}.modal-title{font-size:14px;font-weight:600;color:var(--ink-900)}.modal-body{flex:1 1 auto;min-height:0;overflow:auto;padding:16px 18px}.modal-foot{flex:none;display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid var(--ink-150);background:var(--ink-50);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.modal-body .assign-list{max-height:240px;overflow:auto;padding:3px;margin:-3px}.icon-btn{display:inline-flex;padding:5px;border-radius:6px;border:0;background:transparent;color:var(--ink-400);cursor:pointer}.icon-btn:hover{background:var(--ink-100);color:var(--ink-700)}.field{margin-bottom:14px}.field-label{display:block;font-size:12px;font-weight:500;color:var(--ink-600);margin-bottom:6px}.field-input,.field-select{width:100%;padding:8px 11px;border-radius:var(--radius);border:1px solid var(--ink-250);background:var(--paper);font:inherit;font-size:13px;color:var(--ink-900);transition:all .12s}.field-input:focus,.field-select:focus{border-color:var(--brand-500);box-shadow:var(--ring)}.type-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.type-opt{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--radius-sm);border:1px solid var(--ink-200);background:var(--paper);cursor:pointer;font-size:12.5px;color:var(--ink-700);transition:all .12s}.type-opt:hover{border-color:var(--ink-300);background:var(--ink-50)}.type-opt.sel{border-color:var(--brand-500);background:var(--brand-50);color:var(--brand-800);box-shadow:var(--ring)}.type-opt .type-glyph{background:var(--paper)}.type-opt.sel .type-glyph{background:var(--brand-100);color:var(--brand-700)}.toast-wrap{position:fixed;right:18px;bottom:18px;z-index:90;display:flex;flex-direction:column;gap:9px;width:340px}.toast{display:flex;align-items:flex-start;gap:10px;padding:11px 13px;border-radius:var(--radius);background:var(--ink-900);color:#fff;box-shadow:var(--shadow-toast);animation:rc-fade-up .2s cubic-bezier(.2,.7,.3,1) both}.toast .t-ic{flex:none;margin-top:1px}.toast .t-msg{font-size:12.5px;line-height:1.4;flex:1}.toast .t-sub{color:#fff9;font-size:11.5px}.toast.success .t-ic{color:#5ee0a8}.toast.error{background:#3a1714}.toast.error .t-ic{color:#ff8a7a}.toast.info .t-ic{color:var(--brand-300)}.toast .t-close{color:#ffffff80;background:transparent;border:0;cursor:pointer;padding:1px}.toast .t-close:hover{color:#fff}.toast .t-action{color:var(--brand-300);background:transparent;border:0;cursor:pointer;font:inherit;font-size:12px;font-weight:600;padding:0;margin-top:4px}.inline-err{display:flex;gap:10px;padding:11px 14px;background:var(--warn-bg);border-bottom:1px solid var(--warn-bd)}.inline-err .ie-ic{color:var(--warn);flex:none;margin-top:1px}.inline-err .ie-title{font-size:12.5px;font-weight:600;color:var(--warn)}.inline-err .ie-msg{font-size:12px;color:#8a5a14;margin-top:2px;line-height:1.5}.script-editor{flex:none;border-top:1px solid var(--ink-200);background:var(--paper)}.se-head{display:flex;align-items:center;gap:12px;padding:9px 14px;border-bottom:1px solid var(--ink-150)}.se-body{display:flex;max-height:240px;min-height:150px;background:#fbfcfe;overflow:auto}.se-gutter{flex:none;padding:12px 10px 12px 14px;text-align:right;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:12px;line-height:1.65;color:var(--ink-300);background:var(--ink-50);border-right:1px solid var(--ink-150);white-space:pre}.se-textarea{flex:1;border:0;resize:none;padding:12px 14px;background:transparent;font-size:12.5px;line-height:1.65;color:var(--ink-800);-moz-tab-size:2;-o-tab-size:2;tab-size:2}.se-textarea:focus{outline:none;box-shadow:none}.tb-btn.ghost.active{background:var(--brand-50);color:var(--brand-700)}.tb-btn.ghost.active svg{color:var(--brand-600)}.eval-canvas{flex:1;min-height:0;overflow:auto;padding:22px;background:radial-gradient(circle at 1px 1px,var(--ink-200) 1px,transparent 0) 0 0 / 22px 22px,var(--app-bg)}.eval-frame{max-width:860px;margin:0 auto;background:var(--paper);border:1px solid var(--ink-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-card),0 8px 28px -14px #0f172a38;overflow:hidden}.eval-chrome{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--ink-150);background:var(--ink-50)}.sandbox-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:999px;background:var(--pos-bg);color:var(--pos);font-size:11px;font-weight:600}.eval-iframe{width:100%;height:760px;border:0;background:var(--paper);display:block}.hist-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:#0f172a47;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:rc-fade .14s ease;display:flex;justify-content:flex-end}.hist-drawer{width:400px;max-width:92vw;height:100%;background:var(--paper);border-left:1px solid var(--ink-200);box-shadow:-8px 0 32px -12px #0f172a47;display:flex;flex-direction:column;animation:rc-slide-in .24s cubic-bezier(.2,.7,.3,1) both}.hist-head{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--ink-150)}.hist-cp{display:flex;gap:8px;padding:12px 16px;border-bottom:1px solid var(--ink-150);background:var(--ink-50)}.hist-cp input{flex:1;padding:7px 10px;border-radius:var(--radius);border:1px solid var(--ink-250);font:inherit;font-size:12.5px}.hist-cp input:focus{border-color:var(--brand-500);box-shadow:var(--ring);outline:none}.hist-list{flex:1;overflow:auto;padding:8px 14px 20px}.hist-now{display:flex;align-items:center;gap:10px;padding:8px 2px 12px;color:var(--ink-400);font-size:11.5px}.hist-now .nub{width:9px;height:9px;border-radius:999px;background:var(--brand-600);box-shadow:0 0 0 4px var(--brand-100);flex:none}.tl-item{position:relative;display:flex;gap:13px;padding:0 0 2px}.tl-rail{position:relative;width:9px;flex:none;display:flex;justify-content:center}.tl-rail:before{content:"";position:absolute;top:0;bottom:0;width:2px;background:var(--ink-150)}.tl-item:first-child .tl-rail:before{top:8px}.tl-item:last-child .tl-rail:before{bottom:calc(100% - 12px)}.tl-dot{position:relative;z-index:1;width:9px;height:9px;border-radius:999px;background:var(--ink-300);margin-top:7px;border:2px solid var(--paper);box-shadow:0 0 0 1px var(--ink-200)}.tl-dot.you{background:var(--ink-500)}.tl-dot.ai{background:var(--brand-500);box-shadow:0 0 0 1px var(--brand-200)}.tl-dot.cp{background:var(--warn);box-shadow:0 0 0 1px var(--warn-bd)}.tl-body{flex:1;min-width:0;padding:4px 0 14px}.tl-row{display:flex;align-items:baseline;gap:8px}.tl-type{font-size:12.5px;font-weight:600;color:var(--ink-800)}.tl-type.cp{color:var(--warn)}.tl-time{margin-left:auto;font-size:11px;color:var(--ink-400);font-variant-numeric:tabular-nums}.tl-label{font-size:12px;color:var(--ink-500);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tl-who{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:600;padding:1px 6px;border-radius:999px}.tl-who.you{background:var(--ink-100);color:var(--ink-600)}.tl-who.ai{background:var(--brand-50);color:var(--brand-700)}.tl-revert{margin-top:7px;display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:var(--radius-sm);border:1px solid var(--ink-200);background:var(--paper);color:var(--ink-600);font-size:11.5px;font-weight:500;cursor:pointer;opacity:0;transition:all .12s}.tl-item:hover .tl-revert{opacity:1}.tl-revert:hover{border-color:var(--brand-300);color:var(--brand-700);background:var(--brand-50)}.cp-badge{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:600;color:var(--warn);background:var(--warn-bg);padding:1px 7px;border-radius:999px}.rc-ic{display:inline-flex;align-items:center;justify-content:center;flex:none}.placeholder{height:100%;display:flex;align-items:center;justify-content:center;color:var(--ink-400);font-size:13px}.auth-page{height:100%;overflow:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:32px 20px;background:radial-gradient(circle at 1px 1px,var(--ink-200) 1px,transparent 0) 0 0 / 24px 24px,var(--app-bg)}.auth-card{width:100%;max-width:396px;background:var(--paper);border:1px solid var(--ink-200);border-radius:var(--radius-lg);padding:28px 28px 22px;box-shadow:var(--shadow-card),0 14px 40px -18px #0f172a3d}.auth-card.wide{max-width:472px}.auth-brand{display:flex;align-items:center;gap:10px;margin-bottom:20px}.auth-h1{font-size:19px;font-weight:600;letter-spacing:-.02em;color:var(--ink-900);margin:0}.auth-lead{font-size:12.5px;color:var(--ink-500);margin:5px 0 20px;line-height:1.55}.auth-lead b{color:var(--ink-800);font-weight:600}.auth-alert{display:flex;align-items:flex-start;gap:9px;padding:10px 12px;border-radius:var(--radius);background:var(--neg-bg);border:1px solid #f3cfcb;color:#97302a;font-size:12.5px;line-height:1.45;margin-bottom:16px}.auth-alert svg{flex:none;margin-top:1px}.auth-alert.info{background:var(--brand-50);border-color:var(--brand-200);color:var(--brand-800)}.auth-alert .aa-sub{display:block;margin-top:2px;opacity:.85;font-size:12px}.auth-foot{margin-top:18px;padding-top:15px;border-top:1px solid var(--ink-150);display:flex;flex-direction:column;gap:9px;align-items:flex-start}.auth-foot span{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--ink-400)}.auth-hint{font-size:11px;color:var(--ink-400);margin:0}.field-input.invalid,.field-select.invalid{border-color:#dd8b84}.field-input.invalid:focus{box-shadow:0 0 0 3px var(--neg-bg);border-color:var(--neg)}.field-err{display:flex;align-items:center;gap:5px;margin-top:6px;font-size:11.5px;color:var(--neg)}.field-err svg{flex:none}.field-help{margin-top:6px;font-size:11.5px;color:var(--ink-400);line-height:1.45}.pw-wrap{position:relative;display:flex}.pw-wrap .field-input{padding-right:38px}.pw-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:inline-flex;padding:5px;border:0;border-radius:5px;background:transparent;color:var(--ink-400);cursor:pointer}.pw-toggle:hover{background:var(--ink-100);color:var(--ink-700)}.link-btn{border:0;background:transparent;padding:0;font:inherit;font-size:11.5px;font-weight:500;color:var(--brand-600);cursor:pointer;text-align:left}.link-btn:hover{color:var(--brand-800);text-decoration:underline}.link-btn:disabled{color:var(--ink-400);cursor:default;text-decoration:none}.checkline{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-600);margin-bottom:16px;cursor:pointer}.checkline input{accent-color:var(--brand-600);width:14px;height:14px}a,a:link{color:var(--brand-600);text-decoration:none}a:hover{color:var(--brand-800);text-decoration:underline}.code-input{text-align:center;font-family:IBM Plex Mono,ui-monospace,Menlo,monospace;font-size:24px;font-weight:500;letter-spacing:.28em;padding:10px 12px;font-variant-numeric:tabular-nums}.code-input::-moz-placeholder{color:var(--ink-250);letter-spacing:.28em}.code-input::placeholder{color:var(--ink-250);letter-spacing:.28em}.code-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;font-size:11.5px;color:var(--ink-400)}.token-input{font-family:IBM Plex Mono,ui-monospace,Menlo,monospace;letter-spacing:.04em}@keyframes rc-spin{to{transform:rotate(360deg)}}.spin{animation:rc-spin .9s linear infinite}.consent-client{display:flex;align-items:center;gap:12px;margin-bottom:16px}.consent-logo{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius);background:var(--brand-50);color:var(--brand-600);flex:none}.consent-target{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius);background:var(--ink-75);border:1px solid var(--ink-200);margin-bottom:14px}.consent-target .ct-label{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-400)}.consent-target .ct-host{font-family:IBM Plex Mono,ui-monospace,Menlo,monospace;font-size:13.5px;font-weight:600;color:var(--ink-900);word-break:break-all}.consent-note{font-size:12.5px;color:var(--ink-600);line-height:1.55;margin:0 0 16px}.consent-who{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--ink-500)}.auth-foot .avatar{display:inline-flex;color:#fff;font-size:10.5px}.consent-actions{display:flex;gap:8px;margin-top:18px}.consent-actions .btn{flex:1;justify-content:center}.unverified-tag{display:inline-flex;align-items:center;gap:4px;padding:1px 7px;border-radius:999px;background:var(--warn-bg);color:var(--warn);font-size:10.5px;font-weight:600;white-space:nowrap}.avatar{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:999px;background:var(--brand-600);color:#fff;font-size:10.5px;font-weight:700;letter-spacing:.02em;flex:none}.avatar.lg{width:34px;height:34px;font-size:12.5px}.avatar.xl{width:44px;height:44px;font-size:15px}.avatar.off{background:var(--ink-300)}.avatar-btn{display:inline-flex;align-items:center;gap:5px;padding:3px 6px 3px 3px;border:1px solid transparent;border-radius:999px;background:transparent;cursor:pointer;transition:all .12s}.avatar-btn:hover,.avatar-btn.on{background:var(--ink-75);border-color:var(--ink-200)}.usermenu{position:absolute;right:0;top:calc(100% + 7px);z-index:61;width:244px;background:var(--paper);border:1px solid var(--ink-200);border-radius:var(--radius);box-shadow:var(--shadow-pop);padding:5px}.um-head{display:flex;align-items:center;gap:10px;padding:9px 9px 7px}.um-name{font-size:13px;font-weight:600;color:var(--ink-900);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.um-mail{font-size:11.5px;color:var(--ink-400);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.um-role{padding:0 9px 8px}.um-section{padding:7px 10px 6px;font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-400)}.col-menu-item:focus-visible{background:var(--ink-75);box-shadow:inset 0 0 0 2px var(--brand-200)}.role-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;background:var(--ink-100);color:var(--ink-600);font-size:11px;font-weight:600;white-space:nowrap}.role-badge.admin{background:var(--brand-50);color:var(--brand-700)}.role-badge.sm{font-size:10.5px;padding:1px 7px}.off-badge{display:inline-flex;align-items:center;padding:1px 7px;border-radius:999px;background:var(--warn-bg);color:var(--warn);font-size:10.5px;font-weight:600;white-space:nowrap}.you-tag{margin-left:6px;padding:0 5px;border-radius:4px;background:var(--ink-100);color:var(--ink-500);font-size:10px;font-weight:700}.admin-page{display:flex;flex-direction:column;flex:1;min-height:0;background:var(--app-bg)}.admin-head{display:flex;align-items:center;gap:14px;flex:none;padding:12px 16px;background:var(--paper);border-bottom:1px solid var(--ink-200)}.admin-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--ink-900)}.admin-tabs{margin-left:auto;display:inline-flex;background:var(--ink-100);border-radius:8px;padding:2px;gap:2px}.admin-tabs button{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:0;background:transparent;border-radius:6px;font-size:12.5px;font-weight:500;color:var(--ink-500);cursor:pointer;transition:all .12s}.admin-tabs button:hover{color:var(--ink-800)}.admin-tabs button.on{background:var(--paper);color:var(--ink-900);box-shadow:var(--shadow-card)}.admin-tabs button.on svg{color:var(--brand-600)}.admin-tabs button svg{color:var(--ink-400)}.admin-body{display:flex;flex:1;min-height:0}.admin-body.single{overflow:auto;padding:22px;justify-content:center}.admin-list{width:340px;flex:none;background:var(--paper);border-right:1px solid var(--ink-200);display:flex;flex-direction:column;min-height:0}.al-tools{display:flex;gap:8px;padding:12px;border-bottom:1px solid var(--ink-150)}.al-filters{display:flex;gap:5px;padding:10px 12px;border-bottom:1px solid var(--ink-150);flex-wrap:wrap}.fchip{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;border:1px solid var(--ink-200);background:var(--paper);color:var(--ink-600);font-size:11.5px;font-weight:500;cursor:pointer;transition:all .12s}.fchip:hover{background:var(--ink-75)}.fchip.on{background:var(--brand-50);border-color:var(--brand-200);color:var(--brand-800)}.fchip-n{color:var(--ink-400);font-size:10.5px}.fchip.on .fchip-n{color:var(--brand-600)}.al-rows{flex:1;overflow:auto;padding:6px}.al-row{display:flex;align-items:center;gap:10px;width:100%;padding:8px 9px;border:0;border-radius:var(--radius-sm);background:transparent;text-align:left;cursor:pointer;transition:background .1s;position:relative}.al-row:hover{background:var(--ink-75)}.al-row.active{background:var(--brand-50)}.al-row.active:before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:3px;border-radius:0 3px 3px 0;background:var(--brand-600)}.al-name{display:block;font-size:13px;font-weight:500;color:var(--ink-900);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.al-mail{display:block;font-size:11.5px;color:var(--ink-400);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.al-empty{padding:26px 12px;text-align:center;font-size:12.5px;color:var(--ink-400)}.admin-detail{flex:1;min-width:0;overflow:auto}.ad-inner{max-width:720px;margin:0 auto;padding:22px;display:flex;flex-direction:column;gap:14px}.ad-id{display:flex;align-items:flex-start;gap:14px;background:var(--paper);border:1px solid var(--ink-200);border-radius:var(--radius-lg);padding:16px 18px;box-shadow:var(--shadow-card)}.ad-name{font-size:16px;font-weight:600;letter-spacing:-.01em;color:var(--ink-900)}.ad-mail{font-size:12.5px;color:var(--ink-500)}.ad-card{background:var(--paper);border:1px solid var(--ink-200);border-radius:var(--radius-lg);padding:15px 18px 17px;box-shadow:var(--shadow-card)}.ad-card.danger{border-color:#f0d5d2}.ad-card-head{display:flex;align-items:center;gap:8px;margin-bottom:4px}.ad-card-title{font-size:12.5px;font-weight:600;color:var(--ink-800)}.ad-card-note{font-size:12px;color:var(--ink-400);margin:0 0 12px;line-height:1.5}.hint{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-500);margin:10px 0 0}.hint svg{flex:none;color:var(--ink-400)}.seg-radio{display:inline-flex;background:var(--ink-100);border-radius:8px;padding:2px;gap:2px}.seg-radio button{display:inline-flex;align-items:center;gap:6px;padding:6px 13px;border:0;background:transparent;border-radius:6px;font-size:12.5px;font-weight:500;color:var(--ink-500);cursor:pointer;transition:all .12s}.seg-radio button:hover{color:var(--ink-800)}.seg-radio button.on{background:var(--paper);color:var(--ink-900);box-shadow:var(--shadow-card)}.seg-radio button.on svg{color:var(--brand-600)}.seg-radio button svg{color:var(--ink-400)}.seg-radio button:disabled{cursor:not-allowed;opacity:.55}.assign-bar{display:flex;align-items:center;gap:8px;margin-bottom:9px}.assign-list{display:flex;flex-direction:column;gap:4px}.assign-row{display:flex;align-items:center;gap:9px;padding:8px 11px;border:1px solid var(--ink-200);border-radius:var(--radius-sm);background:var(--paper);font-size:12.5px;color:var(--ink-700);cursor:pointer;transition:all .12s}.assign-row:hover{background:var(--ink-50);border-color:var(--ink-250)}.assign-row.on{background:var(--brand-50);border-color:var(--brand-200);color:var(--brand-900)}.assign-row input{accent-color:var(--brand-600);width:14px;height:14px;flex:none}.assign-row:focus-within{box-shadow:var(--ring);border-color:var(--brand-500)}.mand-list{display:flex;flex-direction:column;gap:4px}.mand-row{display:flex;align-items:center;gap:10px;padding:8px 11px;border:1px solid var(--ink-200);border-radius:var(--radius-sm);background:var(--paper)}.mand-row:hover{background:var(--ink-50)}.conn-list{display:flex;flex-direction:column;gap:5px}.conn-row{display:flex;align-items:flex-start;gap:11px;padding:10px 11px;border:1px solid var(--ink-200);border-radius:var(--radius-sm);background:var(--paper)}.conn-row:hover{background:var(--ink-50)}.conn-ic{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);background:var(--brand-50);color:var(--brand-600);flex:none}.conn-name{font-size:13px;font-weight:600;color:var(--ink-900);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conn-meta{font-size:11.5px;color:var(--ink-500);margin-top:2px;line-height:1.5}.conn-meta .mono{color:var(--ink-600)}.conn-empty{padding:6px 2px 2px;font-size:12.5px;color:var(--ink-400)}.btn-danger{background:var(--neg);color:#fff}.btn-danger:hover{background:#a93a31}.btn:disabled{cursor:not-allowed}.btn-soft:disabled,.btn-danger:disabled,.btn-ghost:disabled{opacity:.45}.btn-sm{padding:5px 10px;font-size:12px}.modal.wide{max-width:560px}.modal-body.scroll{max-height:min(62vh,560px);overflow:auto}.ws-pill{max-width:280px}.ws-pill .ws-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-pill.none{color:var(--ink-400)}.tl-who.user{background:var(--ink-100);color:var(--ink-700)}.tl-who.sys{background:var(--ink-75);color:var(--ink-400);box-shadow:inset 0 0 0 1px var(--ink-150)}.tl-revert:focus-visible{opacity:1}.center-note{flex:1;display:flex;align-items:center;justify-content:center;padding:28px;background:var(--app-bg);overflow:auto}.center-card{max-width:440px;width:100%;text-align:center;background:var(--paper);border:1px solid var(--ink-200);border-radius:var(--radius-lg);padding:28px 26px 24px;box-shadow:var(--shadow-card)}.center-card .cc-ic{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:var(--brand-50);color:var(--brand-600);margin-bottom:14px}.center-card h2{margin:0;font-size:16px;font-weight:600;letter-spacing:-.01em;color:var(--ink-900)}.center-card p{margin:8px 0 0;font-size:12.5px;color:var(--ink-500);line-height:1.55}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.font-display,.auth-h1,.panel-title,.admin-title,.ad-name,.modal-title,.center-card h2{font-family:var(--font-display);letter-spacing:0}
