@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";@import"https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css";.app{--platform-header-gap: calc(.55rem + 3mm) ;width:100%;max-width:min(1100px,100%);margin:0 auto;padding:1.5rem 1.25rem 2rem;display:flex;flex-direction:column;min-height:100vh;min-width:0;box-sizing:border-box}.app>.experiment-workspace-outer{flex:1 1 auto;min-height:0}.app.app--experiment-shell{max-width:none;width:100%;padding-top:0;padding-bottom:0;padding-left:clamp(.65rem,1.2vw,1.25rem);padding-right:clamp(.65rem,1.2vw,1.25rem);box-sizing:border-box}@media (min-width: 1100px){.app.app--experiment-shell{height:100dvh;min-height:100dvh;max-height:100dvh;overflow:hidden}}.lab-hero{margin-bottom:1.5rem;border-bottom:1px solid var(--border);padding-top:5mm;padding-bottom:calc(.9rem - 1mm)}.lab-topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1.2rem 1.5rem}.lab-brand{display:flex;align-items:center;gap:.8rem;justify-self:start;min-width:0}.lab-logo-wrap{width:48px;height:48px;border-radius:999px;background:var(--bg);display:flex;align-items:center;justify-content:center;overflow:hidden}.lab-brand-logo{height:40px;width:auto;object-fit:contain}.lab-brand-text{display:flex;flex-direction:column;gap:.1rem}.lab-brand-univ{font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.lab-brand-lab{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;color:var(--text)}.lab-platform-badge{display:flex;flex-direction:column;justify-content:center;align-items:center;justify-self:center;grid-column:2;padding:3mm 0;gap:var(--platform-header-gap)}.lab-header-quicknav{width:100%;max-width:min(52rem,100%);display:flex;justify-content:center}.lab-header-quicknav-btns{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.4rem .45rem}.lab-header-quicknav-tab.nav-tab{font-size:.78rem;padding:.3rem .7rem}.lab-platform-main{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;position:relative;isolation:isolate;gap:.22rem;font-size:1.5rem;font-weight:800;letter-spacing:-.025em;color:#eef6ff;text-align:center;padding:.4rem 1.35rem;border-radius:11px;background:linear-gradient(160deg,#132642c7,#1c3b68bd 45%,#34366cb8);backdrop-filter:blur(8px) saturate(120%);-webkit-backdrop-filter:blur(8px) saturate(120%);border:1px solid rgba(142,178,226,.34);border-top-color:#d5e7ff8f;margin:0 auto;box-shadow:inset 0 1px #ecf6ff6b,inset 0 -10px 16px #08122633,0 10px 24px #040c2147,0 3px 8px #040c2133,0 0 16px #4476c229}.lab-platform-main:before{content:"";position:absolute;left:10%;right:10%;top:0;height:52%;border-radius:999px;background:linear-gradient(to bottom,#e8f3ff47,#e8f3ff00);pointer-events:none;z-index:-1}.lab-platform-main:after{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;border-radius:10px;border:1px solid rgba(190,217,255,.18);pointer-events:none;z-index:-1}.lab-platform-main-text{font-size:1.5rem;font-weight:850;letter-spacing:-.025em;line-height:1.1;color:#f6fbff;text-shadow:0 1px 0 rgba(255,255,255,.2),0 8px 18px rgba(4,12,31,.34)}.lab-platform-main-btn{cursor:pointer}.lab-platform-sub{display:block;font-size:.8rem;font-weight:620;letter-spacing:.04em;line-height:1.2;color:#c4ddfcf2;text-shadow:0 4px 10px rgba(5,12,30,.28)}.lab-platform-sub-row{margin-top:calc(.15rem - .5cm);display:flex;justify-content:center}.lab-header-session{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.65rem;grid-column:3;justify-self:end;min-width:0}.lab-header-spacer{grid-column:3;justify-self:end}.lab-header-guest-meta{grid-column:3;justify-self:end;align-self:center;display:flex;flex-direction:column;align-items:flex-end;gap:.4rem;max-width:min(22rem,38vw);min-width:0}.lab-header-slogan{margin:0;font-size:.74rem;font-weight:500;letter-spacing:.02em;line-height:1.4;color:#94a3b8f2;text-align:right;text-wrap:balance}.lab-header-meta-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem}.lab-meta-badge{font-size:.65rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:.18rem .45rem;border-radius:999px;border:1px solid rgba(148,163,184,.35);background:#0f172a73;color:#cbd5e1f2;white-space:nowrap}.lab-meta-badge--version{font-family:var(--mono);text-transform:none;letter-spacing:.04em;font-weight:500;color:#bae6fde6;border-color:#38bdf840;background:#38bdf814}.lab-meta-badge--env{color:#7dd3fc;border-color:#38bdf859;background:#38bdf81a}.lab-btn-admin{font-size:.68rem;letter-spacing:.06em;padding:.22rem .55rem;border-radius:999px;border:1px solid var(--border);background:#38bdf81f;color:var(--accent);cursor:pointer;white-space:nowrap}.lab-btn-admin:hover{background:#38bdf838;border-color:var(--accent)}.sys-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.9rem}.sys-card{border:1px solid var(--border);border-radius:12px;padding:.9rem;margin-top:.9rem;background:#0f172a33}.sys-card h3{margin:0 0 .6rem;font-size:.95rem}.sys-runtime-row{display:flex;gap:.5rem;flex-wrap:wrap}.sys-list{display:flex;flex-direction:column;gap:.5rem}.sys-item{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.sys-badge{border-radius:999px;border:1px solid var(--border);padding:.16rem .52rem;font-size:.72rem;font-weight:600}.sys-badge--ok{color:#22c55e;border-color:#22c55e80;background:#22c55e1a}.sys-badge--warn{color:#f59e0b;border-color:#f59e0b73;background:#f59e0b1a}.sys-badge--placeholder{color:#60a5fa;border-color:#60a5fa80;background:#60a5fa1a}.service-unavailable-banner{margin:0 0 1rem;border:1px solid rgba(245,158,11,.45);background:#f59e0b1f;color:#fbbf24;border-radius:10px;padding:.65rem .85rem;font-size:.86rem}@media (max-width: 768px){.lab-topbar{grid-template-columns:1fr;align-items:flex-start;gap:.75rem}.lab-brand{grid-column:1;grid-row:1}.lab-header-session{width:100%;grid-column:1;grid-row:2;justify-self:stretch;justify-content:flex-start}.lab-header-spacer{display:none}.lab-platform-badge{grid-column:1;grid-row:3;justify-self:center;width:100%;margin-top:.25rem}.lab-header-quicknav-btns{justify-content:center}.lab-platform-main{display:inline-flex;flex-direction:column;align-items:center;width:fit-content;max-width:100%;gap:.16rem;padding:.35rem 1rem}.lab-platform-main-text{font-size:1.32rem}.lab-header-guest-meta{grid-column:1;grid-row:2;justify-self:stretch;max-width:100%;align-items:center}.lab-header-slogan{text-align:center;font-size:.7rem}.lab-header-meta-badges{justify-content:center}}.grid{display:grid;gap:1.25rem;min-width:0}.grid>*{min-width:0}@media (min-width: 900px){.grid-2{grid-template-columns:1fr 1fr}}.panel{background:#2a3648e6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(91,111,139,.85);border-radius:12px;padding:1.25rem 1.35rem;min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.panel h2{margin:0 0 1rem;font-size:1.05rem;font-weight:600;color:var(--text);overflow-wrap:anywhere}.panel h3{overflow-wrap:anywhere}.panel ul,.panel ol{margin:.5rem 0 0;padding-left:1.25rem}.panel li{overflow-wrap:anywhere;word-break:break-word;line-height:1.45;margin-bottom:.35rem}.top-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.top-nav-wrap{display:flex;flex-direction:column;gap:.15rem;margin-bottom:1.25rem}.app--experiment-shell .top-nav-wrap{position:sticky;top:0;z-index:40;margin-bottom:0;padding:.3rem 0 .25rem;background:var(--bg, #1b2634);border-bottom:1px solid rgba(148,163,184,.22);box-shadow:0 4px 10px -6px #0000008c}.app--experiment-shell .lab-hero{display:none!important}.app--experiment-shell .top-nav-wrap{padding:.15rem 0 .1rem;gap:.08rem}.app--experiment-shell .experiment-top-strip{gap:.2rem}.app--experiment-shell .experiment-top-strip-row--primary{padding:.22rem .45rem .26rem;gap:.3rem .5rem}.app--experiment-shell .experiment-top-strip-action-btn,.app--experiment-shell .experiment-top-strip-session-btn{min-height:1.9rem;padding:.28rem .6rem;font-size:.9rem}.app--experiment-shell .workflow-project-new-btn{min-height:1.9rem!important;padding:.28rem .6rem!important;font-size:.9rem!important}.app--experiment-shell .experiment-top-strip-field-label,.app--experiment-shell .experiment-top-strip-status-label,.app--experiment-shell .experiment-top-strip-session-email,.app--experiment-shell .workflow-current-project-label,.app--experiment-shell .experiment-top-strip-status-value,.app--experiment-shell .workflow-current-project-name{font-size:.9rem;letter-spacing:0}.app--experiment-shell .top-nav-row--workflow-primary{padding:.18rem 0}.app--experiment-shell .experiment-step-nav{gap:.25rem}.app--experiment-shell .experiment-step-tab{gap:.35rem;padding:.24rem .42rem}.app--experiment-shell .experiment-step-tab-num{width:1.25rem;height:1.25rem;font-size:.68rem}.app--experiment-shell .experiment-step-tab-ko,.app--experiment-shell .experiment-step-tab-en{font-size:.9rem}.app--experiment-shell .top-nav-row--workflow-sub{padding:.2rem 0 .22rem}.app--experiment-shell .top-nav-row-label{font-size:.9rem;padding-top:.14rem;letter-spacing:0}.app--experiment-shell .top-nav-row--workflow-sub .nav-tab{padding:.28rem .6rem;font-size:.9rem}.app--experiment-shell .experiment-top-strip-row--primary select,.app--experiment-shell .experiment-top-strip-row--primary input{min-height:1.95rem;padding:.28rem .5rem;font-size:.9rem}.app--experiment-shell .experiment-left-panel,.app--experiment-shell .experiment-workbench-center,.app--experiment-shell .experiment-main-stage,.app--experiment-shell .experiment-results{font-size:.9rem}.app--experiment-shell .experiment-left-panel :is(h1,h2,h3,h4,h5,h6,p,span,div,button,label,li,th,td,select,option,input,textarea,a,strong,em,small,code,pre,summary,figcaption,legend,dt,dd),.app--experiment-shell .experiment-workbench-center :is(h1,h2,h3,h4,h5,h6,p,span,div,button,label,li,th,td,select,option,input,textarea,a,strong,em,small,code,pre,summary,figcaption,legend,dt,dd),.app--experiment-shell .experiment-main-stage :is(h1,h2,h3,h4,h5,h6,p,span,div,button,label,li,th,td,select,option,input,textarea,a,strong,em,small,code,pre,summary,figcaption,legend,dt,dd),.app--experiment-shell .experiment-results :is(h1,h2,h3,h4,h5,h6,p,span,div,button,label,li,th,td,select,option,input,textarea,a,strong,em,small,code,pre,summary,figcaption,legend,dt,dd){font-size:.9rem;line-height:1.5}.workflow-nav{margin-bottom:.35rem}.workflow-current-project{margin:.05rem 0 .4rem;font-size:.9rem;color:var(--text);display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.workflow-current-project strong{color:var(--accent, #5ec9ff)}.workflow-current-project-label{font-weight:600;color:var(--accent, #5ec9ff)}.workflow-project-select{min-width:14rem;max-width:min(42rem,100%)}.workflow-project-new-btn{padding:.42rem .7rem;font-size:.82rem}.workflow-progress{display:flex;flex-wrap:wrap;align-items:stretch;gap:.35rem .45rem;list-style:none;margin:0;padding:.35rem 0 .25rem;border-bottom:1px solid rgba(148,163,184,.28)}.workflow-progress-item{flex:1 1 auto;min-width:min(100%,8.5rem)}.workflow-step-btn{width:100%;display:flex;align-items:flex-start;gap:.45rem;text-align:left;padding:.42rem .55rem .48rem;border-radius:10px;border:1px solid rgba(148,163,184,.35);background:#0f172a59;color:var(--muted);cursor:pointer;transition:border-color .12s ease,background .12s ease,color .12s ease}.workflow-step-btn:hover{border-color:#38bdf873;color:var(--text)}.workflow-step-btn--active{border-color:#38bdf8a6;background:linear-gradient(180deg,#38bdf838,#0f172a8c);color:#e2e8f0;box-shadow:inset 0 1px #ffffff0f}.workflow-progress-item--current .workflow-step-num{background:#38bdf859;color:#0f172a}.workflow-step-num{flex:0 0 auto;width:1.35rem;height:1.35rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:800;background:#94a3b833;color:var(--muted)}.workflow-step-text{display:flex;flex-direction:column;gap:.06rem;min-width:0}.workflow-step-label{font-size:.78rem;font-weight:650;letter-spacing:-.02em;line-height:1.2}.workflow-step-en{font-size:.62rem;font-weight:500;letter-spacing:.02em;color:#94a3b8f2;line-height:1.2}.workflow-step-btn--active .workflow-step-en{color:#e2e8f0d9}.workflow-step-hint{margin:.25rem 0 0;font-size:.72rem;color:var(--muted);line-height:1.35}.top-nav-row--workflow-sub .top-nav-row-label{width:6.5rem}.top-nav-row--workflow-primary{padding:.35rem 0;border-top:1px solid rgba(148,163,184,.18);border-bottom:1px solid rgba(148,163,184,.18)}.experiment-step-nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.35rem;width:100%}.experiment-step-tab{display:flex;align-items:center;gap:.45rem;padding:.4rem .55rem;background:#0f172a59;border:1px solid rgba(148,163,184,.22);border-radius:8px;color:var(--muted);cursor:pointer;text-align:left;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease;min-width:0}.experiment-step-tab:hover{background:#38bdf814;border-color:#38bdf866;color:#e2e8f0}.experiment-step-tab--active{background:linear-gradient(180deg,#38bdf838,#38bdf814);border-color:#38bdf8b3;color:#e2e8f0;box-shadow:0 1px #38bdf833}.experiment-step-tab-num{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;font-size:.78rem;font-weight:700;border-radius:50%;background:#94a3b82e;color:#e2e8f0}.experiment-step-tab--active .experiment-step-tab-num{background:#38bdf8d9;color:#020617}.experiment-step-tab-labels{display:flex;flex-direction:column;min-width:0;line-height:1.15}.experiment-step-tab-ko{font-size:.8rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.experiment-step-tab-en{font-size:.68rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 1024px){.experiment-step-nav{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 640px){.experiment-step-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.experiment-step-tab-en{display:none}}@media (max-width: 720px){.workflow-progress-item{min-width:calc(50% - .25rem)}.workflow-step-en{display:none}}.top-nav-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.35rem .55rem;padding:.4rem 0;border-bottom:1px solid rgba(148,163,184,.22)}.top-nav-row:last-child{border-bottom:none}.top-nav-row-label{flex:0 0 auto;width:7.75rem;font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding-top:.44rem;line-height:1.25}@media (max-width: 720px){.top-nav-row-label{width:100%;padding-top:0}}.top-nav-row-btns{display:flex;flex-wrap:wrap;gap:.45rem;flex:1 1 auto;min-width:0}.nav-tab--ai{border-style:dashed}.nav-tab--ai:not(.nav-tab-active){opacity:.88}.top-nav--auth{margin-bottom:0}.nav-tab{padding:.45rem .9rem;border-radius:999px;border:1px solid var(--border);background:#0f172a66;color:var(--muted);font-size:.85rem;cursor:pointer}.nav-tab-active{background:linear-gradient(180deg,var(--accent) 0%,var(--accent-dim) 100%);color:#0f172a;border-color:transparent}.nav-tab:hover:not(.nav-tab-active){border-color:var(--accent);color:var(--text)}label{display:block;font-size:.8rem;font-weight:600;color:var(--muted);margin-bottom:.35rem}.field{margin-bottom:1rem}.field:last-child{margin-bottom:0}input[type=file]{width:100%;padding:.5rem 0;font-size:.85rem;color:var(--muted)}select,input[type=text],textarea{width:100%;max-width:100%;min-width:0;padding:.55rem .65rem;border-radius:8px;border:1px solid var(--border);background:var(--surface2);color:var(--text);font-size:.9rem}textarea{resize:vertical;line-height:1.45}select:focus,input[type=text]:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem 1rem;border-radius:8px;border:none;font-size:.9rem;font-weight:600;cursor:pointer;background:linear-gradient(180deg,var(--accent) 0%,var(--accent-dim) 100%);color:#0f172a}.btn:hover{filter:brightness(1.06)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--surface2);color:var(--text);border:1px solid var(--border)}.msg{font-size:.85rem;margin-top:.75rem;padding:.65rem .75rem;border-radius:8px;background:var(--surface2);border:1px solid var(--border);overflow-wrap:anywhere;word-break:break-word}.msg.error{border-color:#f87171;color:#fecaca}.msg.ok{border-color:var(--ok);color:#a7f3d0}.table-wrap{overflow-x:auto;overflow-y:auto;max-width:100%;max-height:320px;border-radius:8px;border:1px solid var(--border);-webkit-overflow-scrolling:touch}.table-wrap table{table-layout:fixed;width:100%}table{width:100%;border-collapse:collapse;font-size:.8rem;font-family:var(--mono)}th,td{padding:.45rem .6rem;text-align:left;border-bottom:1px solid var(--border);white-space:normal;overflow-wrap:anywhere;word-break:break-word;vertical-align:top}.table-cell-progress{width:26%;min-width:0;max-width:100%;vertical-align:middle}th{background:var(--surface2);position:sticky;top:0;z-index:1}.metrics-interpretation{margin-bottom:1rem;padding:.85rem 1rem;border-radius:10px;border:1px solid rgba(56,189,248,.35);background:#38bdf814}.metrics-interpretation-title{margin:0 0 .5rem;font-size:.88rem;font-weight:600;color:#e0f2fe}.metrics-interpretation-body{font-size:.85rem;line-height:1.65;color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.metrics-pre{font-family:var(--mono);font-size:.75rem;line-height:1.45;overflow:auto;max-width:100%;max-height:240px;margin:0;padding:.75rem;background:#0c1017;border-radius:8px;border:1px solid var(--border);overflow-wrap:anywhere;word-break:break-word}.plot-img{max-width:100%;height:auto;border-radius:8px;border:1px solid var(--border);display:block;margin-top:.75rem}.stat-card{border-radius:10px;border:1px solid var(--border);background:radial-gradient(circle at top left,rgba(56,189,248,.16),transparent 55%);padding:.85rem .9rem}.stat-label{font-size:.8rem;color:var(--muted);margin-bottom:.25rem}.stat-value{font-size:1.4rem;font-weight:700}.mini-table{width:100%;max-width:100%;table-layout:fixed;border-collapse:collapse;font-size:.8rem}.mini-table th,.mini-table td{text-align:left;padding:.35rem .5rem;border-bottom:1px solid var(--border);white-space:normal;overflow-wrap:anywhere;word-break:break-word;vertical-align:top}.upload-dropzone{border:2px dashed var(--border);border-radius:12px;padding:1.25rem 1.1rem;margin-bottom:.75rem;background:#0f172a40;transition:border-color .15s ease,background .15s ease}.upload-dropzone--active{border-color:var(--accent);background:#38bdf81a}.upload-dropzone .upload-dropzone-field{margin-bottom:.5rem}.upload-dropzone-hint{margin-top:.35rem;margin-bottom:0}.hint{font-size:.8rem;color:var(--muted);margin-top:.5rem;overflow-wrap:anywhere;word-break:break-word}.flex{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.checkbox-row{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.85rem;color:var(--text)}.checkbox-row label{display:inline-flex;align-items:center;gap:.35rem;font-weight:500;color:var(--text);margin:0;cursor:pointer}.checkbox-row input{width:auto}.lab-footer-tagline{margin-top:auto;padding-top:2rem;padding-bottom:.25rem;border-top:1px solid var(--border);text-align:center}.lab-footer-tagline p{margin:0;font-size:.88rem;color:var(--muted);letter-spacing:.03em;line-height:1.55;font-weight:500}.lab-api-badge{font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:.2rem .5rem;border-radius:6px;border:1px solid var(--border);background:#38bdf81f;color:#7dd3fc;white-space:nowrap}.lab-session-email{font-size:.8rem;color:var(--muted);max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lab-logout{font-size:.8rem;padding:.35rem .75rem;border-radius:999px;border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer}.lab-logout:hover{border-color:var(--accent)}.auth-loading-screen{min-height:40vh;display:flex;align-items:center;justify-content:center;color:var(--muted)}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem}.auth-panel-below-nav{margin-top:calc(var(--platform-header-gap) + 2mm);display:flex;justify-content:center;padding:0 1rem 2rem}.app:has(.auth-panel-below-nav) .lab-hero{margin-bottom:0}.auth-card{width:100%;max-width:420px;padding:1.75rem;border-radius:12px;border:1px solid var(--border);background:linear-gradient(180deg,#ffffff0f,#ffffff05),var(--surface);box-shadow:0 12px 40px #00000038}.auth-card--compact{transform:scale(.91);transform-origin:top center}.auth-title{margin:0 0 .5rem;font-size:1.35rem}.auth-hint{margin:0 0 1.25rem;font-size:.85rem;color:var(--muted);line-height:1.45}.auth-hint-below-register{margin:.85rem 0 0;text-align:center}.auth-backend-mode{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.25rem;padding:.75rem .85rem;border-radius:10px;border:1px solid var(--border);background:#00000026}.auth-backend-mode-label{font-size:.75rem;font-weight:600;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}.auth-backend-mode-buttons{display:flex;gap:.5rem}.auth-backend-mode-sub{display:flex;gap:.45rem;padding-left:.15rem;border-left:2px solid rgba(56,189,248,.35);margin-left:.1rem}.auth-backend-mode-btn{flex:1;padding:.45rem .6rem;font-size:.82rem;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer}.auth-backend-mode-btn:hover:not(:disabled){border-color:var(--accent)}.auth-backend-mode-btn--sub{flex:1;font-size:.78rem;padding:.38rem .45rem}.auth-backend-mode-btn--active{border-color:#38bdf8;background:#38bdf826;color:#e0f2fe;font-weight:600}.auth-ai-agent-model{display:flex;flex-direction:column;gap:.3rem}.auth-ai-agent-model-label{font-size:.72rem;font-weight:600;color:var(--muted);letter-spacing:.05em;text-transform:uppercase}.auth-ai-agent-model-select{width:100%;padding:.4rem .5rem;font-size:.82rem;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text)}.auth-backend-mode-btn:disabled{opacity:.65;cursor:not-allowed}.auth-backend-mode-hint{margin:0;font-size:.75rem;color:var(--muted);line-height:1.4}.auth-backend-mode-status{margin:.35rem 0 0;font-size:.78rem;line-height:1.35}.auth-backend-mode-status--pending{color:var(--muted)}.auth-backend-mode-status--ok{color:#4ade80}.auth-backend-mode-status--err{color:#f87171}.auth-backend-endpoint-row{display:flex;flex-direction:column;gap:.35rem;margin-top:.5rem;padding:.55rem .6rem;border-radius:8px;border:1px solid var(--border);background:#ffffff08}.auth-backend-endpoint-label{font-size:.72rem;font-weight:600;color:var(--muted)}.auth-backend-endpoint-input{width:100%;padding:.45rem .5rem;font-size:.8rem;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text)}.auth-backend-endpoint-save{align-self:flex-start;margin-top:.15rem;font-size:.78rem;padding:.35rem .65rem}.auth-form{display:flex;flex-direction:column;gap:.85rem}.auth-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:500}.auth-form input{padding:.5rem .65rem;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text)}.auth-error{font-size:.85rem;color:#f87171;overflow-wrap:anywhere;word-break:break-word}.auth-success{font-size:.85rem;color:#4ade80;line-height:1.4}.auth-submit{margin-top:.25rem;padding:.55rem 1rem;border-radius:8px;border:none;background:linear-gradient(135deg,#38bdf8,#6366f1);color:#0f172a;font-weight:600;cursor:pointer}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-link{margin-top:1rem;width:100%;padding:.4rem;background:transparent;border:none;color:var(--accent);cursor:pointer;font-size:.85rem;text-decoration:underline}.admin-page{padding:.25rem 0 1.5rem}.admin-section{margin-bottom:2rem}.admin-section h3{margin:0 0 .75rem;font-size:1rem}.admin-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-bottom:.75rem}.admin-filters label{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem}.admin-filters input{min-width:120px;padding:.35rem .5rem;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--text)}.admin-filters button{padding:.4rem .75rem;border-radius:6px;border:1px solid var(--border);background:var(--bg);cursor:pointer}.admin-table-wrap{overflow-x:auto;max-width:100%;border-radius:8px;border:1px solid var(--border)}.admin-table{width:100%;max-width:100%;table-layout:fixed;border-collapse:collapse;font-size:.78rem}.admin-table th,.admin-table td{text-align:left;padding:.45rem .5rem;border-bottom:1px solid var(--border);vertical-align:top;overflow-wrap:anywhere;word-break:break-word}.admin-table td{white-space:normal}.admin-table th{background:#ffffff08;white-space:normal}.admin-actions{display:flex;flex-wrap:wrap;gap:.35rem}.admin-actions button{font-size:.72rem;padding:.25rem .45rem;border-radius:4px;border:1px solid var(--border);background:var(--bg);cursor:pointer}.admin-detail{max-width:280px;word-break:break-all}.page-title{margin:0 0 1rem}.admin-hint-block{margin:0 0 .75rem;font-size:.82rem}.admin-announce-form{display:flex;flex-direction:column;gap:.65rem;margin-bottom:.75rem;max-width:640px}.admin-announce-form label{display:flex;flex-direction:column;gap:.3rem;font-size:.8rem;color:var(--muted)}.admin-announce-form input,.admin-announce-form textarea{width:100%;max-width:100%;padding:.45rem .55rem;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:.88rem}.admin-announce-form-row{width:100%}.admin-announce-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.admin-table-announce .admin-col-id{width:3rem}.admin-announce-body{max-width:220px;font-size:.76rem;line-height:1.35}.admin-mono{font-family:var(--mono);font-size:.72rem;white-space:nowrap}.admin-panel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0f172aa6;display:flex;align-items:flex-start;justify-content:center;padding:2rem 1rem;overflow-y:auto}.admin-panel-modal{width:100%;max-width:520px;margin-top:.5rem;padding:1.25rem 1.35rem;border-radius:12px;border:1px solid var(--border);background:var(--surface);box-shadow:0 24px 48px #00000073}.admin-panel-modal-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem;padding-bottom:.65rem;border-bottom:1px solid var(--border)}.admin-panel-modal-title{margin:0;font-size:1.1rem;font-weight:600}.admin-panel-close{font-size:.8rem;padding:.3rem .65rem;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer}.admin-panel-body{display:flex;flex-direction:column;gap:1.25rem}.admin-panel-section h3{margin:0 0 .5rem;font-size:.9rem;font-weight:600;color:var(--text)}.admin-panel-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.admin-panel-list li{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap;font-size:.8rem;padding:.4rem .5rem;border-radius:8px;border:1px solid var(--border);background:#0f172a59}.admin-panel-list li button{font-size:.75rem;padding:.25rem .55rem;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer}.admin-panel-btn-danger{border-color:#f8717180!important;color:#f87171!important}.admin-panel-footer-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.admin-panel-footer-actions button{font-size:.8rem;padding:.35rem .75rem;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer}.admin-panel-form{display:flex;flex-direction:column;gap:.65rem}.admin-panel-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem}.admin-panel-form input{padding:.45rem .55rem;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text)}.arch-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:#0f172ab8;display:flex;align-items:center;justify-content:center;padding:1.4rem 1rem}.arch-modal{width:100%;max-width:920px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1.2rem;box-shadow:0 20px 50px #0006;max-height:calc(100vh - 2.8rem);overflow:auto}.experiment-entry-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:#0f172ab8;display:flex;align-items:center;justify-content:center;padding:1.2rem}.experiment-entry-dialog{width:min(100%,620px);border-radius:14px;border:1px solid var(--border);background:var(--surface);box-shadow:0 18px 44px #00000059;padding:1rem 1rem 1.05rem}.experiment-entry-dialog h3{margin:0 0 .5rem;font-size:1.05rem}.experiment-entry-dialog .hint{margin:0}.experiment-entry-actions{margin-top:.9rem;display:flex;flex-wrap:wrap;gap:.45rem}.arch-diagram{margin-top:.8rem;display:grid;gap:.6rem}.arch-node{border:1px solid var(--border);border-radius:10px;padding:.7rem .8rem;background:#38bdf814;font-size:.9rem}.arch-arrow{text-align:center;font-size:.82rem;color:var(--muted)}.arch-external{margin-top:1rem;padding-top:.85rem;border-top:1px dashed var(--border)}.arch-row{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-top:.35rem}.arch-node--compact{flex:1 1 220px;max-width:300px;font-size:.85rem}.arch-actions{margin-top:1rem;display:flex;justify-content:flex-end}.jobs-log-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10050;background:#0f172ab8;display:flex;align-items:center;justify-content:center;padding:1.4rem 1rem}.jobs-log-modal{width:100%;max-width:min(920px,100%);background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1.2rem 1.35rem;box-shadow:0 20px 50px #0006;max-height:calc(100vh - 2.8rem);overflow:hidden;display:flex;flex-direction:column;min-width:0}.jobs-log-modal-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem;flex-shrink:0}.jobs-log-modal-title{margin:0;font-size:1.1rem;font-weight:600;color:var(--text)}.jobs-log-modal-close{flex-shrink:0;font-size:.85rem;padding:.35rem .85rem;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer}.jobs-log-modal-close:hover{border-color:var(--accent)}.jobs-log-pre{flex:1 1 auto;min-height:0;max-height:min(55vh,520px);margin-top:.25rem}.ai-chat-page{max-width:min(900px,100%);margin:0 auto;display:flex;flex-direction:column;gap:.75rem;min-height:min(78vh,900px)}.ai-chat-page--sidebar{max-width:none;margin:0;min-height:0;flex:1 1 auto;height:100%;gap:.35rem}.ai-chat-sidebar-subtitle{margin:.2rem 0 0;font-size:.78rem}.ai-chat-provider-hint--compact{margin:0;font-size:.72rem;line-height:1.35}.ai-chat-page .ai-chat-input-row{flex-shrink:0}.ai-chat-page--sidebar .ai-chat-thread{flex:1 1 auto;min-height:var(--ai-chat-thread-min-lines);max-height:min(92vh,1320px);padding:.45rem .5rem;overflow-y:auto}.ai-chat-page--sidebar .ai-chat-input{min-height:114px}.ai-chat-page--sidebar .ai-chat-msg{grid-template-columns:30px 1fr;gap:.15rem .4rem;margin-bottom:.55rem;align-items:start}.ai-chat-page--sidebar .ai-chat-msg--assistant .ai-chat-msg-role,.ai-chat-page--sidebar .ai-chat-msg--user .ai-chat-msg-role{font-size:.7rem;line-height:1.15;padding-top:.08rem}.ai-chat-page--sidebar .ai-chat-msg-body{line-height:1.45}.ai-chat-page--sidebar .ai-chat-quick-chips{flex-wrap:wrap}.ai-chat-page--sidebar .ai-chat-chip{font-size:.72rem;padding:.25rem .45rem}.experiment-workspace-outer{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;min-width:0;max-height:calc(100vh - 10.5rem);gap:.5rem;width:100%}.experiment-workbench-root{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;min-width:0;width:100%}.experiment-workbench{display:grid;grid-template-columns:var(--exp-sidebar-w, 260px) var(--exp-handle-w-left, 6px) minmax(0,1fr) var(--exp-handle-w-right, 6px) var(--exp-results-w, 340px);gap:0;align-items:stretch;flex:1 1 auto;min-height:0;min-width:0;width:100%;border:1px solid rgba(148,163,184,.28);border-radius:12px;overflow:hidden;background:#0f172a59}.experiment-workbench>.experiment-left-panel{grid-column:1;grid-row:1}.experiment-workbench>.experiment-resize-handle--left{grid-column:2;grid-row:1}.experiment-workbench>.experiment-workbench-center{grid-column:3;grid-row:1}.experiment-workbench>.experiment-resize-handle--right{grid-column:4;grid-row:1}.experiment-workbench>.experiment-results{grid-column:5;grid-row:1}.experiment-resize-handle{position:relative;align-self:stretch;cursor:col-resize;background:transparent;transition:background .15s ease;touch-action:none;z-index:5}.experiment-resize-handle:before{content:"";position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);width:2px;background:#94a3b838;transition:background .15s ease,width .15s ease;pointer-events:none}.experiment-resize-handle:hover{background:#38bdf814}.experiment-resize-handle:hover:before,.experiment-resize-handle:focus-visible:before{background:#38bdf8bf;width:3px}.experiment-resize-handle:focus-visible{outline:none;background:#38bdf81f}.experiment-resize-handle:active:before{background:#38bdf8f2;width:3px}.experiment-workbench--sidebar-collapsed{--exp-handle-w-left: 0px}.experiment-workbench--sidebar-collapsed>.experiment-resize-handle--left{visibility:hidden;pointer-events:none}.experiment-workbench--results-collapsed{--exp-handle-w-right: 0px}.experiment-workbench--results-collapsed>.experiment-resize-handle--right{visibility:hidden;pointer-events:none}.experiment-sidebar,.experiment-left-panel{display:flex;flex-direction:column;min-height:0;min-width:0;border-right:1px solid rgba(148,163,184,.28);background:#0f172a73}.experiment-left-panel-header{display:flex;align-items:center;gap:.5rem;padding:.5rem .65rem;border-bottom:1px solid rgba(148,163,184,.18);background:#0f172a8c}.experiment-left-panel-title{flex-shrink:0;font-size:.82rem;font-weight:700;letter-spacing:.04em;color:#e2e8f0}.experiment-left-panel-provider{flex:1 1 auto;min-width:0;display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;color:var(--muted);margin:0}.experiment-left-panel-provider-label{flex-shrink:0;font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.experiment-left-panel-provider-select{flex:1 1 auto;min-width:0;padding:.2rem .35rem;font-size:.75rem;background:#0f172abf;color:#e2e8f0;border:1px solid rgba(148,163,184,.35);border-radius:6px;cursor:pointer}.experiment-left-panel-provider-select:focus-visible{outline:none;border-color:#38bdf8b3;box-shadow:0 0 0 2px #38bdf838}.experiment-left-panel-collapse-btn{flex-shrink:0;padding:.2rem .45rem;font-size:.85rem;line-height:1;background:transparent;border:1px solid rgba(148,163,184,.3);color:var(--muted);border-radius:6px;cursor:pointer;transition:background .15s ease,color .15s ease}.experiment-left-panel-collapse-btn:hover{background:#38bdf81a;color:#e2e8f0}.experiment-left-panel-body>.ai-chat-page>.ai-chat-header--workbench{display:none}.experiment-left-panel-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.experiment-left-panel-body>.ai-chat-page{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.experiment-left-panel--collapsed{width:52px;min-width:52px;max-width:52px}.experiment-left-panel--collapsed .experiment-left-panel-header{flex-direction:column;padding:.45rem .25rem}.experiment-left-panel--collapsed .experiment-left-panel-title{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.7rem}.experiment-sidebar-inner{flex:1 1 auto;min-height:0;overflow:auto;padding:.65rem .75rem .85rem}.experiment-sidebar--collapsed{width:52px;min-width:52px;max-width:52px}.experiment-sidebar--collapsed .experiment-sidebar-inner{padding:.45rem .35rem}.experiment-sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:.35rem;margin-bottom:.5rem}.experiment-sidebar-title{margin:0;font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.experiment-sidebar-collapse-btn{padding:.25rem .45rem;font-size:.75rem;line-height:1}.experiment-sidebar--collapsed .experiment-sidebar-section,.experiment-sidebar--collapsed .experiment-project-card:not(.experiment-project-card--empty),.experiment-sidebar--collapsed .experiment-meta-block,.experiment-sidebar--collapsed .experiment-file-list,.experiment-sidebar--collapsed .experiment-recent-runs{display:none}.experiment-project-card{padding:.55rem .6rem;border-radius:10px;border:1px solid rgba(56,189,248,.22);background:#1e293b8c;margin-bottom:.65rem}.experiment-project-card--empty{border-style:dashed;border-color:#94a3b859}.experiment-project-card-kicker{margin:0 0 .35rem;font-size:.72rem;font-weight:700;color:var(--accent, #5ec9ff);text-transform:uppercase;letter-spacing:.06em}.experiment-project-card-body{margin:0;font-size:.8rem;line-height:1.45;color:var(--text)}.experiment-project-card-name{margin:0 0 .2rem;font-size:.95rem;font-weight:650}.experiment-project-card-meta{margin:0;font-size:.75rem}.experiment-onboarding-steps{margin:.5rem 0 0;padding-left:1.1rem;font-size:.72rem;line-height:1.45;color:var(--muted)}.experiment-sidebar-section{margin-bottom:.75rem}.experiment-sidebar-section-title{margin:0 0 .35rem;font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#94a3b8f2}.experiment-step-nav-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.28rem}.experiment-step-nav-item{margin:0}.experiment-step-nav-btn{width:100%;display:flex;align-items:flex-start;gap:.4rem;text-align:left;padding:.38rem .45rem;border-radius:8px;border:1px solid rgba(148,163,184,.28);background:#0f172a59;color:var(--muted);cursor:pointer;transition:border-color .12s ease,background .12s ease,color .12s ease}.experiment-step-nav-btn:hover{border-color:#38bdf873;color:var(--text)}.experiment-step-nav-btn--active{border-color:#38bdf8a6;background:linear-gradient(180deg,#38bdf82e,#0f172a8c);color:#e2e8f0}.experiment-step-nav-num{flex:0 0 auto;width:1.25rem;height:1.25rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:800;background:#94a3b833}.experiment-step-nav-btn--active .experiment-step-nav-num{background:#38bdf866;color:#0f172a}.experiment-step-nav-text{display:flex;flex-direction:column;gap:.04rem;min-width:0}.experiment-step-nav-label{font-size:.76rem;font-weight:650;line-height:1.2}.experiment-step-nav-en{font-size:.62rem;color:#94a3b8e6;line-height:1.15}.experiment-meta-dl{margin:0;display:flex;flex-direction:column;gap:.35rem;font-size:.75rem}.experiment-meta-dl dt{margin:0;font-weight:650;color:var(--muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.04em}.experiment-meta-dl dd{margin:0;word-break:break-word}.experiment-file-list,.experiment-recent-runs{margin:0;padding-left:1rem;font-size:.72rem;line-height:1.35;max-height:9rem;overflow:auto}.experiment-recent-runs li{display:flex;flex-direction:column;gap:.08rem;margin-bottom:.35rem}.experiment-recent-time{color:var(--muted);font-size:.65rem}.experiment-recent-model{font-weight:600}.experiment-placeholder-tiny{margin:0;font-size:.72rem}.experiment-workbench-center{display:flex;flex-direction:column;min-width:0;min-height:0;border-right:1px solid rgba(148,163,184,.22);background:#0f172a40;overflow:hidden}.experiment-left-panel-body>.ai-chat-page{flex:0 0 auto;width:100%;max-width:none;min-height:0;max-height:none;display:flex;flex-direction:column;border-radius:0;border:none;margin:0}.experiment-left-panel-body{justify-content:flex-start;overflow-y:auto}.experiment-left-panel-body>.ai-chat-page>.ai-chat-header,.experiment-left-panel-body>.ai-chat-page>.ai-chat-quick-chips,.experiment-left-panel-body>.ai-chat-page>.ai-chat-workbench-toolbar,.experiment-left-panel-body>.ai-chat-page>.ai-chat-input-row{flex-shrink:0}.experiment-main-stage{flex:1 1 auto;min-height:0;overflow:auto;margin:0;border-radius:0;border:none;padding:.65rem .75rem .85rem}.experiment-main-stage.panel{background:transparent;box-shadow:none}.experiment-main-stage>.projects-page-compact,.experiment-main-stage>section{max-width:none}.experiment-results{display:flex;flex-direction:column;min-width:0;min-height:0;background:#0f172a66}.experiment-results--collapsed{width:48px;min-width:48px;max-width:48px;overflow:hidden}.experiment-results--collapsed .experiment-results-tabs,.experiment-results--collapsed .experiment-results-body,.experiment-results--collapsed .experiment-results-step-banner{display:none}.experiment-results--fullscreen{position:fixed;top:.5rem;right:.5rem;bottom:.5rem;left:.5rem;z-index:200;max-width:none;border-radius:12px;border:1px solid rgba(148,163,184,.35);box-shadow:0 18px 50px #00000073}.experiment-results-head{display:flex;align-items:center;justify-content:space-between;gap:.35rem;padding:.5rem .55rem;border-bottom:1px solid rgba(148,163,184,.22);flex-shrink:0}.experiment-results-title{margin:0;font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.experiment-results-head-actions{display:flex;gap:.25rem}.experiment-results-icon-btn{padding:.28rem .42rem;font-size:.72rem;line-height:1}.experiment-results-step-banner{padding:.45rem .55rem;font-size:.72rem;line-height:1.4;border-bottom:1px solid rgba(148,163,184,.15);display:flex;flex-direction:column;gap:.2rem}.experiment-results-tabs{display:flex;flex-wrap:wrap;gap:.2rem;padding:.4rem .45rem .35rem;border-bottom:1px solid rgba(148,163,184,.18)}.experiment-results-tab{padding:.28rem .5rem;font-size:.68rem;font-weight:600;border-radius:6px;border:1px solid rgba(148,163,184,.25);background:#0f172a59;color:var(--muted);cursor:pointer}.experiment-results-tab--active{border-color:#38bdf88c;color:#e2e8f0;background:#38bdf81f}.experiment-results-body{flex:1 1 auto;min-height:0;overflow:auto;padding:.55rem .6rem .75rem}.experiment-results-placeholder{margin:0;font-size:.82rem;line-height:1.5}.experiment-results-pre{margin:0;font-size:.78rem;line-height:1.45;white-space:pre-wrap;word-break:break-word}.experiment-results-pre--err{color:#fecaca}.experiment-results-chart-wrap{display:flex;justify-content:center;align-items:flex-start;padding:.25rem}.experiment-results-chart-img{max-width:100%;height:auto;border-radius:8px}.experiment-results-table-wrap{max-height:none}.experiment-results-files{margin:0;padding-left:1.1rem;font-size:.8rem}.experiment-top-strip{display:flex;flex-direction:column;gap:.35rem;width:100%}.experiment-top-strip-row--primary{display:grid;grid-template-columns:minmax(240px,1.5fr) minmax(260px,1.2fr) auto auto;align-items:end;gap:.4rem .55rem;padding:.35rem .5rem .42rem;border-radius:10px;border:1px solid rgba(148,163,184,.22);background:#0f172a59}.experiment-top-strip-cluster{display:flex;align-items:flex-end;gap:.45rem;min-width:0}.experiment-top-strip-cluster--project,.experiment-top-strip-cluster--model{min-width:0}.experiment-top-strip-cluster--model{display:grid;grid-template-columns:minmax(82px,.5fr) minmax(78px,.35fr);gap:.45rem}.experiment-top-strip-cluster--status{justify-content:flex-start}.experiment-top-strip-cluster--actions{justify-content:flex-end;align-items:flex-end;white-space:nowrap}.experiment-top-strip-field{display:flex;flex-direction:column;gap:.22rem;min-width:0}.experiment-top-strip-inline{display:flex;align-items:center;gap:.38rem;min-width:0}.experiment-top-strip-field-label,.experiment-top-strip-status-label{font-size:.67rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.experiment-model-label{display:flex;align-items:center;gap:0;font-size:.75rem;color:var(--muted);min-width:0}.experiment-model-select{min-width:0;width:100%;font-size:.8rem}.experiment-model-select--wide{min-width:5.04rem;max-width:7.5rem}.experiment-top-strip-action-btn{min-height:2rem;padding:.34rem .58rem;font-size:.74rem}.experiment-top-strip-session{display:inline-flex;align-items:center;gap:.35rem;margin-left:.5rem;padding-left:.55rem;border-left:1px solid rgba(148,163,184,.28);flex-shrink:0;white-space:nowrap}.experiment-top-strip-session-btn{min-height:2rem;padding:.3rem .55rem;font-size:.72rem;border-radius:7px}.experiment-top-strip-session-btn--home{font-weight:600}.experiment-top-strip-session-btn--logout{color:#fecaca;border-color:#f8717173}.experiment-top-strip-session-btn--logout:hover:not(:disabled){background:#f871711f;border-color:#f87171b3}.experiment-top-strip-session-email{font-size:.7rem;color:var(--muted);max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.experiment-top-strip .workflow-project-select{min-width:0;width:min(100%,25.2rem)}.experiment-top-strip .workflow-project-new-btn{flex:0 0 auto;min-height:2rem;padding:.34rem .62rem;font-size:.74rem}.experiment-top-strip-sub .workflow-step-hint{margin:.15rem 0 0}.experiment-run-badge{display:inline-flex;align-items:center;padding:.22rem .55rem;border-radius:999px;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.experiment-run-badge--idle{background:#94a3b833;color:var(--muted)}.experiment-run-badge--ready{background:#38bdf82e;color:#7dd3fc}.experiment-run-badge--running{background:#facc1533;color:#facc15}.experiment-run-badge--completed{background:#22c55e2e;color:#86efac}.experiment-run-badge--error{background:#f8717133;color:#fecaca}.experiment-mobile-jump{display:none;flex-wrap:wrap;gap:.35rem;margin-top:.35rem}.ai-chat-page--workbench{max-width:none;width:100%;margin:0}.ai-chat-page--workbench .ai-chat-title-h2{font-size:1.05rem}.ai-chat-page--workbench .ai-chat-thread{font-size:.88rem}.ai-chat-page--workbench .ai-chat-input{min-height:2.9rem;border-color:#38bdf8b8;background:#0f172adb;box-shadow:inset 0 1px #ffffff0a;resize:none}.app--experiment-shell .ai-chat-page--workbench .ai-chat-input-row{position:sticky;bottom:0;z-index:12;margin-top:auto;padding:.45rem .5rem calc(.45rem + env(safe-area-inset-bottom));border-top:1px solid rgba(148,163,184,.28);background:linear-gradient(180deg,#0f172aeb,#0f172afa);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.app--experiment-shell .ai-chat-page--workbench .ai-chat-thread{padding-bottom:.35rem}.app--experiment-shell .ai-chat-page--workbench .ai-chat-send{min-width:2.2rem;width:2.2rem;height:2.2rem;border-radius:10px;font-size:.72rem;font-weight:700;letter-spacing:.02em;border:1px solid rgba(125,211,252,.72);background:linear-gradient(180deg,#38bdf8db,#0ea5e9cc);color:#082f49;box-shadow:0 8px 20px #0ea5e947}.app--experiment-shell .ai-chat-page--workbench .ai-chat-send:hover:not(:disabled){border-color:#7dd3fceb;filter:brightness(1.06)}.app--experiment-shell .ai-chat-page--workbench .ai-chat-send:disabled{opacity:.52;box-shadow:none}.ai-chat-page--workbench .ai-chat-quick-chips{margin-bottom:.35rem}.ai-chat-provider-hint--compact{font-size:.68rem;margin:0 0 .35rem}.ai-chat-workbench-toolbar{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.35rem}.ai-chat-workbench-toolbar .btn{font-size:.78rem;padding:.32rem .55rem}@media (min-width: 1100px) and (max-width: 1439px){.experiment-top-strip-row--primary{grid-template-columns:minmax(220px,1.3fr) minmax(230px,1fr) auto}.experiment-top-strip-cluster--status{grid-column:3}.experiment-top-strip-cluster--actions{grid-column:1 / -1;justify-content:flex-end}}@media (max-width: 1339px){.experiment-top-strip-session-email{display:none}}@media (min-width: 768px) and (max-width: 1099px){.experiment-workspace-outer{max-height:none}.experiment-workbench,.experiment-workbench--sidebar-collapsed,.experiment-workbench--results-collapsed,.experiment-workbench--sidebar-collapsed.experiment-workbench--results-collapsed{grid-template-columns:minmax(168px,210px) minmax(0,1fr)!important;grid-template-rows:minmax(240px,auto) minmax(200px,34vh)}.experiment-workbench>.experiment-left-panel{grid-column:1;grid-row:1 / -1}.experiment-workbench>.experiment-workbench-center{grid-column:2;grid-row:1}.experiment-workbench>.experiment-results{grid-column:2;grid-row:2;max-height:40vh;border-top:1px solid rgba(148,163,184,.22)}.experiment-resize-handle{display:none}.experiment-left-panel-body>.ai-chat-page{flex:1.1 1 0;min-height:220px;max-height:none}.experiment-top-strip-row--primary{grid-template-columns:1fr 1fr;align-items:stretch}.experiment-top-strip-cluster--project{grid-column:1 / -1}.experiment-top-strip-cluster--status{justify-content:flex-start}.experiment-top-strip-cluster--actions{justify-content:flex-end}}@media (max-width: 767px){.experiment-workspace-outer{max-height:none}.experiment-workbench,.experiment-workbench--sidebar-collapsed,.experiment-workbench--results-collapsed,.experiment-workbench--sidebar-collapsed.experiment-workbench--results-collapsed{display:flex!important;flex-direction:column;border-radius:10px;grid-template-columns:none!important;grid-template-rows:none!important}.experiment-left-panel{border-right:none;border-bottom:1px solid rgba(148,163,184,.22);max-height:45vh}.experiment-workbench-center{border-right:none;border-bottom:1px solid rgba(148,163,184,.22)}.experiment-resize-handle{display:none}.experiment-left-panel-body>.ai-chat-page{flex:1 1 auto;min-height:240px;max-height:none}.experiment-results{max-height:55vh}.experiment-top-strip-cluster--actions{margin-left:0;width:100%;justify-content:flex-start}.experiment-top-strip-row--primary{grid-template-columns:1fr;gap:.35rem;padding:.4rem .42rem .45rem}.experiment-top-strip-cluster--model{grid-template-columns:1fr;gap:.35rem}.experiment-top-strip-inline{flex-direction:column;align-items:stretch;gap:.3rem}.experiment-top-strip .workflow-project-select,.experiment-top-strip .workflow-project-new-btn{width:100%}.experiment-top-strip-cluster--actions{flex-wrap:wrap}.experiment-top-strip-action-btn{flex:1 1 30%;min-width:5.9rem;justify-content:center}.experiment-mobile-jump{display:flex}}.ai-chat-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem}.ai-chat-header--sidebar{flex-wrap:nowrap;align-items:center;gap:.5rem}.ai-chat-header--sidebar .ai-chat-header-titles{min-width:0;flex:0 1 auto}.ai-chat-header--sidebar .ai-chat-title-h2{font-size:.95rem;font-weight:700}.ai-chat-header--workbench{flex-wrap:wrap;align-items:flex-start}.ai-chat-header--sidebar .ai-chat-provider-box{flex-shrink:0}.ai-chat-header--sidebar .ai-chat-provider-label{flex-direction:row;align-items:center;gap:.35rem;font-size:.7rem;white-space:nowrap}.ai-chat-header--sidebar .ai-chat-provider-select{min-width:6.5rem;max-width:10rem;font-size:.74rem;padding:.22rem .35rem}.ai-chat-phase-hint{margin:.35rem 0 0;max-width:44rem;font-size:.84rem}.ai-chat-provider-box{flex-shrink:0}.ai-chat-provider-label{display:flex;flex-direction:column;gap:.25rem;font-size:.78rem;font-weight:600;color:var(--muted)}.ai-chat-provider-select{min-width:12rem;padding:.35rem .5rem;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.88rem}.ai-chat-provider-hint{margin:0 0 .35rem;font-size:.8rem}.ai-chat-toggle{display:flex;align-items:center;gap:.4rem;font-size:.88rem;color:var(--muted);cursor:pointer}:root{--ai-chat-thread-min-lines: 7.5rem}.ai-chat-thread{flex:1 1 auto;min-height:var(--ai-chat-thread-min-lines);overflow-y:auto;border:1px solid var(--border);border-radius:12px;padding:.75rem .9rem;background:var(--bg)}.ai-chat-page:not(.ai-chat-page--sidebar) .ai-chat-thread{min-height:max(12rem,var(--ai-chat-thread-min-lines));max-height:min(52vh,560px)}.app--experiment-shell .ai-chat-page--workbench.ai-chat-page .ai-chat-thread{flex:0 0 auto!important;min-height:10.5rem!important;max-height:10.5rem!important;height:10.5rem!important;overflow-y:auto!important}.ai-chat-msg{display:grid;grid-template-columns:52px 1fr;gap:.5rem .75rem;margin-bottom:1rem;align-items:start}.ai-chat-msg--user .ai-chat-msg-role{color:var(--accent);font-weight:600;font-size:.78rem}.ai-chat-msg--assistant .ai-chat-msg-role{color:#22c55e;font-weight:600;font-size:.78rem}.ai-chat-msg-body{min-width:0;font-size:.92rem;line-height:1.55}.ai-chat-user-pre{margin:0;white-space:pre-wrap;word-break:break-word;font-family:inherit;font-size:.92rem}.ai-chat-markdown code{font-size:.86em;padding:.1em .35em;border-radius:4px;background:var(--surface);border:1px solid var(--border)}.ai-chat-quick-chips{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.ai-chat-chip{font-size:.8rem;padding:.35rem .65rem;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.ai-chat-chip:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.ai-chat-chip:disabled{opacity:.55;cursor:not-allowed}.ai-chat-tool-results{margin-top:.55rem;display:flex;flex-direction:column;gap:.5rem}.ai-chat-tool-card{border-radius:10px;border:1px solid var(--border);padding:.55rem .7rem;background:var(--surface);font-size:.84rem}.ai-chat-tool-card--train{border-left:3px solid #3b82f6}.ai-chat-tool-card--predict{border-left:3px solid #a855f7}.ai-chat-tool-card-title{font-weight:600;margin-bottom:.35rem;color:var(--text)}.ai-chat-tool-dry-hint{margin:0 0 .4rem;font-size:.8rem;color:#ca8a04}.ai-chat-tool-row{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;margin-bottom:.35rem}.ai-chat-tool-label{font-size:.78rem;color:var(--muted)}.ai-chat-tool-code{font-size:.8rem;word-break:break-all;flex:1 1 auto;min-width:0}.ai-chat-copy{font-size:.75rem!important;padding:.2rem .5rem!important;min-height:auto!important}.ai-chat-tool-metrics{margin:0;padding:.45rem .55rem;border-radius:8px;background:var(--bg);border:1px solid var(--border);font-size:.76rem;max-height:200px;overflow:auto;white-space:pre-wrap;word-break:break-word}.ai-chat-tool-err{margin:0;font-size:.76rem;color:#dc2626;white-space:pre-wrap;word-break:break-word}.ai-chat-tool-fallback{margin:0;font-size:.76rem;max-height:160px;overflow:auto}.ai-chat-tool-meta{margin:0 0 .35rem;font-size:.82rem;color:var(--muted)}.ai-chat-tools{margin-top:.5rem;font-size:.82rem}.ai-chat-tool-pre{margin:.35rem 0 0;padding:.5rem .65rem;border-radius:8px;background:var(--surface);border:1px solid var(--border);font-size:.78rem;max-height:220px;overflow:auto;white-space:pre-wrap;word-break:break-word}.ai-chat-input-row{display:flex;flex-direction:row;align-items:flex-end;gap:.5rem;width:100%}.app--experiment-shell .ai-chat-page--workbench.ai-chat-page{overflow:hidden}.ai-chat-input{flex:1 1 auto;min-width:0;width:auto;resize:vertical;min-height:76px;padding:.65rem .85rem;border-radius:10px;border:1px solid var(--accent);background:var(--surface);color:var(--text);font-family:inherit;font-size:.95rem;outline:2px solid var(--accent);outline-offset:1px}.ai-chat-input:focus{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:1px}.ai-chat-send.auth-submit{margin-top:0;padding:0}.ai-chat-send{flex-shrink:0;min-width:1.85rem;width:1.85rem;height:1.85rem;display:inline-flex;align-items:center;justify-content:center;font-size:.95rem;line-height:1;border-radius:8px}@media (max-width: 479px){.ai-chat-input-row{flex-direction:column;align-items:stretch}.ai-chat-send{align-self:flex-end;width:1.85rem;height:1.85rem}}.projects-page-compact{min-width:0}.projects-smart-panel{padding-top:.65rem}.projects-brief-compose{border:1px solid var(--border);border-radius:10px;padding:.65rem .75rem;background:#0000000f;display:flex;flex-direction:column;gap:.55rem}.projects-brief-field{display:flex;flex-direction:column;gap:.25rem;font-size:.84rem;font-weight:500}.projects-brief-field input,.projects-brief-field textarea{width:100%;font-family:inherit;font-size:.88rem;box-sizing:border-box}.projects-brief-title-wrap{border-radius:8px;background:var(--surface2);border:1px solid var(--border);min-width:0;transition:box-shadow .15s ease,outline-color .15s ease}.projects-brief-title-wrap input{display:block;width:100%;margin:0;border:none;background:transparent;padding:.55rem .65rem;font-family:inherit;font-size:.88rem;color:var(--text);border-radius:8px;box-sizing:border-box}.projects-brief-title-wrap input:focus{outline:none}.projects-brief-title-wrap:focus-within{outline:2px solid var(--accent);outline-offset:1px}.projects-brief-body-wrap{display:block;min-width:0;border-radius:8px;transition:box-shadow .15s ease,outline-color .15s ease}.projects-brief-body-wrap--drag{outline:2px dashed var(--accent, #6366f1);outline-offset:2px;box-shadow:0 0 0 3px #6366f11f}.projects-brief-field textarea{min-height:7.5rem;resize:vertical;line-height:1.45}.projects-brief-body-wrap textarea{display:block}.projects-brief-field textarea::placeholder{color:var(--muted, rgba(0, 0, 0, .45));font-size:.82rem;line-height:1.45}.projects-brief-msg{margin:0}.projects-brief-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.15rem}.projects-data-guide-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0f172a73}.projects-data-guide-dialog{width:100%;max-width:40rem;max-height:min(85vh,640px);overflow:auto;padding:1rem 1.15rem;border-radius:10px;background:var(--panel, #fff);color:#111827;box-shadow:0 12px 40px #0000002e;border:1px solid var(--border, rgba(0, 0, 0, .08));--text: #111827;--muted: #374151}.projects-data-guide-dialog,.projects-data-guide-dialog h3,.projects-data-guide-dialog h4,.projects-data-guide-dialog p,.projects-data-guide-dialog li,.projects-data-guide-dialog code,.projects-data-guide-dialog strong,.projects-data-guide-dialog span,.projects-data-guide-dialog a,.projects-data-guide-dialog *{color:#111827!important}.projects-data-guide-dialog .hint{color:#374151!important}.projects-data-guide-dialog h3{margin:0 0 .5rem;font-size:1.05rem}.projects-data-guide-intro{margin:0 0 .75rem;font-size:.9rem;line-height:1.5;color:#111827}.projects-data-guide-section{margin-top:.65rem}.projects-data-guide-section h4{margin:0 0 .35rem;font-size:.88rem;font-weight:600;color:#111827}.projects-data-guide-section ul{margin:0;padding-left:1.15rem;font-size:.86rem;line-height:1.5}.projects-data-guide-section li{margin-bottom:.35rem}.projects-data-guide-checklist{margin-top:.75rem;padding:.55rem .65rem;border-radius:8px;background:var(--panel-2, #f8f9fb);font-size:.86rem;color:#111827}.projects-data-guide-checklist h4{margin:0 0 .35rem;font-size:.88rem}.projects-data-guide-actions{display:flex;justify-content:flex-end;gap:.45rem;margin-top:.85rem;padding-top:.65rem;border-top:1px solid var(--border, rgba(0, 0, 0, .08))}.projects-analysis-panel{margin-top:.75rem;padding:.65rem .75rem;background:var(--panel-2, #f8f9fb);color:#111827;--text: #111827;--muted: #374151}.projects-analysis-panel h4,.projects-analysis-panel h5,.projects-analysis-panel p,.projects-analysis-panel li,.projects-analysis-panel code,.projects-analysis-panel strong,.projects-analysis-panel span,.projects-analysis-panel a,.projects-analysis-panel *{color:#111827!important}.projects-analysis-panel .hint{color:#374151!important}.projects-analysis-heading{margin:0 0 .35rem;font-size:.95rem}.panel--dense{padding:.75rem .9rem}.panel-heading-row{margin:0 0 .55rem;font-size:1rem;font-weight:600;color:var(--text)}.home-page{display:flex;flex-direction:column;gap:.75rem;min-width:0}.home-three-grid{display:grid;grid-template-columns:1fr;gap:.65rem;align-items:stretch}@media (min-width: 960px){.home-three-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.home-three-box{display:flex;flex-direction:column;min-height:0}.home-three-title{margin:0 0 .45rem;font-size:.95rem;font-weight:700;color:var(--accent);letter-spacing:.02em}.home-three-subtitle{margin:0 0 .5rem;font-size:.76rem}.home-intro-lead{margin:0 0 .55rem;font-size:.84rem;line-height:1.5;color:var(--text);font-weight:500}.home-intro-bullets{margin:0;padding-left:1.05rem;font-size:.78rem;line-height:1.45;color:var(--text);flex:1;display:flex;flex-direction:column;gap:.35rem}.home-intro-bullets li{padding-left:.15rem}.home-intro-bullets-sep{color:var(--muted);font-weight:400}.home-intro-kw{color:var(--accent);font-weight:600;letter-spacing:.02em}.home-people{display:flex;flex-direction:column;gap:.85rem;flex:1;min-height:0;max-height:min(52vh,28rem);overflow-y:auto;padding-right:.25rem}.home-people-block{min-width:0}.home-people-role{font-size:.72rem;letter-spacing:.12em;color:var(--muted);text-transform:uppercase;margin-bottom:.2rem}.home-people-name-row{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .6rem}.home-people-name{font-size:.85rem;letter-spacing:.06em;color:var(--text)}.home-people-gr{margin:.25rem 0 0;font-size:.82rem;line-height:1.5;color:var(--text)}.home-projects-scroll{flex:1;min-height:0;max-height:min(42vh,22rem);overflow-y:auto;padding-right:.25rem;-webkit-overflow-scrolling:touch}.home-projects-scroll--folded{max-height:11.25rem;overflow:hidden}.home-projects-list-inner{margin:0;padding-left:1rem;font-size:.82rem;line-height:1.35}.home-projects-toggle{margin-top:.55rem;width:100%;padding:.45rem .7rem;font-size:.82rem;font-weight:600;border-radius:8px;border:1px solid var(--border);background:var(--surface2);color:var(--accent);cursor:pointer;font-family:inherit}.home-projects-toggle:hover{border-color:var(--accent);background:#38bdf81a}.home-list{margin:0;padding-left:1rem;font-size:.82rem;line-height:1.35}.home-list--dense li{margin-bottom:.25rem}.home-list--tight{font-size:.78rem;padding-left:.95rem}.home-list--tight li{margin-bottom:.2rem}.home-list-meta{color:var(--muted);font-weight:400}.btn--compact{padding:.4rem .75rem;font-size:.82rem}.dash-page{display:flex;flex-direction:column;gap:.75rem;min-width:0}.dash-kpi-panel{margin:0}.dash-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.5rem}.stat-card--compact{padding:.55rem .65rem}.stat-card--compact .stat-label{font-size:.72rem}.stat-card--compact .stat-value{font-size:1.2rem}.stat-value--accent{color:#38bdf8}.stat-value--warn{color:#fbbf24}.dash-visual-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.65rem}.dash-visual-cell{min-height:0}.dash-chart{min-width:0}.dash-chart-title{font-size:.78rem;font-weight:600;color:var(--muted);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.04em}.dash-chart-empty{margin:.25rem 0 0;font-size:.82rem}.dash-hbar-list{display:flex;flex-direction:column;gap:.35rem}.dash-hbar-row{display:grid;grid-template-columns:52px 1fr 36px;align-items:center;gap:.4rem;font-size:.78rem}.dash-hbar-label{color:var(--muted)}.dash-hbar-track{height:8px;border-radius:999px;background:#94a3b840;overflow:hidden}.dash-hbar-fill{height:100%;border-radius:999px;transition:width .25s ease}.dash-hbar-fill--gpu{background:linear-gradient(90deg,#34d399,#059669)}.dash-hbar-fill--vram{background:linear-gradient(90deg,#f472b6,#db2777)}.dash-hbar-val{text-align:right;font-family:var(--mono);font-size:.72rem;color:var(--text)}.dash-stack-bar{display:flex;height:14px;border-radius:8px;overflow:hidden;border:1px solid var(--border)}.dash-stack-seg{transition:flex .2s ease}.dash-legend{list-style:none;margin:.45rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem .75rem;font-size:.72rem}.dash-legend li{display:inline-flex;align-items:center;gap:.25rem}.dash-legend-dot{width:8px;height:8px;border-radius:999px;flex-shrink:0}.dash-legend-name{color:var(--muted)}.dash-legend-n{font-family:var(--mono);color:var(--text)}.dash-task-bars{display:flex;flex-direction:column;gap:.35rem}.dash-task-row{display:grid;grid-template-columns:minmax(0,1fr) 1fr 28px;align-items:center;gap:.4rem;font-size:.78rem}.dash-task-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.dash-task-track{height:7px;border-radius:999px;background:#94a3b833;overflow:hidden}.dash-task-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,rgba(94,201,255,.5),var(--accent));transition:width .25s ease}.dash-task-n{font-family:var(--mono);font-size:.72rem;text-align:right}.dash-spark-wrap{display:flex;align-items:flex-end;gap:3px;height:64px;padding-top:.25rem}.dash-spark-col{flex:1 1 0;min-width:0;display:flex;align-items:flex-end;justify-content:center}.dash-spark-bar{width:100%;max-width:14px;margin:0 auto;border-radius:4px 4px 2px 2px;background:linear-gradient(180deg,var(--accent),rgba(94,201,255,.35));min-height:8px;transition:height .2s ease}.dash-two-col{display:grid;grid-template-columns:1fr;gap:.65rem}@media (min-width: 900px){.dash-two-col{grid-template-columns:1.2fr .8fr}}.table-wrap--short{max-height:200px}.table-wrap--medium{max-height:260px}.dash-mini-pct{font-size:.72rem;margin-bottom:2px;font-family:var(--mono)}.dash-progress-track{width:100%;height:7px;border-radius:999px;background:#94a3b84d;overflow:hidden}.dash-progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#60a5fa,#3b82f6);transition:width .2s ease}.mini-table--tight th,.mini-table--tight td{padding:.28rem .4rem;font-size:.78rem}.notebook-page{display:flex;flex-direction:column;gap:.75rem;min-height:0;flex:1}.notebook-page-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem 1rem}.notebook-page-title h2{margin:0 0 .35rem;font-size:1.25rem}.notebook-page-sub{margin:0;max-width:48rem}.notebook-page-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.notebook-gpu-badge{font-size:.72rem;padding:.25rem .55rem;border-radius:999px;border:1px solid rgba(56,189,248,.45);background:#38bdf81f;color:var(--accent);max-width:14rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notebook-toolbar-btn{font-size:.8rem;padding:.35rem .75rem;border-radius:8px;border:1px solid var(--border);background:#0f172a80;color:var(--text);cursor:pointer}.notebook-toolbar-btn:hover:not(:disabled){border-color:var(--accent)}.notebook-toolbar-btn:disabled{opacity:.45;cursor:not-allowed}.notebook-toolbar-btn--danger{border-color:#f871718c;color:#fecaca}.notebook-package-hint{margin:0}.notebook-page-notice h3{margin-top:0;font-size:1rem}.notebook-page-error{border-color:#f8717173;background:#7f1d1d33}.notebook-page-loading{margin:0}.notebook-iframe-wrap{flex:1;min-height:min(72vh,900px);border-radius:12px;overflow:hidden;border:1px solid var(--border);background:#0f172a}.notebook-iframe{width:100%;height:min(72vh,900px);border:none;display:block}.app--experiment-shell{--exp-bg: #0f172a;--exp-panel: #111827;--exp-elevated: #1e293b;--exp-border: #334155;--exp-border-soft: rgba(51, 65, 85, .6);--exp-primary: #2563eb;--exp-primary-hover: #1d4ed8;--exp-primary-soft: rgba(37, 99, 235, .16);--exp-success: #22c55e;--exp-warning: #f59e0b;--exp-error: #ef4444;--exp-text: #f8fafc;--exp-text-secondary: #94a3b8;--exp-text-muted: #64748b;--exp-fs-title: 20px;--exp-fs-section: 16px;--exp-fs-body: 14px;--exp-fs-caption: 12px;--exp-r-card: var(--r-card, 14px);--exp-r-input: var(--r-input, 12px);--exp-r-btn: var(--r-btn, 10px);--exp-t: var(--t-base, .2s ease);font-family:var(--font);color:var(--exp-text);background:var(--exp-bg)}.app--experiment-shell .top-nav-wrap{background:linear-gradient(180deg,#111827,#0f172a);border-bottom:1px solid var(--exp-border);box-shadow:0 8px 24px -18px #000000bf;-webkit-backdrop-filter:saturate(140%);backdrop-filter:saturate(140%)}.app--experiment-shell .experiment-top-strip-row--primary{background:var(--exp-panel);border:1px solid var(--exp-border);border-radius:var(--exp-r-card);box-shadow:0 1px #ffffff05 inset;padding:10px 14px 12px;gap:8px 12px}.app--experiment-shell .experiment-top-strip-field-label,.app--experiment-shell .experiment-top-strip-status-label,.app--experiment-shell .workflow-current-project-label{color:var(--exp-text-secondary);font-weight:500;letter-spacing:.01em}.app--experiment-shell .experiment-top-strip-row--primary select,.app--experiment-shell .experiment-top-strip-row--primary input{background:var(--exp-elevated);border:1px solid var(--exp-border);border-radius:var(--exp-r-input);color:var(--exp-text);transition:border-color var(--exp-t),box-shadow var(--exp-t),background var(--exp-t)}.app--experiment-shell .experiment-top-strip-row--primary select:hover,.app--experiment-shell .experiment-top-strip-row--primary input:hover{border-color:#475569}.app--experiment-shell .experiment-top-strip-row--primary select:focus-visible,.app--experiment-shell .experiment-top-strip-row--primary input:focus-visible{outline:none;border-color:var(--exp-primary);box-shadow:0 0 0 3px #2563eb47}.app--experiment-shell .experiment-top-strip-action-btn,.app--experiment-shell .experiment-top-strip-session-btn,.app--experiment-shell .workflow-project-new-btn{background:var(--exp-elevated);border:1px solid var(--exp-border);border-radius:var(--exp-r-btn);color:var(--exp-text);font-weight:500;transition:all var(--exp-t)}.app--experiment-shell .experiment-top-strip-action-btn:hover:not(:disabled),.app--experiment-shell .experiment-top-strip-session-btn:hover:not(:disabled),.app--experiment-shell .workflow-project-new-btn:hover:not(:disabled){background:var(--exp-primary-soft);border-color:var(--exp-primary);color:#dbeafe;transform:translateY(-1px)}.app--experiment-shell .experiment-top-strip-action-btn:focus-visible,.app--experiment-shell .experiment-top-strip-session-btn:focus-visible,.app--experiment-shell .workflow-project-new-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #2563eb66;border-color:var(--exp-primary)}.app--experiment-shell .experiment-top-strip-session-btn--logout:hover:not(:disabled){background:#ef444426;border-color:var(--exp-error);color:#fee2e2}.app--experiment-shell .top-nav-row--workflow-primary{border-top:1px solid var(--exp-border-soft);border-bottom:1px solid var(--exp-border-soft);padding:8px 0}.app--experiment-shell .experiment-step-tab{background:var(--exp-panel);border:1px solid var(--exp-border);border-radius:var(--exp-r-btn);color:var(--exp-text-secondary);padding:8px 12px;transition:all var(--exp-t);position:relative;overflow:hidden}.app--experiment-shell .experiment-step-tab:hover{background:var(--exp-elevated);border-color:#475569;color:var(--exp-text);transform:translateY(-1px)}.app--experiment-shell .experiment-step-tab--active{background:linear-gradient(135deg,#1e293b,#0f172a);border-color:var(--exp-primary);color:#dbeafe;box-shadow:0 0 0 1px var(--exp-primary) inset,0 4px 16px -8px #2563eb99}.app--experiment-shell .experiment-step-tab--active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--exp-primary)}.app--experiment-shell .experiment-step-tab-num{background:var(--exp-border);color:var(--exp-text);border-radius:999px;transition:all var(--exp-t)}.app--experiment-shell .experiment-step-tab--active .experiment-step-tab-num{background:var(--exp-primary);color:#fff;box-shadow:0 0 0 3px #2563eb33}.app--experiment-shell .experiment-step-tab-ko{font-weight:600;color:inherit}.app--experiment-shell .experiment-step-tab-en{color:var(--exp-text-muted);font-family:var(--font);font-weight:400}.app--experiment-shell .top-nav-row--workflow-sub .nav-tab{background:transparent;border:1px solid transparent;border-radius:var(--exp-r-btn);color:var(--exp-text-secondary);padding:6px 12px;transition:all var(--exp-t)}.app--experiment-shell .top-nav-row--workflow-sub .nav-tab:hover{background:var(--exp-elevated);color:var(--exp-text)}.app--experiment-shell .top-nav-row--workflow-sub .nav-tab.active,.app--experiment-shell .top-nav-row--workflow-sub .nav-tab[aria-selected=true]{background:var(--exp-primary-soft);border-color:var(--exp-primary);color:#dbeafe}.app--experiment-shell .experiment-workbench{background:var(--exp-bg);border:1px solid var(--exp-border);border-radius:var(--exp-r-card);overflow:hidden;box-shadow:0 20px 48px -24px #000000b3}.app--experiment-shell .experiment-left-panel,.app--experiment-shell .experiment-results{background:var(--exp-panel);border-right:1px solid var(--exp-border-soft)}.app--experiment-shell .experiment-results{border-right:none;border-left:1px solid var(--exp-border-soft)}.app--experiment-shell .experiment-workbench-center{background:var(--exp-bg)}.app--experiment-shell .experiment-left-panel-header,.app--experiment-shell .experiment-results-head{background:linear-gradient(180deg,#111827,#0f172a);border-bottom:1px solid var(--exp-border-soft);padding:10px 14px}.app--experiment-shell .experiment-left-panel-title,.app--experiment-shell .experiment-results-title{font-size:var(--exp-fs-section);font-weight:600;color:var(--exp-text);letter-spacing:-.01em}.app--experiment-shell .experiment-results-tabs{background:var(--exp-panel);border-bottom:1px solid var(--exp-border-soft);padding:6px 10px;gap:4px;position:sticky;top:0;z-index:2}.app--experiment-shell .experiment-results-tab{background:transparent;border:1px solid transparent;border-radius:var(--exp-r-btn);color:var(--exp-text-secondary);padding:6px 12px;font-weight:500;transition:all var(--exp-t)}.app--experiment-shell .experiment-results-tab:hover{color:var(--exp-text);background:var(--exp-elevated)}.app--experiment-shell .experiment-results-tab--active{background:var(--exp-primary-soft);border-color:var(--exp-primary);color:#dbeafe}.app--experiment-shell .experiment-results-step-banner{background:var(--exp-elevated);border:1px solid var(--exp-border-soft);border-radius:var(--exp-r-input);padding:10px 12px;margin:10px}.app--experiment-shell .experiment-results-step-banner strong{color:var(--exp-text);font-size:var(--exp-fs-section);font-weight:600}.app--experiment-shell .experiment-results-step-banner .muted{color:var(--exp-text-secondary);font-size:var(--exp-fs-caption)}.app--experiment-shell .experiment-results-pre{background:var(--exp-panel);border:1px solid var(--exp-border-soft);border-radius:var(--exp-r-input);padding:12px 14px;font-family:var(--mono);font-size:13px;line-height:1.55;color:var(--exp-text);overflow:auto}.app--experiment-shell .experiment-results-pre--err{border-color:var(--exp-error);background:#ef444414;color:#fecaca}.app--experiment-shell .experiment-project-card{background:linear-gradient(180deg,#1e293b,#0f172a);border:1px solid var(--exp-border);border-radius:var(--exp-r-card);padding:16px;transition:border-color var(--exp-t),box-shadow var(--exp-t)}.app--experiment-shell .experiment-project-card:hover{border-color:var(--exp-primary);box-shadow:0 8px 28px -14px #2563eb59}.app--experiment-shell .experiment-project-card-kicker{color:var(--exp-text-muted);font-size:var(--exp-fs-caption);font-weight:500;text-transform:uppercase;letter-spacing:.08em}.app--experiment-shell .experiment-project-card-name{font-size:var(--exp-fs-section);font-weight:600;color:var(--exp-text);margin:4px 0}.app--experiment-shell .ai-chat-msg--assistant .ai-chat-msg-body,.app--experiment-shell .ai-chat-msg--user .ai-chat-msg-body{border-radius:var(--exp-r-card);padding:10px 14px;line-height:1.55;box-shadow:0 1px #ffffff08 inset}.app--experiment-shell .ai-chat-msg--assistant .ai-chat-msg-body{background:var(--exp-elevated);border:1px solid var(--exp-border-soft);color:var(--exp-text)}.app--experiment-shell .ai-chat-msg--user .ai-chat-msg-body{background:linear-gradient(135deg,#1d4ed8,#2563eb);border:1px solid #3b82f6;color:#fff}.app--experiment-shell .ai-chat-chip{background:var(--exp-panel);border:1px solid var(--exp-border);border-radius:999px;color:var(--exp-text-secondary);transition:all var(--exp-t)}.app--experiment-shell .ai-chat-chip:hover:not(:disabled){background:var(--exp-primary-soft);border-color:var(--exp-primary);color:#dbeafe}.app--experiment-shell .experiment-run-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;font-size:var(--exp-fs-caption);font-weight:600;letter-spacing:.02em;border:1px solid transparent;transition:all var(--exp-t)}.app--experiment-shell .experiment-run-badge:before{content:"";width:7px;height:7px;border-radius:999px;background:currentColor;opacity:.9;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 25%,transparent)}.app--experiment-shell .experiment-run-badge--idle{background:#64748b26;border-color:#64748b59;color:var(--exp-text-secondary)}.app--experiment-shell .experiment-run-badge--ready{background:#2563eb24;border-color:#2563eb66;color:#93c5fd}.app--experiment-shell .experiment-run-badge--running{background:#f59e0b24;border-color:#f59e0b73;color:#fcd34d}.app--experiment-shell .experiment-run-badge--running:before{animation:exp-pulse 1.25s ease-in-out infinite}.app--experiment-shell .experiment-run-badge--completed{background:#22c55e24;border-color:#22c55e73;color:#86efac}.app--experiment-shell .experiment-run-badge--error{background:#ef444424;border-color:#ef444480;color:#fca5a5}@keyframes exp-pulse{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.25)}}.app--experiment-shell .experiment-main-stage{padding:14px 16px 24px;gap:16px;scrollbar-gutter:stable}.app--experiment-shell .experiment-main-stage>section,.app--experiment-shell .experiment-main-stage>.projects-page-compact,.app--experiment-shell .experiment-main-stage>.panel{background:var(--exp-panel);border:1px solid var(--exp-border);border-radius:var(--exp-r-card);padding:16px 18px;box-shadow:0 1px #ffffff05 inset,0 8px 24px -20px #0009;transition:border-color var(--exp-t),box-shadow var(--exp-t)}.app--experiment-shell .experiment-main-stage>section:hover,.app--experiment-shell .experiment-main-stage>.projects-page-compact:hover,.app--experiment-shell .experiment-main-stage>.panel:hover{border-color:#475569}.app--experiment-shell .experiment-main-stage h2,.app--experiment-shell .experiment-main-stage h3{font-size:var(--exp-fs-section);font-weight:600;letter-spacing:-.01em;color:var(--exp-text);margin:0 0 10px}.app--experiment-shell .experiment-main-stage h1{font-size:var(--exp-fs-title);font-weight:700;letter-spacing:-.02em;color:var(--exp-text)}.app--experiment-shell input[type=text],.app--experiment-shell input[type=number],.app--experiment-shell input[type=search],.app--experiment-shell input[type=email],.app--experiment-shell input[type=password],.app--experiment-shell textarea,.app--experiment-shell select{background:var(--exp-elevated);border:1px solid var(--exp-border);border-radius:var(--exp-r-input);color:var(--exp-text);transition:border-color var(--exp-t),box-shadow var(--exp-t)}.app--experiment-shell input[type=text]:focus-visible,.app--experiment-shell input[type=number]:focus-visible,.app--experiment-shell input[type=search]:focus-visible,.app--experiment-shell input[type=email]:focus-visible,.app--experiment-shell input[type=password]:focus-visible,.app--experiment-shell textarea:focus-visible,.app--experiment-shell select:focus-visible{outline:none;border-color:var(--exp-primary);box-shadow:0 0 0 3px #2563eb47}.app--experiment-shell .btn{border-radius:var(--exp-r-btn);transition:all var(--exp-t)}.app--experiment-shell .btn:focus-visible{outline:none;box-shadow:0 0 0 3px #2563eb66}.app--experiment-shell .btn-secondary{background:var(--exp-elevated);border:1px solid var(--exp-border);color:var(--exp-text)}.app--experiment-shell .btn-secondary:hover:not(:disabled){background:var(--exp-primary-soft);border-color:var(--exp-primary);color:#dbeafe;transform:translateY(-1px)}.app--experiment-shell *::-webkit-scrollbar{width:10px;height:10px}.app--experiment-shell *::-webkit-scrollbar-track{background:transparent}.app--experiment-shell *::-webkit-scrollbar-thumb{background:#94a3b82e;border-radius:999px;border:2px solid transparent;background-clip:padding-box;transition:background var(--exp-t)}.app--experiment-shell *::-webkit-scrollbar-thumb:hover{background:#94a3b859;background-clip:padding-box}.app--experiment-shell .experiment-resize-handle:hover{background:#2563eb14}.app--experiment-shell .experiment-resize-handle:hover:before,.app--experiment-shell .experiment-resize-handle:focus-visible:before{background:var(--exp-primary);width:3px}.app--experiment-shell table{border-collapse:collapse;width:100%;font-size:var(--exp-fs-body)}.app--experiment-shell table th{background:var(--exp-elevated);color:var(--exp-text-secondary);font-weight:600;text-align:left;padding:8px 10px;border-bottom:1px solid var(--exp-border);position:sticky;top:0;z-index:1}.app--experiment-shell table td{padding:8px 10px;border-bottom:1px solid var(--exp-border-soft);color:var(--exp-text)}.app--experiment-shell table tr:hover td{background:#2563eb0d}.app--experiment-shell code{font-family:var(--mono);background:var(--exp-elevated);border:1px solid var(--exp-border-soft);border-radius:6px;padding:1px 6px;font-size:12.5px;color:#cbd5e1}@media (prefers-reduced-motion: reduce){.app--experiment-shell *{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}.app--experiment-shell .contextual-assist{background:linear-gradient(135deg,#2563eb1f,#2563eb0a 60%,#1e293b99);border:1px solid rgba(37,99,235,.45);border-radius:var(--exp-r-card, 14px);padding:14px 16px;display:flex;flex-direction:column;gap:10px;box-shadow:0 10px 28px -18px #2563eb8c;animation:contextual-fade-in .22s ease-out}@keyframes contextual-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.app--experiment-shell .contextual-assist-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.app--experiment-shell .contextual-assist-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;background:#2563eb;color:#fff;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;box-shadow:0 4px 12px -6px #2563ebb3}.app--experiment-shell .contextual-assist-badge:before{content:"✦";font-size:10px}.app--experiment-shell .contextual-assist-titles{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto}.app--experiment-shell .contextual-assist-title{font-size:14px;font-weight:600;color:#f8fafc;letter-spacing:-.01em}.app--experiment-shell .contextual-assist-sub{font-size:12px;color:#94a3b8}.app--experiment-shell .contextual-assist-preset-btn{background:#2563eb2e;border:1px solid rgba(37,99,235,.55);border-radius:var(--exp-r-btn, 10px);color:#dbeafe;font-size:12px;font-weight:500;padding:6px 12px;cursor:pointer;transition:all var(--exp-t, .2s ease);flex-shrink:0}.app--experiment-shell .contextual-assist-preset-btn:hover{background:#2563eb;border-color:#1d4ed8;color:#fff;transform:translateY(-1px)}.app--experiment-shell .contextual-assist-preset-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #2563eb73}.app--experiment-shell .contextual-assist-chips{display:flex;flex-wrap:wrap;gap:8px}.app--experiment-shell .contextual-assist-chip{background:#0f172a8c;border:1px solid rgba(148,163,184,.35);border-radius:999px;color:#e2e8f0;font-size:12.5px;font-weight:500;padding:6px 14px;cursor:pointer;transition:all var(--exp-t, .2s ease);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;position:relative}.app--experiment-shell .contextual-assist-chip:before{content:"→ ";color:#60a5fa;margin-right:2px}.app--experiment-shell .contextual-assist-chip:hover{background:#2563eb33;border-color:#2563eb;color:#fff;transform:translateY(-1px)}.app--experiment-shell .contextual-assist-chip:focus-visible{outline:none;box-shadow:0 0 0 3px #2563eb66;border-color:#2563eb}.app--experiment-shell .contextual-assist-chip:active{transform:translateY(0)}@media (max-width: 900px){.app--experiment-shell .contextual-assist{padding:12px 14px}.app--experiment-shell .contextual-assist-chip{font-size:12px;padding:5px 11px}}.experiment-drop-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0f172ab8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;pointer-events:none;animation:drop-overlay-in .16s ease-out}@keyframes drop-overlay-in{0%{opacity:0}to{opacity:1}}.experiment-drop-overlay-card{background:linear-gradient(135deg,#1e293b,#0f172a);border:2px dashed #60a5fa;border-radius:20px;padding:40px 56px;text-align:center;color:#f8fafc;box-shadow:0 32px 80px -30px #2563ebb3,0 0 0 1px #60a5fa40 inset;max-width:min(90vw,520px);animation:drop-overlay-card-in .22s cubic-bezier(.22,.61,.36,1)}@keyframes drop-overlay-card-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.experiment-drop-overlay-icon{font-size:52px;color:#60a5fa;margin-bottom:12px;animation:drop-overlay-bounce 1.4s ease-in-out infinite;line-height:1}@keyframes drop-overlay-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.experiment-drop-overlay-title{margin:0 0 8px;font-size:20px;font-weight:700;letter-spacing:-.01em;color:#f8fafc}.experiment-drop-overlay-sub{margin:0;font-size:13px;color:#94a3b8;line-height:1.5}.projects-brief-autosave{display:flex;justify-content:flex-end;align-items:center;min-height:22px;margin-bottom:4px}.projects-brief-autosave-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:500;letter-spacing:.01em;border:1px solid transparent;transition:all .2s ease}.projects-brief-autosave-pill--typing{background:#f59e0b24;border-color:#f59e0b66;color:#fbbf24}.projects-brief-autosave-pill--saved{background:#22c55e1f;border-color:#22c55e61;color:#86efac}.projects-brief-autosave-pill--error{background:#ef444424;border-color:#ef444473;color:#fca5a5}.projects-brief-autosave-dot{width:7px;height:7px;border-radius:999px;background:currentColor;animation:brief-dot-pulse 1.1s ease-in-out infinite}@keyframes brief-dot-pulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}.experiment-kb-toast{position:fixed;left:50%;bottom:32px;transform:translate(-50%);z-index:950;padding:10px 18px;border-radius:999px;background:#0f172aeb;border:1px solid rgba(37,99,235,.55);color:#f8fafc;font-size:13px;font-weight:500;letter-spacing:.01em;box-shadow:0 16px 40px -16px #000000b3,0 0 0 1px #60a5fa33 inset;animation:kb-toast-in .18s ease-out;pointer-events:none}@keyframes kb-toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.app--experiment-shell .experiment-left-panel--collapsed{width:72px;min-width:72px;max-width:72px;transition:width var(--t-base, .2s ease)}.app--experiment-shell .experiment-left-panel--collapsed .experiment-left-panel-header{flex-direction:column;gap:6px;padding:10px 6px 8px}.app--experiment-shell .experiment-left-panel--collapsed .experiment-left-panel-title{writing-mode:initial;transform:none;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8;text-align:center;line-height:1.1}.app--experiment-shell .experiment-left-panel--collapsed .experiment-left-panel-collapse-btn{width:28px;height:28px;padding:0;font-size:14px;line-height:1;border-radius:999px}.experiment-left-panel-rail{display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:8px 6px 16px;overflow-y:auto;flex:1 1 auto;min-height:0}.experiment-left-panel-rail-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:60px;min-height:58px;margin:0 auto;padding:6px 4px;background:#1e293b8c;border:1px solid transparent;border-radius:10px;color:#94a3b8;font-family:inherit;cursor:pointer;transition:all var(--t-base, .2s ease);position:relative;overflow:hidden}.experiment-left-panel-rail-btn:hover{background:#2563eb2e;border-color:#2563eb8c;color:#dbeafe;transform:translateY(-1px)}.experiment-left-panel-rail-btn:focus-visible{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb66}.experiment-left-panel-rail-btn--active{background:linear-gradient(135deg,#1d4ed8,#2563eb);border-color:#3b82f6;color:#fff;box-shadow:0 8px 20px -10px #2563ebbf}.experiment-left-panel-rail-btn--active:before{content:"";position:absolute;left:0;top:10%;bottom:10%;width:3px;background:#60a5fa;border-radius:0 2px 2px 0}.experiment-left-panel-rail-num{font-size:15px;font-weight:700;line-height:1;letter-spacing:-.01em}.experiment-left-panel-rail-icon{font-size:14px;line-height:1}.experiment-left-panel-rail-label{font-size:9.5px;font-weight:500;letter-spacing:.02em;text-align:center;line-height:1.1;margin-top:1px;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.experiment-left-panel-rail-divider{height:1px;background:#94a3b82e;margin:6px 8px 4px}.experiment-left-panel-rail-btn--icon{background:transparent}.experiment-left-panel-rail-btn--icon:hover{background:#94a3b81f;border-color:#94a3b84d}.app--experiment-shell .run-phase-stepper{margin:12px 14px 6px;padding:12px 14px;background:#0f172a8c;border:1px solid rgba(148,163,184,.2);border-radius:var(--exp-r-input, 12px);display:flex;flex-direction:column;gap:8px}.app--experiment-shell .run-phase-stepper--failed{border-color:#ef444480;background:#ef444414}.run-phase-stepper-track{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:start;gap:0}.run-phase-step{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}.run-phase-step-dot{width:24px;height:24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;background:#94a3b833;color:#94a3b8;border:1.5px solid rgba(148,163,184,.25);transition:all .2s ease;z-index:1}.run-phase-step--done .run-phase-step-dot{background:#22c55e38;color:#86efac;border-color:#22c55e99}.run-phase-step--active .run-phase-step-dot{background:linear-gradient(135deg,#2563eb,#60a5fa);color:#fff;border-color:#60a5fa;box-shadow:0 0 0 4px #2563eb40;animation:phase-pulse 1.4s ease-in-out infinite}.run-phase-stepper--failed .run-phase-step--active .run-phase-step-dot{background:linear-gradient(135deg,#dc2626,#f87171);border-color:#f87171;box-shadow:0 0 0 4px #ef444440}@keyframes phase-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.run-phase-step-label{font-size:10px;letter-spacing:.02em;color:#94a3b8;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.run-phase-step--active .run-phase-step-label{color:#f8fafc;font-weight:600}.run-phase-step--done .run-phase-step-label{color:#cbd5e1}.run-phase-step-line{position:absolute;top:11px;left:calc(50% + 14px);right:calc(-50% + 14px);height:2px;background:#94a3b833;transition:background .2s ease;z-index:0}.run-phase-step-line--done{background:linear-gradient(90deg,#22c55e80,#60a5fa80)}.run-phase-stepper-meta{font-size:11.5px;color:#94a3b8;text-align:right}.run-phase-stepper-meta strong{color:#e2e8f0;font-weight:600}.run-phase-stepper-meta-err{color:#fca5a5;font-weight:600}.run-phase-stepper-meta-time{color:#64748b}.experiment-history-pane{display:flex;flex-direction:column;gap:10px;padding:4px 2px}.experiment-history-toolbar{display:flex;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid rgba(148,163,184,.18)}.experiment-history-toolbar-info{margin-right:auto;font-size:12px;color:#94a3b8;font-weight:500}.run-history-scroll{overflow:auto;border:1px solid rgba(148,163,184,.18);border-radius:var(--exp-r-input, 12px);background:#0f172a66}.run-history-table{width:100%;border-collapse:collapse;font-size:12px}.run-history-table th{position:sticky;top:0;background:#1e293bf2;color:#cbd5e1;font-weight:600;padding:8px 10px;text-align:left;border-bottom:1px solid rgba(148,163,184,.24);font-size:11px;letter-spacing:.03em;text-transform:uppercase}.run-history-table td{padding:7px 10px;border-bottom:1px solid rgba(148,163,184,.1);color:#e2e8f0;vertical-align:top}.run-history-row{cursor:pointer;transition:background .15s ease}.run-history-row:hover{background:#2563eb14}.run-history-row--checked{background:#2563eb26}.run-history-row--checked:hover{background:#2563eb38}.run-history-cell-time{white-space:nowrap;color:#94a3b8;font-family:var(--mono, monospace);font-size:11.5px}.run-history-cell-ds{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.run-history-cell-m{font-family:var(--mono, monospace);font-size:11.5px;color:#cbd5e1}.run-compare-wrap{border:1px solid rgba(37,99,235,.4);background:#2563eb0f;border-radius:var(--exp-r-input, 12px);padding:4px}.run-compare-scroll{overflow:auto;border-radius:8px}.run-compare-table{width:100%;border-collapse:collapse;font-size:12px}.run-compare-table th{background:#1e293bf2;color:#dbeafe;padding:8px 10px;text-align:left;font-weight:600;border-bottom:1px solid rgba(96,165,250,.3)}.run-compare-col-head{display:flex;flex-direction:column;gap:2px}.run-compare-col-tag{font-size:10.5px;color:#60a5fa;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.run-compare-col-sub{font-size:11px;color:#94a3b8;font-weight:400;font-family:var(--mono, monospace)}.run-compare-table td{padding:6px 10px;border-bottom:1px solid rgba(148,163,184,.1);color:#e2e8f0;vertical-align:top}.run-compare-section td{background:#0f172acc;font-size:10.5px;font-weight:700;text-transform:uppercase;color:#94a3b8;letter-spacing:.08em;padding:6px 10px}.run-compare-k{font-weight:500;color:#cbd5e1;white-space:nowrap}.run-compare-k-sub{display:block;font-size:10px;color:#64748b;font-weight:400;margin-top:1px}.run-compare-v{font-family:var(--mono, monospace);position:relative}.run-compare-v--best{background:linear-gradient(135deg,#22c55e2e,#22c55e0f);color:#86efac;font-weight:600}.run-compare-best-badge{color:#fbbf24;margin-left:4px;font-size:11px}.run-compare-empty{text-align:center;padding:20px!important;color:#94a3b8;font-style:italic}.app--experiment-shell .step-progress-footer{margin-top:8px;padding:14px 18px;background:linear-gradient(180deg,#0f172a00,#0f172a8c 40%,#0f172ad9);border:1px solid rgba(148,163,184,.2);border-radius:var(--exp-r-card, 14px);display:flex;flex-direction:column;gap:10px}.app--experiment-shell .step-progress-footer-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.app--experiment-shell .step-progress-footer-meta{flex:1 1 auto;font-size:13px;color:#e2e8f0}.app--experiment-shell .step-progress-footer-meta strong{font-weight:600}.app--experiment-shell .step-progress-footer-meta .muted{color:#94a3b8}.app--experiment-shell .step-progress-footer-nav{display:flex;gap:8px;flex-shrink:0}.app--experiment-shell .step-progress-footer-nav .btn,.app--experiment-shell .step-progress-footer-nav .btn-secondary{min-height:34px;padding:6px 14px;font-size:13px;font-weight:500}.app--experiment-shell .step-progress-footer-bar{width:100%;height:6px;background:#94a3b824;border-radius:999px;overflow:hidden;position:relative}.app--experiment-shell .step-progress-footer-bar-fill{height:100%;background:linear-gradient(90deg,#60a5fa,#22c55e);border-radius:999px;transition:width .3s cubic-bezier(.22,.61,.36,1);box-shadow:0 0 12px -2px #60a5fa99}.app--experiment-shell .step-progress-footer-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.app--experiment-shell .step-progress-footer-item{width:100%;display:flex;align-items:center;gap:8px;padding:8px 10px;background:#1e293b73;border:1px solid rgba(148,163,184,.18);border-radius:var(--exp-r-btn, 10px);color:#94a3b8;font-family:inherit;cursor:pointer;transition:all var(--t-base, .2s ease);text-align:left;min-height:48px}.app--experiment-shell .step-progress-footer-item:hover{background:#2563eb26;border-color:#2563eb80;color:#dbeafe;transform:translateY(-1px)}.app--experiment-shell .step-progress-footer-item:focus-visible{outline:none;box-shadow:0 0 0 3px #2563eb66}.app--experiment-shell .step-progress-footer-item--active{background:linear-gradient(135deg,#1d4ed8,#2563eb);border-color:#3b82f6;color:#fff;box-shadow:0 6px 16px -6px #2563ebb3}.app--experiment-shell .step-progress-footer-item--active:hover{background:linear-gradient(135deg,#1e40af,#1d4ed8);color:#fff}.app--experiment-shell .step-progress-footer-item--done{background:#22c55e1f;border-color:#22c55e73;color:#86efac}.app--experiment-shell .step-progress-footer-item--done:hover{background:#22c55e38}.app--experiment-shell .step-progress-footer-item--in_progress{border-color:#f59e0b8c;color:#fbbf24}.app--experiment-shell .step-progress-footer-item-num{flex-shrink:0;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#0f172a80;font-size:12px;font-weight:700;color:inherit;border:1px solid rgba(148,163,184,.25)}.app--experiment-shell .step-progress-footer-item--done .step-progress-footer-item-num{background:#22c55e40;border-color:#22c55e8c}.app--experiment-shell .step-progress-footer-item--active .step-progress-footer-item-num{background:#fff3;border-color:#ffffff73;color:#fff}.app--experiment-shell .step-progress-footer-item-body{display:flex;flex-direction:column;gap:1px;min-width:0}.app--experiment-shell .step-progress-footer-item-ko{font-size:12px;font-weight:600;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app--experiment-shell .step-progress-footer-item-en{font-size:10px;font-weight:400;opacity:.75;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 1099px){.app--experiment-shell .step-progress-footer-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 640px){.app--experiment-shell .step-progress-footer-list{grid-template-columns:repeat(2,minmax(0,1fr))}.app--experiment-shell .step-progress-footer-nav{width:100%;justify-content:stretch}.app--experiment-shell .step-progress-footer-nav .btn,.app--experiment-shell .step-progress-footer-nav .btn-secondary{flex:1 1 50%}}@media (max-width: 1099px){.app--experiment-shell .experiment-mobile-jump{position:sticky;bottom:12px;left:0;right:0;justify-content:center;z-index:20;padding:10px 14px;margin:0 auto;max-width:fit-content;background:#0f172ae6;-webkit-backdrop-filter:blur(10px) saturate(140%);backdrop-filter:blur(10px) saturate(140%);border:1px solid rgba(37,99,235,.35);border-radius:999px;box-shadow:0 18px 40px -18px #000c}.app--experiment-shell .experiment-mobile-jump .btn{border-radius:999px;padding:6px 14px;font-size:12.5px;font-weight:500}}@media (min-width: 768px) and (max-width: 1099px){.app--experiment-shell .experiment-left-panel,.app--experiment-shell .experiment-results{transition:max-height .26s cubic-bezier(.22,.61,.36,1),opacity .2s ease;max-height:60vh;overflow:auto}.app--experiment-shell .experiment-left-panel--collapsed,.app--experiment-shell .experiment-results--collapsed{max-height:56px}}@media (max-width: 640px){.app--experiment-shell .contextual-assist-head{flex-direction:column;align-items:flex-start;gap:6px}.app--experiment-shell .contextual-assist-preset-btn{align-self:stretch}.app--experiment-shell .contextual-assist-chips{flex-direction:column}.app--experiment-shell .contextual-assist-chip{width:100%;text-align:left;white-space:normal}}.app:not(.app--experiment-shell){max-width:min(1240px,100%);padding:1.25rem clamp(.85rem,2vw,1.75rem) 2.5rem;gap:18px;color:var(--ml-text);font-family:var(--font);font-size:var(--ml-fs-body);line-height:1.55}.app:not(.app--experiment-shell) .lab-hero{margin-bottom:1.25rem;padding:14px 18px 12px;background:linear-gradient(180deg,#111827,#0f172a);border:1px solid var(--ml-border);border-radius:var(--r-card);box-shadow:0 1px #ffffff08 inset,0 16px 40px -28px #000000b3;backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%);position:relative;overflow:hidden}.app:not(.app--experiment-shell) .lab-hero:before{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(96,165,250,.55) 50%,transparent 100%)}.app:not(.app--experiment-shell) .lab-brand-univ{color:var(--ml-text-secondary);font-size:11px;letter-spacing:.14em;font-weight:500}.app:not(.app--experiment-shell) .lab-brand-lab{color:var(--ml-text);font-size:22px;font-weight:700;letter-spacing:-.02em;line-height:1.1}.app:not(.app--experiment-shell) .lab-logo-wrap{background:var(--ml-elevated);border:1px solid var(--ml-border-soft);width:44px;height:44px;box-shadow:0 8px 20px -10px #2563eb59}.app:not(.app--experiment-shell) .lab-platform-main{padding:6px 18px;border-radius:var(--r-btn);transition:transform var(--t-base)}.app:not(.app--experiment-shell) .lab-platform-main:hover{transform:translateY(-1px)}.app:not(.app--experiment-shell) .lab-platform-main-text{font-size:1.3rem;font-weight:700;letter-spacing:-.02em;color:var(--ml-text)}.app:not(.app--experiment-shell) .lab-platform-sub{font-size:12px;font-weight:500;letter-spacing:.02em;color:var(--ml-text-secondary)}.app:not(.app--experiment-shell) .lab-header-quicknav-btns{gap:6px;padding:4px;background:var(--ml-elevated-soft);border:1px solid var(--ml-border-soft);border-radius:999px;flex-wrap:wrap}.app:not(.app--experiment-shell) .lab-header-quicknav-tab,.app:not(.app--experiment-shell) .nav-tab{padding:7px 14px;border-radius:999px;background:transparent;border:1px solid transparent;color:var(--ml-text-secondary);font-size:13px;font-weight:500;letter-spacing:0;cursor:pointer;transition:all var(--t-base)}.app:not(.app--experiment-shell) .lab-header-quicknav-tab:hover,.app:not(.app--experiment-shell) .nav-tab:hover{background:var(--ml-primary-soft);color:var(--ml-text);border-color:transparent}.app:not(.app--experiment-shell) .lab-header-quicknav-tab.nav-tab-active,.app:not(.app--experiment-shell) .nav-tab.nav-tab-active{background:linear-gradient(135deg,var(--ml-primary) 0%,#1d4ed8 100%);color:#fff;border-color:transparent;box-shadow:0 6px 16px -8px #2563eba6}.app:not(.app--experiment-shell) .nav-tab:focus-visible{outline:none;box-shadow:0 0 0 3px #2563eb66}.app:not(.app--experiment-shell) .lab-header-session{gap:10px;color:var(--ml-text-secondary);font-size:12.5px}.app:not(.app--experiment-shell) .lab-api-badge{padding:4px 10px;border-radius:999px;background:var(--ml-elevated);border:1px solid var(--ml-border-soft);color:var(--ml-text-secondary);font-size:11px;font-weight:500;letter-spacing:.02em}.app:not(.app--experiment-shell) .top-nav-wrap{margin-bottom:14px;padding:8px 10px;background:var(--ml-panel-soft);border:1px solid var(--ml-border-soft);border-radius:var(--r-card);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.app:not(.app--experiment-shell) .panel,.app:not(.app--experiment-shell) .card,.app:not(.app--experiment-shell) section.panel{background:var(--ml-panel);border:1px solid var(--ml-border);border-radius:var(--r-card);padding:16px 18px;box-shadow:0 1px #ffffff05 inset,0 10px 30px -24px #000000b3;transition:border-color var(--t-base),box-shadow var(--t-base),transform var(--t-base);-webkit-backdrop-filter:none;backdrop-filter:none}.app:not(.app--experiment-shell) .panel:hover,.app:not(.app--experiment-shell) .card:hover{border-color:#475569}.app:not(.app--experiment-shell) .panel--dense{padding:12px 14px}.app:not(.app--experiment-shell) .panel h1,.app:not(.app--experiment-shell) .panel h2{font-size:var(--ml-fs-section);font-weight:600;letter-spacing:-.01em;color:var(--ml-text);margin:0 0 10px}.app:not(.app--experiment-shell) .panel h3{font-size:14px;font-weight:600;color:var(--ml-text);margin:0 0 8px}.app:not(.app--experiment-shell) .panel-heading-row{font-size:var(--ml-fs-section);font-weight:600;color:var(--ml-text);margin:0 0 10px}.app:not(.app--experiment-shell) .hint,.app:not(.app--experiment-shell) p.hint,.app:not(.app--experiment-shell) .muted{color:var(--ml-text-secondary);font-size:12.5px;line-height:1.5}.app:not(.app--experiment-shell) .btn{background:linear-gradient(135deg,var(--ml-primary) 0%,var(--ml-primary-hover) 100%);color:#fff;border:none;border-radius:var(--r-btn);padding:8px 16px;font-size:13px;font-weight:600;letter-spacing:0;transition:all var(--t-base);box-shadow:0 6px 16px -8px #2563eb99}.app:not(.app--experiment-shell) .btn:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 10px 24px -10px #2563ebcc}.app:not(.app--experiment-shell) .btn:active{transform:translateY(0)}.app:not(.app--experiment-shell) .btn:focus-visible{outline:none;box-shadow:0 0 0 3px #2563eb73,0 6px 16px -8px #2563eb99}.app:not(.app--experiment-shell) .btn-secondary{background:var(--ml-elevated);color:var(--ml-text);border:1px solid var(--ml-border);box-shadow:none}.app:not(.app--experiment-shell) .btn-secondary:hover:not(:disabled){background:var(--ml-primary-soft);border-color:var(--ml-primary);color:#dbeafe;transform:translateY(-1px)}.app:not(.app--experiment-shell) .auth-submit{background:linear-gradient(135deg,var(--ml-primary) 0%,var(--ml-primary-hover) 100%);color:#fff;border:none;border-radius:var(--r-btn);padding:10px 18px;font-size:14px;font-weight:600;cursor:pointer;transition:all var(--t-base);box-shadow:0 8px 20px -10px #2563eb99}.app:not(.app--experiment-shell) .auth-submit:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.app:not(.app--experiment-shell) input:not([type=checkbox]):not([type=radio]):not([type=file]),.app:not(.app--experiment-shell) textarea,.app:not(.app--experiment-shell) select{background:var(--ml-elevated);border:1px solid var(--ml-border);border-radius:var(--r-input);color:var(--ml-text);font-family:inherit;font-size:13.5px;padding:8px 11px;transition:all var(--t-base);outline:none}.app:not(.app--experiment-shell) input:focus:not([type=checkbox]):not([type=radio]):not([type=file]),.app:not(.app--experiment-shell) textarea:focus,.app:not(.app--experiment-shell) select:focus{border-color:var(--ml-primary);box-shadow:0 0 0 3px #2563eb38;background:var(--ml-elevated)}.app:not(.app--experiment-shell) input::placeholder,.app:not(.app--experiment-shell) textarea::placeholder{color:var(--ml-text-muted)}.app:not(.app--experiment-shell) label{font-size:12.5px;font-weight:500;color:var(--ml-text-secondary);letter-spacing:0}.app:not(.app--experiment-shell) .msg{background:var(--ml-elevated);border:1px solid var(--ml-border-soft);border-radius:var(--r-input);padding:10px 12px;font-size:12.5px;color:var(--ml-text);margin-top:10px}.app:not(.app--experiment-shell) .msg.ok{background:#22c55e1a;border-color:#22c55e66;color:#86efac}.app:not(.app--experiment-shell) .msg.error{background:#ef44441a;border-color:#ef444473;color:#fca5a5}.app:not(.app--experiment-shell) .table-wrap{border:1px solid var(--ml-border-soft);border-radius:var(--r-input);overflow:auto;background:#0f172a80}.app:not(.app--experiment-shell) table{width:100%;border-collapse:collapse;font-size:12.5px;color:var(--ml-text)}.app:not(.app--experiment-shell) th{position:sticky;top:0;z-index:1;background:#1e293bf2;color:var(--ml-text-secondary);font-weight:600;font-size:11px;letter-spacing:.04em;text-transform:uppercase;padding:8px 10px;text-align:left;border-bottom:1px solid var(--ml-border)}.app:not(.app--experiment-shell) td{padding:8px 10px;border-bottom:1px solid rgba(148,163,184,.1);vertical-align:top}.app:not(.app--experiment-shell) tr:hover td{background:#2563eb0f}.app:not(.app--experiment-shell) code,.app:not(.app--experiment-shell) pre{background:var(--ml-elevated);border:1px solid var(--ml-border-soft);border-radius:8px;padding:2px 6px;font-family:var(--mono);font-size:12px;color:var(--ml-text)}.app:not(.app--experiment-shell) pre{padding:10px 12px;overflow:auto;line-height:1.5}.app:not(.app--experiment-shell) .dash-page{gap:14px}.app:not(.app--experiment-shell) .dash-kpi-panel{background:linear-gradient(135deg,#2563eb14,#111827e6 70%);border:1px solid rgba(37,99,235,.28);box-shadow:0 1px #ffffff08 inset,0 16px 36px -28px #2563eb8c}.app:not(.app--experiment-shell) .dash-kpi-grid{gap:10px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.app:not(.app--experiment-shell) .stat-card{background:var(--ml-elevated);border:1px solid var(--ml-border-soft);border-radius:var(--r-input);padding:12px 14px;transition:all var(--t-base);position:relative;overflow:hidden}.app:not(.app--experiment-shell) .stat-card:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:linear-gradient(180deg,var(--ml-primary) 0%,#60a5fa 100%);opacity:0;transition:opacity var(--t-base)}.app:not(.app--experiment-shell) .stat-card:hover{border-color:var(--ml-primary);transform:translateY(-2px);box-shadow:0 16px 30px -16px #2563eb73}.app:not(.app--experiment-shell) .stat-card:hover:before{opacity:1}.app:not(.app--experiment-shell) .stat-card--compact{padding:10px 12px}.app:not(.app--experiment-shell) .stat-label{color:var(--ml-text-secondary);font-size:11px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px}.app:not(.app--experiment-shell) .stat-value{color:var(--ml-text);font-size:22px;font-weight:700;letter-spacing:-.02em;line-height:1.1}.app:not(.app--experiment-shell) .stat-card--compact .stat-value{font-size:20px}.app:not(.app--experiment-shell) .stat-value--accent{background:linear-gradient(135deg,#60a5fa,#2563eb);-webkit-background-clip:text;background-clip:text;color:transparent}.app:not(.app--experiment-shell) .stat-value--warn{color:var(--ml-warning)}.app:not(.app--experiment-shell) .dash-visual-row{gap:12px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.app:not(.app--experiment-shell) .dash-visual-cell{transition:border-color var(--t-base),transform var(--t-base)}.app:not(.app--experiment-shell) .dash-visual-cell:hover{border-color:var(--ml-primary);transform:translateY(-1px)}.app:not(.app--experiment-shell) .dash-chart-title{color:var(--ml-text-secondary);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px}.app:not(.app--experiment-shell) .dash-two-col{gap:14px}.app:not(.app--experiment-shell) .dash-hbar-list{gap:8px}.app:not(.app--experiment-shell) .dash-hbar-row{grid-template-columns:56px 1fr 44px;gap:10px;font-size:12px}.app:not(.app--experiment-shell) .dash-hbar-label{color:var(--ml-text-secondary);font-weight:500;letter-spacing:.02em}.app:not(.app--experiment-shell) .dash-hbar-track{height:6px;background:#3341558c;box-shadow:0 1px #ffffff05 inset}.app:not(.app--experiment-shell) .dash-hbar-fill{transition:width .32s cubic-bezier(.22,.61,.36,1);box-shadow:0 0 10px -2px currentColor}.app:not(.app--experiment-shell) .dash-hbar-val{font-family:var(--mono);font-size:11px;color:var(--ml-text-secondary);font-weight:500}.app:not(.app--experiment-shell) .dash-chart-empty{color:var(--ml-text-muted);font-size:12px;font-style:italic}.app:not(.app--experiment-shell) .stat-card:after{content:"";position:absolute;top:-30%;right:-20%;width:80%;height:80%;background:radial-gradient(circle,rgba(37,99,235,.18) 0%,transparent 65%);pointer-events:none;transition:opacity var(--t-base);opacity:.6}.app:not(.app--experiment-shell) .stat-card:hover:after{opacity:1}.app:not(.app--experiment-shell) .portal-home,.app:not(.app--experiment-shell) .portal-home-section,.app:not(.app--experiment-shell) .portal-home-card{color:var(--ml-text)}.app:not(.app--experiment-shell) *::-webkit-scrollbar{width:10px;height:10px}.app:not(.app--experiment-shell) *::-webkit-scrollbar-track{background:transparent}.app:not(.app--experiment-shell) *::-webkit-scrollbar-thumb{background:#94a3b847;border-radius:999px;border:2px solid transparent;background-clip:padding-box}.app:not(.app--experiment-shell) *::-webkit-scrollbar-thumb:hover{background:#94a3b88c;background-clip:padding-box;border:2px solid transparent}.app:not(.app--experiment-shell) .auth-panel{background:var(--ml-panel);border:1px solid var(--ml-border);border-radius:var(--r-card);padding:22px 24px;box-shadow:0 1px #ffffff08 inset,0 20px 50px -30px #000c;max-width:420px;margin-left:auto;margin-right:auto}.app:not(.app--experiment-shell) .auth-panel h1,.app:not(.app--experiment-shell) .auth-panel h2{color:var(--ml-text);font-size:var(--ml-fs-title);font-weight:700;letter-spacing:-.02em;margin:0 0 14px}.app:not(.app--experiment-shell) .auth-error{background:#ef444414;border:1px solid rgba(239,68,68,.4);color:#fca5a5;border-radius:var(--r-input);padding:8px 12px;font-size:12.5px;margin-top:8px}@media (max-width: 900px){.app:not(.app--experiment-shell){padding:1rem .85rem 2rem}.app:not(.app--experiment-shell) .lab-hero{padding:12px 14px 10px}.app:not(.app--experiment-shell) .dash-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.app:not(.app--experiment-shell) .lab-header-quicknav-btns{border-radius:14px;flex-direction:row;overflow-x:auto;scrollbar-width:none}.app:not(.app--experiment-shell) .lab-header-quicknav-tab{white-space:nowrap}.app:not(.app--experiment-shell) .dash-visual-row{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.app:not(.app--experiment-shell) *{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}.app--experiment-shell .experiment-results .inspector-stack{display:flex;flex-direction:column;gap:10px}.app--experiment-shell .experiment-results .inspector-section{border:1px solid #334155;background:#111827;border-radius:10px;overflow:hidden;transition:border-color .16s ease}.app--experiment-shell .experiment-results .inspector-section:hover{border-color:#475569}.app--experiment-shell .experiment-results .inspector-section__head{padding:8px 12px;background:linear-gradient(180deg,rgba(148,163,184,.06),transparent);border-bottom:1px solid #334155;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.app--experiment-shell .experiment-results .inspector-section__title{margin:0;font-size:12.5px;font-weight:600;color:#f8fafc;letter-spacing:.1px}.app--experiment-shell .experiment-results .inspector-section__sub{font-size:11px;color:#94a3b8}.app--experiment-shell .experiment-results .inspector-section__body{padding:10px 12px;display:flex;flex-direction:column;gap:8px}.app--experiment-shell .experiment-results .inspector-kv{margin:0;display:grid;grid-template-columns:max-content 1fr;gap:4px 12px;font-size:12.5px}.app--experiment-shell .experiment-results .inspector-kv__row{display:contents}.app--experiment-shell .experiment-results .inspector-kv__key{color:#94a3b8;font-weight:500}.app--experiment-shell .experiment-results .inspector-kv__val{color:#f8fafc;font-weight:500;word-break:break-word;margin:0}.app--experiment-shell .experiment-results .inspector-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:#f8fafc}.app--experiment-shell .experiment-results .inspector-list li::marker{color:#2563eb}.app--experiment-shell .experiment-results .inspector-empty{color:#64748b;font-size:12px;font-style:italic;padding:4px 0}.app--experiment-shell .experiment-results .inspector-pre{margin:0;padding:8px 10px;background:#0b1220;border:1px solid #334155;border-radius:8px;color:#cbd5e1;font-family:JetBrains Mono,SF Mono,Consolas,monospace;font-size:11.5px;line-height:1.5;max-height:200px;overflow:auto;white-space:pre-wrap;word-break:break-word}.app--experiment-shell .experiment-results .inspector-ai{display:flex;flex-direction:column;gap:8px}.app--experiment-shell .experiment-results .inspector-ai__text{margin:0;font-size:12.5px;line-height:1.55;color:#f8fafc}.app--experiment-shell .experiment-results .inspector-ai__models{display:flex;flex-direction:column;gap:4px}.app--experiment-shell .experiment-results .inspector-ai__model{font-size:12px;color:#cbd5e1;background:#94a3b80f;border:1px solid #334155;border-radius:8px;padding:6px 8px}.app--experiment-shell .experiment-results .inspector-ai__model strong{color:#f8fafc}.app--experiment-shell .experiment-results-tabs{flex-wrap:wrap;row-gap:4px}.notebook-canvas{--nc-bg: #0f172a;--nc-panel: #111827;--nc-elevated: #1e293b;--nc-border: #334155;--nc-border-strong: #475569;--nc-primary: #2563eb;--nc-primary-hover: #1d4ed8;--nc-success: #22c55e;--nc-warning: #f59e0b;--nc-error: #ef4444;--nc-text: #f8fafc;--nc-text-secondary: #94a3b8;--nc-muted: #64748b;--nc-radius-md: 10px;--nc-radius-lg: 14px;--nc-shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--nc-shadow-md: 0 8px 24px rgba(15, 23, 42, .4);--nc-font-body: "Pretendard Variable", Pretendard, Inter, "Noto Sans KR", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--nc-font-mono: "JetBrains Mono", "SF Mono", "Fira Code", Consolas, "Courier New", monospace;display:flex;flex-direction:column;gap:12px;width:100%;max-width:100%;font-family:var(--nc-font-body);color:var(--nc-text);background:transparent;min-height:0}.notebook-canvas__toolbar{position:sticky;top:0;z-index:3;display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;background:var(--nc-panel);border:1px solid var(--nc-border);border-radius:var(--nc-radius-lg);box-shadow:var(--nc-shadow-sm)}.notebook-canvas__toolbar-title{font-size:14px;font-weight:600;letter-spacing:.2px;color:var(--nc-text);display:flex;align-items:center;gap:8px}.notebook-canvas__toolbar-spacer{flex:1 1 auto}.notebook-canvas__chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;font-size:12px;font-weight:500;line-height:1;color:var(--nc-text-secondary);background:var(--nc-elevated);border:1px solid var(--nc-border);border-radius:999px}.notebook-canvas__chip--ok{color:#86efac;border-color:#22c55e4d;background:#22c55e14}.notebook-canvas__chip--warn{color:#fcd34d;border-color:#f59e0b4d;background:#f59e0b1a}.notebook-canvas__chip--err{color:#fca5a5;border-color:#ef44444d;background:#ef44441a}.notebook-canvas__chip--info{color:#93c5fd;border-color:#2563eb4d;background:#2563eb1a}.notebook-canvas__dot{width:8px;height:8px;border-radius:50%;background:var(--nc-muted);display:inline-block}.notebook-canvas__dot--ok{background:var(--nc-success)}.notebook-canvas__dot--warn{background:var(--nc-warning)}.notebook-canvas__dot--err{background:var(--nc-error)}.notebook-canvas__dot--info{background:var(--nc-primary)}.notebook-canvas__dot--pulse{box-shadow:0 0 #2563eb66;animation:notebook-pulse 1.6s ease-out infinite}@keyframes notebook-pulse{0%{box-shadow:0 0 #2563eb73}70%{box-shadow:0 0 0 6px #2563eb00}to{box-shadow:0 0 #2563eb00}}.notebook-canvas__btn{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;font-size:13px;font-weight:500;color:var(--nc-text);background:var(--nc-elevated);border:1px solid var(--nc-border);border-radius:8px;cursor:pointer;transition:transform .12s ease,background .12s ease,border-color .12s ease}.notebook-canvas__btn:hover:not(:disabled){background:#94a3b81a;border-color:var(--nc-border-strong)}.notebook-canvas__btn:active:not(:disabled){transform:translateY(1px)}.notebook-canvas__btn:disabled{opacity:.5;cursor:not-allowed}.notebook-canvas__btn--primary{background:var(--nc-primary);border-color:var(--nc-primary);color:#fff}.notebook-canvas__btn--primary:hover:not(:disabled){background:var(--nc-primary-hover);border-color:var(--nc-primary-hover)}.notebook-canvas__btn--ghost{background:transparent}.notebook-canvas__btn--danger{background:transparent;border-color:#ef444466;color:#fca5a5}.notebook-canvas__btn--icon{padding:0;width:30px;justify-content:center}.notebook-canvas__kbd{font-family:var(--nc-font-mono);font-size:11px;padding:1px 5px;border-radius:4px;border:1px solid var(--nc-border);background:var(--nc-elevated);color:var(--nc-text-secondary)}.notebook-canvas__scroll{flex:1 1 auto;min-height:0;overflow:auto;padding:2px 2px 80px;scrollbar-width:thin;scrollbar-color:var(--nc-border-strong) transparent}.notebook-canvas__scroll::-webkit-scrollbar{width:10px}.notebook-canvas__scroll::-webkit-scrollbar-thumb{background:var(--nc-border-strong);border-radius:10px}.notebook-canvas__blocks{display:flex;flex-direction:column;gap:14px}.notebook-block{background:var(--nc-panel);border:1px solid var(--nc-border);border-radius:var(--nc-radius-lg);box-shadow:var(--nc-shadow-md);overflow:hidden;transition:border-color .16s ease,transform .12s ease}.notebook-block:hover{border-color:var(--nc-border-strong)}.notebook-block--active{border-color:#2563eb80;box-shadow:0 0 0 1px #2563eb4d,var(--nc-shadow-md)}.notebook-block__header{display:flex;align-items:center;gap:12px;padding:12px 16px;background:linear-gradient(180deg,rgba(148,163,184,.06),transparent);border-bottom:1px solid var(--nc-border)}.notebook-block__index{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;font-size:13px;font-weight:600;background:var(--nc-elevated);border:1px solid var(--nc-border);color:var(--nc-text-secondary);flex-shrink:0}.notebook-block--active .notebook-block__index{background:#2563eb1f;border-color:#2563eb80;color:#bfdbfe}.notebook-block__titles{display:flex;flex-direction:column;gap:2px;flex:1 1 auto;min-width:0}.notebook-block__title{font-size:15px;font-weight:600;letter-spacing:.1px;color:var(--nc-text)}.notebook-block__subtitle{font-size:12px;font-weight:500;color:var(--nc-text-secondary);line-height:1.4}.notebook-block__header-actions{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.notebook-block__body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:14px}.notebook-block__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media (max-width: 900px){.notebook-block__row{grid-template-columns:minmax(0,1fr)}}.notebook-block__field{display:flex;flex-direction:column;gap:6px;min-width:0}.notebook-block__field label,.notebook-block__label{font-size:12px;font-weight:500;color:var(--nc-text-secondary);letter-spacing:.2px}.notebook-block__field input[type=text],.notebook-block__field input[type=number],.notebook-block__field select,.notebook-block__field textarea{background:var(--nc-elevated);border:1px solid var(--nc-border);border-radius:8px;padding:8px 10px;color:var(--nc-text);font:400 14px/1.4 var(--nc-font-body);transition:border-color .12s ease,box-shadow .12s ease}.notebook-block__field input:focus,.notebook-block__field select:focus,.notebook-block__field textarea:focus{outline:none;border-color:var(--nc-primary);box-shadow:0 0 0 3px #2563eb40}.notebook-block__field textarea{min-height:80px;resize:vertical;font-family:var(--nc-font-body)}.notebook-block__field--full{grid-column:1 / -1}.notebook-block__divider{height:1px;background:var(--nc-border);margin:4px 0 0}.notebook-aiassist{background:linear-gradient(135deg,#2563eb0f,#94a3b80a);border:1px solid var(--nc-border);border-radius:var(--nc-radius-md);padding:12px 14px;display:flex;flex-direction:column;gap:10px}.notebook-aiassist__title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--nc-text)}.notebook-aiassist__sparkle{font-size:14px}.notebook-aiassist__actions{display:flex;flex-wrap:wrap;gap:8px}.notebook-aiassist__action{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;font-size:12px;font-weight:500;color:var(--nc-text);background:var(--nc-elevated);border:1px solid var(--nc-border);border-radius:8px;cursor:pointer;transition:background .12s ease,border-color .12s ease}.notebook-aiassist__action:hover:not(:disabled){background:#2563eb1a;border-color:#2563eb80}.notebook-aiassist__action:disabled{opacity:.6;cursor:progress}.notebook-aiassist__meta{font-size:11px;color:var(--nc-muted);display:flex;flex-wrap:wrap;gap:10px;align-items:center}.notebook-aiassist__error{font-size:12px;color:#fca5a5;background:#ef444414;border:1px solid rgba(239,68,68,.3);padding:8px 10px;border-radius:8px}.notebook-output{background:var(--nc-elevated);border:1px solid var(--nc-border);border-radius:var(--nc-radius-md);padding:12px 14px;display:flex;flex-direction:column;gap:10px}.notebook-output__title{font-size:12px;font-weight:600;color:var(--nc-text-secondary);text-transform:uppercase;letter-spacing:.4px;display:flex;align-items:center;gap:8px}.notebook-output__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px 16px}.notebook-output__kv{display:flex;flex-direction:column;gap:2px;font-size:13px}.notebook-output__kv-label{font-size:11px;color:var(--nc-muted);text-transform:uppercase;letter-spacing:.3px}.notebook-output__kv-value{color:var(--nc-text);font-weight:500;word-break:break-word}.notebook-output__list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--nc-text)}.notebook-output__list li::marker{color:var(--nc-primary)}.notebook-output__narrative{font-size:13px;line-height:1.55;color:var(--nc-text);white-space:pre-wrap}.notebook-output__empty{font-size:12px;color:var(--nc-muted);font-style:italic}.notebook-output__sources{display:flex;flex-direction:column;gap:6px}.notebook-output__source{display:flex;flex-direction:column;gap:4px;background:#94a3b80f;border:1px solid var(--nc-border);border-radius:8px;padding:8px 10px}.notebook-output__source-head{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--nc-text-secondary)}.notebook-output__source-score{font-size:11px;font-weight:600;color:#bfdbfe;background:#2563eb26;padding:1px 6px;border-radius:4px}.notebook-output__source-text{font-size:12px;line-height:1.5;color:var(--nc-text)}.notebook-model-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.notebook-model-card{background:#94a3b80d;border:1px solid var(--nc-border);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}.notebook-model-card__name{font-size:13px;font-weight:600;color:var(--nc-text)}.notebook-model-card__reason{font-size:12px;line-height:1.5;color:var(--nc-text-secondary)}.notebook-model-card__hp{margin:4px 0 0;padding:6px 8px;background:#0b1220;border:1px solid var(--nc-border);border-radius:6px;font-family:var(--nc-font-mono);font-size:11.5px;color:#cbd5e1;white-space:pre-wrap;word-break:break-word;max-height:120px;overflow:auto}.notebook-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.notebook-metric{background:#2563eb0f;border:1px solid rgba(37,99,235,.3);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}.notebook-metric__label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.3px;color:#93c5fd}.notebook-metric__value{font-size:20px;font-weight:700;color:var(--nc-text);font-variant-numeric:tabular-nums}.notebook-metric__delta{font-size:11px;font-weight:500;color:var(--nc-text-secondary)}.notebook-metric__delta--up{color:#86efac}.notebook-metric__delta--down{color:#fca5a5}.notebook-run__progress{display:flex;flex-direction:column;gap:6px}.notebook-run__bar{height:8px;background:#94a3b81f;border-radius:999px;overflow:hidden;position:relative}.notebook-run__bar-fill{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,var(--nc-primary),#60a5fa);border-radius:999px;transition:width .25s ease}.notebook-run__bar--indeterminate .notebook-run__bar-fill{width:35%!important;animation:notebook-slide 1.6s ease-in-out infinite}@keyframes notebook-slide{0%{transform:translate(-100%)}to{transform:translate(286%)}}.notebook-run__meta{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;color:var(--nc-text-secondary)}.notebook-run__stage{color:var(--nc-text);font-weight:500}.notebook-console{background:#0b1220;border:1px solid var(--nc-border);border-radius:var(--nc-radius-md);font-family:var(--nc-font-mono);font-size:12px;max-height:220px;overflow:auto;padding:8px 10px;color:#cbd5e1;line-height:1.5}.notebook-console__line{white-space:pre-wrap;word-break:break-word}.notebook-console__ts{color:#64748b;margin-right:6px}.notebook-history{display:flex;flex-direction:column;gap:6px}.notebook-history__item{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;border:1px solid var(--nc-border);background:#94a3b808;font-size:12.5px}.notebook-history__item--best{border-color:#22c55e66;background:#22c55e0f}.notebook-history__name{font-weight:600;color:var(--nc-text)}.notebook-history__meta{color:var(--nc-muted);font-size:11.5px}.notebook-history__metric{font-family:var(--nc-font-mono);font-size:12px;color:#bfdbfe}.notebook-knowledge{position:fixed;top:72px;right:12px;width:min(480px,96vw);max-height:calc(100vh - 96px);background:var(--nc-panel);border:1px solid var(--nc-border);border-radius:var(--nc-radius-lg);box-shadow:0 24px 60px #02061799;display:flex;flex-direction:column;overflow:hidden;z-index:40;animation:notebook-pop .18s ease-out}@keyframes notebook-pop{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.notebook-knowledge__head{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--nc-border)}.notebook-knowledge__body{overflow:auto;padding:10px 12px;display:flex;flex-direction:column;gap:10px}.notebook-knowledge__form{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--nc-border);background:#94a3b808}.notebook-knowledge__form input{flex:1;background:var(--nc-elevated);border:1px solid var(--nc-border);border-radius:8px;padding:8px 10px;color:var(--nc-text);font:400 13px/1.4 var(--nc-font-body)}.notebook-knowledge__form input:focus{outline:none;border-color:var(--nc-primary);box-shadow:0 0 0 3px #2563eb40}.notebook-knowledge__answer{background:#2563eb0f;border:1px solid rgba(37,99,235,.25);border-radius:8px;padding:10px 12px;font-size:13px;line-height:1.55;color:var(--nc-text);white-space:pre-wrap}.notebook-knowledge__card{background:var(--nc-elevated);border:1px solid var(--nc-border);border-radius:8px;padding:8px 10px;display:flex;flex-direction:column;gap:4px}.notebook-knowledge__card-head{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--nc-text-secondary)}.notebook-knowledge__card-badge{font-size:10.5px;font-weight:600;padding:1px 6px;border-radius:4px;background:#2563eb26;color:#bfdbfe;text-transform:uppercase}.notebook-knowledge__card-text{font-size:12px;line-height:1.5;color:var(--nc-text);max-height:72px;overflow:hidden;position:relative}.notebook-knowledge__card-text--open{max-height:none}.notebook-knowledge__card-toggle{align-self:flex-start;font-size:11px;color:#93c5fd;background:none;border:none;padding:0;cursor:pointer}.notebook-report__preview{background:#0b1220;border:1px solid var(--nc-border);border-radius:var(--nc-radius-md);padding:14px 16px;white-space:pre-wrap;color:var(--nc-text);font-family:var(--nc-font-body);font-size:13px;line-height:1.6;max-height:320px;overflow:auto}.notebook-dirty{font-size:11px;padding:3px 8px;border-radius:999px;background:#f59e0b1a;color:#fcd34d;border:1px solid rgba(245,158,11,.4)}.notebook-tags{display:flex;flex-wrap:wrap;gap:6px}.notebook-tag{font-size:11.5px;padding:2px 8px;border-radius:999px;background:#94a3b814;border:1px solid var(--nc-border);color:var(--nc-text-secondary)}.notebook-empty{text-align:center;padding:24px 12px;color:var(--nc-muted);font-size:12.5px}.notebook-canvas .notebook-quickbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 10px;background:linear-gradient(180deg,#2563eb0f,#11182733);border:1px solid var(--nc-border);border-radius:var(--nc-radius-md)}.notebook-canvas .notebook-quickbar__label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--nc-muted);margin-right:4px}.notebook-canvas .notebook-quickbar__btn{background:#94a3b80f;border:1px solid var(--nc-border);color:var(--nc-text);font-size:12.5px;font-family:inherit;padding:5px 12px;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;gap:4px;transition:all .16s ease}.notebook-canvas .notebook-quickbar__btn:hover{border-color:var(--nc-primary);background:#2563eb1f;color:#dbeafe}.notebook-canvas .notebook-quickbar__btn:active{transform:translateY(1px)}.notebook-canvas .notebook-timeline{border:1px solid var(--nc-border);background:var(--nc-panel);border-radius:var(--nc-radius-md);display:flex;flex-direction:column;overflow:hidden;transition:border-color .16s ease}.notebook-canvas .notebook-timeline:hover{border-color:var(--nc-border-strong)}.notebook-canvas .notebook-timeline__head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;background:#94a3b80a;border-bottom:1px solid var(--nc-border)}.notebook-canvas .notebook-timeline--collapsed .notebook-timeline__head{border-bottom-color:transparent}.notebook-canvas .notebook-timeline__handle{background:none;border:none;color:var(--nc-text);font-size:13px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;padding:2px 4px}.notebook-canvas .notebook-timeline__handle:hover{color:#bfdbfe}.notebook-canvas .notebook-timeline__controls{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto}.notebook-canvas .notebook-timeline__search,.notebook-canvas .notebook-timeline__select{background:var(--nc-elevated);border:1px solid var(--nc-border);color:var(--nc-text);border-radius:6px;padding:4px 8px;font-size:12px;font-family:inherit;min-width:140px}.notebook-canvas .notebook-timeline__search:focus,.notebook-canvas .notebook-timeline__select:focus{outline:none;border-color:var(--nc-primary);box-shadow:0 0 0 3px #2563eb38}.notebook-canvas .notebook-timeline__body{max-height:300px;overflow:auto}.notebook-canvas .notebook-timeline__empty{padding:20px 16px;color:var(--nc-muted);font-size:12.5px;text-align:center}.notebook-canvas .notebook-timeline__list{list-style:none;margin:0;padding:4px 0}.notebook-canvas .notebook-timeline__row{border-bottom:1px solid rgba(51,65,85,.5)}.notebook-canvas .notebook-timeline__row:last-child{border-bottom:none}.notebook-canvas .notebook-timeline__row-main{display:grid;grid-template-columns:22px 92px auto auto 1fr auto 16px;align-items:center;gap:8px;width:100%;background:none;border:none;color:var(--nc-text);padding:8px 12px;text-align:left;font-size:12.5px;cursor:pointer;transition:background .14s ease}.notebook-canvas .notebook-timeline__row-main:hover{background:#2563eb14}.notebook-canvas .notebook-timeline__icon{font-size:14px;text-align:center}.notebook-canvas .notebook-timeline__time{color:var(--nc-muted);font-size:11.5px;font-variant-numeric:tabular-nums}.notebook-canvas .notebook-timeline__summary{color:var(--nc-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notebook-canvas .notebook-timeline__ref{font-size:11px;color:var(--nc-text-secondary);font-family:var(--nc-font-mono)}.notebook-canvas .notebook-timeline__expand{color:var(--nc-muted);font-size:11px;justify-self:end}.notebook-canvas .notebook-timeline__detail{padding:8px 16px 12px 56px;background:#94a3b808;border-top:1px dashed var(--nc-border);display:flex;flex-direction:column;gap:6px}.notebook-canvas .notebook-timeline__pre{margin:0;padding:8px 10px;background:#0b1220;border:1px solid var(--nc-border);border-radius:8px;color:#cbd5e1;font-family:var(--nc-font-mono);font-size:11.5px;line-height:1.55;max-height:220px;overflow:auto;white-space:pre-wrap;word-break:break-word}.notebook-canvas .notebook-timeline__actions{display:flex;gap:6px}@media (max-width: 900px){.notebook-canvas .notebook-timeline__row-main{grid-template-columns:22px 72px auto 1fr auto}.notebook-canvas .notebook-timeline__row-main>:nth-child(3),.notebook-canvas .notebook-timeline__row-main>:nth-child(4){display:none}.notebook-canvas .notebook-timeline__ref{display:none}}.notebook-canvas .notebook-dynlist{border:1px dashed var(--nc-border);background:#94a3b805;border-radius:var(--nc-radius-md);padding:10px 12px;display:flex;flex-direction:column;gap:10px}.notebook-canvas .notebook-dynlist__head{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}.notebook-canvas .notebook-dynlist__title{font-size:13px;font-weight:600;color:var(--nc-text)}.notebook-canvas .notebook-dynlist__sub{font-size:11.5px;color:var(--nc-muted)}.notebook-canvas .notebook-dynlist__adders{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}.notebook-canvas .notebook-dynlist__empty{font-size:12px;color:var(--nc-muted);padding:12px 6px;text-align:center;font-style:italic}.notebook-canvas .notebook-dynlist__body{display:flex;flex-direction:column;gap:10px}.notebook-canvas .notebook-cell{background:var(--nc-panel);border:1px solid var(--nc-border);border-radius:var(--nc-radius-md);overflow:hidden;display:flex;flex-direction:column;transition:border-color .16s ease}.notebook-canvas .notebook-cell:hover{border-color:var(--nc-border-strong)}.notebook-canvas .notebook-cell__head{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--nc-elevated);border-bottom:1px solid var(--nc-border)}.notebook-canvas .notebook-cell__type{font-size:11px;color:var(--nc-text-secondary);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.notebook-canvas .notebook-cell__title{flex:1 1 auto;background:transparent;border:none;color:var(--nc-text);font-size:13.5px;font-weight:600;padding:4px 6px;border-radius:6px;font-family:inherit;min-width:0}.notebook-canvas .notebook-cell__title:focus{outline:none;background:#2563eb14}.notebook-canvas .notebook-cell__head-actions{display:flex;gap:2px}.notebook-canvas .notebook-cell__editor{padding:8px 10px;background:#0b1220}.notebook-canvas .notebook-cell__textarea{width:100%;min-height:64px;background:transparent;border:none;color:var(--nc-text);font-size:13px;line-height:1.55;font-family:inherit;resize:vertical;padding:2px 4px;outline:none}.notebook-canvas .notebook-cell__textarea--code,.notebook-canvas .notebook-cell__textarea--sql{font-family:var(--nc-font-mono);font-size:12.5px;color:#cbd5e1}.notebook-canvas .notebook-cell__foot{display:flex;align-items:center;gap:8px;padding:6px 10px;border-top:1px solid var(--nc-border);background:#94a3b808}.notebook-canvas .notebook-cell__hint{font-size:11.5px;color:var(--nc-muted)}.notebook-canvas .notebook-cell__spacer{flex:1}.notebook-canvas .notebook-cell__ts{font-size:11px;color:var(--nc-muted);font-variant-numeric:tabular-nums}.notebook-canvas .notebook-cell__error{padding:6px 12px;font-size:12px;color:#fca5a5;background:#ef444414;border-top:1px solid rgba(239,68,68,.3)}.notebook-canvas .notebook-cell__output{border-top:1px solid var(--nc-border);padding:10px 12px;background:#0f172a99;font-size:12.5px;color:var(--nc-text);max-height:320px;overflow:auto}.notebook-canvas .notebook-cell__output--stub{color:#fcd34d;font-style:italic}.notebook-canvas .notebook-cell__output--empty{color:var(--nc-muted);font-style:italic}.notebook-canvas .notebook-cell__output-meta{font-size:10.5px;color:var(--nc-muted);margin-bottom:6px;font-family:var(--nc-font-mono)}.notebook-canvas .notebook-cell__output-text{margin:0 0 6px;font-size:12.5px;line-height:1.55}.notebook-canvas .notebook-cell__output-list{margin:0;padding-left:18px;font-size:12.5px}.notebook-canvas .notebook-cell__output-list li::marker{color:var(--nc-primary)}.notebook-canvas .notebook-cell__output-md,.notebook-canvas .notebook-cell__output-pre{margin:0;font-family:var(--nc-font-mono);font-size:12px;line-height:1.55;white-space:pre-wrap;word-break:break-word;color:#cbd5e1}.expv2{--bg: rgba(15, 23, 42, .32);--panel: #111827;--panel-raised: #1a2435;--border: #334155;--border-strong: #475569;--muted: #1e293b;--text: #f8fafc;--subt: #cbd5e1;--dim: #94a3b8;--primary: #3b82f6;--primary-soft: rgba(59, 130, 246, .18);--primary-strong: #60a5fa;--success: #22c55e;--success-soft: rgba(34, 197, 94, .18);--warning: #f59e0b;--warning-soft: rgba(245, 158, 11, .18);--error: #ef4444;--error-soft: rgba(239, 68, 68, .18);--code-bg: #0b1220;--md-bg: #1a1f2c;--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--shadow-md: 0 10px 30px rgba(0, 0, 0, .45);--mono: "JetBrains Mono", "SF Mono", "Fira Code", Consolas, monospace;--sans: Inter, Pretendard, "Noto Sans KR", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;display:grid;grid-template-rows:auto 1fr auto;height:100%;min-height:100%;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:13.5px;line-height:1.5;letter-spacing:-.005em;-webkit-font-smoothing:antialiased}.expv2 ::placeholder{color:var(--dim);opacity:.9}.expv2 ::selection{background:#3b82f673;color:#fff}.expv2 *{box-sizing:border-box}.expv2 button{font-family:inherit}.expv2-top{display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--panel);border-bottom:1px solid var(--border)}.expv2-top__title{display:flex;align-items:baseline;gap:10px;min-width:0}.expv2-top__title-icon{font-size:18px}.expv2-top__title-input{flex:0 1 auto;min-width:140px;max-width:420px;background:transparent;border:1px solid transparent;color:var(--text);font-size:16px;font-weight:600;padding:4px 8px;border-radius:var(--r-sm);transition:all .15s ease}.expv2-top__title-input:hover{background:var(--muted)}.expv2-top__title-input:focus{outline:none;background:var(--panel);border-color:var(--primary);box-shadow:0 0 0 3px #2563eb2e}.expv2-top__meta{font-size:11.5px;color:var(--dim);display:inline-flex;gap:10px;align-items:center}.expv2-top__spacer{flex:1}.expv2-top__actions{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap}.expv2-btn{display:inline-flex;align-items:center;gap:6px;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:var(--r-sm);padding:5px 10px;font-size:12.5px;font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap}.expv2-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary-strong);background:var(--primary-soft)}.expv2-btn:active:not(:disabled){transform:translateY(1px)}.expv2-btn:disabled{opacity:.5;cursor:not-allowed}.expv2-btn--primary{background:var(--primary);color:#fff;border-color:var(--primary)}.expv2-btn--primary:hover:not(:disabled){background:var(--primary-strong);color:#fff;border-color:var(--primary-strong)}.expv2-btn--ghost{background:transparent;border-color:transparent;color:var(--subt)}.expv2-btn--ghost:hover:not(:disabled){background:var(--muted);color:var(--text);border-color:transparent}.expv2-btn--danger:hover:not(:disabled){background:var(--error-soft);color:var(--error);border-color:var(--error)}.expv2-btn--sm{padding:3px 7px;font-size:11.5px}.expv2-btn--icon{padding:4px 6px}.expv2-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:500;border:1px solid var(--border);background:var(--muted);color:var(--subt)}.expv2-chip--ok{color:var(--success);background:var(--success-soft);border-color:transparent}.expv2-chip--warn{color:var(--warning);background:var(--warning-soft);border-color:transparent}.expv2-chip--err{color:var(--error);background:var(--error-soft);border-color:transparent}.expv2-chip--info{color:var(--primary);background:var(--primary-soft);border-color:transparent}.expv2-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--dim)}.expv2-dot--ok{background:var(--success)}.expv2-dot--running{background:var(--primary);animation:expv2-pulse 1.3s ease-in-out infinite}.expv2-dot--err{background:var(--error)}@keyframes expv2-pulse{0%,to{opacity:.4}50%{opacity:1}}.expv2-main{display:grid;grid-template-columns:300px 6px minmax(0,1fr) 6px 360px;column-gap:0;row-gap:0;padding:12px 14px;align-items:stretch;min-height:0;overflow:hidden}.expv2-main--left-collapsed{grid-template-columns:44px 0px minmax(0,1fr) 6px 360px}.expv2-main--right-collapsed{grid-template-columns:300px 6px minmax(0,1fr) 0px 44px}.expv2-main--both-collapsed{grid-template-columns:44px 0px minmax(0,1fr) 0px 44px}.expv2-main>.expv2-left,.expv2-main>.expv2-right{min-height:0}.expv2-main>.expv2-center{margin:0 6px;min-height:0}.expv2-gutter{width:100%;height:100%;position:relative;align-self:stretch}.expv2-gutter--col{cursor:col-resize;touch-action:none;-webkit-user-select:none;user-select:none}.expv2-gutter--col:before{content:"";position:absolute;top:10%;bottom:10%;left:1px;right:1px;background:var(--border);border-radius:2px;transition:background .14s ease}.expv2-gutter--col:hover:before{background:var(--primary)}.expv2-gutter--disabled{pointer-events:none}body.expv2-resizing{-webkit-user-select:none;user-select:none;cursor:col-resize}@media (max-width: 1280px){.expv2-main:not(.expv2-main--resizable){grid-template-columns:280px 6px minmax(0,1fr) 6px 320px}}@media (max-width: 960px){.expv2-main,.expv2-main--resizable{grid-template-columns:1fr!important;padding:10px}.expv2-main>.expv2-center{margin:0}.expv2-left,.expv2-right,.expv2-gutter{display:none}}.expv2-left{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);display:flex;flex-direction:column;overflow:hidden;min-height:0}.expv2-left__head{display:flex;align-items:center;justify-content:space-between;padding:8px 10px 8px 12px;border-bottom:1px solid var(--border);background:var(--panel)}.expv2-left__head-title{font-size:12px;font-weight:600;color:var(--subt);text-transform:uppercase;letter-spacing:.08em}.expv2-left__body{display:flex;flex-direction:column;gap:12px;padding:12px;overflow:auto;flex:1}.expv2-left__section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--dim)}.expv2-left__select{width:100%;padding:6px 8px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-sm);font-size:12.5px;color:var(--text);font-family:inherit}.expv2-left__select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb2e}.expv2-left__chat{display:flex;flex-direction:column;gap:6px;max-height:220px;overflow:auto}.expv2-left__chat-item{font-size:12px;line-height:1.45;padding:6px 8px;background:var(--muted);border-radius:var(--r-sm);color:var(--text);border:1px solid transparent}.expv2-left__chat-item--user{background:var(--primary-soft);color:#dbeafe}.expv2-left__chat-role{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--dim);margin-right:4px}.expv2-left__chat-empty{color:var(--dim);font-size:12px;font-style:italic;padding:4px 0}.expv2-left__ctx{border:1px solid var(--border);border-radius:var(--r-sm);padding:8px;background:var(--muted);display:grid;grid-template-columns:max-content 1fr;gap:3px 8px;font-size:12px}.expv2-left__ctx dt{color:var(--dim);font-weight:500}.expv2-left__ctx dd{margin:0;color:var(--text);overflow-wrap:anywhere}.expv2-left__qa{display:flex;flex-direction:column;gap:4px}.expv2-left__qa-btn{text-align:left;background:var(--panel);color:var(--text);border:1px solid var(--border);padding:6px 8px;border-radius:var(--r-sm);font-size:12px;cursor:pointer;transition:all .14s ease}.expv2-left__qa-btn:hover{border-color:var(--primary);background:var(--primary-soft);color:#dbeafe}.expv2-left--collapsed .expv2-left__body,.expv2-left--collapsed .expv2-left__head-title{display:none}.expv2-left--collapsed .expv2-left__head{border-bottom:none;justify-content:center}.expv2-center{background:#0f172a59;border:1px solid var(--border);border-radius:var(--r-md);display:flex;flex-direction:column;overflow:hidden;min-height:0}.expv2-center__head{padding:6px 14px;background:var(--panel);border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}.expv2-center__head-left{display:inline-flex;align-items:baseline;gap:8px}.expv2-center__head-title{font-size:15px;font-weight:600;color:var(--text)}.expv2-center__head-sub{font-size:12px;color:var(--dim)}.expv2-center__head-spacer{flex:1}.expv2-compose{padding:8px 14px;background:var(--panel);border-bottom:1px solid var(--border);display:flex;gap:10px;align-items:flex-start}.expv2-compose__textarea{flex:1;resize:none;min-height:34px;max-height:140px;padding:7px 11px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--panel);color:var(--text);font-family:inherit;font-size:13px;line-height:1.45;transition:all .14s ease}.expv2-compose__textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb29}.expv2-compose__send{align-self:stretch;padding:0 16px;font-weight:600}.expv2-compose__hint{flex-basis:100%;margin-top:4px;font-size:11.5px;color:var(--dim)}.expv2-cells-wrap{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.expv2-cells{padding:8px 14px 12px 40px;overflow:auto;flex:1;display:flex;flex-direction:column;gap:8px;cursor:grab;touch-action:pan-y}.expv2-cells textarea,.expv2-cells input[type=text],.expv2-cells input[type=search],.expv2-cells input:not([type]){cursor:text}.expv2-cells button,.expv2-cells select,.expv2-cells [role=button]{cursor:pointer}body.expv2-dragging,body.expv2-dragging *{cursor:grabbing!important;-webkit-user-select:none!important;user-select:none!important}.expv2-scrollrail{position:absolute;top:8px;bottom:8px;left:4px;width:28px;display:flex;flex-direction:column;justify-content:space-between;align-items:center;pointer-events:none;z-index:2}.expv2-scrollrail__btn{pointer-events:auto;width:26px;height:30px;border-radius:999px;border:1px solid var(--border);background:color-mix(in srgb,var(--panel) 86%,transparent);color:var(--text);font-size:12px;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 6px #00000040;transition:background .12s ease,transform .1s ease,border-color .12s ease,opacity .12s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.expv2-scrollrail__btn:hover:not(:disabled){background:var(--primary-soft, var(--panel));border-color:var(--primary);color:var(--primary)}.expv2-scrollrail__btn:active:not(:disabled){transform:translateY(1px) scale(.96)}.expv2-scrollrail__btn:disabled{opacity:.35;cursor:default}.expv2-cell-insert{display:flex;align-items:center;justify-content:center;gap:6px;padding:0;height:0;opacity:0;overflow:visible;transition:opacity .15s ease,height .15s ease,padding .15s ease}.expv2-cell:hover .expv2-cell-insert,.expv2-cell-insert:hover,.expv2-cell-insert:focus-within{opacity:1;height:auto;padding:2px 0 4px}.expv2-cell-insert__line{flex:1;height:1px;background:var(--border)}.expv2-cell-insert__btns{display:inline-flex;gap:4px;padding:2px 4px;background:var(--panel);border:1px solid var(--border);border-radius:999px}.expv2-cell{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;transition:border-color .14s ease,box-shadow .14s ease;display:flex;flex-direction:column}.expv2-cell:hover{border-color:var(--border-strong)}.expv2-cell--active{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.expv2-cell--running{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb2e}.expv2-cell--error{border-color:var(--error)}.expv2-cell__head{display:grid;grid-template-columns:26px auto 1fr auto;align-items:center;gap:8px;padding:4px 10px;border-bottom:1px solid var(--border);background:var(--panel)}.expv2-cell__exec-marker{font-family:var(--mono);font-size:11px;color:var(--dim);text-align:center;-webkit-user-select:none;user-select:none}.expv2-cell__type-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;background:var(--muted);color:var(--subt);border:1px solid var(--border)}.expv2-cell__type-chip--prompt{background:var(--primary-soft);color:#93c5fd;border-color:transparent}.expv2-cell__type-chip--code{background:#8b5cf62e;color:#c4b5fd;border-color:transparent}.expv2-cell__type-chip--sql{background:#10b9812e;color:#6ee7b7;border-color:transparent}.expv2-cell__type-chip--markdown{background:#f59e0b2e;color:#fcd34d;border-color:transparent}.expv2-cell__type-chip--result{background:var(--success-soft);color:#86efac;border-color:transparent}.expv2-cell__title{flex:1;background:transparent;border:1px solid transparent;padding:2px 6px;font-size:13.5px;font-weight:600;color:var(--text);border-radius:var(--r-sm);font-family:inherit;min-width:0;width:100%}.expv2-cell__title:hover{background:var(--muted)}.expv2-cell__title:focus{outline:none;background:var(--panel);border-color:var(--primary);box-shadow:0 0 0 3px #2563eb24}.expv2-cell__tools{display:inline-flex;gap:2px;align-items:center}.expv2-cell__status{font-size:11.5px;color:var(--subt);display:inline-flex;align-items:center;gap:6px;padding-right:4px}.expv2-cell__body{display:flex;gap:0}.expv2-cell__runner{width:36px;flex-shrink:0;display:flex;align-items:flex-start;justify-content:center;padding-top:6px;background:var(--muted);border-right:1px solid var(--border)}.expv2-cell__run-btn{width:26px;height:26px;border-radius:50%;border:1px solid var(--border);background:var(--panel);color:var(--primary);font-size:11px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .12s ease}.expv2-cell__run-btn:hover{border-color:var(--primary);background:var(--primary-soft)}.expv2-cell__run-btn:disabled{opacity:.5;cursor:not-allowed}.expv2-cell__editor{flex:1;min-width:0}.expv2-cell__textarea{width:100%;min-height:58px;padding:8px 12px;border:none;background:var(--panel);color:var(--text);font-size:13px;line-height:1.5;font-family:inherit;resize:vertical;outline:none}.expv2-cell__textarea--code,.expv2-cell__textarea--sql{font-family:var(--mono);font-size:12.5px;background:var(--code-bg);color:#e2e8f0}.expv2-cell__textarea--markdown{background:var(--md-bg);color:var(--text)}.expv2-cell__output{border-top:1px solid var(--border);padding:10px 14px;background:var(--muted);font-size:12.5px;line-height:1.55;color:var(--text)}.expv2-cell__output-head{display:inline-flex;gap:10px;align-items:baseline;font-size:11px;color:var(--dim);margin-bottom:6px}.expv2-cell__output-text{margin:0 0 6px}.expv2-cell__output-list{margin:0;padding-left:18px}.expv2-cell__output-list li::marker{color:var(--primary)}.expv2-cell__output-pre{margin:0;padding:8px 10px;background:var(--code-bg);border:1px solid var(--border);border-radius:var(--r-sm);font-family:var(--mono);font-size:11.5px;color:#e2e8f0;line-height:1.55;overflow:auto;max-height:260px;white-space:pre-wrap;word-break:break-word}.expv2-cell__output--md{background:var(--md-bg);border-top:1px solid var(--border)}.expv2-cell__output--md pre{font-family:inherit;font-size:13.5px;color:var(--text);white-space:pre-wrap;margin:0}.expv2-cell__output--stub{color:#fcd34d;font-style:italic;background:var(--warning-soft)}.expv2-cell__logs{border-top:1px solid var(--border);background:#0b1220;color:#cbd5e1;font-family:var(--mono);font-size:11.5px;padding:6px 12px;line-height:1.5;max-height:160px;overflow:auto}.expv2-cell__log-row{white-space:pre-wrap;word-break:break-word}.expv2-cell__log-time{color:#64748b;margin-right:6px;font-variant-numeric:tabular-nums}.expv2-cell__error-banner{padding:6px 14px;font-size:12px;color:var(--error);background:var(--error-soft);border-top:1px solid var(--error)}.expv2-cell--collapsed .expv2-cell__body,.expv2-cell--collapsed .expv2-cell__output,.expv2-cell--collapsed .expv2-cell__logs,.expv2-cell--collapsed .expv2-cell__error-banner{display:none}.expv2-right{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);display:flex;flex-direction:column;overflow:hidden;min-height:0}.expv2-right__head{display:flex;align-items:center;justify-content:space-between;padding:8px 10px 8px 12px;border-bottom:1px solid var(--border)}.expv2-right__title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--subt)}.expv2-right__tabs{display:flex;gap:2px;padding:6px;border-bottom:1px solid var(--border);background:var(--muted)}.expv2-right__tab{flex:1;padding:5px 6px;font-size:11.5px;font-weight:500;color:var(--subt);background:transparent;border:1px solid transparent;border-radius:var(--r-sm);cursor:pointer;transition:all .14s ease}.expv2-right__tab:hover{background:var(--muted);color:var(--text)}.expv2-right__tab--active{background:var(--panel);color:var(--primary);border-color:var(--primary);font-weight:600}.expv2-right__body{padding:12px;flex:1;overflow:auto;display:flex;flex-direction:column;gap:12px}.expv2-right--collapsed .expv2-right__tabs,.expv2-right--collapsed .expv2-right__body,.expv2-right--collapsed .expv2-right__title{display:none}.expv2-right--collapsed .expv2-right__head{justify-content:center;border-bottom:none}.expv2-section{border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}.expv2-section__head{padding:6px 12px;font-size:11.5px;font-weight:600;color:var(--subt);background:var(--muted);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.06em}.expv2-section__body{padding:10px 12px;display:flex;flex-direction:column;gap:6px}.expv2-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.expv2-metric{border:1px solid var(--border);border-radius:var(--r-sm);padding:8px 10px;background:var(--panel)}.expv2-metric__label{font-size:10.5px;color:var(--dim);text-transform:uppercase;letter-spacing:.08em}.expv2-metric__value{font-size:18px;font-weight:600;color:var(--text);margin-top:2px;font-variant-numeric:tabular-nums}.expv2-kv{display:grid;grid-template-columns:max-content 1fr;gap:3px 12px;font-size:12px;margin:0}.expv2-kv dt{color:var(--dim);font-weight:500}.expv2-kv dd{margin:0;color:var(--text);word-break:break-word}.expv2-empty{color:var(--dim);font-size:12px;font-style:italic;padding:8px 0;text-align:center}.expv2-trace{background:var(--panel);border-top:1px solid var(--border);display:flex;flex-direction:column;height:128px;min-height:56px;max-height:60vh;overflow:hidden}.expv2-trace--collapsed{height:auto!important;min-height:0;max-height:none}.expv2-trace__resizer{height:6px;flex:0 0 auto;cursor:row-resize;background:transparent;position:relative;touch-action:none;-webkit-user-select:none;user-select:none}.expv2-trace__resizer:before{content:"";position:absolute;left:20%;right:20%;top:2px;bottom:2px;background:var(--border);border-radius:2px;transition:background .14s ease}.expv2-trace__resizer:hover:before{background:var(--primary)}body.expv2-resizing .expv2-trace__resizer:before{background:var(--primary)}.expv2-trace__head{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;padding:4px 12px;border-bottom:1px solid var(--border);background:var(--muted);min-height:34px}.expv2-trace__handle{background:none;border:none;font-size:12.5px;font-weight:600;color:var(--text);cursor:pointer;display:inline-flex;align-items:center;gap:8px}.expv2-trace__handle:hover{color:var(--primary)}.expv2-trace__ctrls{display:inline-flex;align-items:center;gap:6px;margin-left:auto;flex-wrap:nowrap;overflow-x:auto;max-width:100%}.expv2-trace__search,.expv2-trace__select{padding:3px 7px;font-size:11.5px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel);color:var(--text);font-family:inherit;min-width:0;flex:0 0 auto}.expv2-trace__search{width:140px}.expv2-trace__select{width:96px}.expv2-trace__filters{display:inline-flex;align-items:center;gap:6px}.expv2-trace__filters--hidden{display:none}.expv2-trace__search:focus,.expv2-trace__select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb29}.expv2-trace__body{flex:1;overflow:auto}.expv2-trace--collapsed .expv2-trace__body,.expv2-trace--collapsed .expv2-trace__ctrls{display:none}.expv2-trace--collapsed .expv2-trace__head{border-bottom:none}.expv2-trace__empty{padding:16px;text-align:center;color:var(--dim);font-size:12px}.expv2-trace__list{margin:0;padding:0;list-style:none}.expv2-trace__row{border-bottom:1px solid var(--border)}.expv2-trace__row:last-child{border-bottom:none}.expv2-trace__row-main{display:grid;grid-template-columns:20px 80px auto auto 1fr auto 16px;align-items:center;gap:10px;width:100%;background:none;border:none;color:var(--text);padding:6px 14px;text-align:left;font-size:12px;cursor:pointer}.expv2-trace__row-main:hover{background:var(--muted)}.expv2-trace__icon{text-align:center}.expv2-trace__time{color:var(--dim);font-size:11px;font-variant-numeric:tabular-nums}.expv2-trace__summary{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expv2-trace__ref{font-size:11px;color:var(--dim);font-family:var(--mono)}.expv2-trace__expand{color:var(--dim);font-size:11px;justify-self:end}.expv2-trace__detail{padding:6px 16px 12px 56px;background:#0f172a80;border-top:1px dashed var(--border);font-size:12px}.expv2-trace__detail-pre{margin:0;padding:8px 10px;background:var(--code-bg);border:1px solid var(--border);border-radius:var(--r-sm);font-family:var(--mono);font-size:11.5px;max-height:180px;overflow:auto;white-space:pre-wrap;word-break:break-word;color:#e2e8f0}@media (max-width: 960px){.expv2-trace__row-main{grid-template-columns:20px 60px auto 1fr auto}.expv2-trace__row-main>:nth-child(3),.expv2-trace__row-main>:nth-child(6){display:none}}.expv2-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#020612b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:900}.expv2-modal__panel{background:var(--panel);border-radius:var(--r-lg);width:min(640px,92vw);max-height:80vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-md)}.expv2-modal__head{padding:10px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.expv2-modal__title{font-size:14px;font-weight:600}.expv2-modal__body{padding:14px;overflow:auto;flex:1;display:flex;flex-direction:column;gap:8px}.expv2-msg{padding:8px 10px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--panel);font-size:12.5px;line-height:1.55}.expv2-msg--user{background:var(--primary-soft);color:#dbeafe;border-color:transparent}.expv2-msg--agent{background:var(--success-soft);color:#dcfce7;border-color:transparent}.expv2-msg__head{font-size:10.5px;color:var(--dim);margin-bottom:2px;text-transform:uppercase;letter-spacing:.06em}:root{--bg: #1b2634;--surface: #2a3648;--surface2: #3a4a61;--border: #5b6f8b;--text: #f5f8ff;--muted: #bcc8db;--accent: #5ec9ff;--accent-dim: #29b4f6;--ok: #34d399;--warn: #fbbf24;--font: "Pretendard Variable", Pretendard, Inter, "Noto Sans KR", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--t-fast: .15s cubic-bezier(.22, .61, .36, 1);--t-base: .2s cubic-bezier(.22, .61, .36, 1);--t-slow: .3s cubic-bezier(.22, .61, .36, 1);--r-card: 14px;--r-input: 12px;--r-btn: 10px;--ml-bg: #0f172a;--ml-panel: #111827;--ml-panel-soft: rgba(17, 24, 39, .72);--ml-elevated: #1e293b;--ml-elevated-soft: rgba(30, 41, 59, .72);--ml-border: #334155;--ml-border-soft: rgba(51, 65, 85, .55);--ml-primary: #2563eb;--ml-primary-hover: #1d4ed8;--ml-primary-soft: rgba(37, 99, 235, .16);--ml-success: #22c55e;--ml-warning: #f59e0b;--ml-error: #ef4444;--ml-text: #f8fafc;--ml-text-secondary: #94a3b8;--ml-text-muted: #64748b;--ml-fs-title: 20px;--ml-fs-section: 16px;--ml-fs-body: 14px;--ml-fs-caption: 12px}*{box-sizing:border-box}body{margin:0;min-height:100vh;overflow-y:auto;overflow-x:clip;font-family:var(--font);background-color:#071018;background-image:radial-gradient(ellipse 95% 85% at 50% 48%,rgba(5,12,24,.45),transparent 58%),linear-gradient(180deg,#060e1aad,#08101e8c 42%,#0a1220b8),radial-gradient(ellipse 110% 50% at 50% 0%,rgba(94,201,255,.07),transparent 52%),url(/lab-background.png);background-position:center center;background-size:cover,cover,cover;background-repeat:no-repeat;background-attachment:fixed;color:var(--text)}#root{min-height:100vh;max-width:100%;overflow-x:clip}button,input,select{font-family:inherit}a{color:var(--accent)}
